Постройте источник питания с контролируемым питанием от arduino

Постройте источник питания с контролируемым питанием от arduino
Постройте источник питания с контролируемым питанием от arduino
Anonim

Создайте управляемый Arduino USB-источник питания

Arduinos отлично подходят для автоматического управления всеми видами схем. В этом проекте я покажу простой способ, которым Arduino можно использовать для создания источника питания, который автоматически настраивает свой выход для поддержания постоянного напряжения или постоянного тока. Я разработал эту схему для работы на USB-питании, и она специально разработана для небольших приложений низкого напряжения. Но вы можете легко изменить его, чтобы использовать более мощный источник питания для приложений с более высокой мощностью.

Image
Image

материалы

Микроконтроллер Arduino

IRF510 Power MOSFET

Резистор 1 кОм

Резистор 470 Ом

2 x 100 кОм Резистор

10 Ом Резистор (рассчитанный не менее 2, 5 Вт)

1000 конденсаторов microfarad

Переключатель SPDT

2 x мгновенный кнопочный переключатель

Винтовые клеммные колодки

Кабель USB-разъема

Провода для перемычек

Включение цепи

Мощность для этого проекта будет поставляться через USB-порт и маршрутизироваться через Arduino. Arduino подключен к USB-порту со стандартным USB-разъемом. Схема питания, которую мы строим, будет подключена к выходу 5V на Arduino. Этот штырь может поставлять 5 В и до 200 мА. Однако я написал код так, чтобы ток цепи питания никогда не превышал 150 мА.

Image
Image

Выходной контур

Image
Image

Основная часть выходной схемы - транзисторная схема, которая построена вокруг МОП-транзистора IR510.

Контакт 9 подает на схему ШИМ-сигнал. Этот сигнал отправляется через резистор 1 кОм и 1000 микрофарадных конденсаторов и сглаживается до относительно постоянного сигнала постоянного тока (хотя есть еще некоторые колебания). Этот сигнал постоянного тока посылается на затвор MOSFET.

Резистор 470 Ом подключен между затвором транзистора и 5В, чтобы поднять напряжение затвора до точки, вблизи которой будет происходить соединение исток-утечка. Эти значения, возможно, потребуется отрегулировать для калибровки схемы для конкретных частей, которые вы используете. Резистор 1 кОм и резистор 470 Ом могут быть заменены более высокими значениями. Это позволит вам использовать меньшее значение для конденсатора.

Подключенный к стоку МОП-транзистора - это 10-омный опорный резистор 10 Вт. Это соединение также подключено к аналоговому контакту 2 на Arduino.

Обратная сторона резистора 10 Ом подключена к аналоговому контакту 1. Это используется для определения выхода источника питания. Выходные клеммы источника питания соединены с опорным резистором и 5В. Для легкого доступа я использовал пару винтовых клемм для подключения и отсоединения проводов от выхода.

Image
Image

Коммутаторы

Image
Image

Для простоты переключатели, которые управляют схемой, устанавливаются на отдельный макет. Для регулировки выхода источника питания используются две кратковременные кнопки. Один конец каждого коммутатора подключен к GND. Противоположный конец соединен с цифровыми выводами 10 и 11. Эти цифровые контакты также подключены к 5V с резисторами 100 кОм. Они действуют как подтягивающие резисторы и устанавливают цифровые контакты HIGH, пока не будут нажаты кнопки. Третий выключатель представляет собой однополюсный двухпозиционный переключатель. Этот переключатель устанавливает выходной режим. Два концевых контакта коммутатора подключены к GND и 5V. Центральный контакт подключен к цифровому выходу 12. Когда контакт 12 подключен к 5 В, система настроена на выход постоянного напряжения. Когда контакт 12 подключен к GND, система настроена на выход постоянного тока.

Image
Image

Код

В верхней части кода первым элементом в объявленных переменных является переменная «сопротивление». Это значение эталонного резистора, используемого в схеме. Вы хотите использовать мультиметр для измерения этого значения точно. Не предполагайте, что это обозначенное значение. Это может привести к неточным показаниям при попытке использовать источник питания. После того как вы измерили резистор, напишите это значение (в омах) в коде.

В первом разделе основного цикла кода, функция analogRead используется для измерения напряжения на обеих сторонах опорного резистора. С помощью этих значений вы можете рассчитать как напряжение на клеммах источника питания, так и ток, проходящий через нагрузку.

Затем функция digitalRead используется для определения состояния коммутаторов. Тумблер устанавливает режим работы источника питания. В одном режиме выход устанавливается на постоянное напряжение. В другом режиме выход устанавливается на постоянный ток. Если нажать одну из кратковременных кнопок, целевой выходной уровень регулируется вверх или вниз. Эти функции имеют встроенную задержку, чтобы избежать ложного срабатывания от отказа переключателя и ограничить скорость вывода данных.

Затем вывод источника питания отображается командой Serial.print. Это полезно для отладки работы источника питания.

Построены в коде различные пределы безопасности. При запуске есть задержка, позволяющая сбросить выход до того, как схема начнет автоматически настраиваться. Чтобы избежать повреждения Arduino, выход ограничивается 150 мА. Функции analogWrite, которые управляют выходами, никогда не могут превышать 250 (по шкале от 255), и они никогда не могут опускаться ниже 0. Система также ограничена тем, как быстро выход может измениться.

Скачать код

операция

Эта схема будет достаточно хорошо работать в указанном рабочем диапазоне. Он имеет точность около +/- 5 мА или +/- 0, 05 В. Выход стабилен, но все же есть некоторые колебания из-за того, что схема управляется сигналом ШИМ.

Image
Image

Попробуйте этот проект сами! Получить спецификацию.