Кластер Orange Pi и питание

2017-10-17

Про кластер на Orange Pi PC я уже писал, и про решение проблем с питанием самой “апельсинки” тоже.

Звёзды сошлись так, что питания от привычного источника MeanWell стало не хватать. Симптомы были примерно следующие:

  • Каждая плата из 4х стартует
  • Начинается работа Seti@home
  • Как минимум одна из плат тупо зависает

Переход на ATX почти ничего не дал — появился шум, работать стало постабильнее, но тем не менее система не переживала пропадания питания. Выражалось это в том, что во время одновременного старта кто-то подвисал. Понятно, что где-то возникала просадка напряжения, точнее не где-то а в “раздаточной коробке”, сделанной из дешевого USB хаба.

И тут на помощь пришли воспоминания о конце начале нулевых годов этого века, когда доллар был по 25р, народ активно “моддил”, ваял кастомные корпуса и впихивал невпихуемое. Меня, кстати, сия чаша тоже не миновала, хотя вспоминаю об этих временах с содроганием и до сих пор боюсь кулеров с подсветкой.

Давным давно я читал об одном умельце, который боролся c перегрузкой БП путём организации “ступенчатого” старта SCSI дисков. Питание дисков было подведено не напрямую с БП, а со специальной платы с реле на борту, которые включали HDD один за другим.

Дело за малым — научить микроконтроллер для управления включать ATX, проверять, что он работает (сигнал PowerOK), и с задержкой “дергать ножками”.

Жизнь настолько упростилась, что для управления реле теперь даже не надо городить транзисторный ключ. В поднебесной можно купить готовую сборку хочешь из одного реле, а хочешь из десяти. Вот такую использую я:

Сборка реле

Куплена давно, можно сразу цеплять на ножки Arduino или GPIO Raspberry/Orange.

Управлять ATX с Arduino можно как описано здесь.

Ну и в качестве полезной нагрузки — мы просто включаем 4 цифровых пина друг за другом с задержкой.

Чудовище, которое заперто в шкафу и рулит процессом изображено на фото ниже:

Контроллер питания кластера Orange Pi PC

Слева колодка для ATX, снизу блок реле, вверху контролле, выходы 5в (4 шт управляемые) и 12в (неуправляемые для вентилятора кластера).

Алгоритм работы простой:

  • Питаемся от сигнала 5VSB (дежурное напряжение 5V на ATX).
  • При включении моргаем 3 раза светодиодом.
  • Принудительно выключаем реле для определенности.
  • Включаем ATX, ждем сигнала PowerOK.
  • Включаем первое реле, ждем. Дальше всё остальное тоже с задержкой.
  • Если PowerOK пропал, немедленно гасим все реле и ATX и грустно гасим сигнальный светодиод. До сброса или передергивания питания.

Плюсы решения:

  • Блоки ATX — не дефицит
  • Стабильный старт, сильный ток.
  • Управляемость.

Минусы:

  • Шум (я лично не решаюсь выкусить вентилятор)ю
  • Место (хотя можно подобрать более компактный БП, правда шуму он может давать больше).
  • Схему нужно всё-таки изготовить.

Да, кстати, при изготовлении пригодится старая отжившая свое материнcкая плата компьютера — источник ATX разъема (чтобы не дербанить БП) да и текстолита для корпуса. У себя я использовал кусок макетной платы советских времен и контроллер Atmega8 без обвязки (даже без кварца). На блоке реле уже были защитные диоды и какая-никакая но развязка, никаких мер для защиты Атмеги от “нападения” я особо и не применял.

Улучшить можно следующее — заменить реле на транзисторный ключ (это и скорость, и бесшумность). Ну и при использовании ARCAdaptor можно сделать управление питанием через USB-HID устройство. Первое я скорее всего реализую, а может и второе, в случае если понадобится какая-то логика работы.

Девайс прошел боевое крещение в виде внезапного отключения электроэнергии. Поскольку реле не должны “щёлкать” часто (только при старте), проблема их износа вроде как и отсутствует.

Удачных всем исследований.

Занимательная физика


В массы

В трубу