Никель-кадмиевые аккумуляторы (NiCd) широко используются в бытовой электронике из-за их высокой удельной энергоемкости, длительного срока службы и низкой скорости саморазряда. Стандартные никель-кадмиевые элементы можно заряжать с разными скоростями: быстрая зарядка сильным током или ночная зарядка малым током.
Независимо от скорости, зарядка аккумулятора должна осуществляться постоянным током. Кроме того, количество энергии, подаваемой в аккумулятор, должно превышать его фактическую емкость, чтобы компенсировать потери во время зарядки.
Однако при разработке зарядного устройства необходимо решить две проблемы: как установить правильное значение зарядного тока и как остановить процесс зарядки, чтобы не допустить перезаряда, когда аккумулятор полностью заряжен. Описанное в статье простое и недорогое зарядное устройство решает обе проблемы.
Самый дешевый и безопасный способ зарядки NiCd аккумулятора – это зарядка в течение 16 часов током, равным 10% от его номинальной емкости. Используемый аккумуляторный блок содержит два NiCd элемента типоразмера AA емкостью 1200 мА·ч, поэтому аккумулятор должен заряжаться током 120 мА.
В устройстве, схема которого показана на Рисунке 1, постоянный зарядный ток формируется стабилизатором тока, состоящим из линейного регулятора напряжения IC3 (LM317) и резистора R3, сопротивление которого должно быть равно 1.25 В/120 мА, что составляет порядка 10 Ом. В качестве коммутирующего транзистора был выбран MOSFET Q1 (IRF520) из-за его низкого сопротивления 0.3 Ом в открытом состоянии.
Лучший способ зарядки – использование таймера, выключающего зарядное устройство по истечении 16 часов. Такой подход не требует датчика окончания заряда и гарантирует полную зарядку аккумулятора. Функцию отсчета времени выполняет микроконтроллер IC1, который также индицирует состояние заряда с помощью светодиодов.
В описываемом проекте может использоваться любой микроконтроллер. В данном случае был выбран выпускаемый NXP 8-выводной прибор MC68HC908QT1.
Каждый этап зарядки обозначается включением соответствующего светодиода. Количество этапов определяется количеством доступных выходов микроконтроллера, которые можно использовать без каких-либо дополнительных компонентов. Поскольку микроконтроллер имеет пять выходов, один из них служит для запуска зарядки, а четыре могут управлять индикацией этапов. Для минимизации количества компонентов использованы светодиоды с встроенными резисторами (WP710A10YD5V).
Чтобы сделать процесс более наглядным, эти светодиоды должны быть расположены внутри контура аккумулятора, нарисованного вокруг них, и тогда последовательное включение светодиодов будет четко иллюстрировать ход зарядки. Целесообразно выбрать интервалы времени одинаковыми, при этом светодиоды будут показывать 25%, 50%, 75% и 100% времени заряда аккумулятора.
Программа начинает мигать соответствующим светодиодом в начале каждого временного интервала и до его окончания. После этого светодиод горит постоянно. По завершении зарядки все четыре светодиода остаются включенными, так что статус заряда в любое время известен пользователю. (В качестве дополнительной функции можно добавить пьезоизлучатель для подачи звукового сигнала в конце зарядки).
Блок-схема программы микроконтроллера, изображенная на Рисунке 2, очень проста. (Текущее состояние счетчика периодов обозначено как CNT).
Рисунок 2. | Блок-схема описывает простой код последовательности проверки уровня и пошаговой итерации для управления светодиодами индикации заряда. |
Период мигания светодиода установлен равным одной секунде. Встроенный генератор микроконтроллера работает на частоте 12.8 МГц, обеспечивая длительность цикла 312.5 нс. При установке коэффициента пересчета предварительного делителя таймера, равным 64, и записи в регистр таймера числа 50,000 (C350H) период переполнения таймера (TOF) равен одной секунде (0.3125 мкс × 64 × 50,000). Программа переключает светодиод в каждом периоде TOF.
Ночная «долгая» зарядка длится 16 часов, при этом константа счетчика MAX_CNT рассчитывается как 16 × 60 × 60 = 57,600 (E100H). Аналогичным образом можно установить любое максимальное время зарядки. Очевидно, что ждать 16 часов для тестирования программы неудобно, и более практичным был бы такой период, как, например, 20 минут.
Для этого более короткого периода константа MAX_CNT должна быть установлена равной 20 × 60 = 1200 (04B0H). После ввода максимального времени зарядки продолжительность каждого из четырех временных интервалов будет установлена программой автоматически.
Этот подход очень гибок и при выборе соответствующего сопротивления резистора R3 применим для зарядки любого NiCd аккумулятора. Кроме того, для устройства подойдет микроконтроллер практически любого типа, поскольку программа проста и использует только стандартные инструкции.