Меню

Регулировка напряжения и тока ардуино

AlexxNB › Блог › Простой лабораторный блок питания на Arduino

Давно была необходимость использовать блок питания на различные напряжения, но руки все не доходили сделать. Однажды попался в руки трансформатор 18v-2A и было решено все-таки изготовить этот нужный прибор.

В сааамом простом варианте регулируемый блок питания можно сделать всего лишь на LM317 (или КР142ЕН12) по схеме вроде этой:

Взяв за основу эту схему, я вместо потенциометра сделал набор из 6 подстроечных и одного переменного сопротивления. Управляет подключением резисторов к регулятору ATMega368(или ATMega168) через ULN2003. Таким образом в моем блоке питания появилось 6 предустановленных напряжений и возможность регулировать вручную тоже осталась. Я настроил такой ряд напряжений: 3.3в, 5в, 9в, 12в, 15в и 24в.

На выходе регулятора добавлен транзистор IRF9540 — это дало возможность программно управлять подачей напряжения на выходные клеммы.

Раз уж у нас есть мозги в БП, то, наверное, стоит добавить и LCD экран, и отображать на нем напряжение и ток. Я взял символьный экранчик Winstar 1202 русифицированный. Так же в схему добавлены узлы измерения напряжения и тока. Простой делитель напряжения R16-R17 от выходной клеммы на аналоговый вход ATMega измеряет напряжение. Другой аналоговый вход измеряет напряжение на делителе, образованным сопротивлением подключаемой нагрузки и шунтом R18, что позволяет вычислить силу тока. Два стабилитрона, позволяют защитить входы МК, если напряжение будет выше расчетных. Решение подсмотрено тут. Измерение силы тока и наличие транзистора позволило моментально отключать нагрузку в случае превышения силы тока выше заданного или коротком замыкании.

Для управления добавлены 3 тактовые кнопочки подключенные к третьему аналоговому входу.

Для питания ATMega я использовал импульсный стабилизатор, у меня сразу был готовый модуль. Наличие постоянных и стабилизированных +5В позволило добавить в БП USB гнездо для подзарядки чего-либо.

В итоге получил вот такую схему:

Плату разводил в Sprint Layout 6. Давно пытаюсь перейти на что-то другое, но нигде не встретил той простоты, что есть в SLayout. Потихоньку пытаюсь переучится на DeepTrace.

Программу МК написал, как всегда в Arduino IDE. Долгими нажатиями на » » можно поочередно перебирать предустановленные напряжения. Кратким нажатием кнопки «Режим» включать и отключать напряжение на выходе. Краткими нажатиями » » переключать отображение параметров: «Напряжение и ток»=>»Напряжение»=>»Ток»=>»Мощность». Долгим нажатием «Режим» можно войти в режим настройки, где также можно выбрать выходное напряжение и настроить состояние БП при включении(подавать или нет напряжение на выход сразу).

Корпус для БП тоже сделал с нуля. Разработал 3д модель в программе FreeCad и распечатал на своем 3D принтере.

Блок питания, после сборки необходимо настроить.
— Во-первых модуль lm2596 нужно ОБЯЗАТЕЛЬНО настроить на +5в еще до подключения в схему, иначе можно спалить МК.
— Далее подключить к БП мультиметр и по нему настроить все предустановленные напряжения подстроечными резисторами.
— Также по мультиметру подобрать все значения в скетче Meters (опроное напряжение, резисторы), чтобы значения были как можно более точными.

Источник

Digitrode

цифровая электроника вычислительная техника встраиваемые системы

Регулируемый источник питания своими руками на LM338 и Arduino

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

Читайте также:  Регулировка рулевой рейки мазда мпв

И в данном материале будет приведен пример создания такого источника на основе LM338 и Arduino, который будет обеспечивать регулируемое напряжение постоянного тока в диапазоне от 0 до 24 В с максимальным током до 3 А.

