2.3 Управление блоком питания - pr200sd/presp32 GitHub Wiki
Основное назначение
Модуль управления (Power_Supply) на базе контроллера esp32 предназначен для создания регулируемого источника питания и зарядного устройства с широким функционалом на базе компьютерного БП АТХ.
Отличительные особенности:
- Просмотр и редактирование всех параметров на графическом дисплее
- Задание выходного напряжения и тока с помощью ручки энкодера с кнопкой
- Три программируемые кнопки (М1, М2, М3) для быстрого выбора предустановленного напряжения.
- Кнопка вкл./выкл. нагрузки и запуска процесса заряда аккумулятора а зависимости от выбранного режима работы
- Автоматическое управление скоростью вентилятора охлаждения по температуре
- Возможность дистанционного управления и наблюдения за параметрами в режиме БП/ЗУ по протоколам Modbus RTU, Modbus TCP, Mqtt, TelegramBot
- Логирование параметров на ПК или microSD карту
- Просмотр значений напряжения, тока, мощности, накопленного заряда, состояния реле подключения нагрузки через встроенный WEB интерфейс на ПК или телефоне.
- Просмотр и задание параметров из разных мест (энкодер/кнопки/телефон/ПК) с синхронизацией
- Создание собственной визуализации в WEB интерфейсе или мобильном приложении Virtuino
- Сохранение всех параметров в энергонезависимой памяти.
- Обновление прошивки через web интерфейс по воздуху или microSD карту
- Алгоритм заряда аккумуляторов IUoU, с возможностью коррекции порогов на каждом этапе
Основные параметры
- Диапазон измерения/регулирования напряжения 0-26В
- Диапазон измерения/регулирования тока 0-15А
- Заряд аккумуляторов ёмкостью 1-100 А*ч
- Поддержка LCD 128х64 на контроллерах ssd1306 и st7567s с I2C интерфейсом
Пространство адресов Modbus TCP
Адрес | Формат данных | Параметр | Тип доступа |
---|---|---|---|
0 | uint32 | время в формате unixtime | R |
2 | uint32 | объем свободной heap памяти | R |
4 | uint32 | время работы в us с момента подачи питания | R |
6 | uint16 | значение rssi для wi-fi сигнала | R |
512 | uint16 | значение задания напряжения DAC [0-4095] | R |
513 | uint16 | значение задания ограничения тока DAC [0-255] | R |
514 | float | измеренное напряжение, В | R |
516 | float | измеренный ток, А | R |
518 | float | измеренная мощность, Вт | R |
520 | float | полученный заряд в режиме ЗУ, А*ч | R |
522 | float | задание по напряжению, В | R/W |
524 | float | задание по току ограничения, А | R/W |
526 | uint16 | управление/состояние реле [0-выкл] | R/W |
578 | uint16 | регистр состояния/управления логером | R/W |
2.3.1 Режим БП (Блок питания)
Переход в режим БП происходит из режима ЗУ при длительном нажатии кнопки энкодера >1.5с.
Для задания параметров БП необходимо короткое нажатие кнопки энкодера, после чего происходит выделение редактируемого параметра на экране, вращением ручки энкодера влево - значение редактируемой величины уменьшается, вправо-увелиливается.
В этом режиме можно задать выходное напряжение и ток ограничения.
Напряжение коммутируется через реле после кратковременного нажатия кнопки "On/Off", повторное нажатие отключает реле.
Для дистанционного управления режимом БП необходимо задать параметры через регистры modbus см. таблицу, заданные значения сразу скорректируются на экране.
Дистанционное включение реле происходит если в регистр R526 записать значение >0, для выключения записать в регистр значение 0.
Кратковременное нажатие кнопок M1, M2, M3 позволяют быстро задать напряжение, предварительно запрограммированное для этих кнопок. Программирование происходит по длинному нажатию >3 сек, в память заносится значение напряжения отображаемое на экране.
2.3.2 Режим ЗУ (Зарядное устройство)
IUoU это обозначение по DIN1(https://ru.m.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D0%B7%D0%B0%D1%80%D1%8F%D0%B4%D0%B0_%D0%B0%D0%BA%D0%BA%D1%83%D0%BC%D1%83%D0%BB%D1%8F%D1%82%D0%BE%D1%80%D0%BD%D0%BE%D0%B9_%D0%B1%D0%B0%D1%82%D0%B0%D1%80%D0%B5%D0%B8_IUoU#cite_note-samlex-1) (DIN 41773) процедуры заряда свинцово-кислотного аккумулятора, также известной как зарядка в три этапа или зарядка в три шага. Она состоит из трёх фаз (или шагов), выполняемых зарядным устройством. Этими фазами являются:
- фаза I (постоянный ток)
- фаза Uo (постоянное перенапряжение)
- фаза U (постоянное напряжение).
Цель этой процедуры заключается в полной зарядке аккумуляторной батареи в относительно короткий период времени без снижения её ресурса и поддержание аккумуляторной батареи в полностью заряженном состоянии всё время, пока к ней подсоединено зарядное устройство или не истекло максимальное время зарядки, если режим таймера введен в работу.
Переход в режим ЗУ происходит из режима БР при длительном нажатии кнопки энкодера >1.5с.
Для задания параметров ЗУ необходимо короткое нажатие кнопки энкодера, после чего происходит выделение редактируемого параметра на экране, вращением ручки энкодера влево - значение редактируемой величины уменьшается, вправо-увелиливается.
Вращение энкодера без нажатия кнопки редактирования параметров прокручивает экраны с параметрами.
На первом экране отображается:
- напряжение заряда на каждом из этапов
- ток заряда
- обратный таймер окончания процесса заряда, если режим включен
- накопленное значение заряда На втором экране на мнемосхеме задаются такие параметры:
- емкость АКБ в А*ч
- ток ограничения на I этапе
- напряжение на II этапе
- ток перехода на III этап
- напряжение III этапа.
После задания всех параметров (сохраняются в энергонезависимой памяти) нажатием кнопки "On/Off" запускается процесс зарядки. Если разрешен режим таймера на первом экране будет отображаться обратный отсчёт в формате HH:ММ:SS до окончания процесса. Повторное нажатие кнопки "On/Off" переводит режим ЗУ на паузу, реле отключается и снимает напряжение с выхода.
Если разрешен режим логгер и карта microSD вставлена в слот, то в архив будут записываться все параметры из таблицы регистров, а на экране будет мигать значок microsd.
Если карта не вставлена или не поддерживается, будет мигать значек перечеркнутой карты microsd.
На втором, графическом экране в процессе заряда мигающей стрелкой указывается текущий режим.
Подробная демонстрация работы в режиме ЗУ продемонстрирована в этом видео:
Схемотехника устройства
В основе управления модулем Power_Supply находится контроллер ESP32 обеспечивающий связь со всей периферией размещенной на управляющей плате:
- Энкодер с кнопкой-обеспечивает навигацию по экранному меню и изменение параметров
- Кнопки-используются для быстрого выбора сохраненного значения напряжения в память и управление реле подачи напряжения на выходные клеммы
- LCD экран- отображение информации, связь с контроллером по I2C интерфейсу
- INA219-измерение напряжения и тока,связь с контроллером по I2C интерфейсу
- MCP4725-выдача управляющего сигнала на ШИМ контроллер TL494 для поддержания требуемого выходного напряжения, связь с контроллером по I2C интерфейсу
- 24C02-микросхема EEPROM памяти, служит для хранения всех настроек блока питания,связь с контроллером по I2C интерфейсу
- Buzzer(пищалка)-звуковая индикация вращения энкодера и нажатия кнопок, а так же режима ограничения тока
- Слот microSD-подключение карты памяти для работы логгера. Так же с карты может происходить обновление встроенного ПО аналогично обновлению по воздуху ОТА.
- Шунт-измерение тока. Связан с двумя микросхемами INA219 и INA180. Rш(0.005-0.01)Ом.
- INA180(INA181)-монитор тока, обеспечивает усиление напряжение с шунта, Кус=30. Связи с ESP32 не имеет, выдает напряжение на ШИМ контроллер блока питания и обеспечивает ограничение тока и защиту от КЗ.
- Порт для первоначальной загрузки ПО
- Драйвер RS-485
- DC-DC преобразователь 5V
- DC-DC преобразователь 3.3V
- Переменный резистор установки порога срабатывания вентилятора охлаждения
- Разъем для подключения управляющих сигналов к блоку ATX
- Узел подключения питания вентилятора охлаждения и терморезистора NTC.
Расположение основных элементов на плате сторона А
Расположение основных элементов на плате сторона В
Принципиальная схема модуля управления
Общая блок-схема внешних цепей и подключения к БП АТХ
Обновление V2
Принципиальная схема модуля управления v2
Общая блок-схема внешних цепей и подключения к БП АТХ v2
Переходная плата с ШИМ TL494
Для расширения модельного ряда компьютерных блоков для переделки в регулируемые, создана переходная плата на контроллере tl494. Принципиальная схема переходной платы tl494
Информация по внедрению и особенностям замены различных ШИМ контроллеров на tl494 собрана в ролике:
Сборка и настройка модуля управления
Файлы для прошивки и обновления esp32
Структура переходов по экранам
Блок питания с функцией зарядного устройства состоит из 5 основных экранов, навигация и переход между которыми происходит при помощи энкодера. В зависимости от выбранного экрана изменяются функции управляющих кнопок M1, M2, M3, on/off и кнопки энкодера ENC_BUT. Режимы кнопок отличаются по длительности нажатия:
-
Click - короткое нажатие любой из кнопок
-
Long1 - нажатие длительностью >1s<2s
-
Long2 - нажатие длительностью >3s
Схема всех переходов с режимами кнопок приведена ниже.
Структурная схема переходов по экранам
Функции и назначение экранов
-
Power Supply - экран управления в режиме БП, задание напряжения, тока ограничения, управление выходным реле. Редактирование параметров через Click кнопкой энкодера. Click M1, M2, M3 - быстрое задание напряжения сохраненного в памяти. Длинное нажатие Long2 M1, M2, M3 - сохранение в память установленного напряжения. Click on/off включение<->выключение выходного реле.
-
Battery charging - экран управление в режиме ЗУ, Click on/off Старт<->Стоп режима зарядки. Вращение ENC - переход между экранами. Редактирование параметров через Click кнопкой энкодера. Long2 on/off - сброс времени таймера и накопленного заряда батареи.
-
Settings/info - промежуточный экран для перехода в меню настроек или меню информации о приборе.
-
Settings - Экран задания настроек. Редактирование параметров через Click кнопкой энкодера. Вращение ENC - прокрутка строк.
-
Info - Экран информации об устройстве. Вращение ENC - прокрутка строк.
Фотографии экранов
Экран в режиме БП (Power Supply)
Экран в режиме ЗУ (Battery charging)
U-Выходное напряжение в режиме ЗУ
I-Измеренный ток цепи в режиме ЗУ
START/STOP-Сотояние ЗУ
HH::MM-таймер времени зарядки, если включен чекбокс Chg. timer
Q-расчитанная ёмкость заряда аккумулятора
С-паспортная ёмкость заряжаемого аккумулятора.
Параметры профиля ЗУ
Par1-ток ограничения в Iфазе, по умолчанию равен C/10
Par2-напряжение IIфазы
Par3-напряжение IIIфазы
Par4-минимальный ток окончания процесса зарядки, по умолчанию равен C/50
Экран перехода в меню настроек или информации (Settings/info)
Экран настроек (Settings)
Umax-Программное ограничение максимального напряжения выдаваемого блоком, должно быть синхронизированно с заданием на плате переменным резистором
Umdac-Напряжение на выходе dac esp32 при максимальном задании тока ограничения
Imax-Программное ограничение максимального тока, задаётся исходя из возможностей блока, 15А-максимальное значение ограничено схемотехникой
KI-Коэффициент усиления по току. Определяется параметром токового шунта INA180(181) A1 KI=20
Rsh-Сопротивление шунта
Radd-Добавочное сопротивление проводов. Для компенсации напряжения на клеммах. U=Uзад+I*Radd
Chg.timer-установленный чекбокс разрешает задание таймера времени работы ЗУ, после истечения времени выходное реле размыкается. Максимально время HH:MM=24:59
Use_logger-установленный чекбокс после следующей перезагрузки разрешает меню логгера в WEB интерфейсе
LCD auto off-установленный чекбокс разрешает отключение дисплея после времени бездействия, которое отсчитывается с момента последнего взаимодействия с кнопками или энкодером. Дисплей на контроллере ssd1306 выключается полностью, на контроллере STxxx остаётся включенной подсветка
Buzzer off-включенный чекбокс отключает звук буззера
Pulse recovery-включенный чекбокс разрешает режим периодической выдачи напряжения в диапазоне от 0до Uo, заданного в профиле зарядки. В этом режиме алгоритм ограничен Iфазой и не переходит во II. Рекомендуется использовать с режимом таймера.
Экран информации о приборе (Info)
Управление с телефона
Для дистанционного управления и мониторинга параметров блока питания в Virtuino создано приложение (Power_Supply_290723.mdbs) файл. Демонстрация работы:
Подключение к плате по протоколу Modbus TCP. Версия используемого приложения Virtuino Modbus ver 1.0.37 - Pro
Управление с ПК Virtino IoT
Для дистанционного управления и мониторинга параметров блока питания на компьютере создан демонстрационный проект (Power_Supply.vrt7) файл.