Главная Проекты Скачать Ссылки Контакт Гостевая



Зарядное устройство для Ni-Cd, Ni-Mh и Li-Ion аккумуляторов

Зарядное устройство позволяет заряжать от одного до шести Ni-Cd, Ni-Mh и Li-Ion аккумуляторов с емкостью от 50 до 1200 мА/час. Основой для программы была статья Ридико Леонида Ивановича "Немного о зарядке NiMH и NiCd аккумуляторов". По сравнению с другими рекомендациями, здесь были наиболее полно описаны требования к зарядному устройству. Согласно статье, при зарядке NiMh аккумуляторов выполняются следующие режимы:
  1. Фаза определения наличия аккумулятора
  2. Фаза определения состояния аккумулятора
  3. Разрядка аккумулятора
  4. Предзарядка аккумулятора
  5. Плавное увеличение тока зарядки
  6. Быстрая зарядка
  7. Дозарядка
  8. Отключение аккумулятора
В фазе определения наличия аккумулятора АЦП микроконтроллера измеряет напряжение на клеммах. Если напряжение меньше ~0.1 В, то зарядка не начинается и на индикатор выдается сообщение об ошибке (возможные ошибки будут описаны позже). Такой способ не совсем удобен, т.к. сильно разряженные (долго не использовавшиеся) аккумуляторы придется вначале немного подзарядить. В фазе определения состояния сперва измеряется температура аккумуляторов. Использование в качестве датчика DS18B20 в пластиковом корпусе позволяет значительно упростить программу и увеличить точность измерений, но приводит к некоторым трудностям при его прилаживании к аккумулятору. Рекомендуют измерять температуру около отрицательного электрода. Если температура не выходит за пределы допустимой (больше 5 и меньше 40 градусов по Цельсию), через аккумулятор устанавливается ток 0.1*С, где С - емкость аккумулятора (не обращаем внимание на несогласование размерности). Если напряжение зарядки при этом более 1.85 В, зарядка дальше не происходит, появляется сообщение об ошибке. Такая проверка, как пишут, позволяет определить, что вместо аккумулятора вставили батарейку, которую заряжать не рекомендуется. Этим тестом, фактически, измеряется внутренне сопротивление заряжаемого элемента. То, что его пройдет аккумулятор и не пройдет батарйека, совсем необязательно (хотя по этой причине за два года эксплуатации устройство ни разу не отказалось заряжать по этой причине, батарейки - не пробовал :) ). Аккумулятор справился и с этим - отключается ток, опять измеряется напряжение. Если меньше 1 В на банку (в батареи) - переходим в режим дозарядки, в котором этот самый 1В/банка достигается путем зарядки постоянным током 0.2*С. Если напряжение не растет - опять сообщение об ошибке. В предыдущем пункте измерили напряжение, оказалось больше 1.7В/банку или меньше 0.4В/банку - опять ошибка. Последними свойствами обладают старые или испорченные аккумуляторы. Если вдруг все прошло нормально и ошибки не появилилсь, переходим или в разрядку (если установлен такой режим), или в фазу 4 - плавное увеличение тока до 1С. При разрядке аккумуляторы разряжаются на резистор, пока напряжение на каждом не достигнет 1В. Польза - устранения эффекта памяти, которым сильно страдают NiCd, и не очень сильно (по заверениям производителей) NiMh. Рекомендуют NiCd разряжать полностью перед каждой зарядкой, NiMh - один раз за ~5 зарядок. Подробнее отсылаю к статье Ридико или к ссылкам внизу страницы. После разрядки фаза 4, в которой, как цже было сказано, ток плавно увеличивается до 1C (опять же для аккумулятора так лучше, чем резко включить полный ток). В устройстве применяется только режим быстрой зарядки, т.е. током около 1С в течение часа. Считается, что после такой зарядки время жизни (количество циклов заряд-разряд) и емкость аккумулятора сохраняются лучше, чем при зарядке током 0.1*C в течение 12 часов. Вы можете сказать, что при зарядке большим током аккумуляторы перегреваются и быстро выходят из строя. Личный опыт показывает, что ничего подобного. Пока аккумулятор разряжен, КПД процесса довольно высокий, и подопытный нагревается очень медленно. При достижении приблизительно 80% заряда, температура начинает резко повышаться, что подтверждает личный опыт и ссылка, а вот для этого случая и существует в схеме термодатчик. Кстати, резкое увеличение температуры является одним из критериев окончания зарядки. Вернемся к фазе быстрой зарядки. Зарядка происходит импульсами, длительностью около 1 сек, чередующимися с короткими (5 мс) интервалами разрядки. Есть ли от этого польза неизвестно, но вреда нет точно, а кто-то порекомендовал, поэтому функция добавлена. На отключенном в перерывах между импульсами аккумулятором измеряется напряжение и температура. Если что-то выходит за пределы - прекращение зарядки и сообщение об ошибке.
Критериев нормального окончания зарядки 3: Любой из случаев приводит к переходу в режим дозарядки - аккумулятор вначале остывает в течение 10 минут, затем заряжается током 0.1*С в течение еще 20 минут. Этот режим уравнивает аккумуляторы в батарее - полностью зарядившиеся тихонько греются, не очень хорошо зарядившиеся - заряжаются лучше. После этого зарядка закончена и аккумулятор отключается. Номер каждой фазы в такой же последовательности, к в списке, отображается на дисплее (первая цифра).
В режиме быстрой зарядки в течение первых 5 минут аккумулятор непредсказуем, поэтому критерии не проверяются и зарядка может остановиться только аварийно. Есть более корректный способ определения окончания зарядки - определение уменьшения скорости нарастания напряжения на аккумуляторе, т.е. уменьшение градиента напряжения. Это требует цифровой обработки сигнала и более точного измерения напряжения. А поскольку АЦП только 10-битный, а напряжения хочется измерять для 6 аккумуляторов* 1.5 В = 9 В и больше, от этого критерия после нескольких экспериментов пришлось отказаться.
Список ошибок:
  1. "TIME OVER" Истекло время быстрой зарядки (90 минут) и не сработал ни один из критериев окончания зарядки.
  2. "HIGH TEMP" Слишком высокая температура (выше 40 градусов).
  3. "INC TEMP" Температура быстро растет не в режиме быстрой зарядки.
  4. "HI VOLTAGE" Высокое напряжение (более 1.85 В) на одной банке.
  5. "HI RESIST" Высокое внутреннее сопротивление банки
  6. "CURRENT" Невозможно установить ток, т.е. при увеличении напряжения зарядки до максимума, ток не достиг требуемого значения.
  7. "LO VOLTAGE" Слишком низкое напряжение на аккумуляторе (менее 0.4 В на банку в фазе определения состояния)
  8. "NO U INC" Напряжение при подзарядке не растет
  9. "LO TEMP" Слишком низкая температура (менее 5 градусов)
  10. "NO ACC" Нет аккумуляторов
