Меню

Микроконтроллеры для управления аккумуляторов



Микроконтроллеры для управления аккумуляторов

Зарядное устройство для Ni-Cd и Ni-MH аккумуляторов на микроконтроллере.

Автор: Барсик
Опубликовано 30.01.2008

Мне всегда хотелось иметь автоматическое зарядное устройство (ЗУ), которое работает так, как надо мне, а не так, как считают нужным китайские маркетологи.
Мои требования такие:
1. Перед началом заряда аккумулятор разряжается до напряжения 1 вольт на элемент, после чего автоматически включается на заряд.
2. Заряд осуществляется стабильным током 0,1C в течение 15 часов. Кстати, это не только моё требование. Именно такой режим заряда рекомендуют изготовители аккумуляторов. По истечении 15 часов аккумулятор автоматически отключается от ЗУ.
3. При отключении электроэнергии или уменьшении напряжения в сети до уровня, при котором нормальная работа зарядного устройства невозможна, зарядное устройство выключается, а прошедшее время заряда запоминается. При возобновлении подачи электроэнергии перезапуск таймера не происходит, а заряд продолжается дальше с того значения времени и до тех пор, пока не пройдут заданные 15 часов.
4. Простота работы с устройством. Чтобы им спокойно могли пользоваться домохозяйки. Никаких дисплеев и кнопок управления. Установил аккумуляторы и забыл. И то, что забыл — не страшно. Ничего аккумуляторам не сделается.
Готовые устройства или схемы меня не устраивали по ряду причин. Пришлось действовать по старому доброму принципу «сделай сам». Для начала был разработан универсальный контроллер для подобных зарядных устройств.
На всякий случай отмазка: Аффтар не является профессиональным программистом или электронщиком (по крайней мере, в настоящее время). Так что если Вы повторите эту разработку, и у Вас дом сгорит, то это Ваши проблемы. Аффтар за это ответственности не несёт. (Гениально, я считаю. Здесь и далее, прим. Кота.)

Описание принципиальной схемы контроллера.

Для управления ЗУ используется микроконтроллер ATtiny13 семейства AVR фирмы Atmel. Вывод 6 контроллера (AIN1) является входом аналогового компаратора, с помощью которого контролируется состояние источника питания. Вывод 7 (ADC1) это вход АЦП, с помощью которого измеряется напряжение на батарее аккумуляторов. Высокий уровень на выходе 2 (PB3) включает зарядник. Высокий уровень на выходе 5 (PB0) включает цепь разряда аккумулятора. Вывод 3 (PB4) служит для индикации окончания заряда аккумулятора.
В качестве тактового генератора используется внутренний RC генератор микроконтроллера. Разъём XP1 предназначен для внутрисхемного программирования микроконтроллера непосредственно в этом устройстве. Если в дальнейшем перепрограммирование не планируется, то этот разъём можно не устанавливать.
Порог срабатывания аналогового компаратора задаётся делителем напряжения на резисторах R1, R2. Напряжение питания считается нормальным, если напряжение на входе 6 микроконтроллера больше 1,2 вольта.
Напряжение батареи подаётся на вход АЦП микроконтроллера через делитель напряжения на резисторах R4, R5. Чтобы напряжение на батарее измерялось правильно, коэффициент деления этого делителя должен быть 1,86 на элемент. Соотношение резисторов должно быть таким: R5/R4 = 1,86*N — 1, где N — количество элементов в аккумуляторной батарее. Например, для случая двух элементов:
R5/R4 = 1,86*2 — 1 = 2,72. Если R4 = 100 КОм, то R5 = 100*2,72 = 272 КОм.
При аварийном отключении питания, микроконтроллер некоторое время питается от конденсатора C8. Ёмкость этого конденсатора должна быть достаточной для того, чтобы микроконтроллер успел сохранить своё состояние в энергонезависимой памяти. Диод VD1 не даёт конденсатору C8 разряжаться через микросхему DA1.
Конденсаторы C1, C5, C6 защищают входы микроконтроллера от импульсных помех.