Для большинства наших датчиков и двигателей мы используем уровни напряжения, такие как 3,3 В, 5 В или 12 В. Но в то время как датчики требуют тока в миллиамперах, двигатели, такие как сервомоторы или двигатели постоянного тока, которые работают с напряжением 12 В или более, требуют высокого тока. Таким образом, мы создадим регулируемый источник питания с током 3 А с переменным напряжением от 0 до 24 В.

Регулируемый источник питания – это источник, который преобразует напряжение вашей сети переменного тока в напряжение постоянного тока и регулирует его до требуемого уровня. В нашем источнике используется понижающий трансформатор 24 В 3A, который выпрямляет переменный в постоянный ток с помощью диодного моста. Полученное пониженное постоянное напряжение регулируется до требуемого уровня с помощью LM338K и контролируется с помощью потенциометра. Arduino и LCD питаются от низковольтной ИС регулятора напряжения, например, 7812.

Значение R1 и R2 должно быть рассчитано с использованием приведенных выше формул для определения выходного напряжения. В нашем случае мы получаем R1 равным 110 Ом и R2 как 5 кОм. Как только наш регулируемый выход будет готов, нам просто нужно включить Arduino. Чтобы сделать это, мы будем использовать микросхему 7812, поскольку Arduino будет потреблять меньше тока. Входное напряжение 7812 – это наш выпрямленный выход 24 В постоянного тока от выпрямителя. Выходное напряжение 12 В постоянного тока подается на Vin-контакт Arduino. Не используйте 7805, поскольку максимальное входное напряжение 7805 составляет всего 24 В, в то время как 7812 может выдерживать до 24 В. Также для 7812необходим радиатор, так как перепад напряжения очень высок. Ниже показана вся схема подключения регулируемого источника питания на 0-24 В и 3 А.

Помимо вышеперечисленных компонентов здесь также имеется RC фильтр нижних частот для подавления шумов, и в нем R = 5,2 К и C = 100 мкФ используются для фильтрации шума в нашем сигнале. Также к нашей схеме добавлен датчик тока ACS712 для измерения выходного тока. Код программы для реализации источника питания приведен далее.

Источник

Регулятор напряжения и тока на Arduino Pro Mini

Какой версией регулятора вы пользуетесь?

Голосование закончилось: 05 Янв. 18, 12:47

ВНИМАНИЕ с 20.11.2017 изменился алгоритм работы регулятора напряжения а также схема подключения измерительного трансформатора

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

Скрытый текст
U_regulator_free.ino

Регулировка напряжения фазовая, измерение напряжения среднеквадратичное.
Количество полупериодов изменяется в коде if (zero == 3) и if (zero >= 3) о чем в тексте скетча есть соответствующий комментарий.

Проект писался и проверялся на Atmega328 16 мГц (Arduino Pro mini), Коллега U-M протестировал работу на Uno.

Изначально выставлено нулевое напряжение, симистор закрыт, если не реагирует на команды с порта, в окне монитора порта Arduino IDE выбрать в выпадающем списке NL&CR.

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

Скетч, схема, проект для Протеуса (программа симуляции, может кому то пригодиться) прилагается.

Читайте также:  Регулировка передних колес ока

Если будете заказывать Arduino, то можно заказать сразу и печатную платку. В результате может получиться например вот так:

Imag0003. Регулятор напряжения и тока на Arduino Pro Mini. Автоматика.

РЕГУЛЯТОР ТОКА НА ACS712:

Скрытый текст
I_regulator_free_ACS712.ino

Добавлен скетч для версии с ACS712, схема аналогичная, за исключением замены трансформатора на датчик тока. Стабилизация с помощью скользящего алгоритма.

Измерение тока среднеквадратичное за три периода.
Количество полупериодов изменяется в коде if (zero == 6) и if (zero >= 6) о чем в тексте скетча есть соответствующий комментарий.

Тип датчика ACS712 выставляется в начале скетча, есть комментарий для установки коэффициента.