При ошибке появляется сообщение на дисплее, процесс зарядки останавливается. Для повторного цикла необходимо выключить питание устройства (или можно приделать кнопочку между ножкой микроконтроллера RESET и общим проводом).
Схема
Рис. 1.


Схема устройства приведена на рис. 1. Блок ШИМ взят из [3], блок измерения напряжения и тока - из [2].
Немного о схеме. В ШИМ использован полевой транзистор с P-каналом. Можно использовать любой подобный, только надо стремиться к тому, чтобы емкость затвора транзистора и сопротивление сток-исток были наименьшими. Про величину индуктивности L1 опять советую почитать [3], но реально в схеме она немного больше, чем рекомендуют в [3]. Величина L1 подбиралась по осциллографу, фильтр L1C4 должен обеспечивать приемлимый (небольшой) уровень пульсаций на аккумуляторе. Диоды D2 и D3 - диоды Шоттки, с меньшим падением напряжения на них. Такие экзотические выбраны только потому, что они были извлечены из компьютерного блока питания. Транзистор Q1 работает в ключевом режиме, поэтому даже при токах зарядки 1А радиатор не ставил, грелся не очень сильно.
Плата
Величину резисторов - делителей R6, R8, R9, R10, R14, R15 подбираеют так, чтобы измерения АЦП микроконтроллера соотвествовали таблице, находящейся в файле программы. При желании эти значения можно переписать под свои коэффициенты, а можно подобрать резисторы. Во время работы индикатор показывает напряжение и ток в "условных единицах", измеренных АЦП. Так, напряжение на индикаторе 82 соответствует 0.8 В на аккумуляторе, 190 соответствует 1.85 В. Реальный ток, текущий через аккумулятор (измеряется на R12), умножаем на 10/18 и получаем то, что должно быть на индикаторе. Т.е. подбор резисторов - делителей операционного усилителя сводится к следующему: измеряем напряжение на аккумуляторе, ток через него, подбираем резисторы так, чтобы измеренное соответствовало отображаемому на LCD.
Транзистор Q5 при разрядке периодически покдлючает аккумулятор к R11. Чем больше емкость аккумулятора, тем большее время за период резистор покдлючен. Ставьте R11 мощностью не менее 1 Вт.
В устройстве разделено аналоговое и цифровое питание. АЦП микроконтроллера подключается через фильтр низких частот L2C9. При постоянных мощных пульсациях на аккумуляторе его лучше не исключать из схемы. Аналоговая земля на схеме показана жирной чертой, цифровая - тонкой. Аналоговая и цифровая земля соединяются только в одной точке резистором с сопротивлением 0 Ом.
Термометр DD2 при работе устройтсва располагают около отрицательного электрода одного из аккумуляторов. Подключайте его перед тем, как включать устройство, поскольку нагрев DD2 от рук может вызвать ошибку.
При включении на индикаторе слева направо отображаются: тип аккумуляторов, количество аккумуляторов в батарее, емкость одного аккумулятора в мА/ч, индикатор зарядка-разрядка. Кнопка SB3 выбирает параметр, который надо установить (устанавливается тот, возле которого сейчас горит точка). Кнопка SB2 собственно менят этот параметр. Тип аккумулятора Li - литий-ионный, ni - Ni-Mh или Ni-Cd, емкость от 50 до 1200 мА/ч (дойдя до 1200, сбрасывается в 50) с шагом 50 мА/ч, количество аккумуляторов - от 1 до 6. Последний значок - "единичка" - аккумулятор надо разрядить перед зарядкой, "половинка единички" - аккумулятор не надо разряжать. Кнопка SB1 начинает зарядку. Если произошла ошибка или установили что-то не так - все сначала.

За год эксплуатации устройства ни одного аккумулятора повреждено не было, все заряжалось нормально, но за ваши аккумуляторы я отвественности не несу :(.

В архиве - схема в формата Splan6, исходник на С для CodeVisionAVR и файл прошивки charger.hex . Fuse bits микроконтроллера установлены на тактирование от внутреннего RC генератора 8 МГц.

Александр Куценко.


  1. Ридико Л. И. Немного о зарядке NiMH и NiCd аккумуляторов
  2. Atmel AVR Application Notes. AVR450: Battery Charger for SLA, NiCd, NiMH and Li-Ion Batteries
  3. StartCD.narod.ru


Хостинг от uCoz