Алгоритм работы следующий. После подачи питания на микроконтроллер, происходит частичная инициализация внутренних устройств микроконтроллера (порт ввода/вывода, таймер, АЦП, компаратор и т.п.). Затем проверяется, в норме ли напряжение питания. Если напряжение в норме, то завершается инициализация и считывается значение статуса из энергонезависимой памяти (EEPROM), чтобы узнать, чем занимался контроллер в прошлой жизни до отключения питания.
Далее, проверяется, установлена ли аккумуляторная батарея в зарядное устройство. Для этого измеряется напряжение на аккумуляторной батарее. Если оно больше, чем 0,5 вольта на элемент, то считается, что батарея установлена.
Если в момент включения питания батарея находилась в зарядном устройстве, то работа продолжится в соответствии с тем состоянием, которое было записано в энергонезависимую память. Если раньше шёл разряд, то продолжится разряд, а затем начнётся заряд. Если шёл заряд, то продолжится заряд, пока не пройдёт 15 часов, после чего зарядник будет выключен. Если на момент отключения питания заряд успел завершиться, то зарядник не включается, а будет светиться зелёный светодиод, сигнализирующий об окончании зарядки.
Если же в момент включения питания батарея не была установлена, то считается, что будет начат новый цикл разряд/заряд. Программа зацикливается и ждёт, когда будет установлена батарея. Как только батарея будет установлена, будет включена цепь разряда аккумулятора. При этом начинает светиться жёлтый светодиод. Разряд будет продолжаться до тех пор, пока напряжение на аккумуляторе не уменьшится до 1 вольта на элемент. После этого разрядная цепь отключается и включается зарядник. Жёлтый светодиод гаснет и начинает светиться красный. Зелёный светодиод начинает вспыхивать с частотой 1 Гц. По продолжительности свечения зелёного светодиода и паузе между вспышками можно приблизительно оценить время, которое прошло с начала зарядки, и, соответственно, заряд, который успел набрать аккумулятор. Чем больше время свечения по отношению к паузе, тем больше времени прошло. Например, если время, в течение которого зеленый светодиод светится, равно времени в течение которого зеленый светодиод погашен, то, значит, прошло 7,5 часа, и аккумулятор зарядился наполовину.
Если во время заряда аккумуляторы были извлечены из зарядного устройства до окончания процесса заряда, то из-за работающего зарядника, напряжение на контактах держателя резко возрастёт. По этому признаку микроконтроллер узнаёт, что аккумуляторы были извлечены, и выключает режим заряда. После установки аккумуляторов в держатель будет начат новый цикл разряд/заряд.
Заряд продолжается в течение 15 часов. После 15 часов зарядник выключается, красный светодиод гаснет, а зелёный начинает светиться непрерывно, что означает окончание цикла заряда. В этом состоянии контроллер будет оставаться неограниченно долго, пока аккумулятор не будет удалён из зарядного устройства.
Если в течение цикла разряд/заряд, на любом из этапов, произойдёт отключение электроэнергии, то цикл приостанавливается, и состояние контроллера сохраняется в энергонезависимой памяти. После возобновления подачи электроэнергии цикл продолжается дальше с того этапа, на котором был остановлен. За состоянием питающего напряжения следит аналоговый компаратор — вход 6 микроконтроллера. Если напряжение на входе аналогового компаратора становится меньше 1,1 вольта, то происходит прерывание выполняемой программы, выходы контроллера переключаются на низкий уровень, состояние контроллера записывается в энергонезависимую память, и контроллер переходит в спящий режим.
Управляющая программа написана на языке C для среды разработки CodeVisionAVR. Над текстом программы смеяться не надо. Аффтар не является профессиональным программистом, и как раз с этой программы начинал учиться программировать микроконтроллеры AVR.

При программировании необходимо установить фьюзы (поставить «галки»): CKSEL0, SUT0, CKDIV8, BODLEVEL1. Остальные фьюзы должны быть сброшены.
Я пользовался программатором STK 200/300 и программой, встроенной в среду разработки CodeVisionAVR. Можно пользоваться любым программатором, который понимает ATtiny13.
Будьте осторожны. В некоторых программах, в частности в UniProf, всё с точностью до наоборот — «галки» соответствуют НЕ установленным фьюзам. Лучше, прежде, чем начать программирование, сначала фьюзы считать и посмотреть, как они стоят. С завода ATtiny13 приходят с установленными CKSEL0, SUT0, CKDIV8. Надо добавить к ним BODLEVEL1. (Интересно, какой вредитель придумал, что установленному фьюзу соответствует «0», а не установленному — «1»?)
Короче, будьте аккуратны при программировании фьюзов.

Конструкция и детали.

Собрали тут чего-то

Макет собран на универсальной плате. Микроконтроллер установлен в панельку. Соединения выполнены проводом МГТФ. Печатная плата не разрабатывалась. Конденсаторы C1 — C6 — керамические. C7, C8 — любые оксидные. Ёмкость конденсатора C8 должна быть не меньше, чем указано на схеме.

Пример использования контроллера — зарядное устройство для цифрового фотоаппарата.

На основе контроллера, описанного выше, было сделано зарядное устройство для цифрового фотоаппарата.

Оно предназначено для заряда двух Ni-MH аккумуляторов размером AA и ёмкостью 2500 мАч.
Собственно зарядник представляет собой стабилизатор тока на микросхеме LM317T (DA2). Ток заряда определяется резистором R16 и рассчитывается по формуле: I = 1,25/R16.
Для включения/выключения зарядника используется каскад на транзисторах VT2, VT3. Когда на выходе 2 микроконтроллера DD1 низкий уровень, транзистор VT2 закрыт, а транзистор VT3 открыт и соединят вход ADJ микросхемы DA2 с общим проводом. При этом напряжение на выходе микросхемы DA2 уменьшается до 1,25 вольта. Если на выходе 2 микроконтроллера DD1 появляется высокий уровень, то транзистор VT2 открывается, а транзистор VT3 закрывается, и микросхема DA2 начинает работать как стабилизатор тока. Диод VD7 не даёт аккумуляторам разряжаться при выключенном стабилизаторе тока. Диод VD6 и резистор R17 создают небольшой сдвиг уровня выходного напряжения, чтобы уменьшить выходное напряжение микросхемы DA2 в выключенном состоянии.
Для разряда аккумуляторов, к ним подключается резистор R12 с помощью ключа на транзисторе VT1.
Диодный мостик VD1 — VD4 на входе зарядного устройства защищает от неправильного подключения источника питания.
В качестве источника питания используется готовый нестабилизированный сетевой адаптер БПН 12-03 с выходным напряжением 12 вольт и током нагрузки 300 мА.
Внешний вид и конструкция готового устройства показаны на рисунках ниже:

