Модуль зарядки для nimh аккумуляторов

Зарядное устройство для NiMH аккумулятора

Недавно получил комплект никель-металлогидридных аккумуляторных (NiMH) батарей для шуруповерта «Bosch» 14.4V, 2.6Ah. Аккумуляторы фактически имели малую емкость, хотя эксплуатировались под нагрузкой лишь незначительное время и имели малое число циклов разряд(работа) — заряд. По этой причине решил разобрать батареи, выполнить их поэлементные замеры для определения характеристик и возможного восстановления, использования «выживших» элементов в других самоделках требующих отдачи большого тока в короткое время. Эта работа поэтапно описана в заметке «Автоматическое устройство для разряда аккумулятора».

После разборки батареи

был выполнен подготовительный разряд элементов на указанном устройстве, с контролем по минимальному остаточному напряжению 0,9. 1,0 вольт, для исключения глубокого разряда. Далее потребовалось простое и надежное зарядное устройство для их полной зарядки.

Требования к зарядному устройству

Производители NiMH аккумуляторов рекомендуют выполнять заряд с величиной тока в интервале 0,75-1,0С. При этих режимах, КПД процесса зарядки, большую часть цикла, максимально высокий. Но к моменту окончания процесса зарядки, КПД резко снижается и энергия переходит в выделение тепла. Внутри элемента резко растёт температура и давление. Аккумуляторы имеют аварийный клапан, который может открыться при увеличении давления. При этом свойства аккумулятора будут безвозвратно потеряны. Да и сама высокая температура оказывает негативное влияние на структуру электродов батарейки.

Читайте также:  Корпус для велосипедного аккумулятора

По этой причине, для никель-металлогидридных аккумуляторов очень важным является контроль режимов и состояния батареи при зарядке, момента окончания процесса зарядки, для исключения перезаряда или разрушения аккумулятора.

Как указывалось, в конце процесса заряда NiMH аккумуляторной батареи её температура начинает расти. Это является основным параметром для отключения заряда. Обычно в качестве критерия прекращения заряда берётся рост температуры более чем на 1 градус за минуту. Но при небольших токах заряда (менее 0,5С), когда температура растёт достаточно медленно, это обнаружить сложно. Для этого может быть использовано абсолютное значение температуры. Таким значением принимают 45-50°C. В этом случае заряд должен быть прерван, и возобновлён (при необходимости) после остывания элемента.

Также необходимо установить ограничение по времени заряда. Его можно рассчитать по емкости батареи, величине тока зарядки и КПД процесса, плюс 5-10 процентов. В этом случае, при нормальной температуре процесса, зарядное устройство отключают по установленному времени.

При глубоком разряде NiMH аккумулятора (менее 0,8В) ток заряда, предварительно, устанавливается на уровне 0,1. 0,3С. По времени этот этап ограничен и составляет около 30 минут. Если за это время аккумулятор не восстанавливает напряжения 0,9. 1,0В, то элемент беспереспективен. В положительном случае, далее выполняют заряд с увеличенной величиной тока в интервале 0,5-1,0С.

И еще, о сверхбыстром заряде аккумуляторных батарей. Известно, что при заряде до 70% своей ёмкости никель-металлогидридный аккумулятор имеет КПД зарядки близкий к 100 процентам. Поэтому, на этом этапе возможно увеличить ток для ускоренного его прохождения. Токи в таких случая ограничивают значением 10С. Высокий ток легко может привести к перегреву аккумулятора и разрушению структуры его электродов. Поэтому использование сверхбыстрого заряда рекомендуется только при постоянном контроле процесса зарядки.

Процесс изготовления зарядного устройства для NiMH аккумулятора рассмотрен ниже.

1. Установление исходных данных.
— Зарядка элемента постоянной величиной тока 0,5. 1,0С до номинальной емкости.
— Выходной ток (регулируемый) – 20. 400 (800) ma.
— Стабилизация выходного тока.
— Выходное напряжение 1,3. 1,8 В.
— Входное напряжение — 9. 12 В.
— Входной ток — 400 (1000) ma.

2. В качестве источника питания для ЗУ выбираем мобильный адаптер 220/9 вольт, 400 ma. Возможна замена на более мощный (например, 220/1,6. 12В, 1000 ma). Изменений в конструкции ЗУ при этом не потребуется.

