Автомобильное зарядное устройство с цифровым ампервольтметром

Хлюпин Н. П.

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

Именно исходя из таких предпосылок и разрабатывалось это устройство - полная информация о процессе, максимальная надежность и минимальная стоимость. За основу этой конструкции взято серийно выпускаемое в течение многих лет и хорошо себя зарекомендовавшее зарядное устройство "Кедр". Его принципиальная схема с незначительными изменениями показана в левой части рис.1.

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

Это обычный тринисторный регулятор напряжения, но он обладает очень важным качеством - не боится коротких замыканий нагрузки и неверной полярности подключения батареи. Если ее напряжение менее 3...4V или имеет обратную полярность, транзистор VT3 остается закрытым и импульсы на управляющий электрод тринистора VS1 не поcтупают.

Ну а если аккумуляторная батарея разрядилась до нуля? Ведь такое вполне возможно, если, например, не выключить фары после поездки или в случае случайного срабатывания и длительной непрерывной работы автосигнализации в режиме тревоги. Если такое произошло, в предлагаемой конструкции нужно просто нажать на кнопку SB1, ее контакты зашунтируют переход коллектор - эмиттер VT3, тринистор начнет открываться и батарея будет заряжаться. Через несколько секунд на ней появится напряжение и кнопку можно будет отпустить. Необходимо подчеркнуть, что при нажатой кнопке защита от замыкания выхода и неверной полярности подключения не будет действовать, поэтому такой режим следует использовать с осторожностью. По этой же причине не следует заменять кнопку на выключатель с фиксацией. Зарядный ток регулируется резистором R1.

В прототипе данной конструкции для контроля процесса зарядки используется единственный прибор - стрелочный амперметр. В принципе это оправдано, ведь большой точности тут не требуется. Однако напряжение на батарее, а особенно динамика его изменения в процессе зарядки дает информацию о состоянии батареи и может предотвратить как ее неполную зарядку, так и перезарядку. Для этого необходимо контролировать напряжение с точностью до 0,1V, но стрелочный прибор такую точность обеспечить не может, поэтому для данного устройства был разработан цифровой ампервольтметр. Его принципиальная схема приведена в правой части рис.1.

Основа ампервольтметра - микроконтроллер ATtiny15L, предназначенный специально для использования в зарядных устройствах. Он содержит десятиразрядный АЦП и дифференциальный усилитель с коэффициентом усиления 20.

Алгоритм измерения следующий. Вначале управляющая программа настраивает АЦП на работу в дифференциальном режиме. Падение напряжения на шунте R11 через резисторы R12, R14 подается на входы PB3 и PB4 контроллера. Конденсатор C2 сглаживает пульсации тока, предварительно усредняя его значение. Дальнейшее усреднение реализовано программно. В течение одного периода сетевого напряжения, т.е. 20 мс АЦП работает непрерывно, т.е. сразу после окончания очередного измерения начинается следующее. Все результаты суммируется, полученная сумма делится на число измерений и в результате получается среднее значение зарядного тока.

Затем программа подключает АЦП к входу микроконтроллера PB2. На него через делитель R17, R18 подается напряжение с заряжаемой батареи. Алгоритм здесь несколько иной, т.к. измерение среднего значения напряжения даст несколько завышенный результат. Это объясняется тем, что зарядный ток носит импульсный характер и, в зависимости от внутреннего сопротивления батареи и сопротивления соединительных проводов, пульсации напряжения могут достигать 1...2V. Разумнее делать измерение в момент, когда амплитуда напряжения на батарее менее 12V и зарядный ток равен нулю. Результат будет гораздо более информативен, но традиционным способом сделать это сложно. Возможности же микроконтроллера позволяют легко реализовать такое измерение. Аналогично измерению тока, в течение 20 мс контроллер производит непрерывные измерения напряжения, но результат не суммирует, а из этого ряда просто выбирает наименьшее значение. Обратите внимание, что емкость сглаживающего конденсатора C5 на входе PB2 в десять раз меньше, чем емкость конденсатора C2 аналогичного назначения на PB3, PB4.

