Всем привет.
Год с лишним назад, это было в январе 2021 года, мне захотелось сделать зарядное устройство на микроконтроллере, которое не уступало бы по функционалу и удобству пользования, дорогим зарядным устройствам имеющимся в продаже. Выбор пал на Ардуино нано и я начал изучать возможности данного микроконтроллера. Для новичка самое то. Спустя 9 месяцев "родилось" готовое устройство собранное в железе и вполне рабочей программой. Все наработки по данному заряднику являются полностью открытыми и выложены в свободный доступ на Яндекс диск.
С месяц назад, когда корпел над прошивкой добавляя новые функции, я осознал что данный зарядник является не просто конечным устройством - сделал и забыл, а состоит из различных модулей. И эти модули можно подключать/отключать , дорабатывать в зависимости от своих нужд.
Подключаемые модули - это аппаратные компоненты и соответствующая управляющая функция в программе.
Основными компонентами являются:
- Ардуино - Atmega328 или LGT8F328;
- Стабилизатор питания Ардуино на LM7812;
- INA226 - измерение напряжения и тока;
- Кнопки и энкодер для управления;
- Дисплей - LCD16*2_I2C;
- Силовой блок - изменение напряжения и тока заряда.
- Индикатор подключения аккумулятора и он же индикатор работы силового блока.
Собрав эти компоненты и подключив внешний блок питания от 18 В до 30 В, уже можно заряжать аккумуляторы. В качестве БП можно подключать БП от ноутбука, трансформатор с диодным мостом, различные импульсные БП. Подбирайте БП с необходимым вам током отдачи.
Дополнительные компоненты:
- Измерение входного напряжения от блока питания - довольно важный компонент. Можно обойтись и без него, но тогда не будет контроля входного напряжения и общая надежность будет меньше;
- Модуль защиты от КЗ и переполюсовки - случайно перепутать плюс и минус может каждый в любой момент, потому дополнительная защита никогда не повредит, к тому же защитным транзистором можно управлять с Ардуино через дополнительную оптопару;
- Разрядный модуль - нужен для разряда аккумулятора при организации циклов разряд-заряд, различных алгоритмов заряда, измерения внутреннего сопротивления аккумулятора;
- Датчик температуры - для включения кулера при превышении установленной температуры и для снижения тока заряда если схема перегреется (при больших токах заряда силовой транзистор, дроссель и диод Шотки сильно греются);
- Модуль управления кулером - для плавного изменения скорости вращения кулера;
- Динамик (пищалка) - для звукового оповещения о текущем состоянии зарядника;
- Твердотельное реле - для автоматического подключения и отключения зарядника к сети 220В.
Каждому дополнительном модулю соответствует своя функция в программе. И каждую функцию можно включать в код или исключать из кода.
Данное зарядное устройство - это мой первый большой проект в котором можно еще много чего менять, добавлять и улучшать. Все зависит только от ваших потребностей. Если занимаетесь программированием то можете улучшить мою программу, написать свои функции и алгоритмы или выложить свои мысли и предложения в чате Телеграмм.
Уже сегодня зарядник полностью выполняет свои функции, заряжает/разряжает аккумуляторы, измеряет внутреннее сопротивление, работает стабильно и достаточно надежно что бы можно было включить и забыть. Для задания начальных параметров заряда достаточно выставить емкость аккумулятора в Ач и напряжение (12 В стоит по умолчанию), все остальные параметры рассчитаются автоматически. Все параметры можно менять в дополнительных настройках.
В ближайшее время я добавлю режимы работы: блока питания, хранения аккумулятора, бесперебойник на 12В.