3. Рассмотрим схему зарядного устройства

Вариант конструкции зарядного устройства аккумулятора представляет собой узел стабилизации и ограничения тока и выполнен на одном элементе операционного усилителя (ОУ) и мощном составном n-p-n транзисторе КТ829А. ЗУ дает возможность регулировки тока заряда. Стабилизации установленного тока происходит за счет повышения или понижения выходного напряжения.

В точке соединения резистора R1 и стабилитрона VD1 образуется стабильное опорное напряжение. Изменяя величину напряжения, снятого с потенциометра R2 резисторного делителя, на неинвертирующем входе операционного усилителя (вывод 3), изменяем величину выходного напряжения (вывод 6), а следовательно и ток через VТ1. Резистором R5 ограничиваем ток в цепи заряжаемого аккумулятора. Изменение падения напряжения на R5 при отклонении зарядного тока, через обратную связь (ООС) на инвертирующий вход ОУ (вывод 2), корректирует и стабилизирует выходной ток ЗУ. Установленный R2 ток будет стабилен до конца зарядки этого и последующих однотипных аккумуляторов.

Данная схема стабилизатора тока весьма универсальна и может применяться для ограничения тока в различных конструкциях. Схема легка в повторении, состоит из простых и доступных радиокомпонентов и при верном монтаже сразу начинают работать.

Особенностью данной схемы является возможность применить имеющиеся в наличии операционные усилители с напряжением питания на уровне 12В, например, К140УД6, К140УД608, К140УД12, К140УД1208, LM358, LM324, TL071/081. Транзистор КТ829А — основной силовой элемент и весь ток проходит по нему, поэтому обязательно устанавливается на теплоотвод. Выбор транзистора определяется необходимым зарядным током установленным для зарядки аккумулятора.

4. Выбираем корпус для зарядного устройства. Он определит форму, конструкцию, условия теплоотвода и внешний вид ЗУ. В данном случае выбран алюминиевый аэрозольный баллон. Удаляем его верхнюю часть.

5. Отрезаем от универсальной монтажной платы часть, равную по ширине внутреннему диаметру баллона. Желательно плотное, без качки, вхождение платы в баллон.

6. Комплектуем ЗУ деталями согласно схемы. Аэрозольный колпачок по размеру хорошо подходит в качестве ручки потенциометра.

7. Закрепляем транзистор на радиаторе и устанавливаем радиатор на краю платы, согласно фото.

8. Припаиваем выводы транзистора к контактным площадкам платы.

9. Распаиваем сопротивление, ограничивающее максимально возможный ток заряда аккумулятора. Так как весь ток заряда проходит через резистор R5, то для лучшего охлаждения резистора, он набран из широко распространенных (МЛТ-1) четырех паралельно соединенных резисторов по 22 ома, мощностью по 1 вт. Дополнительно, последовательно установлен резистор на 1,8 ома мощностью 5 вт. Общее сопротивление R5 составило около 7 ом ( средней мощностью 4 вт). Сопротивление и комплектация резисторов зависят от планируемого тока зарядки и наличия деталей у изготовителя.

10. Соберем управляющую часть ЗУ на макетной монтажной плате. Присоединим изготовленную силовую часть ЗУ и подключим нагрузку – заряжаемый аккумулятор. Для проверки работы и отладки режимов, подключим ЗУ к регулируемому блоку питания. Проверяем диапазон регулировки зарядного тока, при необходимости подбираем величину резисторов R2 и R3.

11. Переносим управляющую часть ЗУ на рабочую платку

12. На плате, сбоку, устанавливаем гнездо для подключения блока питания ЗУ (адаптера или другого БП).

13. Устанавливаем ЗУ в корпус, расположив радиатор в его верхней (открытой) части.
Предварительно сверлим в нижней цилиндрической части корпуса ряд отверстий диаметром 6 мм. Рабочее положение корпуса ЗУ вертикальное, поэтому в нем, аналогично печной трубе, создается естественная тяга. Воздух, нагреваемый резисторами и радиатором поднимается из корпуса вверх, затягивая холодный в нижние отверстия. Такая вентиляция работает эффективно, потому что значительный нагрев радиатора при 2-х, 3-х часовой работе ЗУ, практически не ощущается нагревом корпуса.