Поскольку напряжение встроенного образцового источника микроконтроллера равно 2,56V, номиналы делителя R17, R18 выбраны исходя из того, чтобы напряжение на PB2 не превышало этого значения. Сопротивление шунта R11 должно быть таким, чтобы падение напряжения на нем при максимально возможной амплитуде зарядного тока не превышало 2,56 / 20 = 0,128V.

После выполнения измерений на основании полученных результатов производится расчет тока и напряжения. В настоящее время сложилось мнение, что математические расчеты в микроконтроллерах можно делать только на Си. Однако это не так. Программа на ассемблере гораздо компактнее, работает быстрее и позволяет на 100% использовать возможности контроллера. Что же касается усилий и времени на ее разработку - то тут все зависит от опыта программиста и от того, насколько грамотно выбран алгоритм расчета.

Расчеты выполняют по следующим формулам с учетом размерности входящих в них величин.
Напряжение на батарее:
Uб = Const1 * Step1 * Ku * Nu, где
Step1 = Uобр / 1024 = 2560 / 1024 = 2,5 мВ - цена разряда АЦП;
Ku = 1+R17/R18, коэффициент деления делителя R17, R18;
Nu - результат преобразования АЦП при измерении напряжения (0...1023).
Падение напряжения на шунте:
Uш = Const2 * Step2 * Ki * Ni, где
Step2 = Uобр / (1024 * 20) = 2560 / (1024 * 20) = 0,125 мВ - цена разряда АЦП;
Ki = 1+R12/R13, коэффициент деления делителя R12, R13; если R13 не установлено, Ki = 1;
Ni - результат преобразования АЦП при измерении тока (0...1023).
Зарядный ток:
I = Const3 * Uш / R, где
R - сопротивление шунта;
Const1, Const2 и Const3 - постоянные коэффициенты, учитывающие размерность входящих в формулы величин.
К сожалению, согласно документации на контроллер, 2,56V - это номинальное значение образцового напряжения. Реально оно может быть в пределах 2,4...2,6V. Поэтому, даже если точно выдержать номиналы резисторов делителя и шунта, каждый контроллер все равно потребует индивидуальной калибровки. Учитывая условия эксплуатации устройства, подстроечные резисторы применять нежелательно - со временем они могут окислиться и увеличить погрешность измерения. Поэтому в приборе предусмотрена возможность программной калибровки. Для этого значения Ku, Ki и R сохраняются в энергонезависимой памяти контроллера и могут быть скорректированы при налаживании.

Еще одна особенность контроллера ATtiny15L, о которой только вскользь упоминается в фирменной документации - это то, что при работе в дифференциальном режиме гарантированная точность АЦП только 8 разрядов против 10 в обычном режиме. Поэтому для повышения точности циклы измерений и расчетов повторяются в течение 16 периодов сетевого напряжения, полученные значения усредняются и результат выводится на индикатор. Период обновления информации около 0,7 с. Это наиболее оптимально для зрительного восприятия.

Индикатор использован один из самых дешевых и распространенных - от телефонов с АОН. К сожалению, он не имеет собственного названия и разные фирмы-производители называют его по своему, например, встречается обозначение KO-4B. Неизменным остается только его встроенный контроллер HT1613 или HT1611. Эта марка иногда нанесена на плату индикатора. Нумерация выводов также может различаться у разных производителей, но их наименования обычно не меняются. Разве что вывод SK может быть обозначен как CK или CLK. Индикатор десятиразрядный, четыре левых разрядах использованы для отображения напряжения, а четыре правых - тока. Дискретность отсчета - 0,01V и 0,01А соответственно.

Светодиод HL1 зеленого свечения включен при нормальной работе зарядного устройства. Если полярность подключения батареи перепутана, светит HL2 красного цвета свечения. Зарядки в этом случае, естественно нет, а диод VD3 защищает измерительный узел от напряжения обратной полярности. Светодиод HL3 использован как стабилитрон на 1,5V для питания индикатора.

