ATX блок питания управляемый Arduino

Может ли микроконтроллер контролировать собственный источник питания? Почти!

Блок питания от старого компьютера (или новый) — это отличный способ питания Arduino и других устройств. Это рассматривается в этой и нескольких подобных статьях. Но благодаря некоторым особенностям ATX, мы можем использовать его как «умный» блок питания, а это ещё лучше.

В этой статье описано как просто при помощи микроконтроллера контролировать источник питания. Таким образом, вы можете использовать ATX блок питания в нескольких режимах: он может отдыхать, работать в экономичном режиме для слаботочных устройств и давать  десятки ампер на 5В и/или 12В линии при необходимости.

На видео в конце показана эта идея в действии.

Общая стоимость управления блоком питания составляет несколько фунтов,  вы не повредите блок питания, и сможете использовать его в дальнейшем.

Материалы и инструменты

Необходимые детали:
Удлинитель ATX кабеля для материнской платы
3 провода с BLS штырьками
1K резистор (номинал не критичен)
Термоусадочная трубка

Инструменты:
Паяльник и припой
Ножницы
Зажигалка для нагрева термоусадочной трубки.

Основные элементы:
Блок питания ATX
5В микроконтроллер или Arduino
Мощные  транзисторы для коммутации

Характеристики

Блок питания ATX это замечательная вещь!

На наклейке нового блока питания купленного за 700 руб, указаны такие параметры:
20А на 3.3В
30А на 5В
30А на 12В

Плюс ток в режиме простоя: 2А на 5В

Сейчас 5В 2A вполне достаточно для запуска практически любых микроконтроллеров 5В.

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

Изготовление разъема

Разъем питания ATX хорошо известен, и с его распиновкой можно ознакомиться в Интернете, например, здесь.

Нам нужны: провод резервного питания 5В (фиолетовый), провод управления (зеленый) и любой провод GND (черный).

Начнем с того конца удлинителя, который показан на первой картинке. Отрежьте от него всё, что нам не нужно. Затем отрежьте фиолетовый, зеленый и черный провода ближе к другому концу. Наденьте на них термоусадочную трубку и обрежьте провода с BLS штырьками с одного конца.

Необходимо добавить резистор 1 кОм на провод управления во избежание избыточного тока. Припаяйте резистор на зеленый провод с BLS штырьком, а потом на зеленый провод удлинителя  ATX. Припаяйте к фиолетовому и черному проводу соответствующие провода с BLS штырьками (в моем случае красный и черный). Наконец, прогрейте термоусадочные трубки.

Контроль и использование Arduino ATX

Чтобы использовать и контролировать ATX  блок питания достаточно использовать Arduino.

Подключите фиолетовый (на фото красный) ATX провод к +5 В (не используйте Vin) и черный провод ATX к GND.

Подключите зеленый провод ATX к любому управляющему выводу. Я использовал A0 (D14), но общие выводы цифрового ввода-вывода работают так же.

Подключите ATX, и Arduino будет получать резервный ток, и вентилятор, вероятно, будет выключен.

При необходимости полной мощности просто используйте команду:
const int ctrlPin=14; // Используйте необходимый вам pin. Я использовал D14.
digitalWrite(ctrlPin, LOW);

Для отключения полной мощности используйте:
digitalWrite(ctrlPin, HIGH);

Что эквивалентно команде:
pinMode(ctrlPin, INPUT);
т.е. выход установится в состояние с высоким сопротивлением.

Теперь все что вам нужно сделать, это подключить высокоточную нагрузку на любой из разъемов типа MOLEX блока питания ATX и управлять ими с помощью транзисторов, MOSFET -транзисторов и т.д. Когда вам понадобится большой ток, просто используйте команды указанные выше.

Примечание — вы должны быть осторожны при питании Arduino прямо от +5 В. Если вы также подключили кабель USB, то ток может пойти в USB порт вашего ПК, так что будьте осторожны.

Управление ATX в действии

Ниже приведено видео будильника со световым эффектом.
Вы видите, что Arduino отображает время постоянно, но изначально вентилятор на ATX блоке питания не работает. Это потому, что мы использует резервное напряжение.

Когда я запускаю основную светодиодную лампу (около 9 Вт на данный момент), Arduino включает основное питание ATX и вентилятор начинает работать. Когда лампа погаснет, вентилятор остановится.

Для будильника это очень полезно, потому что  шум вентилятора будет мешать ночью. Есть много подобных ситуаций, когда основное питание ATX нужно лишь время от времени.

Оригинал статьи

Добавить комментарий

Ваш адрес email не будет опубликован.