14. Зарядное устройство собрано рабочим комплектом и испытано под нагрузкой, полной зарядкой десятка аккумуляторов. ЗУ работает стабильно. При этом периодически ведётся контроль расчетного времени зарядки, а также температуры аккумулятора для отключения ЗУ при критических значениях. Использование «крокодильчиков» для подключения аккумулятора позволяет подключить к ЗУ контрольный амперметр (мультиметр) для регулировки зарядного тока. При зарядке последующих однотипных элементов, амперметр не нужен.

Источник

Зарядное устройство для NiMH-аккумуляторов с возможностью индикации состояния

Сива Перьясами, Тони О’Бирн (Microchip Technology Inc.)

Предлагаемое Microchip недорогое зарядное устройство для NiMH-аккумуляторов на базе микроконтроллера PIC10F222 способно определять момент окончания заряда и обнаруживать различные аварийные ситуации. Рассмотрено также использование статистических методов для разработки алгоритма, способного надежно определять состояние зарядного устройства.

Несмотря на значительный интерес к аккумуляторам, использование никель-металлгидридных (NiMH) изделий по-прежнему ограничено. Высокая суммарная стоимость зарядного устройства и самого аккумулятора является одной из основных причин популярности обычных незаряжаемых батареек. При этом обычные батарейки плохо подходят для работы с импульсными токами из-за высокого собственного сопротивления, что ограничивает их использование в таких приложениях как цифровые камеры, устройства с электродвигателями, рации и прочее. NiMH-аккумуляторы обладают низким внутренним импедансом, что обеспечивает им важное преимущество в аналогичных приложениях. Тем не менее, если в случае с цифровыми камерами пользователи зачастую останавливают свой выбор на никель-металлгидридных аккумуляторах, то на рынке игрушек по-прежнему преобладают обычные батарейки, что объясняется их низкой стоимостью. Однако в долгосрочной перспективе аккумуляторы оказываются более экономически выгодным вариантом.

Коммерческие зарядные устройства для NiMH-аккумуляторов можно разделить на две группы:

  • быстрые зарядные устройства (Fast Chargers), которые реализуют специальный ускоренный алгоритм заряда. Им требуется от 15 минут до трех часов для того чтобы зарядить батарею из двух или четырех аккумуляторных ячеек;
  • простые зарядные устройства (Trickle Chargers), которые не имеют специального алгоритма заряда и заряжают аккумулятор постоянным безопасным низким током. Им требуется около 15 часов, чтобы зарядить батарею из двух или четырех аккумуляторных ячеек.

Примечание 1. Аккумуляторная ячейка – простейший элемент питания с анодом, катодом и номинальным выходным напряжением. Аккумулятор может состоять из одной или нескольких аккумуляторных ячеек. Далее для простоты термины «аккумуляторная ячейка» и «аккумулятор» считаются эквивалентными.

Примечание 2. Емкость аккумулятора измеряется в ампер-часах. Показатель «C» характеризует ток, который полностью разрядит аккумулятор за один час. Если аккумулятор емкостью 2000 мА⋅ч, заряжается током 200 мА, то считается, что заряд идет со скоростью 0,1C.

Заряд NiMH-аккумуляторов при различных условиях

На рисунке 1 показаны графики изменения эффективности заряда аккумулятора в процессе подзарядки при различных зарядных токах. Как видно из графиков, эффективность заряда является переменной величиной, зависящей от уровня заряда и тока зарядки. Максимальная эффективность наблюдается при скоростях 0,5…1С. Анализ этих зарядных характеристик выходит за рамки данной статьи. Дополнительную информацию по этому вопросу можно получить из источников, перечисленных в списке литературы.

Рис. 1. Изменение эффективности заряда аккумулятора в процессе подзарядки при различных зарядных токах