Фото 1

Фото 2

Фото 3, я так думаю

Зарядное устройство собрано в готовом пластмассовом корпусе G026, к которому свеху крепится держатель аккумуляторов. В качестве держателя используется готовый батарейный отсек для двух элементов АА. Микросхема LM317 (DA2) и транзистор VT1 установлены на алюминиевую пластину по размерам корпуса через изолирующие прокладки из слюды. Транзистор VT1 можно на радиатор не ставить, т.к. рассеиваемая им мощность не превышает 0,7 ватта. Резистор R12 составлен из двух резисторов по 1 Ом, 1 ватт.
Печатная плата не разрабатывалась. Устройство собрано на универсальной плате. Микроконтроллер установлен в панельку.

Читайте также:  Совместимость аккумуляторов для prestigio

Проверка работоспособности зарядного устройства.

Если устройство собрано без ошибок и микроконтроллер запрограммирован правильно, то наладка не требуется. Но, во-первых, где Вы видели устройство без ошибок? А во-вторых, всё равно хотелось бы убедиться, что всё работает так, как надо.
Первое включение делают без микросхемы микроконтроллера. Спалить её всегда успеете. Подключите источник питания с напряжением 8 — 12 вольт. Должен засветиться синий светодиод HL2. Убедитесь, что напряжение на выходе микросхемы DA1 составляет 5 вольт. На панельке для микроконтроллера соедините перемычкой вывод 8 поочерёдно с выводами 2, 3, 5. Соответственно, поочерёдно должны светиться светодиоды HL4, HL1, HL3. Установите резистор сопротивлением 100 КОм между выводами 4 и 8 на панельке микроконтроллера. Подключите к тем же выводам вольтметр с входным сопротивлением не меньше 1 МОм. Китайский цифровой мультиметр вполне подойдёт. Отключите источник питания, и засеките время, за которое напряжение на этом резисторе уменьшится с 4,5 вольт до 2 вольт. Если это время превышает 20 секунд, то значит, конденсатор C8 имеет достаточную ёмкость, и микроконтроллеру будет чем питаться при внезапном отключении электроэнергии.
При отключённом питании, соедините перемычкой на несколько секунд выводы 4 и 8 на панельке микроконтроллера, чтобы конденсатор C8 разрядился. Установите микроконтроллер в панельку.
Для дальнейшей проверки, необходимо собрать небольшую тестовую схему, и подключить её к контроллеру, как показано на нижеследующем рисунке:

