Поиск по сайту: |
|
По базе: |
|
Главная страница > app > Микроконтроллеры > AVR |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AVR450: Зарядное устройство аккумуляторных батарей SLA, NiCd, NiMH и Li-Ion на микроконтроллере AT90S4433 или ATtiny15 Отличительные особенности:
ОписаниеВ данных рекомендациях описывается реализация зарядного устройства, которое учитывает последние достижения в области технологий заряда аккумуляторов и доступно в виде опорной разработки. Зарядное устройство может заряжать все популярные типы аккумуляторов, не требуя при этом каких-либо аппаратных изменений. Это позволяет на основе одной и той же аппаратной платформе реализовать различные типы зарядных устройств. Для этого необходимо всего лишь перепрограммировать микроконтроллер программой с нужным алгоритмом зарядки во внутрисистемно-программируемую флэш-память. Этим обеспечиваются минимальные сроки вывода нескольких готовых изделий на рынок, и исключается необходимость выпуска нескольких исполнений аппаратной части. В состав рекомендаций входят библиотеки для заряда аккумуляторов SLA, NiCd, NiMH и Li-Ion.
В состав опорной разработки зарядного устройства входят два зарядных устройства, выполненных на разных микроконтроллерах: AT90S4433 и недорогом 8-выводном ATtiny15. Однако зарядное устройство может быть реализовано на любом AVR-микроконтроллере, у которого есть АЦП, ШИМ-выход и достаточный для хранения необходимого алгоритма зарядки размер памяти программ. ВведениеВсе больше и больше электронного оборудования становится портативным, что нацеливает на создание более емких, компактных и легких аккумуляторов. Непрерывное улучшение аккумуляторных технологий отражается на появлении новых интеллектуальных алгоритмов зарядки, которые гарантируют быстроту и безопасность заряда. Высокая точность контроля над процессом зарядки требуется для минимизации времени зарядки и максимально полного использования емкости аккумулятора, при этом, исключая возможность его повреждения. AVR-микроконтроллер в настоящее время является одним из самых эффективных 8-разрядных RISC-микроконтроллеров, который содержит флэш-память, ЭСППЗУ и 10-разрядный АЦП в одном кристалле. Флэш-память программ исключает необходимость зашивать в микроконтроллер несколько программных версий. Ее программирование может выполняться на стадии производства перед отправкой готового изделия. После установки микроконтроллера на плату программирование выполняется с помощью скоростного внутрисистемного программирования (ISP), обеспечивающего обновление памяти программ за минуту. Память данных на ЭСППЗУ может использоваться для хранения калибровочных данных и характеристик батареи, а также для хранения хронологии зарядки, что позволяет оптимизировать использование емкости аккумулятора. Встроенный 10-разрядный АЦП обеспечивает превосходную разрешающую способность по управлению батарейным источником по сравнению с другими микроконтроллерными решениями. Высокая разрешающая способность позволяет продолжать зарядку максимально близко к емкости аккумулятора. Улучшенная разрешающая способность исключает необходимость применения внешних операционных усилителей для построения оконного компаратора. В результате уменьшается размер платы и снижается системная стоимость. AVR – единственный 8-разрядный микроконтроллер, набор команд которого оптимизирован под языки высокого уровня, например, Си. Опорная разработка на основе AT90S4433 написана на Си и демонстрирует превосходную простоту разработки программы на языках высокого уровня. Си-код делает данную опорную разработку легко адаптируемой и модифицируемой под текущие и будущие типы аккумуляторов. Опорная разработка на основе ATtiny15 написана на Ассемблере для достижения максимальной плотности кода. Принцип действияЗаряд аккумулятора возможен за счет обратимой химической реакции, которая восстанавливает энергию в химической системе. В зависимости от используемого химического вещества аккумулятор обладает специфическими характеристиками. При разработке зарядного устройства необходимо в деталях знать данные характеристики, чтобы избежать повреждения аккумулятора при чрезмерном заряде. 8-разрядный микроконтроллер AVRОпорная разработка состоит из двух раздельных зарядных устройств. В одной используется AVR-микроконтроллер AT90S4433, а в другой используется AVR-микроконтроллер ATtiny15. Разработка на основе AT90S4433 демонстрирует, как реализовать зарядное устройство на Си. Разработка на основе ATtiny15 является самой высокоинтегрированным и недорогим зарядным устройством среди доступных в настоящее время. AT90S4433 может использоваться совместно с ПК для передачи через УАПП и регистрации измеренных значений температуры и напряжения. В таблице 1 представлены отличия в разработках. Таблица 1 – Отличия разработок
Аккумуляторные технологииВ современной пользовательской электронике, как правило, используются следующие типы аккумуляторов:
Очень важно знать основную информацию по этим аккумуляторам, чтобы правильно выбрать тип аккумулятора и алгоритм зарядки. Свинцово-кислотные аккумуляторы (SLA)Кислотно-свинцовые аккумуляторы используются в широком числе приложений, где критерий стоимости преобладает над размерами и весом. Обычно такие аккумуляторы используются в источниках бесперебойного питания и системах сигнализации. Заряд кислотно-свинцовых аккумуляторов выполняется постоянным напряжением с ограничением тока во избежание перегрева в начальной стадии процесса зарядки. Кислотно-свинцовые аккумуляторы могут заряжаться сколь угодно долго, пока напряжение на аккумуляторе не достигнет указанного производителем уровня (обычно 2.2В). Никель-кадмиевые аккумуляторы (NiCd)Никель-кадмиевые аккумуляторы широко используются в настоящее время. Они относительно дешевые и простые в использовании. Обычный NiCd элемент питания может перезаряжаться до 1000 раз. Эти аккумуляторы характеризуются высокой скоростью саморазряда. NiCd аккумуляторы повреждаются при реверсировании, а реверсирование наступает при полном разряде одного из аккумуляторов в батарейном источнике. Во избежание повреждения разряженной батареи необходимо непрерывно контролировать напряжение батарейного источника и отключать приложение, если напряжение на одном из аккумуляторов становится ниже 1,0В. NiCd аккумуляторы заряжаются постоянным током. Никель-металлогидридные аккумуляторы (NiMH)Данный тип аккумуляторов широко распространен в облегченных портативных приложениях (например, сотовые телефоны, видеокамеры и др.). Они обладают более высокой емкостью, чем никель-кадмиевые аккумуляторы. NiMH аккумуляторы повреждаются при перезаряде. Поэтому, очень важно точно определять момент прекращения заряда в точно установленные временные рамки (т.е. полный заряд без перезаряда). Аналогично NiCd, NiMH аккумуляторы при повреждении реверсируются. NiMH характеризуются скоростью саморазряда приблизительно 20%/ месяц. Подобно NiCd аккумуляторам, NiMH аккумуляторы заряжаются постоянным током. Литиево-ионные аккумуляторы (Li-Ion)Литиево-ионные аккумуляторы обладают максимальным отношением емкость/вес и емкость/габариты по сравнению с другими рассмотренными типами аккумуляторов. Литиево-ионные аккумуляторы заряжаются постоянным напряжением с ограничением тока во избежание перегрева на начальной стадии заряда. Заряд прекращается, если ток зарядки становится ниже указанного производителем порога. Аккумуляторы повреждаются перезарядом и могут при этом взорваться. Безопасный заряд аккумуляторовСовременные быстрые зарядные устройства (зарядные устройства, которые выполняют заряд не более чем за 3 часа, обычно за 1 час) требуют точного измерения напряжения на аккумуляторе, зарядного тока и температуры батареи для полного заряда аккумулятора без опасности перезаряда или даже повреждения его. Режимы зарядаСвинцово-кислотные и литиево-ионные батареи заряжаются постоянным напряжением с ограничением тока. NiCd и NiMH аккумуляторы заряжаются постоянным током и имеют несколько методов прекращения заряда. Максимальный ток зарядаМаксимальный ток заряда зависит от емкости батареи (C). Максимальный зарядный ток обычно приводится кратно емкости аккумулятора. Например, если аккумулятор обладает емкостью 750 мАч и заряжается током 750 мА, то ток зарядки обозначается 1C. Если зарядный ток в режиме буферной подзарядки задан C/40, то это означает, что зарядный ток равен емкости аккумулятора, поделенной на 40. ПерегревАккумулятор заряжается за счет передачи в него электрической энергии. Данная энергия накапливается в химическом виде. Однако не вся переданная электрическая энергия трансформируется в химическую. Часть электрической энергии преобразовывается в тепловую энергию, вызывая нагрев аккумулятора. При полном заряде аккумулятора электрическая энергия, приложенная к аккумулятору, будет преобразовываться в тепловую. В быстродействующих зарядных устройствах это приводит к быстрому нагреву аккумулятора, если заряд не будет прекращен своевременно. Поэтому, учет температуры в качестве критерия прекращения заряда является важным фактором при разработке качественного зарядного устройства. Критерии прекращения зарядаВ зависимости от используемого типа аккумулятора устанавливаются ограничения на выбор критерия прекращения заряда. Иногда оказывается непрактичным измерение температуры аккумулятора и легче измерять напряжение или другой параметр. В данной опорной разработке в качестве основного критерия прекращения заряда принят критерий спада напряжения (-dV/dt), а в качестве резервных – температура и абсолютное напряжение. Однако аппаратная часть поддерживает все перечисленные ниже критерии. t – время. Это самый простой путь определения необходимости прекращения заряда. Обычно используется как дополнительный критерий прекращения заряда при быстрой зарядке. Также используется как основной критерий при нормальной скорости заряда (14 – 16 ч). Относится ко всем аккумуляторам. V – напряжение. Заряд прекращается, если напряжение становится выше предустановленного порога. Используется в сочетании с зарядом постоянным током. Максимальный ток заряда определяется батареей, обычно 1C, как описано выше Ограничение тока необходимо, если при высоком зарядном токе имеется возможность теплового повреждения аккумулятора. Свинцово-кислотные аккумуляторы заряжаются при постоянном напряжении, поэтому, максимальное напряжение необходимо установить выше фактического зарядного напряжения. Данный критерий используется как основной при заряде литиево-ионных аккумуляторов. Заряд литиево-ионных аккумуляторов обычно сопровождается второй фазой заряда после достижения максимального напряжения, что необходимо для безопасного заряда до 100%. Критерий также используется при заряде NiCd и NiMH аккумуляторов как резервный метод. -dV/dt – спад напряжения. Данный критерий подразумевает определение отрицательного перепада напряжения, которое возникает у некоторых типов аккумуляторов после полного заряда. Обычно используется при зарядке постоянным током. Применим к быстрой зарядке NiCd и NiMH аккумуляторов. I – ток. Заряд прекращается, когда ток заряда становится ниже предустановленного значения. Обычно используется при заряде постоянным напряжением. Применяется при заряде свинцово-кислотных и литиево-ионных аккумуляторов для завершения фазы заряда «top-off», следующей за фазой быстрого заряда. T – температура. Абсолютная температура может использоваться как критерий прекращения заряда для NiCd и NiMH аккумуляторов, но только в качестве резервного критерия. Заряд любого аккумулятора должен прекращаться, если температура становится выше предельной рабочей температуры, установленной производителем. Также используется как резервный метод для предотвращения заряда ниже безопасной для заряда температуры. Применяется при заряде всех типов аккумуляторов. dT/dt – нарастание температуры Скорость нарастания температуры используется в качестве критерия прекращения заряда при использовании быстрого заряда. Информация по точке прекращения заряда дается производителем аккумулятора (обычно 1C/мин для NiCd аккумуляторов) – Применяется для NiCd и NiMH аккумуляторов. DT – Разница температуры аккумулятора и температуры окружающей среды Заряд прекращается, если разница между комнатной температурой и температурой батареи превышает предустановленный пороговый уровень. Относится к NiCd и SLA аккумуляторам, как основной или вспомогательный метод прекращения заряда. Поскольку в большинстве систем температура измеряется только в одной точке, то температура окружающей среды измеряется перед инициацией заряда. dV/dt = 0 – нулевое приращение напряжения Данный метод прекращения заряда очень похож на -dV/dt, но более точен, когда напряжение во времени более не растет. Применим к аккумуляторам NiCd и NiMH. Реализация аппаратной частиОпорная разработка состоит из платы, на которой собраны схемы двух зарядных устройств. Опорная разработка состоит из 5 основных блоков (см. рисунок 2).
Источник питанияСостоит из источника опорного напряжения АЦП, кнопки и светодиодов. Входное напряжение выпрямляется диодным мостом на диодах D9 - D12, а затем сглаживается конденсатором C13. Выпрямленное входное напряжение можно измерить в контрольной точке “VIN”. Напряжение VIN поступает как к понижающему преобразователю, так и к стабилизатору напряжения LM7805. LM7805 генерирует напряжение 5В для питания микроконтроллера. Данное напряжение может быть измерено в контрольной точке “VCC” Светодиод, обозначенный на плате “5V OK”, индицирует подачу питания. Интерфейс персонального компьютераСвязан с интерфейсом УАПП микроконтроллера AT90S4433. Может использоваться для подключения к ПК для регистрации состояния батареи в процессе зарядки. Принятые данные могут быть импортированы в электронную таблицу для отображения зарядной характеристики аккумулятора. AT90S4433 может также использоваться как регистратор данных при использовании зарядного устройства на основе ATtiny15. Светодиоды и переключателиНа плате установлено несколько светодиодов и переключателей для отладочных и контрольных целей. Только часть из них используется в текущих приложениях, остальные могут легко задействоваться при необходимости.
Интерфейс внутрисистемного программирования (ISP)Обе версии зарядного устройства содержат 10-выводной разъем ISP-программирования. Через данный разъем можно перепрограммировать флэш-память программ и ЭСППЗУ памяти данных под управлением программы AVRISP на ПК. ATtiny15 с понижающим преобразователем на частоте 100 кГцATtiny15 содержит ряд элементов, которые идеально подходят для построения зарядного устройства. Внутренний широтно-импульсный модулятор (ШИМ) с частотой модуляции 100 кГц подключен к понижающему преобразователю. Высокая частота преобразования и высокая точность уменьшают размеры внешней индуктивности и емкости. Для облегчения контроля над выходом ШИМ, входным напряжением и входным током добавлены контрольные точки. ATtiny15 содержит внутренний усилительный каскад, который может работать в дифференциальном режиме, и связан с двумя входами микроконтроллера. Это исключает необходимость применения внешних операционных усилителей. Зарядный ток измеряется как разность потенциалов на токоизмерительном резисторе сопротивлением 0.25 Ом. Источник питания для зарядного устройства показан в приложении 2. AT90S4433 с понижающим преобразователем на частоте 14 кГцЗарядное устройство на основе АТ90S4433 использует внешние операционные усилители для усиления напряжения, пропорционального измеренному току. Этим гарантируется максимальная точность контроля параметров батареи. Зарядное устройство может быть подключено к ПК, что удобно для контроля над процессом зарядки или отладки зарядных алгоритмов. Схема зарядного устройства с учетом возможности зарядки следующих типов аккумуляторов: SLA, NiCd, NiMH и Li-Ion с соответствующими зарядными алгоритмами. В состав данных алгоритмов входят режим быстрого заряда и режим буферной подзарядки, за счет чего обеспечивается и максимальная скорость заряда и максимальное использование емкости аккумулятора. Источник питания для зарядного устройства показан в приложении 2. Понижающий преобразовательПонижающие преобразователи AT90S4433 и ATtiny15 похожи между собой. Они состоят из одного P-канального ключевого МОП-транзистора, управляемый микроконтроллером AVR через согласовывающий каскад на биполярном NPN- транзисторе. Ключевой транзистор подключен к индуктивности, диоду и конденсатору (см. рисунок 3). Дополнительный диод D2 препятствует попаданию напряжения аккумулятора в микроконтроллер через линии питания при отключенном питании зарядного устройства. Если ключевой транзистор включен, то ток будет протекать так, как показано на рисунке 3а. Конденсатор заряжается входным напряжением через индуктивность (индуктивность также заряжается). Если ключ разомкнут (рисунок 3б), то индуктивность будет стремиться поддержать ток через себя за счет индуцирования напряжения. Ток, следующий через диод и индуктивность, будет заряжать конденсатор. Далее процессы повторяются циклически. Если уменьшать коэффициент заполнения управляющих импульсов (время включения меньше времени выключения), то напряжение на конденсаторе будет снижаться. Если коэффициент заполнения импульсов увеличивается (время включения больше времени выключения), то напряжение на конденсаторе увеличивается. Максимальный к.п.д. понижающего преобразователя достигается при 50%-ом заполнении импульсов (меандр).
Источник опорного напряжения (ИОН)Опорное напряжение формируется параллельным стабилизатором TL431 CPK. Уровень напряжения AREF устанавливается резисторами R34 и R10 и может быть вычислен по выражению: Данное значение является оптимальным с точки зрения высокой разрешающей способности, для чего требуется малый уровень AREF, и большого отношения сигнал-шум, для чего необходим высокий уровень AREF. В обеих опорных разработках используется одинаковый источник опорного напряжения. Температура батареиТемпература измеряется с помощью терморезистора с отрицательным температурным коэффициентом сопротивления (ТКС). Он характеризуется сопротивлением приблизительно 10 кОм при температуре 25?С. Терморезистор является частью делителя напряжения, который запитан опорным напряжением. Разрешающая способность относительно напряжения, измеренного на терморезисторе, такаю же, как и в схеме контроля напряжения. Разрешающая способность: Код АЦП может быть вычислен по выражению где Rtnc - сопротивление терморезистора. Характеристика преобразования терморезистора не является строго линейной, что делает более сложным процесс вычисления температуры по коду АЦП. Разрешить эту проблему можно с помощью таблицы преобразования (см. таблицу 2). В таблице приведены шаги в 0,5?С в диапазоне кодов АЦП от 400 до 675. Коду АЦП соответствует температура около 37?C, а коду 675 - температура 8.6 ?C. С помощью такой таблицы и незначительных изменений в файле заголовка B_DEF.H можно легко перейти к использованию любого терморезистора. В зарядном устройстве на основе ATtiny15 полагается, что линейности термистора достаточно для обнаружения повышения температуры. Поэтому, там используется компаратор с фиксированным порогом срабатывания. Значения, приведенные в таблице, вычислены на основе параметров делителя напряжения с терморезистором и данными из документации на него. Таблица 2 – Коды преобразования АЦП в функции температуры
Зарядное устройство на основе AT90S4433Ниже приведено обоснование ряда параметров для зарядного устройства на основе AT90S4433. Исходные данные:
Измерительная схема AT90S4433Напряжение аккумулятораЗарядное напряжение контролируется с помощью операционного усилителя, который измеряет разность между положительным и отрицательным полюсами аккумулятора. Для выбора приемлемого измерительного диапазона необходимо определиться сколько батарей и какого типа предполагается заряжать, выбрать приемлемое входное напряжение (V1 - V2) и масштабирующие резисторы. Операционный усилитель для измерения напряжения на аккумуляторной батарее включен по дифференциальной схеме. Выражение для вычисления выходного напряжения операционного усилителя приведено ниже. Также необходимо учесть, что диапазон изменения выходного напряжения операционного усилителя (VBAT2) должен находится в пределах измерительного диапазона АЦП, т.е. AGND…AREF (3.67В). Выходное напряжение операционного усилителя: где:
С учетом принятых значений сопротивлений данных резисторов максимальное контролируемое напряжение заряда составляет: Коэффициент передачи операционного усилителя: Результирующая разрешающая способность контроля напряжения: Зарядный токТок заряда измеряется с помощью токоизмерительного резистора сопротивлением 0.033 Ом (R1). Данное напряжение усиливается с помощью операционного усилителя для улучшения точности измерения перед непосредственным подключением к АЦП.
Зарядное устройство на основе ATtiny15Ниже приведен расчет параметров для зарядного устройства на основе ATtiny15. Для получения высокочастотной ШИМ в микроконтроллер встроен синтезатор частоты 25.6 МГц с ФАПЧ, который в качестве исходной используют частоту RC-генератора 1,6МГц. Опорная разработка поставляется без резисторов деления напряжения аккумулятора. Таким образом, верхний предел контроля напряжения составляет 3,67В, что приемлемо для 1-2 NiCd или NiMh аккумуляторов. Если требуется контроль более высокого напряжения, то необходимо установить резисторы для согласования напряжения с диапазоном 0-3.67В. Методика вычисления номиналов резисторов приведена в конце этого раздела. Исходные данные
Расчет
Измерительная схема ATtiny15Напряжение аккумулятораЗарядное напряжение измеряется непосредственно на положительном полюсе аккумуляторной батареи. Если напряжение батареи выше опорного напряжения (3,67В), то необходимо предусмотреть делитель напряжения на двух резисторах, согласовывающий батарейное напряжение с диапазоном 0-3,67В. В данном зарядном устройстве токоизмерительный резистор сопротивлением 0,25 Ом установлен в верхнем плече аккумуляторной батареи, поэтому, для контроля падения напряжения на нем используется встроенный в микроконтроллер дифференциальный усилительный каскад, связанный внутри микроконтроллера с АЦП (см. рисунок 4). Коэффициент усиления внутреннего дифференциального усилителя равен 20. Все измерения выполняются с 10-разрядным (1024 кванта) разрешением.
Разрешающая способность контроля напряжения АЦП определяется Aион и составляет Для выбора приемлемого измерительного диапазона руководствуются количеством и типом аккумуляторов. АЦП способно оцифровывать напряжения в диапазоне AGND…AREF (3.67В). Входное напряжение АЦП (Vацп) с выхода делителя напряжения должно попадать в данный диапазон. где
Обратите внимание, что резисторы R9 и R17 для деления напряжения на токоизмерительном резисторе должны быть равны резисторам R8 и R16 делителя контроля напряжения. В опорной разработке принято R8 = R9 = 3.7 кОм, R16 = R17 = 2.2 кОм. С учетом этого максимальное контролируемое напряжение аккумуляторной батареи Измерение токаТок заряда измеряется с помощью резистора сопротивлением 0,025Ом. Падение напряжение на данном резисторе 20 кратно усиливается внутренним усилительным каскадом для улучшения точности. Выход усилительного каскада связан со входом АЦП внутри микроконтроллера. С учетом этого входное напряжение АЦП где:
Программная реализацияВ данном разделе приводится описание программы, которая используется в опорной разработке зарядного устройства. Объясняется реализация Си-кода для микроконтроллера AT90S4433. Аналогичные подходы распространяются на ATtiny15. Полное описание ассемблерного кода для ATtiny15 приводится в комментариях в исходном коде. Тип аккумулятора необходимо указывать перед компиляцией программы. Программа может быть расширена на поддержку зарядки более одного аккумулятора. Для этого необходимо предусмотреть последовательный заряд аккумуляторов, выделяя для каждого свой временной интервал в процессе буферной подзарядки. Свинцово-кислотные и литиево-ионные аккумуляторы могут заряжаться параллельно при условии равности количества элементов в каждой батарее. Ток заряда и напряжение заряда ограничиваются также как и для одного аккумуляторного элемента. В файле “Характеристики аккумулятора ” (b_car.h) все значения вычислены с учетом соответствующих масштабирующих коэффициентов. Данные значения определены во вложенных файлах, вычисляются во время компиляции, а затем используются как константы в процессе выполнения программы. Все значения, считанные из аналогово-цифрового преобразователя, могут непосредственно сравниваться с данными константами. Это означает, что в процессе выполнения программы не нужно тратить время на повторные вычисления, экономится время и размер памяти. Значения и формулы, используемые для вычисления, взяты из раздела “Измерительная схема ” (см. “Измерительная схема AT90S4433 ” и “Измерительная схема ATtiny15 ”). Заряд NiCd аккумулятора начинается, если температура аккумулятора находится в пределах температурного диапазона. Заряд всегда прерывается с выводом сообщения об ошибке, если выявлено превышение температуры установленного порога, если напряжение превышает максимально допустимое напряжение аккумулятора или если истекло максимальное время быстрого заряда. Для определения полного заряда аккумулятора обычно используются критерии нарастания температуры (dT/dt) и спада напряжения (-dV/dt). Поэтому, выборки осуществляются каждую минуту для температуры и каждую секунду для напряжения. Для вычисления приращения используются значения, оцифрованные одну минуту/секунду назад. В случае выявления завершения заряда зарядное устройство автоматически переходит в режим буферной подзарядки путем перехода к функции trickle_charge(). Функция trickle_charge() в замкнутом цикле контролирует изменение режиме заряда, измеряет ток и напряжение, а также регулирует ток. Если выявляется выход температуры за допустимые пределы или перенапряжение, то устанавливается флаг ошибки и выполнение функции прекращается. Если ошибка не возникает и состояние заряда не меняется пользователем, то цикл программы выполняется бесконечно, регулируя зарядный ток в соответствии с уставкой для данного модуля. Установки пользователяАрхитектура зарядного устройства учитывает многоцелевое его использование. Это означает возможность зарядки различных типов аккумуляторов при различном их количестве, что указывается перед компиляцией программы. Очень важно внимательнейшим образом следить за корректностью изменяемых параметров, поскольку, установка неверных значений может привести к повреждению аккумулятора и окружающих элементов. Изменение типа аккумулятора Для каждого типа аккумулятора имеется Си-файл и h-файл. Включить в проект файлы желаемого типа аккумуляторов нужно в компиляторе перед компиляцией под заголовком “Battery Type” в файле B_Def.h Изменение количества аккумуляторов Для этого необходимо изменить параметр “cells” в файле B_Def.h Изменение емкости аккумулятора Измените параметр “capacity” (емкость) в файле B_Def.h Изменение напряжения литиево-ионного аккумулятора Необходимо изменить параметр “cell_voltage” в файле B_Def.h Изменение кванта преобразования АЦП Если были изменены номиналы резисторов, рассмотренных в разделе измерения, то необходимо откорректировать параметры “voltage_step” и “current_step” в файле B_Def.h. Данные параметры являются критичными, т.к. существенно влияют на качество и надежность работы зарядного устройства. Файлы исходного кодаНиже приведены файлы, которые входят в состав директории исходных кодов: Таблица 3 – Исходные файлы на Си
Таблица 4 – Исходные файлы на ассемблере
BC.C Данный модуль содержит главную функцию «main», инициализацию, функции УАПП, часы реального времени и процедуры управления прерываниями. Процедура установки “setup” выполняет инициализацию на низком уровне. Инициализируется УАПП и обнуляются часы реального времени. После инициализации цикл программы работает в режиме холостого хода до изменения состояния глобальной переменной состояния. Часы реального времени запускаются одновременно с ШИМ и останавливаются при остановке ШИМ, в т.ч. когда измеряется напряжение аккумулятора. Этим гарантируется, что во внимание берется только время, когда выполняется зарядка батареи. С другой стороны, данный метод имеет недостаток возможного снижения точности измерения dV/dt или dT/dt. Пользователь может вызвать внешнее прерывание путем нажатия на кнопку изменения состояния заряда. Процедура обработки состояния изменяется состояние заряда в соответствии с нажатой кнопкой: “быстрый заряд ” или “буферная подзарядка ”. В основной функции программа вызывает другие функции в зависимости от состояния переменной “charge status” (состояние заряда). BC.C также содержит некоторые общие функции, используемые различными аккумуляторными программами. Две наиболее важных приведены ниже
int battery (Unsigned Char Value) Функция вызывается при каждом преобразовании АЦП и управляет регистрами АЦП и ШИМ в соответствии с запрашиваемым измерением. Функция считывает 8 измерений из АЦП и вычисляет среднее значение, которое возвращается запрашивающей функции.
void stable_ADC (Void) Функция stable_ADC используется при измерении напряжения или температуры аккумулятора. В функции полагается, что коды АЦП должны быть стабильными и не могут существенно отличаться. Это важно для точного измерения. Цикл в теле функции выполняет поиск трех значений кодов АЦП, разность наименьшего и наибольшего из которых не превышает единицы.
BC.H В данном модуле определены макрос обработки бита, константы состояния заряда и маскирующие константы бита прекращения заряда. “charge status” (состояние заряд) индицирует фактическое состояние зарядного устройства: быстрый заряд, буферная подзарядка или ошибка. Для литиево-ионных и свинцово-кислотных аккумуляторов индицируется режим заряда: постоянным током или напряжением, а при заряде литиево-ионных аккумуляторов дополнительно индицируется состояние “delay” (задержка), которое наступает после прекращения быстрого заряда. Переменная “termination” (прекращение) индицирует причины прекращения быстрого заряда или возникновение ошибки. Может использоваться для отладки программы. B_DEF.H В данном модуле содержаться определения для заряжаемого аккумулятора. При разработке собственного зарядного устройства на основе рассматриваемого аппаратного и программного обеспечения необходимо откорректировать данный файл под требования проектируемого зарядного устройства. В зависимости от типа аккумулятора определяется алгоритм заряда и критерий его прекращения. Если выбрать более одного типа аккумулятора, то при линковке будет возникать ошибка, т.к. ряд функций для каждого типа аккумулятора имеют одинаковое наименование: battery(), fast_charge() и trickle_charge(). Также сообщение об ошибке выдается, если не выбрать ни один тип аккумулятора. Количество аккумуляторов определяет напряжение заряжаемой аккумуляторной батареи и все связанные константы. Полагается, что все аккумуляторы включены последовательно. Если один из аккумуляторов будет извлечен, то это приведет к невозможности заряда из-за обрыва цепи заряда. Возможности заряда нескольких аккумуляторов ограничивается выходным диапазоном понижающего преобразователя и диапазоном контроля напряжения. Емкость аккумулятора (в мА) определяет зарядный ток и все связанные константы. Все типы аккумуляторов, за исключением свинцово-кислотных, заряжаются «консервативным» способом при токе 1С. Свинцово-кислотные аккумуляторы заряжаются током 2C. Понижающий преобразователь рассчитан на максимальный ток до 1,5А. С учетом этого, максимальная поддерживаемая емкость свинцово-кислотного аккумулятора составляет 750 мАч, а других аккумуляторов - 1500 мАч. Если требуется заряжать NiCd или NiMH аккумуляторы более высоким током, то необходимо изменить параметры понижающего преобразователя. Если ток выше 2А, то также необходимо откорректировать параметры измерительной схемы. Если требуется заряд аккумуляторов более высокой емкости, чем указано выше, то необходимо изменить понижающий преобразователь или заряжать пониженным током. Особенностью литиево-ионных аккумуляторов является существование двух типов в зависимости от производителя на 4,1В или 4,2В. Данное напряжение, 4,1В или 4,2В необходимо отредактировать. Это выполняется автоматически, если выбрано определение литиево-ионного аккумулятора. Установка неправильного значения напряжения не обязательно приведет к выводу сообщения об ошибке, но зато приведет к заряду некорректным методом, вследствие чего может нарушиться надежность заряжаемого аккумулятора или самого зарядного устройства. Кванты преобразования АЦП корректируются с учетом выбранных параметров измерительной схемы. Методика расчета была рассмотрена выше. Таблица преобразования сопротивлений термистора определяет интервалы приращения кодов АЦП, которым соответствует изменение температуры на 0.5°C. Эта таблица используется во время заряда никель-кадмиевых аккумуляторов. Данную таблицу можно откорректировать, если используется другой тип термистора или изменены параметры схемы его включения. SLA.C Метод заряда Быстрый заряд свинцово-кислотных аккумуляторов выполняется при постоянном напряжении. Перед началом заряда используется простой, но удивительно эффективный метод определения зарядного напряжения. Прикладывается постоянный ток 1C (10 мА), а затем измеряется напряжение аккумулятора. После этого аккумулятор заряжается напряжением, которое устанавливается на уровне, измеренном указанным выше способом. После снижения тока ниже 0.2C зарядный цикл прекращается. Режим быстрого заряда останавливается и запускается режим буферной подзарядки. Буферная подзарядка выполняется при постоянном напряжении несколько ниже напряжения быстрого заряда. Буферная подзарядка прекращается по истечении установленного времени. Итоговые параметры заряда
NiCd.C Метод заряда NiCd аккумуляторы заряжаются постоянным током. В режиме быстрого заряда ток устанавливается на уровне 1C, а в режиме буферной подзарядки C/40. Заряд прекращается по критерия спала напряжения (-dV/dt). Максимальное зарядное напряжение, нарастание температуры (dT/dt) и максимальное время заряда используются как резервные критерии. После полного заряда аккумулятора состояние заряда автоматически меняется на буферную подзарядку путем перехода к выполнению функции trickle_charge(). Итоговые параметры заряда Условия заряда:
NiMH.C Метод заряда NiMH-ые аккумуляторы заряжаются постоянным током. В режиме быстрого заряда зарядные ток устанавливается на уровне 1С, а в режиме буферного заряда - C/40. Заряд прекращается по критериям нарастания температуры (dT/dt) и спада напряжения (-dV/dt). Максимальное напряжение заряда и максимальное время заряда используется как резервные критерии прекращения заряда. После полной зарядки батареи состояние заряда автоматически меняется на буферную подзарядку, а затем программа переходит к выполнению функции trickle_charge(). Результирующие параметры заряда: Условия заряда:
LiIon.C Метод заряда Литиево-ионные аккумуляторы являются наиболее совершенными с точки зрения механизмов заряда. Быстрый заряд стартует при токе 1С. Данный ток поддерживается на постоянном уровне до установления напряжения на аккумуляторе 4.1 или 4.2В ± 50 мВ. При заряде аккумулятора постоянным напряжением заряд продолжается до снижения зарядного тока ниже Iмин. Для точного измерения напряжения на аккумуляторе (не зарядного напряжения) необходимо непосредственно перед измерением выключить ШИМ. Если метод заряда переключается с заряда постоянным током на заряд постоянным напряжением, то не имеет значение как измерять напряжение. Это указывает на существование двух режимов измерения напряжения: один с включенной ШИМ, другой – без нее. Буферная подзарядка литиево-ионной батареи в принципе аналогична быстрому заряду. Отличие состоит в более низком зарядном токе по сравнению с быстрым зарядом и прекращения фазы буферной подзарядки по команде таймера. Итоговые характеристики заряда Условия заряда:
Предлагаемые усовершенствованияNiCd аккумуляторы страдают «эффектом памяти» – после нескольких зарядок аккумулятора он не заряжается полностью. Для сброса «памяти» необходимо добавить шунтирующий резистор для доразрядки аккумулятора до нужного уровня, а затем запуска заряда. Приложение 1 Принципиальная электрическая схема
Приложение 2 Источник питанияСхема, представленная ниже показывает источник питания, формирующий напряжение +15В для зарядного устройства и +5В для работы микроконтроллера AVR. Блок питания зарядного устройства выполнен на основе импульсного преобразователя TOP224 компании Power Integration. Обратноходовая топология импульсного источника питания обеспечивает компактность и эффективность работы преобразователя. Входное напряжение может варьироваться в диапазоне 85В…265В (50 - 60 Гц).
Таблица 5 – Перечень элементов источника питания
Трансформатор T301 выполнен на основе сердечника EFD20 компании Philips. Первичная обмотка и обмотка смещения намотана проводом AWG26 (0.40 мм). Во вторичной обмотке используется провод AWG20 (0.80 мм). Первичная обмотка и обмотка смещения отделены от двух вторичных обмоток изолентой. 5В-ая вторичная обмотка является частью 15В-ой обмотки. Очень важно согласовать начало обмоток так, как показано на схеме. Таблица 6 – Намоточные данных трансформатора источника питания
Главная - Микросхемы - DOC - ЖКИ - Источники питания - Электромеханика - Интерфейсы - Программы - Применения - Статьи |
|
Впервые? | Реклама на сайте | О проекте | Карта портала тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru ©1998-2023 Рынок Микроэлектроники |
|