
Столкнувшись с проблемами работы устройств, с возможностью автономной работы от заряжаемых литий-ионных аккумуляторов, решил собрать небольшое устройство которое должно контроллировать уровень заряда и при необходимости его подзаряжать. Устройство собрано на базе микроконтроллера ATMega48a, который измеряет напряжение на аккумуляторе и если напряжение на нем опустилось ниже допустимого порога, включает схему зарядки. Сама зарядка собрана на простом и дешевом контроллере TP4056.
Схема контроллера
Микросхему TP4056 я выпаял с готового модуля, купленного на e-bay Оттуда же взял и весь обвяз для нее.
Логика работы устройства
Микроконтроллер изредка (примерно каждые 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 бод.
Исходник программы в Bascom-AVR
Программа скомпилирована на частоту работы микроконтроллера 1МГц (частота работы atmega48a по умолчанию)
Последние статьи
- Лучшая практика проектирования при размещении компонентов печатной платы
- Android 6.0 на lancer X
- Простой усилитель мощности класса АВ своими руками.
- Двухтактный ультралинейный ламповый УНЧ на EL84 (6П14П).
- Люксметр на ATmega8 и цифровом датчике BH1750
- Контроллер для светодиодной ленты с ИК управлением
- Самодельный LED светильник на основе ИК датчика HC-SR501
- Простой усилитель низкой частоты на TDA7377 и NE5532
- Простейший звонок с двумя мелодиями
- LED Cube 8x8x8 на Arduino с RTC