Резисторы R101 — R104 должны иметь одинаковый номинал и могут быть от 4,7 до 10 Ком.
Установите движок резистора R102 в нижнее по схеме положение, что соответствует нулю вольт на входе 7 микроконтроллера. Движок резистора R104 установите в верхнее по схеме положение, что соответствует максимальному напряжению на входе 6 (Power Good) микроконтроллера. Подключите вольтметр к выводу 7 микроконтроллера. Включите питание. Должен засветиться синий светодиод HL2. В этом состоянии микроконтроллер должен ожидать, когда к нему подключат аккумуляторы.
Постепенно перемещая движок резистора R102, увеличивайте напряжение на входе 7 микроконтроллера. При напряжении 0,25 — 0,30 вольт должен засветиться красный светодиод HL4, а зелёный HL1 должен начать вспыхивать с интервалом в 1 секунду. Это говорит о том, что микроконтроллер обнаружил подключённый аккумулятор и включил режим заряда.
Подключите вольтметр к выводу 6 (Power Good) микроконтроллера. Постепенно перемещая движок резистора R104, уменьшайте напряжение на входе 6 микроконтроллера. При напряжении около 1,1 вольт, красный HL4 и зелёный HL1 светодиоды должны погаснуть. Это говорит о том, что микроконтроллер обнаружил снижение напряжения питания ниже допустимого уровня, все выключил и заснул. Постепенно увеличивайте напряжение на входе 6 микроконтроллера. При напряжении около 1,2 вольт, должен снова включиться режим заряда, но не сразу, а с задержкой в 1 — 5 секунд. Установите напряжение на входе 6 микроконтроллера на максимум.
Подключите вольтметр к выводу 7 микроконтроллера. Резистором R102 продолжайте увеличивать напряжение на входе 7 микроконтроллера. При напряжении 0,95 — 1,0 вольт, красный HL4 и зелёный HL1 светодиоды должны погаснуть. В этом состоянии микроконтроллер считает, что аккумуляторы были извлечены из зарядного устройства во время зарядки.
Снова установите движок резистора R102 в нижнее по схеме положение, что соответствует нулю вольт на входе 7 микроконтроллера. Подключите вольтметр к точке соединения резистора R106 и кнопки SB1. Нажмите и не отпускайте кнопку SB1. Резистором R102 установите напряжение равным 0,6 — 0,8 вольта. Отпустите кнопку. Через 1 — 2 секунды должен засветиться жёлтый светодиод HL3. Это состояние говорит о том, что микроконтроллер обнаружил, что подключённые к нему аккумуляторы не разряжены и включил режим разряда.
Установите движок резистора R104 в нижнее по схеме положение, что соответствует нулю вольт на входе 6 (Power Good) микроконтроллера. Жёлтый светодиод HL3 должен погаснуть. Это говорит о том, что микроконтроллер обнаружил снижение напряжения питания ниже допустимого уровня, и выключил режим разряда. Снова установите напряжение на входе 6 микроконтроллера на максимум. Через 1 — 5 секунд должен засветиться жёлтый светодиод HL3, что говорит о том, что возобновился режим разряда.
Подключите вольтметр к выводу 7 микроконтроллера. Резистором R102 начинайте уменьшать напряжение на входе 7 микроконтроллера. При напряжении около 0,5 вольт, жёлтый светодиод HL3 должен погаснуть, должен засветиться красный светодиод HL4, а зелёный HL1 должен начать вспыхивать с интервалом в 1 секунду. Это говорит о том, что микроконтроллер решил, что разрядил аккумуляторы до 1 вольта на элемент и включил режим заряда.
Выключите питание и отключите тестовую схему от зарядного устройства. Дальнейшую проверку удобно проводить на аккумуляторах, предварительно разряженных до напряжения 1 вольт на элемент, чтобы долго не ждать, пока они разрядятся.
Подключите амперметр, включённый на соответствующий предел измерений, чтобы можно измерить ток около 1А, последовательно с аккумуляторной батареей. Подключите источник питания (должен засветиться синий светодиод HL2) и установите аккумулятор в держатель. Убедитесь, что ток разряда имеет величину приблизительно 1А, а ток заряда равен 250 мА и не изменяется при изменении напряжения питания. Убедитесь, что переключение из режима разряда в режим заряда происходит при напряжении на аккумуляторной батарее равном 2 вольта (1 вольт на элемент). Это напряжение, при необходимости, можно изменить, подбирая резистор R5.
Проверьте, как устройство реагирует на отключение питания. После отключения и включения питания, устройство должно сохранять предыдущее состояние (разряд, заряд, заряд окончен), а таймер времени заряда не должен перезапускаться.

Работа с зарядным устройством.

Подключаем источник питания. Должен засветиться синий светодиод. Устанавливаем аккумуляторы в держатель. Должен засветиться жёлтый светодиод или красный. Ждем не меньше 15 часов, пока красный светодиод погаснет, а зелёный перестанет мигать и будет светиться постоянно. Всё. Аккумуляторы заряжены.
Для начала нового цикла разряд/заряд, не выключая источника питания (синий светодиод должен светиться), необходимо вытащить аккумуляторы из держателя и установить следующую пару.
Если после установки аккумуляторов в держатель, не светится ни жёлтый ни красный, то может быть следующее:
1. Недостаточно напряжение в сети.
2. Аккумуляторы установлены неправильно.
3. Аккумуляторы сильно разряжены (до напряжения, меньшего, чем 0,5 вольта на элемент).
Свечение жёлтого светодиода говорит о том, что идет разряд. После разряда аккумуляторов до напряжения 1 вольт на элемент, режим разряда выключается и жёлтый светодиод гаснет. После этого включается режим заряда и начинает светиться красный светодиод. Зелёный светодиод начнёт вспыхивать с периодом в 1 секунду. По соотношению длительности свечения и паузы можно приблизительно оценить время, прошедшее с начала заряда. Через 15 часов заряд прекращается. Красный светодиод гаснет, а зелёный начинает светиться непрерывно, что говорит об окончании зарядки. Если аккумуляторная батарея разряжена до напряжения, меньшего, чем 1 вольт на элемент, то режим заряда включится сразу. Если батарея разряжена сильнее, чем 0,5 вольта на элемент или установлена в неправильной полярности, то ничего не включится и никакие индикаторы (кроме синего) светиться не будут.

Источник

Модули защиты и контроллеры заряд/разряд для Li-ion аккумуляторов

Для начала нужно определиться с терминологией.

Как таковых контроллеров разряда-заряда не существует. Это нонсенс. Нет никакого смысла управлять разрядом. Ток разряда зависит от нагрузки — сколько ей надо, столько она и возьмет. Единственное, что нужно делать при разряде — это следить за напряжением на аккумуляторе, чтобы не допустить его переразряда. Для этого применяют защиту от глубокого разряда.

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

Плата защиты li-ion со сборкой полевых транзисторов 8205А

Другими словами, когда говорят о контроллере заряда/разряда, речь идет о встроенной почти во все литий-ионные аккумуляторы защите (PCB- или PCM-модулях). Вот она:

Защита для лития 18650

И вот тоже они:

Очевидно, что платы защиты представлены в различных форм-факторах и собраны с применением различных электронных компонентов. В этой статье мы как раз и рассмотрим варианты схем защиты Li-ion аккумуляторов (или, если хотите, контроллеров разряда/заряда).

