Про кластер на Orange Pi PC я уже писал, и про решение проблем с питанием самой “апельсинки” тоже.
Звёзды сошлись так, что питания от привычного источника MeanWell стало не хватать. Симптомы были примерно следующие:
- Каждая плата из 4х стартует
- Начинается работа Seti@home
- Как минимум одна из плат тупо зависает
Переход на ATX почти ничего не дал — появился шум, работать стало постабильнее, но тем не менее система не переживала пропадания питания. Выражалось это в том, что во время одновременного старта кто-то подвисал. Понятно, что где-то возникала просадка напряжения, точнее не где-то а в “раздаточной коробке”, сделанной из дешевого USB хаба.
И тут на помощь пришли воспоминания о конце начале нулевых годов этого века, когда доллар был по 25р, народ активно “моддил”, ваял кастомные корпуса и впихивал невпихуемое. Меня, кстати, сия чаша тоже не миновала, хотя вспоминаю об этих временах с содроганием и до сих пор боюсь кулеров с подсветкой.
Давным давно я читал об одном умельце, который боролся c перегрузкой БП путём организации “ступенчатого” старта SCSI дисков. Питание дисков было подведено не напрямую с БП, а со специальной платы с реле на борту, которые включали HDD один за другим.
Дело за малым — научить микроконтроллер для управления включать ATX, проверять, что он работает (сигнал PowerOK), и с задержкой “дергать ножками”.
Жизнь настолько упростилась, что для управления реле теперь даже не надо городить транзисторный ключ. В поднебесной можно купить готовую сборку хочешь из одного реле, а хочешь из десяти. Вот такую использую я:
Куплена давно, можно сразу цеплять на ножки Arduino или GPIO Raspberry/Orange.
Управлять ATX с Arduino можно как описано здесь.
Ну и в качестве полезной нагрузки — мы просто включаем 4 цифровых пина друг за другом с задержкой.
Чудовище, которое заперто в шкафу и рулит процессом изображено на фото ниже:
Слева колодка для ATX, снизу блок реле, вверху контролле, выходы 5в (4 шт управляемые) и 12в (неуправляемые для вентилятора кластера).
Алгоритм работы простой:
- Питаемся от сигнала 5VSB (дежурное напряжение 5V на ATX).
- При включении моргаем 3 раза светодиодом.
- Принудительно выключаем реле для определенности.
- Включаем ATX, ждем сигнала PowerOK.
- Включаем первое реле, ждем. Дальше всё остальное тоже с задержкой.
- Если PowerOK пропал, немедленно гасим все реле и ATX и грустно гасим сигнальный светодиод. До сброса или передергивания питания.
Плюсы решения:
- Блоки ATX — не дефицит
- Стабильный старт, сильный ток.
- Управляемость.
Минусы:
- Шум (я лично не решаюсь выкусить вентилятор)ю
- Место (хотя можно подобрать более компактный БП, правда шуму он может давать больше).
- Схему нужно всё-таки изготовить.
Да, кстати, при изготовлении пригодится старая отжившая свое материнcкая плата компьютера — источник ATX разъема (чтобы не дербанить БП) да и текстолита для корпуса. У себя я использовал кусок макетной платы советских времен и контроллер Atmega8 без обвязки (даже без кварца). На блоке реле уже были защитные диоды и какая-никакая но развязка, никаких мер для защиты Атмеги от “нападения” я особо и не применял.
Улучшить можно следующее — заменить реле на транзисторный ключ (это и скорость, и бесшумность). Ну и при использовании ARCAdaptor можно сделать управление питанием через USB-HID устройство. Первое я скорее всего реализую, а может и второе, в случае если понадобится какая-то логика работы.
Девайс прошел боевое крещение в виде внезапного отключения электроэнергии. Поскольку реле не должны “щёлкать” часто (только при старте), проблема их износа вроде как и отсутствует.
Удачных всем исследований.