Помните что ACS712 очень шумный датчик, если вы видите на холостом ходу значение близкое к нулю но не ноль, ничем я вам помочь не смогу.

По просьбам добавлен скетч с энкодером вместо кнопок I_regulator_free_ACS712_LCD_Display_Encoder.
Подключение энкодера:

РЕГУЛЯТОР ТОКА НА ACS712 С ПРЕДУСТАНОВКАМИ И ЗАПИСЬЮ В ПАМЯТЬ:

Скрытый текст
Файл: I_regulator_free_712_LCD_Encoder_Preset_EEPROM

Перечень возможностей: вывод информации в ваттах, время работы, счетчик затраченной электроэнергии, пять предустановок с записью в память.
Название предустановок и их количество правиться в программе.
Расчет потребления электроэнергии ПРИМЕРНЫЙ, в виду значительных погрешностей измерения.
Для корректной работы требуется измерить сопротивление ТЭНа и записать в программу, о чем в тексте есть комментарий.
Программа имеет три меню:
1. Текущая мощность (ВАТТ), включен или выключен регулятор (OFF/ON)
Название предустановки, установленная мощность.
2. Время работы, включен или выключен регулятор (OFF/ON)
Потребленная мощность в ваттах.
3. Установка, включен или выключен регулятор (OFF/ON)
Название предустановки >> устанавливаемая мощность.

Звучит несколько запутанно, но в процессе эксплуатации трудностей возникнуть не должно.
Схема подключения:

Для прямого подключения LCD без I2C в начале скетча есть комментарий

Скрытый текст
I_regulator_free_Current.ino

Добавлен вариант с трансформатором тока DL-CT1005A реализованный по схеме https://learn.openenergymonitor.org/. ce-with-arduino Работа аналогична работе с ACS712, точность и стабильность показаний выше.

ВЕРСИИ С СЕМИСЕГМЕНТНЫМ ИНДИКАТОРОМ НА СДВИГОВЫХ РЕГИСТРАХ 74HC595:

Совместимый модуль возможно заказать в интернет магазинах, например такой:

4-biti-cifrovoi-kamera-svetodiodnii-displei-modyl-chetire-posledovatelnii-dlya-arduino-595-driver-y103. Регулятор напряжения и тока на Arduino Pro Mini. Автоматика.

Семисегментные дисплеи подходят как с общим анодом так и с общим катодом. Для смены нужно в скетче инвертировать биты (есть соответствующий комментарий в коде). По умолчанию установлена схема с общим анодом.

Версии скетчей находятся в архивах под соответствующий вариант регулятора.

ВЕРСИИ С LCD ДИСПЛЕЕМ ПОДКЛЮЧЕННЫМ ПО I2C:

Скрытый текст
Мной использовался дисплей LCD 1602 на HD44780 с модулем I2C на PCF8574 и библиотека LiquidCrystal_I2C.

Img_20161018_205335. Регулятор напряжения и тока на Arduino Pro Mini. Автоматика.
Img_20161018_205505. Регулятор напряжения и тока на Arduino Pro Mini. Автоматика.

Библиотека ставиться из менеджера библиотек в IDE, либо с сайта https://github.com/marcoschwartz/LiquidCrystal_I2C.

С подключением дисплея проблем возникнуть не должно, распиновка Pro Mini:

Prominifront. Регулятор напряжения и тока на Arduino Pro Mini. Автоматика.

Для работы Вашего дисплея требуется узнать его адрес, для этого требуется запустить скетч i2c_scanner.ino из аттача,
запустить монитор порта в IDE и вставить полученный адрес в скетч в строку LiquidCrystal_I2C lcd(0x3F, 16, 2);, где 0х3F адрес дисплея.

Кнопки подключены и работают так же как и в схеме с семисегментным индикатором.

Если после подключения символов нет, требуется покрутить потенциометр на плате I2C