Контроллеры заряда-разряда

Раз уж это название так хорошо укрепилось в обществе, мы тоже будем его использовать. Начнем, пожалуй, с наиболее распространенного варианта на микросхеме DW01 (Plus).

DW01-Plus

Такая защитная плата для аккумуляторов li-ion встречается в каждом втором аккумуляторе от мобильника. Чтобы до нее добраться, достаточно просто оторвать самоклейку с надписями, которой обклеен аккумулятор.

Схема модуля защиты литиевого аккумулятора на DW01

Сама микросхема DW01 — шестиногая, а два полевых транзистора конструктивно выполнены в одном корпусе в виде 8-ногой сборки.

Вывод 1 и 3 — это управление ключами защиты от разряда (FET1) и перезаряда (FET2) соответственно. Пороговые напряжения: 2.4 и 4.25 Вольта. Вывод 2 — датчик, измеряющий падение напряжения на полевых транзисторах, благодаря чему реализована защита от перегрузки по току. Переходное сопротивление транзисторов выступает в роли измерительного шунта, поэтому порог срабатывания имеет очень большой разброс от изделия к изделию.

Паразитные диоды, встроенные в полевики, позволяют осуществлять заряд аккумулятора, даже если сработала защита от глубокого разряда. И, наоборот, через них идет ток разряда, даже в случае закрытого при перезаряде транзистора FET2.

Сборка полевичков 8205

Вся схема выглядит примерно вот так:

Читайте также:  Аккумулятор renault logan 2013

Правая микросхема с маркировкой 8205А — это и есть полевые транзисторы, выполняющие в схеме роль ключей.

S-8241 Series

SEIKO S-8241 Series (защита Li-ion)

Фирма SEIKO разработала специализированные микросхемы для защиты литий-ионных и литий-полимерных аккумуляторов от переразряда/перезаряда. Для защиты одной банки применяются интегральные схемы серии S-8241.

Ключи защиты от переразряда и перезаряда срабатывают соответственно при 2.3В и 4.35В. Защита по току включается при падении напряжения на FET1-FET2 равном 200 мВ.

AAT8660 Series

Схема на ААТ8660 для защиты литиевого аккумулятора

Решение от Advanced Analog Technology — AAT8660 Series.

Пороговые напряжения составляют 2.5 и 4.32 Вольта. Потребление в заблокированном состоянии не превышает 100 нА. Микросхема выпускается в корпусе SOT26 (3х2 мм, 6 выводов).

FS326 Series

FS326 Series для защиты полимерных аккумуляторов

Очередная микросхема, используемая в платах защиты одной банки литий-ионного и полимерного аккумулятора — FS326.

В зависимости от буквенного индекса напряжение включения защиты от переразряда составляет от 2.3 до 2.5 Вольт. А верхнее пороговое напряжение, соответственно, — от 4.3 до 4.35В. Подробности смотрите в даташите.

LV51140T

Плата PCB для защиты li-ion от глубокого разряда

Аналогичная схема протекции литиевых однобаночных аккумуляторов с защитой от переразряда, перезаряда, превышения токов заряда и разряда. Реализована с применением микросхемы LV51140T.

Пороговые напряжения: 2.5 и 4.25 Вольта. Вторая ножка микросхемы — вход детектора перегрузки по току (предельные значения: 0.2В при разряде и -0.7В при зарядке). Вывод 4 не задействован.

R5421N Series

Схема защиты литиевого аккумулятора на микросхемах серии R5421N

Схемотехническое решение аналогично предыдущим. В рабочем режиме микросхема потребляет около 3 мкА, в режиме блокировки — порядка 0.3 мкА (буква С в обозначении) и 1 мкА (буква F в обозначении).

Серия R5421N содержит несколько модификаций, отличающихся величиной напряжения срабатывания при перезарядке. Подробности приведены в таблице:

Обозначение Порог отключения по перезаряду, В Гистерезис порога перезаряда, мВ Порог отключения по переразряду, В Порог включения перегрузки по току, мВ
R5421N111C 4.250±0.025 200 2.50±0.013 200±30
R5421N112C 4.350±0.025
R5421N151F 4.250±0.025
R5421N152F 4.350±0.025

SA57608

Плата защиты лития на ИМС SA57608

Очередной вариант контроллера заряда/разряда, только уже на микросхеме SA57608.

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

Обозначение Порог отключения по перезаряду, В Гистерезис порога перезаряда, мВ Порог отключения по переразряду, В Порог включения перегрузки по току, мВ
SA57608Y 4.350±0.050 180 2.30±0.070 150±30
SA57608B 4.280±0.025 180 2.30±0.058 75±30
SA57608C 4.295±0.025 150 2.30±0.058 200±30
SA57608D 4.350±0.050 180 2.30±0.070 200±30
SA57608E 4.275±0.025 200 2.30±0.058 100±30
SA57608G 4.280±0.025 200 2.30±0.058 100±30

SA57608 потребляет достаточно большой ток в спящем режиме — порядка 300 мкА, что отличает ее от вышеперечисленных аналогов в худшую сторону (там потребляемые токи порядка долей микроампера).

LC05111CMT

LC05111 для защиты лития