В процессе заряда на никелевом электроде образуется кислород. Этот кислород рекомбинирует с металлгидридным электродом. При высоких зарядных токах скорость генерации кислорода может превышать скорость рекомбинации. Увеличение концентрации кислорода и рост температуры приводит к увеличению давления в ячейке. При значительном повышении давления ячейка разрушается, в результате чего электролит может вытечь из корпуса. Дополнительную информацию по этому вопросу можно получить из источников, перечисленных в списке литературы. На рисунке 2 показаны графики изменения давления внутри ячейки при различных скоростях заряда.

Рис. 2. Изменение давления внутри ячейки при различных скоростях заряда

Быстрые зарядные устройства (Fast Chargers)

Быстрые зарядные устройства работают по определенному алгоритму. Они управляют током заряда в процессе подзарядки. Диапазон изменения токов может составлять 0,5…6C. Обычно быстрые зарядные устройства создаются на базе импульсных преобразователей. При разработке таких зарядных устройств приходится решать целый ряд проблем, связанных с отводом тепла, электромагнитными помехами и безопасностью. Поскольку подзарядка выполняется при больших зарядных токах и существует высокая опасность повышения давления в ячейке (рисунок 2), то во избежание повреждения аккумулятора и зарядного устройства крайне важно контролировать уровень заряда и своевременно прекращать зарядку. Борьба с помехами, сертификация на соответствие стандартам безопасности, закупка комплектующих, сложность производства и испытаний увеличивают расходы и стоимость быстрых зарядных устройств. Как правило, алгоритм управления быстрых зарядных устройств способен не только определять момент завершения заряда (и уменьшать зарядный ток), но и обнаруживать неисправные ячейки. Обычно зарядные устройства способны распознавать следующие ситуации:

  • завершение процесса заряда;
  • попытка заряда обычной незаряжаемой батарейки (первичного гальванического элемента);
  • попытка заряда полностью заряженного аккумулятора;
  • попытка заряда закороченной ячейки.

Благодаря сложному алгоритму быстрое зарядное устройство может заряжать частично разряженную батарею, не перегружая ее. Некоторые зарядные устройства способны распознавать никель-металлгидридные аккумуляторы, которые выдерживают высокие зарядные токи.

Быстрые зарядные устройства зачастую оснащают ЖК-дисплеем или сигнальными светодиодами, а также звуковым сигналом. Дополнительную информацию по быстрым зарядным устройствам можно получить из источников, перечисленных в списке литературы.

Высокая стоимость ограничивает массовое распространение быстрых зарядных устройств.

Простые зарядные устройства (Trickle Chargers)

В отличие от быстрых зарядных устройств, в простых коммерческих зарядных устройствах не реализован какой-либо специальный алгоритм управления зарядом. В них, как правило, используется постоянный безопасный зарядный ток 0,1C (или ниже). Ток заряда ограничивается последовательным резистором и сопротивлением обмоток трансформатора. Схема такого зарядного устройства показана на рисунке 3.

Рис. 3. Схема простого зарядного устройства

Изображенное на рисунке 3 двухканальное зарядное устройство отличается привлекательной стоимостью, минимальным числом используемых компонентов, а его зарядный ток обычно составляет 0,1 C (или ниже).

Резисторы R1 и R2 ограничивают зарядный ток аккумуляторов AA на уровне 0,1 C. Аккумуляторы успевают зарядиться за ночь, и пользователь должен вынуть их из зарядного устройства по истечении времени зарядки. Для индикации питания зарядного устройства можно добавить простейшую схему со светодиодом.

Технические ограничения

Представленное на рисунке 3 зарядное устройство имеет следующие ограничения:

  • неспособность распознавать обычные незаряжаемые батарейки;
  • неспособность обнаруживать неисправные ячейки (со внутренним коротким замыканием);
  • отсутствие индикации окончания заряда в большинстве коммерческих зарядных устройств;
  • неспособность распознавать полностью заряженные или частично заряженные аккумуляторы. Таким образом, возможна перезарядка и последующее повреждение NiMH-ячеек.

Интеллектуальное зарядное устройство

В данной статье описывается недорогое микроконтроллерное зарядное устройство, свободное от традиционных ограничений, характерных для простых зарядных устройств. Предлагаемое зарядное устройство способно определять момент окончания заряда и обнаруживать различные аварийные ситуации. В статье также рассказывается об использовании статистических методов для разработки алгоритма, способного надежно определять состояние зарядного устройства.