Печатная плата
Рис.2

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

Большая часть элементов на плате рассчитана на поверхностный монтаж. Транзисторы VT1-VT3, стабилитрон VD2, конденсаторы C1, C2, стабилизатор DA1 и светодиод HL3 монтируются обычным образом в отверстиях. HL1 и HL2 припаиваются к контактным площадкам со стороны печатных проводников и выводятся на переднюю панель. Контроллер устанавливают в панельку, впаянную в плату. Это облегчает его перепрограммирование.

Переменный резистор R1 лучше использовать проволочный, ППБ или ПП-3. Шунт R11 - стандартный 75mV, 10А. Если приобрести такой не удастся, можно использовать шунт на 30 или 50А, сделав на нем несколько поперечных пропилов для увеличения сопротивления примерно так, как показано на рис.3.

Шунт
Рис.3

Число и глубину пропилов нужно подобрать экспериментально. Сопротивление шунта 75mV, 10А равно 0,0075 Ом. Измерить такое значение в любительских условиях непосредственно невозможно, поэтому при самостоятельном изготовлении шунта для калибровки следует подключить его к источнику постоянного напряжения 10...15V последовательно с нагрузкой 1...5 Ом. Напряжение и сопротивление нагрузки должны быть такими, чтобы в цепи протекал ток не менее 2А. Измеряя ток в цепи и падение напряжения на шунте следует так подобрать глубину и число пропилов, чтобы на нем падало 75...100mV в пересчете на 10А. Большее падение напряжения на шунте приведет к переполнению АЦП контроллера, а меньшее снизит точность измерения.

Устройство смонтировано в корпусе от отслужившего свой срок автотрансформатора АРБ-250. Такие автотрансформаторы широко использовали для питания телевизоров в 70-80-е годы прошлого века. От него же использован и тороидальный сетевой трансформатор, из которого удален подвижный контакт.

Зарядное устройство

Поверх обмотки, использованной в качестве первичной, намотана вторичная обмоточным проводом ПЭВ-2 диаметром 1,5...2 мм. Разумеется, между обмотками следует предусмотреть надежную изоляцию. Число витков вторичной обмотки - 75 при условии включения в сеть первичной обмотки полностью, без имеющегося на ней отвода. Можно использовать и любой другой трансформатор мощностью не менее 200 Вт со вторичным напряжением 18...19V. Превышение этого напряжения только прибавит проблем с отведением тепла, не добавляя ничего позитивного. Обязательно необходим запас по мощности трансформатора, т.к. фазоимпульсный тринисторный регулятор искажает форму синусоиды, увеличивая потери на перемагничивание и, как следствие, нагревание магнитопровода трансформатора.

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

Во FLASH память контроллера необходимо запрограммировать файл AV_meter.hex с основной программой, а в EEPROM - файл AV_meter.eep, в котором находятся калибровочные константы. Последний файл лучше создать самостоятельно, учитывая конкретные значения резисторов делителей и шунта. Для этого в любом текстовом редакторе нужно набрать следующее:

    .eseg
        .org 0x3A
Ku:     .dw 11000 ; (1+R17/R18)*1000 <=65000
Ki:     .dw 1000  ; (1+R12/R13)*1000 <=13000
R:      .db 100   ; напряжение на шунте при токе 10а, mV
CALIBR: .db 0x80  ; калибровочный байт

Метки и комментарии можно не вводить, они представлены для наглядности. Директива eseg говорит ассемблеру, что это сегмент EEPROM, org устанавливает начальный адрес. Затем записывается двухбайтное значение Ku. Для того, чтобы вести расчеты в целых числах, его значение предварительно умножается на 1000. Получается, Ku=1000*(1+R17/R18). Ki рассчитывается аналогично Ki=1000*(1+R12/R13), R13 - это дополнительный резистор, который должен быть подключен, если падение напряжения на шунте больше 128mV при максимально возможном измеряемом токе. Место для него на печатной плате предусмотрено. Если R13 не подключается, Ki=1000. Следующая строка - сопротивление шунта. Это однобайтное целое значение и численно оно равно падению напряжения на шунте в милливольтах при токе 10А. Наконец, последняя строка - калибровочный байт контроллера. Он необходим для точного соответствия интервала измерения 20 мс, его нужно считать из конкретного экземпляра контроллера в программаторе.

