Как известно, аккумуляторы не вечны. Вот и у меня в шуруповёрте после нескольких лет эксплуатации аккум решил уйти на покой. «Ладно, заодно переделаю на литий» — подумал я. И надо же было такому совпадению случиться, через пару дней на Али увидел недорогие NiCd-аккумуляторы с хорошими отзывами. Уставший от работы и слабо соображающий мозг на автопилоте отработал команду «Купить». Назавтра осознал, что конкретно затупил с покупкой, ну да ладно, дело сделано, про литий пока забываем (успокаиваем себя, что NiCd значительно дешевле), и думаем, что делать с тем, что имеем. А делать, конечно же, надо нормальное зарядное устройство для этих аккумов. Вот про него и пойдёт речь далее…
А зачем вообще нужно это зарядное? С шуруповёртом же идет своё в комплекте. Ну что же, разбираем штатное зарядное и поражаемся размахом технической мысли и масштабами применённых решений (картинки кликабельны):
Тут, правда, уже выпаяны светодиод и разъём питания, но суть дела от этого не меняется. Да, существует мнение, что NiCd убить очень тяжело, что они прощают как сильный перезаряд (небольшим током), так и разрядку «в ноль». Для такого мнения есть основания: действительно, по сравнению с другими типами аккумуляторов, NiCd менее требовательны к аккуратности эксплуатации. Но всё должно быть в разумных пределах! И зарядное устройство на одном резисторе — это уже из области издевательства над аккумулятором. Да и над пользователем тоже, так как, чтобы не убить батарею совсем быстро, в таком зарядном используется небольшой ток заряда, соответственно, если шуруповёрт разрядился (как обычно, в самый неподходящий момент, так как мы помним про «эффект памяти» NiCd и не ставим аккум превентивно на зарядку каждый раз накануне проведения работ), прощаемся с ним почти на сутки (точнее, часов на 16, что часто еще хуже, так как иногда сложно бывает подобрать моменты включения и выключения зарядки так, чтобы они не попадали на ночное или рабочее время). Или покупаем второй аккумулятор на подмену (обычно очень даже недёшево). Так что нормальное зарядное должно быть (если мы хотим сберечь нервы, и чтобы при этом батарея прослужила долго).
Мастерить зарядное на «рассыпухе» занятно, но долго (жизнь коротка, и отведенным временем можно распорядиться рациональнее). К счастью, давно уже есть готовые решения. Самое распространённое — схема на MAX713. Кстати, у этой микросхемы есть двойник MAX712, предназначенный для NiMH. Отличие в том, что у NiCd есть интересная особенность: в процессе заряда напряжение на аккумуляторе увеличивается, как и у всех, а вот при достижении номинального заряда происходит небольшое снижение напряжения на аккуме (его называют Delta Peak). И по этому снижению можно очень точно определить момент окончания заряда, чем MAX713 и пользуется. А у NiMH такой эффект выражен гораздо слабее, поэтому MAX712 определяет окончание заряда просто по прекращению роста напряжения, что не так точно. Тут надо отметить, что это снижение напряжения на NiCd небольшое (единицы — десятки милливольт, в зависимости от тока), и надёжно отследить его можно только при больших зарядных токах (рекомендуется от С/3 и выше). Для тех, кто аккумуляторы только издали видел: С — это ёмкость аккума. Например, если ёмкость нашего аккумулятора 1800 мАч и сказано, что ток заряда 1С, это означает что ток заряда 1800 мА (соответственно, для этого же аккума ток С/3 равен 1800/3=600 мА).
MAX713 — очень популярная микросхема и готовых схем на ней полно. Но среди них совсем немного схем, рассчитанных на заряд батарей из большого количества элементов. А работа микросхемы при повышенных напряжениях питания (более 20В, то есть, больше 11 элементов в батарее) имеет ряд особенностей. Вот как раз поэтому я и решил написать эту статью.
Даташит на MAX713/MAX712 можно скачать по ссылке: MAX712-MAX713. Хорошая микросхема, но чтобы называться идеальной, ей не хватает схемы предварительного разряда аккумуляторов.
Даташит на английском, поэтому кратко опишу микросхему (впрочем, эту скучную теорию можно пропустить :-)). Вот структурная схема MAX713:
Подробно разбирать блоки нет смысла (в даташите всё расписано), остановлюсь только на интересных для нас моментах:
- Параллельный стабилизатор питания на 5В. Фактически, просто стабилитрон. Полезная вещь. Обеспечивает микросхему стабильным питанием, значит достаточно просто подать напряжение больше 5 вольт через токоограничивающий резистор, и микросхема будет счастлива. Мало того, так как стабилизатор параллельный, на входе питания установится напряжение 5В, которое мы можем использовать для своих нужд.
- Стабилизатор зарядного тока. Как же без него. Ради него и строилась вся микросхема. Стабилизатор линейный, но у него есть особенность: его можно вывести в неустойчивый режим, тогда он будет работать как ШИМ-регулятор. Значение зарядного тока задается внешним резистором. Естественно, резистор этот надо сначала рассчитать под свои нужды.
- Программируемый делитель напряжения. Делит выходное напряжение зарядного устройства (оно же напряжение на аккумуляторе) на количество аккумуляторов в батарее. То есть, на выходе получает усредненное значение напряжения на одном аккумуляторе. А дальше это напряжение оцифровывается и обрабатывается логикой микросхемы (в частности, ограничивается выходное напряжение при отключенном аккумуляторе, отключается процесс заряда при слишком большом напряжении на аккуме, Delta Peak определяется). То есть, штука принципиально важная для работы. Значит, подлежит обязательной настройке, которая заключается в том, что делителю надо объяснить, сколько элементов в батарее. Делается это соответствующей коммутацией выводов PGM0 и PGM1 (можно задать 1 до 16 элементов).
- Таймер, управляемый выводами PGM2 и PGM3. Ими можно задать максимальное время заряда, а также отключить слежение за Delta Peak. Также подлежит обязательной настройке.
- Температурный компаратор. В принципе, имея точные данные о температуре NiCd батареи, можно уже больше ничего не измерять. На графике температуры весь процесс заряда — как на ладони. Но для этого надо иметь в батарее датчик температуры. В шуруповёрте его нет, поставить можно (годится любой терморезистор), но надо колхозить дополнительный разъём. Только по этой причине я не стал этого делать. А вообще, функция полезная (микросхема не только может отключаться по превышению порога температуры, но и не допускает заряд полным током холодного аккумулятора).
- Источник образцового напряжения 2В. Достаточно точный (отклонение не более 0.04В).
Алгоритм работы микросхемы несложен: после включения питания проверяем наличие подключенного аккумулятора на выходе. Если такового нет, ограничиваем выходное напряжение на заданном настройками уровне и ждём аккумулятор. Если батарея подключена, проверяем напряжение, и если на элемент приходится меньше, чем 0.4В (т.е. разряжена «в ноль»), начинаем потихоньку малым током заряжать батарею (режим капельного заряда), пока не доведём до нормы. Если батарея в нормальном состоянии, врубаем режим быстрого заряда. Если напряжение подскочит выше допустимого — считаем, что батарея неисправна и отключаемся. Если всё нормально — заряжаем до отсечки по Delta Peak или прекращения роста напряжения. После этого переходим в режим капельного заряда (ток заряда в этом режиме программируется от 1/8 до 1/64 нормального зарядного тока), пока не выключат питание или не отключат батарею. Если подключен датчик температуры, то добавляются такие варианты: если аккумулятор холодный, сначала греем его капельным зарядом. Если при быстром заряде температура подскочила выше заданного порога — считаем, что батарея заряжена, прекращаем быстрый заряд и переходим к капельному.
Переходим к практике — начинаем проектировать схему. Для начала посмотрим, какие у нас внешние ограничения. Линейный стабилизатор будет рассеивать на транзисторе значительную мощность. А значит, потребуется немалых размеров радиатор. В корпус зарядного устройства его не впихнуть. Поэтому будем использовать импульсный режим. Теперь определимся с напряжением питания. В даташите сказано, что оно вычисляется следующим образом: количество элементов батареи умножаем на 1.9В и к произведению добавляем 2В (падение напряжения на силовом транзисторе). У меня батарея на 15 банок. Получаем 15 * 1.9В + 2В = 30.5В. В принципе, в нашем случае до 1.9В напряжение на аккумуляторах не поднимется, так что можно питающее напряжение сделать на несколько вольт меньше. А в большую сторону его можно поднимать, пока рабочие напряжения транзисторов и конденсаторов позволяют (у меня как раз есть 35-вольтовый блок питания от матричного принтера, около ампера с него снять можно). Всё, пора рисовать схему.
Начнём со стабилизатора. Для нормальной работы микросхемы необходимо обеспечить входной ток по цепи питания не менее 5 мА (примерно столько потребляют внутренние узлы микросхемы), но не более 100 мА (это максимум, который способна выдержать микросхема, не сгорев от перегрева, а вообще нормой считается ток не более 20 мА). Держать ток вблизи нижнего предела — это не наш метод, поэтому примем рабочий ток около 8 мА. Даташит предлагает годное решение — подавать этот ток через светодиод, индицирующий наличие питания. Разумеется, в этом случае источник питания должен обеспечивать достаточное напряжение ещё и для светодиода, то есть, 5В для микросхемы плюс 2.5В для светодиода, итого от 8В и выше (в нашем случае оно гарантированно в несколько раз больше). Если стабилизатор микросхемы задействован и для внешних нагрузок (например, в даташите есть вариант подключения светодиода индикации режима быстрого заряда к стабилизатору микросхемы), ток необходимо увеличить с учетом его потребления этими внешними нагрузками, например, если вышеуказанный светодиод потребляет 5 мА, то на микросхему надо подать 8 мА + 5 мА = 13 мА. Чем задать требуемый ток? Можно резистором. Это проще всего (такое решение есть в даташите и разжёвано в куче статей). Но тогда ток будет сильно зависеть от питающего напряжения. Мы не гонимся за простотой (наша схема с относительно высоковольтным питанием и так не будет простой, так что несколько лишних деталей ситуацию сильно не изменят), нам качество и надёжность важнее. Поэтому соорудим-ка мы несложный источник тока на паре транзисторов:
Ток здесь задается резистором R2 и составляет 7.5 мА (рассчитывается так: напряжение на базе Q1 делим на сопротивление R2, то есть, 0.62/82=0.075А). Причём ток не зависит от входного напряжения (в разумных пределах, то есть, примерно от 8В /происхождение этой цифры было описано в предыдущем абзаце/ и до напряжения пробоя транзисторов). Это позволяет, например, первое включение осуществлять от 12В, в надежде, что если накосячили при монтаже, то не всё сразу сгорит ;-), а также не беспокоиться о стабильности входного напряжения (например, собрать простейший инвертор на IR2153, или использовать подвернувшийся под руку блок питания с примерно подходящим напряжением). Еще такая схема удобна для повторения начинающими радиолюбителями: здесь ничего не надо настраивать независимо от напряжения питания и количества элементов в батарее. Конденсатор C4 — фильтр по питанию, можно ставить от 2 мкФ и больше (но больше 22 мкФ нет смысла).
Следующий важный компонент схемы — силовой узел. Он представляет собой классический импульсный понижающий преобразователь (Step-down):
Так как микросхема не допускает подачу напряжений более 20В почти ни на какие выводы (только на BATT+ можно больше, да и то только при включенном питании), для управления силовым каскадом используем транзистор Q4, включенный по схеме с общей базой. Но тут не всё так просто. Дело в том, что силовой транзистор также не допускает напряжение на затворе, больше чем 30В относительно истока (и это у меня высоковольтный транзистор, ну просто под руками был такой. Вы, скорее всего, поставите что-то более подходящее и низковольтное, и допустимое напряжение там будет ещё меньше, вольт 20..25). Как эта схема работает: когда на выходе DRV логическая «1», напряжение на базе Q4 равно напряжению на его эмиттере и Q4 закрыт. На его коллекторе напряжение 35В, которое открывает Q5 и почти в неизменном виде поступает на его эмиттер (Q5 включен как эмиттерный повторитель). Соответственно, на затворе Q7 34.4В, а на его истоке 35В, Q7 закрыт, допустимое напряжение на затворе не превышено (имеем всего 0.6В), напряжение на DRV = 5В, тоже не выше допустимого, все счастливы. Теперь переключаем DRV в «0». Напряжение на базе Q4 по-прежнему 5В, а вот на эмиттере оно уже около 0В. Поэтому Q4 открывается, на его эмиттере, а значит, и на R4 напряжение становится 4.4В, через R4 начинает течь ток 4.4В / 1.5 кОм = 2.6 мА, этот ток вызывает падение напряжения на R5, равное 2.6 мА * 5.1 кОм = 15В. Соответственно, на эмиттерах Q5 и Q6 будет это же напряжение. 15В более, чем достаточно для открывания Q7, при этом оно меньше предельно допустимых 30В, так что Q7 снова радуется жизни. Честно говоря, такой драйвер МОП — транзистора не очень хороший (довольно медленно перезаряжает ёмкость затвора). Но в данной схеме он вполне приемлем, ибо прост и обеспечивает безопасные напряжения для всех компонентов схемы. По остальным деталям: D3, естественно, Шоттки, D4 — любого типа, его назначение — чтобы при подключенной батарее и отключенном питании схемы напряжение с батареи не пролазило в схему. Номинал дросселя может отличаться от рекомендованного даташитом в несколько раз, работать будет. Я использовал готовый, то ли от блока питания, то ли от старого монитора. Он на 200 мкГн оказался, подошёл идеально. Сердечник — кольцо из распылённого железа, но можно использовать и феррит: гантельки, Ш и П сердечники или даже стержни (только не кольца, зазор должен быть).
Что у нас там еще должно быть в схеме?
Индикатор режима быстрой зарядки. Это светодиод D2. Хотел поставить красный, но с длинными выводами под руками оказался только желтый. Плоховато светит, но менять уже не буду. Отнимать для него ток у микросхемы не хотелось (хотя так можно было сэкономить один транзистор), поэтому подключил его к общему питанию устройства. Схема включения Q3 похожа на узел на транзисторе Q4 — тоже на базе фиксированные 5В, а эмиттером управляем. R3 — от 330 Ом до килоома.
Выше уже говорилось, что на BATT+ можно подавать напряжение больше 20В, но только при включенном питании, а у нас на батарее вполне может быть больше 20В. Поэтому требуется блокировка входа BATT+, чтобы не дать напряжению с батареи попасть на микросхему, если на устройство не подано питание. Выполнена она на транзисторе Q8. Пока напряжения питания нет, на базе транзистора 0В относительно эмиттера и он закрыт, при подаче напряжения питания оно поступает на базу и транзистор открывается.
R9 и R10 — делитель напряжения, имитирующий работу датчика температуры. Да, да, настройками датчик температуры не отключается. Поэтому мы вынуждены сделать вид, что он у нас есть, но показывает нормальную температуру, то есть, и не холодно, и не критический нагрев. Для этого пороговое напряжение уровня «холодно» выставим около 0В (вход TLO), а порог «перегрев» установим 5В (вход THI). Ну а на вход термодатчика пусть приходит что-то среднее. Я бы взял 2В с REF, но в даташите почему-то берется напряжение с делителя, то есть, четверть от того же REF. Почему так — не знаю. Но решил скопировать эту часть с даташита: места на плате достаточно, может у разработчиков микросхемы были какие-то свои соображения, которых я не понимаю.
C8 — исключительно важный конденсатор. Его номинал определяет устойчивость работы стабилизатора, при больших значениях стабилизатор будет устойчив и работать будет в линейном режиме, при малых значениях ёмкости — стабилизатор самовозбудится и мы получим генерацию, необходимую для работы Step-down. Частота генерации зависит от ёмкости этого конденсатора, при указанной в даташите ёмкости (220 пФ) частота будет около 30 кГц.
C7 — фильтр на REF, непринципиален.
А теперь самое интересное: расчеты и настройки. А настроить нам надо пять параметров: ток в режиме быстрого заряда, ток в режиме капельного заряда, предельное напряжение на одном элементе батареи, количество элементов в батарее и таймаут. По пунктам:
- Ток в режиме быстрого заряда — один из важнейших параметров. В принципе, можно установить любой. Но, чтобы всё красиво работало, лучше выбирать из рекомендуемого в даташите ряда: C/2, 1C, 2C, 4C. У меня аккумуляторы на 1800 мАч. Если брать ток 1С, то при 35В это будет 63Вт. Во-первых, у меня нет такого мощного блока питания на 35В. Можно собрать, но это требует времени, а зарядное нужно сейчас. Во-вторых, по предварительной оценке, силовой транзистор придется сажать на небольшой радиатор, а для него места нет. Так что я остановился на токе С/2, то есть, 0.9А. Время зарядки при этом будет около 3-х часов (для полного заряда в NiCd надо вкачать порядка 150% от номинальной ёмкости, то есть, треть энергии уходит в тепло). Ток задаётся номиналом резистора R7. Расчёт такой: R = 0.25В / I, для моего случая R = 0.25В / 0.9А = 0.277 Ом. Я планировал подобрать такой номинал из двух параллельных (R7 и R8), поэтому на плате предусмотрено место под два резистора, но нашёл у себя один на 0.28 Ом, так что им одним и обошёлся.
- Ток в режиме капельного заряда должен составлять С/16 независимо от тока быстрого заряда. Но определяется он тем самым резистором R7, что и ток быстрого заряда. А номинал R7, как сказано выше, может меняться в широких пределах. Поэтому необходимо запрограммировать соответствующий делитель в микросхеме. Для моего тока С/2 коэффициент деления устанавливается 8 (всё это есть в даташите), получится ток С/(2*8) = С/16, что и требовалось. Для установки делителя служит вывод PGM3, в данном случае он соединяется с выводом BATT-.
- Предельное напряжение на одном элементе батареи определяет, какое напряжения будет на выходе зарядного устройства при отключенной батарее. Кроме того, если напряжение на батарее окажется больше этого максимума, батарея будет считаться неисправной и зарядка сразу отключится. Задаётся подачей нужного напряжения на вход VLIMIT. Даташит рекомендует устанавливать это напряжение в 2В. Тут очень кстати источник опорного напряжения на 2В (выход REF), к нему и подключим наш вход VLIMIT.
- Количество элементов в батарее — тут всё понятно. Программируется коммутацией входов PGM0 и PGM1. В моём случае (15 банок) — PGM0 на BATT-, а PGM1 на REF.
- Таймаут — время, через которое заряд прекратится, даже если микросхема не «поймает» Delta Peak. А такое может случится на дохлых аккумуляторах. Естественно, оно зависит от планируемого времени заряда батареи. И тут пришлось призадуматься. Дело в том, что время заряда у меня планируется около 3-х часов. А значение таймаута можно выбрать ровненько 180 минут. Естественно, хотелось бы иметь небольшой запас, так как 180 минут может чуть-чуть не хватить. Но ближайшее большее значение, которое можно выбрать — уже целых 264 минуты. Это очень много. В итоге я решил использовать 180 минут. Ибо китайцы никогда честно ёмкость аккумуляторов не указывают, и, возможно, их реальная ёмкость чуть меньше паспортной. Кроме того, при больших токах заряда КПД NiCd несколько выше. Ну а если всё-таки времени хватать не будет, просто поставлю параллельно R7 ещё и R8, ток немного возрастёт (до 1 ампера), заряд ускорится, тогда времени точно хватит.
Полная схема устройства:
Рекомендации по трассировке платы
Часть рекомендаций прописана в даташите, часть проистекает из общепринятых правил разводки импульсных силовых схем. Во-первых, C8 необходимо подсоединять к выводам CC и BATT- как можно более короткими дорожками. Во-вторых, по дорожке, соединяющей GND и R7 не должны течь токи силовой части. То есть, это измерительная цепь и должна соединять GND и R7 напрямую, ни на что больше не отвлекаясь, и от GND больше никуда не идти. То же самое касательно соединения BATT- и R7, это тоже измерительная цепь. Длина дорожек между BATT+ и BAT+ и между BATT- и BAT- должна быть минимальной. Силовые дорожки должны иметь большую ширину и минимальную длину, площадь контура протекания больших импульсных токов (C1/C3, Q7, D3) должна быть минимальна.
Возможно, трассировка не идеальная, но вполне приемлема (ну не обошелся я без перемычек — две штуки есть):
Размеры корпуса позволили разместить детали на плате свободно, применять SMD — компоненты почти не потребовалось. Дорожки широкие, на всякий случай под ЛУТ рассчитаны (хотя делал фоторезистом), если бы изначально ориентировался только на фоторезист, можно было бы без перемычек обойтись за счет существенного уменьшения ширины дорожек. Но так надёжнее. Готовая плата:
При изготовлении платы немного накосячил с маской, попал кусок плёнки куда не надо, но переделывать не было смысла, ибо дефекты непринципиальные и на работу устройства не влияют.
После сборки сразу захотелось проверить работоспособность. Оказалось, это не так просто. Хитрая микросхема категорически отказывалась заряжать нагрузочный резистор :-). Со свинцовым аккумулятором от бесперебойника получилось немного лучше. Теперь надо попробовать устройство на реальной батарее, а её ещё собрать надо. Вытряхиваем из корпуса старые дохлые аккумуляторы:
Достаём из упаковки вовремя подоспевшие китайские:
Монтируем из них батарею. Удобно, что выводы к аккумуляторам уже приварены: NiCd категорически нельзя греть паяльником (впрочем, этого никакие аккумуляторы не любят), поэтому выводы только привариваются. Несмотря на то, что при сварке температура в несколько раз выше, чем при пайке, разогрев происходит в маленькой точке и тепло тут же рассеивается корпусом, практически не увеличивая его температуру. При пайке же, чтобы припой смочил корпус аккумулятора, его надо хорошо разогреть, и тут уж тепло в немалом количестве доходит до начинки аккумулятора. А вот приваренные выводы вполне допустимо паять, по ним тепла до корпуса доходит совсем немного:
Собираем корпус батареи и устанавливаем на зарядное устройство:
Ура, всё заработало :-D. Конечно же, при первом и втором циклах заряда батарея была подсоединена к заряднику временными проводками для контроля тока и напряжения. Показания приборов подтвердили, что все характеристики соответствуют расчетным. После трёхчасового заряда корпус зарядного устройства заметно нагрелся в районе силового транзистора, но не слишком критично. Даже не стал развинчивать зарядное для непосредственной оценки температуры компонентов, так как и так понятно, что ничего не перегревается.