Рассматриваемое зарядное устройство позволяет одновременно заряжать четыре NiMH-аккумулятора.

В предлагаемой схеме зарядного устройства используется минимальное число компонентов, что делает его потенциально более надежным по сравнению с быстрыми зарядными устройствами. Малое значение зарядного тока гарантирует, что кислород, генерируемый в процессе зарядки, будет успевать регенерировать, и давление в ячейке никогда не достигнет катастрофического уровня. По этой причине отпадает необходимость в дополнительной схеме защиты. Более того, благодаря использованию линейной топологии и отказу от импульсной схемы преобразователя существенно упрощается процесс сертификации устройства на соответствие международным требованиям безопасности и ЭМС. Обычный трансформатор 50 или 60 Гц используется для понижения напряжения сети. Так как в предлагаемом зарядном устройстве используются простые и доступные компоненты, то и его производство оказывается очень простым.

Технические характеристики

В таблице 1 приведены технические характеристики бюджетного двухканального интеллектуального зарядного устройства.

Таблица 1. Технические характеристики бюджетного двухканального интеллектуального зарядного устройства

Параметр Значение Примечание
Входное напряжение Номинальное значение 230 В, 50 Гц +5%…-10%
Диапазон рабочих напряжений 207…241 В
Выходное напряжение Номинальное значение 3,0 В DC Без нагрузки
Защита на входе Термистор в трансформаторе
Защита на выходе Ограничительный резистор, собственное сопротивление трансформатора, термистор, встроенный в трансформатор
Индикация Функции Состояние светодиода
Отсутствие аккумулятора ВЫКЛ
Аккумулятор установлен, идет зарядка ВКЛ
Зарядка завершена Медленно мигает: раз в 1…2 с
Неисправность аккумулятора Быстро мигает: с периодом 100…200 мс

Схема предлагаемого зарядного устройства приведена на рисунке 4.

Рис. 4. Схема интеллектуального зарядного устройства

Схема зарядного устройства состоит из двух полупериодных выпрямителей, заряжающих две последовательно соединенные ячейки в каждом канале. Далее в статье представлены расчеты номинальных характеристик схемы. В реальных условиях ток заряда будет колебаться в зависимости от изменений сетевого напряжения, импеданса трансформатора, остаточного заряда аккумулятора, импеданса аккумулятора и условий окружающей среды.

Микроконтроллер PIC10F222 был выбран из-за компактных размеров и невысокой стоимости. У него имеются два полноценных порта ввода/вывода и один порт, который можно использовать только в качестве входа. Внутренний генератор формирует тактовый сигнал 4 МГц, Timer0 выступает в роли базового таймера, встроенный аналого-цифровой преобразователь используется для измерения напряжений аккумуляторов.

Выводы GP0 и GP1 используются для измерения напряжения, а также для управления светодиодами совместно с GP2 (OSC). Перед началом измерений на выходе GP2 устанавливают высокий сигнал, тем самым отключая LED1 и LED2. После окончания цикла измерений на выводе GP2 устанавливают низкое напряжение, тем самым разрешая работу светодиодов.

Резисторы R5 и R6 необходимы для ограничения зарядного тока. Резисторы R1 и R2 определяют входной импеданс для АЦП. Они также предотвращают разряд аккумулятора через внутренние защитные диоды микроконтроллера. Резисторы R9 и R12 необходимы для получения стабильных результатов измерения.

Стоит особо подчеркнуть, что микроконтроллер не управляет процессом зарядки. Он всего лишь осуществляет интеллектуальный мониторинг и обеспечивает световую индикацию для пользователя, что помогает устранить недостатки, свойственные многим недорогим зарядным устройствам.

Отображение статуса заряда

В таблице 1 перечислены функции индикации, выполняемые зарядным устройством. Более сложные варианты использования светодиодов можно реализовать, изменив соответствующую процедуру программного обеспечения (ПО).

Процесс заряда начинается, когда зарядное устройство подключается к электросети, и прекращается, когда зарядное устройство отключается от сети. Если устройство обнаруживает неисправный аккумулятор, то для сброса ошибки потребуется сброс микроконтроллера. Для этого необходимо кратковременно отключить и снова подключить зарядное устройство к сети.