Ну и напоследок предлагаем интересное решение от одного из мировых лидеров по производству электронных компонентов On Semiconductor — контроллер заряда-разряда на микросхеме LC05111CMT.

Решение интересно тем, что ключевые MOSFET’ы встроены в саму микросхему, поэтому из навесных элементов остались только пару резисторов да один конденсатор.

Переходное сопротивление встроенных транзисторов составляет

11 миллиом (0.011 Ом). Максимальный ток заряда/разряда — 10А. Максимальное напряжение между выводами S1 и S2 — 24 Вольта (это важно при объединении аккумуляторов в батареи).

Микросхема выпускается в корпусе WDFN6 2.6×4.0, 0.65P, Dual Flag.

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

Контроллеры заряда и схемы защиты — в чем разница?

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

Важнейшая роль любого контроллера заряда заключается в реализации правильного профиля заряда (как правило, это CC/CV — постоянный ток/постоянное напряжение). То есть контроллер заряда должен уметь ограничивать ток зарядки на заданном уровне, тем самым контролируя количество «заливаемой» в батарею энергии в единицу времени. Избыток энергии выделяется в виде тепла, поэтому любой контроллер заряда в процессе работы достаточно сильно разогревается.

По этой причине контроллеры заряда никогда не встраивают в аккумулятор (в отличие от плат защиты). Контроллеры просто являются частью правильного зарядного устройства и не более.

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