АЛГОРИТМ НАСТРОЙКИ ТОЛЬКО СОБРАННОГО РЕГУЛЯТОРА НАПРЯЖЕНИЯ (от Tomat7)

Скрытый текст
Внимание! Высокое напряжение опасно для жизни. Будьте внимательны!
Не собирайте прибор «на соплях», используйте подходящие провода и инструменты.

Читайте также:  Регулировка ремня генератора джили мк

0. Схемы в шапке темы все рабочие! Никакого подбора деталей, супертюнинга, дополнительных резисторов, подтяжек и прочего не нужно.
Сам собирал и регулятор напряжения, и регулятор тока на ACS712, и на трансформаторе тока.

1. Убеждаемся что высокое напряжение отключено. Плата Ардуино питается от компьютера по USB.

Скетч основан на нескольких, представленных в этой теме, адаптировал под свои нужды

Дополнительно выкладываю версию прошивки PMC_TT_4.19, совмещенную прошивкой, выложенной коллегой dev11bk

Если у вас еще остались вопросы, я постараюсь ответить.

П.С. Выражаю огромное спасибо msg31, по сути это его схема и идея, просто я немного подогнал ее под свои нужды.
Так же выражаю огромную благодарность m16 за своевременные наставления.
И sevpro за консультации по схемотехнике

СПИСОК РАСПРОСТРАНЕННЫХ ВОПРОСОВ под спойлером

Скрытый текст В. А вы можете сделать тоже самое только с перламутровыми кнопками?
О. Могу, но я не занимаюсь реализацией хотелок, рассматривайте эти устройства как часть Вашего самостоятельного проекта.

В. Зачем считать среднеквадратичное напряжение? Это трудно.
О. Если вы о контроллере то ему абсолютно все равно что считать, если о методе то он дает лучшие результаты ([сообщение #12649978]), если вы знаете другой метод измерения действующего значения напряжения, я с удовольствием выслушаю, если вы хотите измерять амплитудное значение, измеряйте, вам никто не запрещает.

В. Почему у вас такая громоздкая схема, все можно сделать намного проще! Нужно сделать так и вот так!
О. Проект создавался под готовое устройство, эта схема из автоматики msg31 с параллельной ветки, я сделал себе автоматику похожую по алгоритму, выделил блок питания и написал отдельный скетч. Если вы воплотите в жизнь другую схему, поделитесь, я выложу ее в шапке для всех и мы скажем спасибо.

В. У вас индусский код. Так делать нельзя!
О. Можно, я не программист, и уж тем более не программист микроконтроллеров. Я не скован рамками правописания программного кода. Код работает, большинству людей все равно что и как внутри крутиться если устройство выполняет свои функции. Если у вас есть замечания по коду и дельные, конкретные советы с алгоритмом, я буду рад вас выслушать. Я взрослый адекватный человек который абсолютно нормально реагирует на аргументированную критику.

В. Если вы не программист, и в электронике как я посмотрю, тоже не очень разбираетесь, зачем вообще создавать ветку.
О. Меня просто попросили довести до ума устройство которое я выкладывал ранее в параллельной ветке. Некоторыми оно востребовано, лично я успешно его использовал и использую по назначению даже не смотря на недостатки, а на то время там была просто куча ошибок.

В. Зачем фазовое регулирование? Там масса помех от которых ломаются телевизоры, глючат айфоны и лысеют коты!
О. Знаете другие доступные методы? Выслушаю, но моргающие лампочки и меня, и домашних напрягают больше. К тому же помехи можно отсечь, в интернете много информации.

В. А почему ты сделал именно так а не иначе?
О. Возможно в тот момент на меня снизошло озарение или отупение, кто знает, я не профи ни в электронике не в программировании.

П.С. Просьба не воспринимать этот спойлер на свой счет, никого конкретно я не имел ввиду, спасибо.

Если вы собрали устройство и проверили его работу ЛАТРом и обрадовались/удивились/расстроились большая просьба выложить результаты.

Источник