Расчет

Если пренебречь потреблением электронных компонентов, то можно рассчитать ориентировочную эффективность зарядного устройства:

  • КПД трансформатора обычно составляет 75%;
  • КПД полупериодного выпрямителя составляет 40%;
  • эффективность зарядки аккумулятора при 0,1 С составляет 98%.

Таким образом, общую эффективность этого зарядного устройства можно вычислить по формуле 1:

Несмотря на то, что эффективность зарядного устройства составляет всего 29%, бюджетность и дополнительные интеллектуальные функции делают его привлекательным для широкого круга потребителей.

Сетевые трансформаторы с несколькими обмотками часто используются в бытовых приборах. Они отличаются низкой стабильностью напряжения, а ток в первичной обмотке для них обычно не превышает 1 А. На представленных ниже рисунках изображены осциллограммы токов и напряжений, снятые при тестировании прототипа зарядного устройства:

  • пиковое напряжение на вторичной обмотке (без нагрузки): Vp = 10,0 В;
  • пиковое напряжение на вторичной обмотке (полная нагрузка): Vp = 8,1 В.

Соответствующие среднеквадратичные значения напряжений составляют 7,07 и 5,73 В.

Нестабильность напряжения трансформатора можно вычислить по формуле 2:

Нестабильность напряжения трансформатора должна быть учтена при дальнейшем проектировании.

Среднее напряжение с учетом падения на диоде определяется по формуле 3:

  • VDC = постоянное напряжение;
  • Vm – пиковое значение переменного напряжения;
  • 0,7 В – падение на диоде.

Таким образом, можно посчитать среднее напряжение без нагрузки (формула 4):

На первый взгляд может показаться, что столь малого среднего напряжения будет недостаточно для зарядки аккумулятора. Однако, как видно из осциллограмм, приведенных ниже на рисунке 7, заряд аккумулятора происходит во время положительной полуволны напряжения, амплитуда которого достигает 8,1 В. Таким образом, ток заряда имеет прерывистый характер. В процессе испытаний среднее напряжение на клеммах аккумулятора составило 2,74 В, а средний ток нагрузки 169 мА (спустя примерно 10 минут после зарядки).

Зарядный ток в начале процесса зарядки составляет около 200 мА и со временем падает по мере увеличения напряжения аккумулятора. Кроме того, ток заряда изменяется в соответствии с колебаниями сетевого напряжения. Следовательно, время зарядки не может быть рассчитано точно. При номинальном токе заряда 170 мА и эффективности около 80% общее время зарядки аккумулятора емкостью 2000 мА⋅ч ориентировочно составит 14 часов.

Логика работы и алгоритм

На эффективность и производительность предлагаемого зарядного устройства влияют следующие параметры:

  • допуски компонентов;
  • нестабильность выходного напряжения трансформатора;
  • погрешность АЦП;
  • воздействие окружающей среды, например, колебания сетевого напряжения и температуры;
  • пульсации полуволнового выпрямителя.

Влияние этих параметров можно минимизировать, используя алгоритм, разработанный с привлечением статистических методов. Детали этого подхода будут обсуждаться в следующих разделах. Если коротко, то напряжение на клеммах аккумулятора, измеряемое с помощью АЦП, анализируется с учетом граничных значений, полученных при статистической обработке данных, собранных в процессе тестирования. Стоит отметить, что при крупносерийном производстве необходимо самостоятельно уточнять рассчитанные в данной статье пороговые значения с учетом большого количества практических данных.

Описание логики работы

Логика работы зарядного устройства построена на использовании многозадачного автомата состояний (рисунок 5). Диспетчер задач (планировщик задач) циклично и последовательно передает управление каждой из задач, поскольку все они имеют одинаковый приоритет. Однако некоторые задачи запускаются только при выполнении ряда условий. Например, измерения АЦП выполняются через определенные промежутки времени. На рисунке 5 показаны основные модули конечного автомата. Детальное обсуждение работы автоматов состояния выходит за рамки этой статьи, подробную информацию по данному вопросу можно получить из источников, приведенных в списке литературы.

Рис. 5. Блок-схема алгоритма работы зарядного устройства