Путаница между схемами защиты литиевых аккумуляторов и контроллеров заряда возникла из-за схожести порога срабатывания (

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

Источник

Мониторинг напряжения аккумулятора на микроконтроллере STM32.

Приветствую всех на нашем сайте! Сегодня, в продолжение предыдущей статьи, мы реализуем еще один похожий проект. А именно решим задачу измерения напряжения аккумулятора, питающего всю схему, на микроконтроллере STM32.

И для начала рассмотрим типичную схему организации питания:

Схема питания микроконтроллера

Здесь напряжение с аккумулятора приходит на вход преобразователя, который обеспечивает на выходе 3.3 В для питания нашего микроконтроллера. С аккумулятора, если мы говорим о наиболее часто использующихся литий-полимерных (Li-Pol), будет приходить 2.8 – 3.7 В в зависимости от уровня заряда. Нижний порог будет зависеть от использующейся схемы защиты аккумулятора от глубокого разряда, обычно эта схема отключает батарею при напряжениях 2.8 – 3 В.

В целом, мы получаем следующее – нам необходимо обеспечить измерение напряжений от 2.8 до 3.7 В. Поскольку питание микроконтроллера – 3.3 В, то мы не можем подать на вход АЦП 3.7 В напрямую. Что же, используем простейший делитель:

Измерение напряжения аккумулятора.

Казалось бы, на этом и все, но нужно учесть еще один нюанс. При использовании самого обычного LDO-преобразователя (в данном случае MIC5504) на его выходе будет напряжение:

Здесь V_ – это напряжение, падающее непосредственно на самом преобразователе. Для нашей микросхемы:

То есть если на входе у нас достаточный уровень сигнала (V_ \medspace — \medspace V_ \geqslant 3.3 \medspace В) , то микросхема обеспечит нам железные 3.3 В на выходе, что нас полностью устраивает.

Но по мере разряда аккумулятора напряжение будет естественным образом падать, что приведет к тому, что на выходе MIC5504 уже не будет этих 3.3 В. Уровень будет ниже. И это, как мы обсуждали в предыдущей статье, приведет к тому, что измеренное напряжение (после делителя) уже не будет верным.

Вот по этой причине нам и нужно предпринять дополнительные действия, чтобы обеспечить корректность измерений. А действия эти заключаются в том, что мы снова используем внутренний источник опорного напряжения STM32, который аппаратно заведен на 17-й канал ADC1!

Алгоритм действий будет таким:

  • Определяем реальный уровень напряжения питания микроконтроллера по формуле:
  • И, следующим шагом, зная точное значение V_ <пит>, ничего нам не мешает рассчитать верное значение напряжения аккумулятора:

Здесь мы умножаем на 2 потому что на вход АЦП сигнал подается через делитель 1:2.

Итак, разобрали теорию и план действий, переходим к практической реализации! Подключим напряжение с делителя на 1-й канал ADC1 (PA1).

Переходим в STM32CubeMx и настраиваем нужные каналы ADC, а также активируем DMA. АЦП будет постоянно автоматически опрашивать входные каналы, а результат будет сохраняться в буфер при помощи ДМА:

STM32CubeMx ADC.

STM32CubeMx DMA.

После всех настроек генерируем и открываем проект. Объявляем все, что нам понадобится:

После инициализации всей периферии запускаем АЦП:

После чего в цикле while(1) нам остается только производить расчеты:

Теперь в переменных mcuVoltage и batteryVoltage у нас будут соответственно значения напряжений питания и аккумулятора. Наша цель достигнута, и на этом на сегодня все, спасибо за внимание и до скорых встреч!

Источник

Автоматическое зарядно-тренирующее устройство и измеритель ёмкости для 12V герметичных аккумуляторов (ATMEGA8)

Немного лирики

Я давно хотел собрать прибор для проверки 12В/7Аh аккумуляторных батарей (АКБ), т.к. на работе их накопилось немало, а качество закупаемых батарей не всегда доходит до приемлемого уровня. И вдруг я наткнулся на датагорскую статью от koan51. Идея прибора проста: заряжать и разряжать батарею фиксированным током, измеряя время в процессе работы при контроле напряжения. Зная все три величины, можно измерить ток по простой формуле — время, умноженное на ток.
Набросал схему, основываясь на статье Александра.

Принципиальная схема автоматического зарядно-тренирующего устройства на МК

Как видно по схеме, управляющие/контролирующие цепи тока заряда и разряда АКБ остались прежними, только собраны они на регуляторах LM317 вместо LM7805 и MOSFET ключи Q1, Q3 применены несколько иной марки.

Токами зарядки и разрядки можно управлять резисторами R1, R9. При данных на схеме сопротивлениях в 1,25 Ом, ток через стабилизатор составит около 1 Ампера. Я нашёл в магазине лишь 1,5 Омные резисторы, которые выдали мне 833 мА, его и запишем в прибор, т.к. в программе заложен функционал для калибровки всех токов, но об этом позже.

Элементы U1, U2, U3 прикреплены на радиатор с маленьким вентилятором, который питается от двух ножек МК в 5 В (решил, что особо сильно крутить кулер не нужно, нагрев радиатора не такой сильный, да и шума много будет, а две ноги от МК с запасом покрывают максимально допустимый нагрузочный на порт МК ток).

Питание прибора осуществляется от импульсного БП, который ранее обеспечивал питанием какой-то небольшой ЖК монитор. Однако мне пришлось поднять ему напряжение, немного изменив делитель напряжения на TL431, т.к. он выдавал всего 19 В (3А) и также понадобилось перепаять выходные конденсаторы на 35 В, после чего он стал выжимать все 24 В на ура!

Сам микроконтроллер ATMEGA8 питается стабилизированным в 5 В напряжением от 7805 (U3). Защитный диод D1 служит для предотвращения протекания тока от АКБ обратно в импульсник при отсутствии внешнего источника питания.

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

Также была добавлена индикации состояния ключей (идёт зарядка – горит зелёный или разрядка – горит красный) состоящая из двух светодиодов.

Управление

Управление реализовано на трёх кнопках «MODE», «START» и «RESET». Кнопкой «MODE» можно переключать шаги работы с 1 до 4, кнопка «START» служит для начало проведения замеров (во время проведения замеров, при нажатии данной кнопки, прибор покажет историю токов на каждом шаге), а кнопка «RESET» (её нужно удерживать пару секунд) сбрасывает программу устройства, в начальное состояние, очищая также историю.

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

Логика работы проста и состоит из 4 этапов:
STEP 1 — разряд АКБ до напряжения 10.7В;
STEP 2 — заряд АКБ до напряжения 15В;
STEP 3 — разряд АКБ до напряжения 10.7В;
STEP 4 — заряд АКБ до напряжения 15В.
— На каждом этапе, происходит измерение времени.
— Контролируется напряжение на АКБ.
— Можно пропустить не нужные шаги, перейдя сразу на 2, 3 или 4 шаг.
— Основным показателем состояния АКБ будет емкость, измеренная на третьем шаге.

В случае пропадания контакта с АКБ или же короткого замыкания клемм, прибор остановит свою работу и высветит «ERROR» ошибку.

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

Программу я изначально старался писать как можно более универсальной. Прочитав про реализацию калибровки на основе EEPROM из статьи Александра, я решил завести специальное меню калибровки т.к. LCD позволяет всё красиво нарисовать и показать.
— Максимальное время таймера: до 100 часов.
— Диапазон калибровки напряжений: 3.0 – 20.0 В, шаг 100 мВ.
— Диапазон калибровки тока заряда/разряда: 100 – 10 000 мА, шаг 1 мА.
— Максимальный ток заряда/разряда: ограничен LM317, в 1,5А. (можно добавить мощный транзистор с увеличенными по мощности резисторами R1 и R9, который увеличит его вплоть до 10А).

Конструкция устройства

Так как я любитель упаковывать все детали в как можно меньший корпус, мне пришла на ум идея опробовать «буржуйский» способ производства корпусов из текстолита Алексея (AlexD). :yahoo:

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

Первые шаги разработки или прототип устройства, замеры все вручную.

Источник

Контроллер батарейного питания для arduino

В ходе экспериментов и сборок различных устройств на arduino мне часто приходили мысли добавить в них аккумулятор. Однако решения от «китайцев» доступные на рынке мне не сильно нравились. Я решил сделать простой модуль, позволяющий добавить в любое ваше устройство аккумулятор, да и еще и с кучей всевозможных защит. Для построения такого модуля я выбрал микросхему BQ25606 от Texas Instruments. Ссылка на datasheet (https://www.ti.com/lit/ds/symlink/bq25606.pdf). В ней есть все функции, которые могут быть полезны диайвайщику.

Микросхема имеет два режима работы. Первый режим — зарядка. В этом режиме напряжение Vbus используется как входное напряжение для зарядки аккумулятора. При этом, входной ток можно регулировать подбором сопротивления R_Ilim, а ток зарядки сопротивлением R_Ichg. Контроллер мониторит уровень заряда батареи и температуру (сопротивление термистора). Во втором режиме — boost, микросхема умеет генерировать из напряжения батареи 5.1 В на линию Vbus с максимальным током в 1.2 А. То есть, к этой микросхеме можно не добавлять повышающий модуль, она и так умеет повышать напряжение до 5В, чтобы запитать, например, arduino. Ниже привел блок схему BQ25606 из datasheet’а.

Собрал тестовый модуль для проверки всех заявленных возможностей микросхемы. В качестве батареи использовал сборку из 6 литий ионных аккумуляторов подключенных параллельно, каждая батарея емкостью примерно в 3500 мА/ч, т.е. общая емкость около 21000 мА/ч.

Качество изготовления плат мне понравилось, советую. Лак держит нагрев, дорожки не отрываются. Все красиво и четко. В комплекте еще брелок положили)

Для начала, проверим регулировку тока потребления и заряда батареи. Для этого на плате предусмотрены подстроечные резисторы. Если взглянуть на datasheet микросхемы BQ25606, то можно увидеть, что входной ток и ток заряда задается резисторами, которые считаются по простой пропорции: R = K / I, где коэффициент K для входного тока это 478, а для тока зарядки 677. Резистор для входного тока будет использоваться микросхемой только в том случае, если ей не удастcя опознать мощность подключенного по usb блока питания и по сути он ограничивает входной ток потребляемый схемой от источника питания. Ниже я привел таблицу всех возможных вариантов ограничения входного тока.

Резистор в цепи регулирования заряда ограничивает максимальный ток, с которым будет заряжаться батарея. Получается сначала ограничивается входной ток, а дальше уже ток зарядки, т.е. при выставленном токе заряда в 2 ампера, если входной ток будет ограничен на уровне 1 ампер, то и ток зарядки будет не больше 1 ампера (по факту чуть меньше ибо КПД не идеальный).

Я выставил ток заряда в 2.5 ампера и запустил тест зарядки. Микросхема ощутимо нагревается и в определенный момент начинает сбрасывать ток зарядки, чтобы не перегреться. При этом изменяя входное напряжение заряда, которое можно повысить до 13.5 вольт, можно увидеть изменение потребляемого тока.

Я думаю, оптимальным решением станет установка резистора для ограничения входного тока номиналом 470 Ом. При этом входной ток будет ограничен на уровне около 1 А, а ток зарядки 1.44 А. И как я писал выше, ток зарядки поднимется до 1.44 А только когда микросхема задетектит мощный блок питания, во всех остальных случаях зарядка будет также не больше одного ампера.

Вообще, микросхема BQ25606 очень умно заряжает батареи, контролирует нагрев через NTC и способна определять аккумуляторы, которые уже непригодны к работе и сообщать об этом.

После тестирования макета, я модифицировал принципиальную схему и решил привести модуль к более практичному виду.

По схеме, диод D1 предотвращает утечку 5В в блок питания при подключении зарядки с включенным режимом boost в BQ25606 (когда микросхема генерирует 5В). При подключении блока питания к USB разъему, транзистор Q1 притягивает вывод микросхемы OTG к земле и переводит её в режим зарядки вне зависимости от включенного режима с помощью тумблера SW1.

Ну и тестирование на уровень пульсаций по 5В выходу.

Для начала запуск преобразователя, слева без нагрузки, справа с нагрузкой в 1А. Емкость на выходе преобразователя 22 мкФ.

Пульсации при нагрузке в 1А и емкости на выходе 22 мкФ составили 1.5 В, поэтому емкость выхода необходимо увеличить, до 220-470 мкФ. Ниже график пульсаций, слева емкость выхода 22 мкФ, справа 220 мкФ.

Ну и запуск преобразователя с емкостью в 220 мкФ и током потребления в 1А выглядит следующим образом

При работающем boost режиме, если подать питание на схему, то на выходной линии 5В наблюдаются выбросы, связанные с переключением режимов. Слева — запуск зарядки, справа — отключение зарядки, где видно некоторую паузу, которая необходима контроллеру для запуска boost режима, а дальше софт старт. Картинки сняты при подключенной нагрузке в 1А. Эти осциллограммы были сняты с тестового образца без индуктивности на выходе. Тем не менее, видно, что при подключении зарядки к такому модулю произойдет кратковременное отключение , что надо учитывать. Хотя на малых потреблениях, эта просадка напряжения сгладится емкостью питания.

Также стоит отметить, что при значениях емкости на 5В выходе больше 1000 мкФ микросхема не сможет запустить boost режим, так как начальный ток зарядки конденсатора будет триггерить схему защиты по току. При этом будет мигать светодиод подключенный в выводу STAT. Частично для уменьшения этого эффекта в схему была добавлена индуктивность L1.

Печатную плату для итогового устройства развел на стриме: https://youtu.be/zd9VTNEoVy0

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

Хочется сказать большое спасибо Lightning666 за помощь в тестировании проекта.

Пишите ваши вопросы в комментариях. Спасибо за внимание, пока!

Источник