Столкнувшись с проблемами работы устройств, с возможностью автономной работы от
заряжаемых литий-ионных аккумуляторов, решил собрать небольшое
устройство которое должно контроллировать уровень заряда и при
необходимости его подзаряжать. Устройство собрано на базе микроконтроллера ATMega48a, который измеряет напряжение на аккумуляторе и если напряжение на нем опустилось ниже допустимого порога, включает схему
зарядки. Сама зарядка собрана на простом и дешевом контроллере TP4056.
Схема контроллера
Логика работы устройства
Микроконтроллер изредка (примерно каждые 17 секунд) просыпается, измеряет напряжение на
аккумуляторе и снова погружается в сон. Оставшийся заряд на
аккумуляторе визуально отображается тремя светодиодами: при напряжении
выше 3,6 вольт мигает зеленый светодиод (D3), при напряжении от 3,6 до
3,3 вольт мигает желтый (D2). Если напряжение ниже 3,3 вольта начинает
мигать красный светодиод (D1). Если аккумулятор разряжен до 3,2 вольт
или ниже, в работу включается зарядка на микросхеме TP4056, которая
включается транзистором Q1.
Для того чтобы уменьшить расход аккумулятора на резисторный делитель R1-R2,
используется полевой транзистор Q2. Перед тем как измерить напряжение,
открываем транзистор - замыкаем делитель на землю, измеряем напряжение -
закрываем транзистор, исключая таким образом лишние траты энергии.
Входное напряжение величиной 5 вольт, необходимое для подзарядки аккумулятора,
подается на разъем V input. Если планируется туда подавать большее
напряжение, на плате предусмотрено место под стабилизатор LM1117-5 в
корпусе SOT-223.
Во время зарядки аккумулятора горит светодиод D4. Когда аккумулятор зарядится полностью, на выводе STDBY микросхемы TP4056 появляется низкий уровень, зафиксировав изменение
уровня сигнала на этом выводе, микроконтроллер выключает подзарядку и
переходит в рабочий режим слежения.
Для отладки, если понадобится подобрать свои значения порогов срабатывания,
данные о напряжении АКБ выводятся в терминал на скорости 1200 бод.
Программа скомпилирована на частоту работы микроконтроллера 1МГц (частота работы atmega48a по умолчанию)