Для реализации программных функций используются следующие ресурсы микроконтроллера PIC10F222:

  • память программ: 512 слов;
  • память данных: 23 байта;
  • программный счетчик: девятибитный.

При использовании инструкции CALL старший бит программного счетчика (PC) всегда сброшен, поэтому вызовы или переходы ограничены ближайшими 256 адресами памяти. В операторе GOTO используются все биты программного счетчика 8:0 и возможен доступ ко всем 512 адресам памяти. Длина стека равна 2, что ограничивает использование вложенных подпрограмм и накладывает дополнительные ограничения на инструкцию CALL.

В микроконтроллере PIC10F222 отсутствует встроенная схема сброса по питанию (BOR), поэтому для обеспечения надежной работы может потребоваться внешний супервизор. Тем не менее, для уменьшения стоимости внешний супервизор в данной схеме не использовался.

Таймер Timer0 обеспечивает системный такт 1 мс. Счетчик таймера выполняет обратный счет с последующим переключением задач. Если обратный отсчет закончен в момент, когда микроконтроллер не закончил предыдущую задачу, то переключения задач не происходит.

Разработка кода

Код алгоритма управления написан в модульной форме с использованием ассемблера MPASM™ от Microchip. Модульная организация облегчает разработку многократно используемого кода. Основные программные модули показаны на рисунке 5. Дополнительные подмодули, например, алгоритм усреднения, повышают гибкость. Однако описанные выше особенности команды CALL ограничивают количество независимых модулей. Секции кода, которые автоматически назначаются компоновщиком, не позволяют эффективно использовать память программ микроконтроллера.

Ограничения, налагаемые компоновщиком и командой CALL, можно обойти следующим образом:

  • использовать монолитный код (без возможности изменения отдельных модулей). В таком случае программные подмодули создаются внутри основного модуля и повторно вызываются командой GOTO. На рисунке 6 показан пример фактической реализации монолитного кода;
  • вручную назначать разделы кода для программных модулей, которые могут быть как независимыми, так и входить в состав основного модуля.

Рис. 6. Планировщик задач

Программный модуль

В следующих разделах приведено краткое описание ключевых программных модулей.

Диспетчер задач

Диспетчер задач циклически и последовательно передает управление каждой из задач. Это называется кооперативной многозадачностью (рисунок 5). При первом подключении к электросети светодиоды включаются на одну минуту, чтобы показать пользователю, что зарядное устройство работает. После этой начальной задержки начинается полноценное выполнение алгоритма. Все задачи имеют одинаковый приоритет, и управление возвращается планировщику после выполнения каждой задачи. Разумеется, можно реализовать приоритеты на программном уровне, но в данном случае в этом нет необходимости.

Планировщик задач также решает, завершен ли цикл зарядки и устанавливает соответствующий флаг в регистре Charge_Status_Register.

Модуль подсчета времени

Единственный таймер PIC10F222 был задействован в качестве системного таймера. Он формирует системный период 1 мс. Переполнение счетчика контролируется по флагу в регистре STATUS. Модуль подсчета времени использует дополнительные программные счетчики для формирования остальных временных интервалов 100 миллисекунд, секунда, минута и час:

  • интервал 100 мс используется для мигания светодиодами при обнаружении неисправностей;
  • интервал 1 с используется для мигания светодиодами по окончании процесса зарядки;
  • интервал 1 ч необходим для измерения длительности процесса заряда.

Невозможно гарантировать, что программа сможет обнаружить каждое переполнение аппаратного таймера. Кроме того, невозможно гарантировать, что программные счетчики будут инкрементироваться в нужный момент, так как они зависят от системного таймера. Если переполнение таймера происходит в момент, когда программа выполняет другую задачу, например, процедуру MEASURE, тогда это переполнение будет пропущено. Более того, время выполнения подпрограммы MEASURE также зависит от ряда условий. Однако погрешность измерения времени оказывается незначительной по сравнению с длительностью зарядки (14 часов) и интервалом измерений АЦП (1…2 минуты).

Модуль измерений

