ATX блок питания управляемый Arduino |
Может ли микроконтроллер контролировать собственный источник питания? Почти!
Блок питания от старого компьютера (или новый) - это отличный способ питания Arduino и других устройств. Это рассматривается в этой и нескольких подобных статьях. Однако благодаря некоторым особенностям ATX, мы можем использовать его как "умный" блок питания, а это еще лучше.
В этой статье описано как просто при помощи микроконтроллера контролировать источник питания. Таким образом, вы можете использовать ATX блок питания в нескольких режимах: он может отдыхать, работать в экономичном режиме для слаботочных устройств и давать десятки ампер на 5В и/или 12В линии при необходимости. Общая стоимость управления блоком питания составляет несколько фунтов, вы не повредите блок питания, и сможете использовать его в дальнейшем.
Необходимые детали:
- Удлинитель ATX кабеля для материнской платы
- 3 провода с BLS штырьками
- 1K резистор (номинал не критичен)
- Термоусадочная трубка
Инструменты:
- Паяльник и припой
- Ножницы
- Зажигалка для нагрева термоусадочной трубки.
Основные элементы:
- Блок питания ATX
- 5В микроконтроллер или Arduino
- Мощные транзисторы для коммутации
Характеристики ATX-блока питания:
Блок питания 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 нужно только время от времени.
C этой схемой также часто просматривают: |
Стабилизированный источник питания 1-40В 0..2А Устройство для автоматической подзарядки аккумуляторов в системе аварийного питания Блок питания на 3В Лабораторный блок питания 1,3-30v 0-5A Лабораторный блок питания 0...30 В 3А Arduino своими руками с USB портом Экономичный электронный тюнер с высокой чувствительностью на микросхеме TA8122 Приемник диапазона 160 метров на микросхемах SA612A FM-передатчик на микросхеме MAX2606
| |
Графический семиполосный эквалайзер-радуга на Arduino Nano и MSGEQ7 Часы реального времени для Arduino Старинные часы-метеостанция Блок питания для Arduino из ATX Arduino своими руками с USB портом Подключение монетоприемника к Arduino Подключение PS/2 клавиатуры к Arduino Пробуждение ПК по сети на Arduino Запись/чтение на SD-карту с Arduino Подключение I2C EEPROM к Arduino |