Вокруг нас становится все больше и больше мобильной электроники. Как правило, в качестве источников питания в ней применяются Li-Ion аккумуляторы. Аккумуляторы имеют срок эксплуатации, как правило, гораздо меньше, чем срок эксплуатации непосредственно электроники и их иногда приходится менять. Поэтому, проблема оценки реальной емкости аккумулятора очень актуальна. Это нужно и для проверки новых, так как имеются производители аккумуляторов с очень низким качеством. И для оценки остаточной емкости бывших в употреблении аккумуляторов, например для применения в любительских устройствах собственного изготовления. Оценка емкости при заряде или по внутреннему сопротивлению часто не дает реального результата. Правильно можно оценить емкость только в цикле разряда, причем с разрядным током, близким по значению к току, на котором предполагается использовать данный аккумулятор. Имеются китайские устройства подобного назначения, но они либо не умеют отключать нагрузку по снижению напряжения, либо достаточно дороги, да и вообще покупать такое не спортивно если можно собрать самому.
В статье описано устройство позволяющее решить данную проблему. Оно измеряет емкость методом подсчета энергии, выданной аккумулятором в нагрузку. Устройство собиралось на скорую руку из компонентов, которые нашлись в загашнике. Дисплей, который хорошо вписался в давно валяющийся пластиковый корпус. Микроконтроллер распаянный на подходящем куске текстолита. Китайский модуль заряда LiIon аккумулятора. Ну и несколько дискретных компонентов. В общем типичная конструкция выходного дня.
Логика работы устройства:
— подключаем аккумулятор.
— подаем питание +5В.
— устройство подключает нагрузку к аккумулятору и измеряет на нем напряжение.
— происходит отсчет времени и подсчитывается энергия отданная аккумулятором.
— при снижении напряжения на аккумуляторе до 2.7В устройство отключает нагрузку, останавливает подсчет энергии и отсчет времени разряда. Показания остаются на дисплее.
— устройство переходит в режим заряда и начинает отсчет времени его продолжительности, который останавливается при достижении напряжения на аккумуляторе 4.2В.
Время отображается в формате сутки/часы:минуты:секунды.
Емкость отображается в мА*ч и мВт*ч. Мощность рассеиваемая на нагрузке рассчитывается из измеряемого напряжения и известного сопротивления нагрузки. От измерения тока, для упрощения конструкции, было решено отказаться.
Алгоритм расчета энергии следующий: с частотой 5кГц АЦП производит непрерывную оцифровку с накоплением сигнала на выходе делителя напряжения на аккумуляторе. Каждые 100мс с учетом уровня со встроенного источника опорного напряжения из накопленного значения вычисляется напряжение на аккумуляторе и ток через нагрузку. Вычисляется энергия в мА*ч и мВт*ч за 100мс, которая прибавляется к своему счетчику.
Устройство имеет кнопку, нажатием на которую можно переключать режимы — разряд/заряд. Двойным нажатием в режиме разряда можно выбирать подключаемую нагрузку — малая, средняя, большая. Сопротивление 20 Ом, 10 Ом или одновременно оба соответственно. Удержание кнопки вызывает сброс времени текущего режима.
Светодиод отображает режим работы:
— разряд, часто мигает.
— заряд, редко мигает.
— заряд окончен, светится.
Подробнее о компонентах. Дисплей — ЖК, графический 128х32, TIC32 с управлением по IC на контроллере PCF8531. Стабилизатор питания — LM1117-3.0. МК — STM32F051K6 (используется внутренний тактовый генератор). Ключи нагрузки — IRLML2502. Ключ включения цепи заряда — IRLML6402. Модуль заряда на чипе TC4056A с током 330мА (резистор программирующий ток 3.6к).
Для удобства подключения применен держатель для аккумулятора 18650 и провода с крокодилами. Монтаж внутри не показан, так как не очень приличен. Устройство в процессе рождения:
Прошивка написана в Keil uVision 5. При применении другого дисплея или другого микроконтроллера, потребуется изменение прилагаемых исходников и пересборка проекта. При применении нагрузок другого сопротивления, будет необходимо исправить их значения в исходнике и так же пересобрать проект.
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
---|---|---|---|---|---|---|
DD1 | МК STM32 | STM32F051K6 | 1 | |||
H1 | LCD-дисплей | TIC32 | 1 | |||
DA1 | Линейный регулятор | LM1117-N | 1 | 3.0V | ||
M1 | Контроллер заряда | LTC4056-4.2 | 1 | Модуль на китайском клоне TC4056A | ||
VT1 | MOSFET-транзистор | IRLML6402 | 1 | |||
VT2,3 | MOSFET-транзистор | IRLML2502 | 2 | |||
HL1 | Светодиод | АЛ307Л | 1 | |||
R1,2 | Резистор | 4.7 кОм | 2 | |||
R6,8,9,10 | Резистор | 10 кОм | 4 | |||
R11 | Резистор | 1 кОм | 1 | |||
R3 | Резистор | 20 Ом. 1 Вт | 1 | |||
R4 | Резистор | 10 Ом. 2 Вт | 1 | |||
C7 | Конденсатор | 47мкф.16В | 1 | |||
C2,3,4,5 | Конденсатор 0805 | 100 нф | 4 | |||
S1 | Кнопка тактовая | 7мм | 1 | |||
XS1 | Разъем | MicroUSB | 1 | |||