Этот модуль отвечает за измерение напряжения аккумуляторов на обоих каналах. Так как сам по себе процесс заряда является очень медленным, достаточно будет выполнять измерения раз в минуту или даже реже. Наличие аккумулятора в каждом канале регулярно проверяется в случае, если аккумулятор был удален или если аккумулятор имеет внутреннее короткое замыкание. Если в течение заданного времени аккумулятор не был обнаружен, то дальнейшие измерения не выполняются, и модуль индикации покажет состояние «нет аккумулятора». Разработчик должен предусмотреть такую конструкцию зарядного устройства, которая не позволит потребителю вставлять или заменять батареи в процессе заряда.

Микроконтроллер выполняет по 16 последовательных измерений для каждого канала, а алгоритм усреднения обеспечивает фильтрацию шума. Эти усредненные значения сохраняются для последующей обработки.

Сохраненные значения напряжения анализируются для определения возможных неисправностей. Если измеренные напряжения выходят за пределы предварительно определенных границ, устанавливаются соответствующие флаги. Границы и методы обнаружения неисправностей были определены с привлечением статистических методов. Краткое описание используемых статистических методов находится в следующих разделах.

Модуль индикации

Этот программный модуль отвечает за управление светодиодами (таблица 1). При входе в эту процедуру на выводе GP2 устанавливается низкий уровень. Порты GP0 и GP1 настраиваются на выход. Решение о включении определенного светодиода и/или выборе подходящей частоты мигания светодиода основывается на флагах двух регистров: Charge_Status_Flag и Time_Keeper_Flag. Эти флаги устанавливаются или сбрасываются в модуле подсчета времени и в модуле измерений.

Моделирование в PROTEUS И MPLAB® SIM

Моделирование зарядного устройства проводилось в Proteus и MPLAB SIM. Proteus представляет собой программный пакет, который позволяет создавать принципиальную схему, выполнять интерактивное моделирование и трассировать печатную плату. Proteus может использоваться автономно или совместно с MPLAB® IDE. Как правило, MPLAB IDE генерирует сообщения об ошибках, связанные с синтаксисом, в то время как Proteus отображает ошибки, связанные с настройками конфигурации устройства, например, ошибки конфигурации АЦП и так далее. Он также предоставляет пользователю ряд виртуальных инструментов, таких как осциллографы, вольтметры и амперметры.

Proteus оказывается по-настоящему бесценным инструментом, так как позволяет выполнить около 60% разработки и тестирования программного обеспечения даже при отсутствии аппаратного прототипа.

MPLAB SIM помогает устранить проблемы, связанные с АЦП и синхронизацией, с помощью отладочной платы AC162070.

Тестирование

В ходе тестирования каждый модуль содержал основной и тестовый код. Однако ограничения памяти, о которых говорилось выше, не позволяли использовать этот подход в полной мере. Таким образом, заключительный этап тестирования должен был проводиться с использованием отладочной платы.

Экспериментальные результаты

На рисунке 7 показаны осциллограммы зарядного тока, выходного напряжения трансформатора и напряжения на клеммах аккумулятора. Измеренные значения хорошо согласуются с расчетными величинами. Небольшие отклонения были вызваны искажением формы сигнала на выходе трансформатора. Эти искажения, в свою очередь, объясняются несовершенной формой сетевого напряжения и разбросом характеристик понижающего трансформатора.

Рис. 7. Диаграммы напряжений и тока зарядного устройства

Измерение напряжения

Точность измерения напряжения имеет решающее значение для эффективной работы алгоритма. Когда аккумулятор подключен к зарядному устройству, колебания напряжения на входе АЦП оказываются незначительными. Однако когда аккумулятор отсутствует, напряжение на входе АЦП изменяется очень сильно, в соответствии с изменениями сетевого напряжения. Анализ поведения напряжения используется для определения подключения/отключения аккумуляторов, а также для распознавания аварийных ситуаций, например, подключения обычных незаряжаемых батареек.

Точность АЦП имеет большое значение. И хотя разработчик не может повлиять на точность АЦП, погрешность и разрешение рассчитать вполне можно.

Ошибка АЦП

Параметры погрешности измерений АЦП приведены в документации на микроконтроллер:

  • EIL (интегральная нелинейность) = ± 1,5 LSB;
  • EDL (дифференциальная нелинейность )= -1

Источник

Оцените статью