После создания файла его необходимо ассемблировать и полученный .HEX файл запрограммировать в контроллер. Тот, кто не работает с ассемблером AVR, может непосредственно ввести в программаторе в буфер памяти EEPROM все необходимые значения. Для приведенного выше примера в память нужно ввести следующее:

003A:  F8 2A E8 03 64 80

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

Тринисторный регулятор зарядного устройства налаживания не требует, а вот измеритель нуждается в калибровке. Делается это следующим образом. Вначале нужно подключить к устройству аккумуляторную батарею, при этом оно само должно быть отключено от сети. Измерив напряжение питания на выходе DA1 и на индикаторе и убедившись, что они равны 5V и 1,5V соответственно, устанавливают в панель запрограммированный контроллер. Здесь и в дальнейшем перед извлечением и установкой контроллера сетевое питание устройства и батарею необходимо отключать. Невыполнение этого условия может привести к выходу контроллера из строя.

Табло индикатора должно высветить примерно следующее: 1300 000. Это значит напряжение 13,00V, а ток равен нулю. Если ток менее 10А, его старшая нулевая цифра для облегчения зрительного восприятия гасится. Подключив параллельно аккумуляторной батарее мультиметр нужно измерить ее реальное напряжение. Предположим, оно равно 12,50V. Запоминаем это значение, а затем подключаем мультиметр теперь уже в режиме измерения тока последовательно с батареей. После включения устройства в сеть резистором R1 нужно установить номинальный зарядный ток. Допустим, показания индикатора 6,15А, а реальное значение по мультиметру 5,5А.

Теперь производим несложные расчеты по формулам:
Ku2 = Ku1 * (U2/U1) и Ki2 = Ki1 * (I2/I1), где
Ku1 и Ki1 - запрограммированные в контроллер значения Ku и Ki.
U1 и I1 - показания индикатора зарядного устройства
U2 и I2 - показания мультиметра, т.е. реальные значения напряжения и тока.
В приведенном выше примере получаем:
Ku2=11000*(12,5/13,0)=10577
Ki2=1000*(5,50/6,15)=894. Эти рассчитанные значения нужно запрограммировать в контроллер вместо Ku и Ki.

003A: 51 29 7E 03 64 80

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

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

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

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

Kk = (U - Uб) / Uш, где
Kk - коэффициент коррекции;
U - показания индикатора зарядного устройства;
Uб - напряжение на клеммах батареи;
Uш - падение напряжения на шунте.

Такой алгоритм реализован в прошивке AV_ever.hex и AV_ever.eep. В последний файл добавлена строка с коэффициентом Kk. Помните, что Kk - это целое однобайтное значение от 1 до 255.

    .eseg
        .org 0x39
Kk:     .db 1     ; 1<=Kk<=255 - коэффициент коррекции напряжения
Ku:     .dw 11000 ; (1+R17/R18)*1000 <=65000
Ki:     .dw 1000  ; (1+R12/R13)*1000 <=13000
R:      .db 100   ; напряжение на шунте при токе 10а, мВ
CALIBR: .db 0x80  ; калибровочный байт

В памяти EEPROM это будет выглядеть так:

0039: 01 F8 2A E8 03 64 80

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

PDFПодробное описание
zipПлата в Sprint Layout 4.0 и схема в Orcad 9.1
zipПрошивка и исходный текст программы контроллера ATtiny15L на ассемблере
zipПрошивка и исходный текст программы. Вариант для ATtiny25/45/85 (ver. 17-04-2012)
zipЗамена индикатора HT1613 (HT1611, KO-4B)


ист-ки:
http://ra4nal.qrz.ru/main/battery.html
http://ra4nal.qrz.ru/battery.shtml