Главная - Водительское удостоверение
Зарядное устройство для авто на микроконтроллере atmega8. Зарядное устройство для автомобильных аккумуляторов на Atmega8. Выбор и переделка блока питания

В интернете существует огромное количество схем зарядных устройств (ЗУ) для автомобильных аккумуляторов. От простейших до очень сложных. В нашем случае пойдет речь о ЗУ сделанном на микроконтроллере (МК) Atmega8. Использование МК в отличие от схемы на транзисторах позволяет внедрить очень богатый функционал для ЗУ. К примеру в данном зарядном я решил внедрить следующие функции.

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

2. Ток заряда будет до 5А. Хотя у меня в автомобиле стоит батарея 85А/ч мне для заряда хватит и 5А, просто на заряд уйдет немного больше времени. Однако при необходимости можно будет без глобальных переделок и перепрошивки МК увеличить ток заряда до 10А.

3. Менять ток заряда можно будет с шагом до 0.1А. Минимальный ток можно будет выбрать до 0.1А. Это значит можно заряжать и батареи маленькой емкости. Причем если энкодер вращать чуть быстрее, шаг увеличения/уменьшения тока заряда будет работать в пределах 0.5 А.

4. Батарея будет заряжаться до напряжения 14.4 вольт.

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

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

7. Заряд батареи должен быть полностью автоматизирован. Это вполне возможно, так как будет использоваться МК. Автоматизация процесса заряда должна исключать участие человека. Это значит подключил батарею, выбрал ток заряда и на этом все. Все остальное должно сделать само зарядное. А именно, поддержание выбранного зарядного тока в процесе заряда. Если батарея неисправна и заряд дальше не возможен, батарея должна быть автоматически отключена, в противном случае она будет просто бесконечно кипеть, а нам это не надо.

8. Показалось, что удобна будет функция "хранение батареи зимой". Как ни крути, абсолютно любая батарея в природе имеет свой внутренний саморазряд. Это значит, что если просто оставить без присмотра батарею на определенный срок, то из-за тока саморазряда она разрядится, что в итоге приведет к сульфатации пластин. А для батареи это смерть. Причем время саморазряда и сульфатации не такое уж и большое. Порой достаточно пару месяцев. Чтобы этого не произошло и будет внедрена функция "хранение батареи зимой". Работает это просто, подключаем зарядник к батарее, причем батарею не нужно вынимать из автомобиля. Далее ЗУ будет раз в пол часа смотреть какое же напряжение на батарее. Если напряжение упало ниже нормы, включится автоматический заряд, после окончания цикла заряда, ЗУ опять перейдет в режим контроля напряжения на батарее. Причем порог срабатывания выставляет сам пользователь в меню и силу тока тоже можно выбрать в меню. Лично я для себя установил порог 12.5 вольт и сила тока заряда 0.5А. Зярадка малым током более эффективна чем большими токами.

9. Возможно будет полезна функция "продолжение заряда после отключения электричества". Хотя такое совпадение может произойти раз в 150 лет, тем не менее эта функция есть. Зарядное всегда "помнит", что включен процесс заряда и если произойдет отключение/включение элетричества, заряд просто продолжится дальше. В любом случае все функции можно отключить или включить по выбору в меню. Если отключить все функуции, то зарядное просто станет "обычным зарядным" которое зарядит батарею и выключится.

10. Ну и напоследок в ЗУ будет работать программный таймер. Таймер будет постоянно тикать вперед 0..1,2 и так далее. Если батарея заряжается, а это видно будет по тому, как на ней будет постепенно подниматься напряжение до 14.4 вольта. Так вот, как только на батарее напряжение чуть поднялось, таймер сразу сбросится в 0 и продолжить снова считать 0...1,2... Но если батарея неисправна или старая, или не совсем правильна плотность электролита, то при определенном пороге заряд дальше невозможен. И этот порог может быть ниже 14.4 вольта. Как быть? В таком случае таймер перестанет сбрасываться. И дотикав до определенного момента, он попросту выключит заряд с сообщением на дисплей. Дальше кипятить батарею не имеет смысла. Таймер можно выключить в меню или включить, задав диапазон тикания от 30 мин до 3х часов. На дисплее можно будет видеть как таймер будет тикать и сбрасываться время от времени, если заряд протекат в штатном режиме.

Теперь перейдем к обсуждению схемы зарядника.

Блок питания.
В данном случае будем использовать любой импульсный блок питания (ИБП). Выходное напряжение от 16 до 20 вольт. Так как ток заряда будет до 5А, то выходной ток ИПБ должен быть с запасом где-то до 6А. Я использовал ИПБ MEAN WELL RS-75-15 у которого выходное напряжение 15 вольт, но в блоке есть подстроечный резистор которым можно поднять напряжение до 16.5 вольт. Преимущество ИПБ в том что он легкий, компактный и имеет уже втроенную защиту от повышенных токов, замыканий и пр. Поэтому об этом уже не надо особо заботиться. Впринципе подходит любой другой ИПБ. Хоть с ноутбука. Если в вашем ИПБ ток менее 5А, его тоже можно использовать, просто нужно следить за тем чтоб не выставлять ток заряда более чем может выдать ИПБ. Трансформатрный блок питания в нашем случае не подходит. Зарядное на трансформаторе это отдельная тема и отдельная статья. Итак схема питания будет выглядеть примерно так.

Конденсатор на 1000uF в принципе можно не ставить так как он уже установлен в импульсном блоке питания на выходе, но если установить то хуже не будет. Конденсатор С2 лучше если будет электролит, но я поставил керамический smd. Стабилизатор 7805 нужен чтобы питать МК, дисплей LCD и прочую обвязку.

Теперь подключим батарею и полевой транзистор.



Как видим, все просто. Транзистором будем регулировать силу тока через батарею. Реле К1 будет брать на себя роль защиты, будет включаться только тогда, когда батарея подключена и подключена правильно. Цементный резистор R18 выполняет роль шунта. При токе в 5А на нем будет напряжение 0.5 вольт. Это напряжение усилим и подадим на АЦП МК, так МК будет знать какой ток в цепи заряда и это значение можно будет вывести на дисплей. Теперь пора подключать МК к схеме.

Как видим схема немного усложнилась. Но не сильно. К выводу PB0 подключим реле, любое реле на 12V, контакты которого должны выдержать ток в 5А. Последовательно с реле надо подключить гасящий резистор примерно в 200 Ом, так как питаться то реле у нас будет от напряжения 16-20 вольт. Параллельно катушке реле надо установить защитный диод (любой, поставил LL4148) , без диода может пробиться транзистор VT4. VT4 может быть любой тип npn, использовал MMBT4401LT1 .

К выводам PD7, PC1, PC0 подключен энкодер. Использовался этот или этот . На выводы к которым подключен энкодер необходимо подключить конденсаторы 0.1 uF и подтягивающие резисторы по 10к. Это уменьшит контактов.

Дисплей использовался на две строки по 16 символов. Дисплей так же имеет встроенный русский шрифт. Если подключить дисплей без русских символов, на экране будут крякозябры. Так как у МК Atmega8 не сильно много ног, то дисплей подключил по 4х битной шине. Выводы дисплея DB3-DB0 не используются.

К выводу МК PB2 подключен диод шоттки BAT54S , два конденсатора 0.1uF и резистор 100 Ом. Зачем это нужно? Дело в том что в схеме используется операционный усилитель ОУ LM358 который не "rail to rail". В таких ОУ без отрицательного напряжения питания на минусовом выводе питания, на выходе ОУ никогда не будет 0 вольт. Поэтому эта цепочка элементов подключенная к выводу PB2 создает отрицательное напряжение где то -4V для питания ОУ. Для того чтобы цепочка на выводе PB2 заработала и генерировала -4V, на нее необходимо подать ШИМ сигнал со скважностью 50%. Таким образом на выводе PB2 всегда присутствует ШИМ с частотой 62.5 кГц.

На выводе PB3 так же всегда присутствует ШИМ, но скважность сигнала в данном случае от 0 до 100% уже регулируется вращением энкодера. Резистор R18 и конденсатор С11 составляют интегрирующую цепочку сглаживают ШИМ в постоянное напряжение. Резисторы R19 и подстроечный R20 являются делителем напряжения. Как настроить R20? Подключаем мультиметр к выводу PB3 и вращаем энкодер до тех пор, пока прибор не покажет 2.5 Вольта. Далее вращаем подстроечный резистор R20 так чтобы на неинвертирующем выводе ОУ было напряжение 0.25 вольта. На этом настройка R20 закончена.

Как работает регулировка и управление транзистором? Предположим что на неинвертирующем выводе ОУ (+) 0.5 вольт. Одно из свойств ОУ это то, что он стремиться к тому, чтоб уровнять разность потенциалов между его двумя входами. Делает это он используя свой выход, повышая или понижая на нем напряжение. Итак на выводе (+) 0.5 вольт, а на выводе (-) 0 вольт. Что дальше? ОУ сразу же начнет повышать напряжение на выходе, который подключен к затвору транзистора IRF540. Транзистор начинает открываться. Через батарею, транзистор и шунт начинает течь ток. Текущий ток вызывает падение напряжение на шунте R18. ОУ будет открывать транзистор до тех пор пока на шунте не будет напряжение 0.5 вольт. Напряжение с шунта подается через R13 на вывод (-). Как только на выводе (-) будет 0.5 вольта (такое же как и на выводе (+)), ОУ перестанет открывать транзистор. При этом ток заряда будет равен 5А.

Если энкодером уменьшить напряжение на выводе (+) до 0.25 вольта, ОУ уменьшит напряжение на затворе транзистора до такой величины, чтоб на выводе (-), так же стало 0.25 вольта, данное значение соответствует току заряда в 2.5А. Получается что регулировка тока заряда осуществляется аппаратным способом с помощью ОУ. А это очень хорошо, так как ОУ никогда не зависнет и скорость раекции мгновенная. Данная схема регулировки является обычным линейным источником тока. Удобство данной схемы в том что она является простой, но минус в том, что вся разность напряжения между импульсным блоком питания и напряжением на батарее выделяется в виде тепла на транзисторе.

К примеру ИПБ выдает 20 вольт, напряжение на батарее в начале ее заряда 12 вольт, а ток заряда 5А. Какая мощность выделиться на трназисторе? (20-12)*5=40 Вт. 40Вт это очень много!!! Нужен здоровенный радиатор и пять вентиляторов. Так никуда не годиться. Хотя транзистор IRF540 выдержит и 150 ватт, разогревать транзистором зарядник нет смысла. Как уменьшить выделение тепла? Можно понизить напряжение ИПБ например до 16 вольт. Тогда (16-12)*5 =20 Вт в два раза меньше уже лучше. Но нагрев можно сделать еще меньше до 5 ватт и менее. Каким образом?

В ИПБ подобного типа как MEAN WELL RS-75-15 всегда есть подстроечный резистор, которым можно регулировать напряжение на выходе в пределах 10%. Это значит от 13.5 до 16.5, в моем случае получилось от 13 до 17 вольт. Можно выпаять из ИПБ подстроечник, а вместо него впаять вывод МК, таким образом мы сможем с помощью МК регулировать напряжение на выходе ИПБ, это позволит снизить выделение тепла на транзисторе до минимума. К примеру если на батарее 12 вольт, понижаем напряжение до 13 вольт и получаем (13-12)*5=5 Вт тепла на транзисторе, лучше чем 40. Итак модернезируем схему


В выводу PB1 подключаем оптрон PC123 или подобный ему. На выводе PB1 так же всегда дежурит шим сигнал который интегрируется цепочкой R22 и C13. В ИБП выпаиваем подстроечный резистор и вместо него впаиваем обычный на 1.2 кОм. Вот теперь МК может управлять напряжением на выходе ИБП через оптрон. Когда оптрон выключен напряжение на выходе ИБП минимально, когда включен, резистор R23 шунтируется на землю, напряжение поднимается. Плавно закрывая/открывая оптрон с помощью ШИМ сигнала на выводе РВ1, плавно регулируем напряжение на выходе ИБП.

Чтабы знать когда и на сколько регулировать напряжение на выходе ИБП, надо знать сколько вольт вообще на силовом транзисторе. Нам то надо напряжение на выходе ИБП понизить настолько, чтоб разница между напряжением на батарее и напряжением на выходе ИБП была допустимо минимально. Для этого выводом РС2 используя АЦП МК измеряем напряжение на стоке транзистора. Это делается с помощью делителя R9 и R10. Теперь зная необходимые параметры, программа в МК будет сама контролировать скважность ШИМ на выводе РВ1.

Теперь осталось совсем немного. Это измерять ток в цепи заряда и выводить его на дисплей. И еще осталось измерить напряжение на батарее и так же вывести его на дисплей.

Напряжение на батарее измеряем дифференциальным способом. Значение снимаем с вывода РС5. Резисторы R5 и R6 должны быть ровно по 3кОм, а резисторы R2 и R4 по 1кОм, желательно точность не менее 1%, у меня таких не было поэтому R4 установил подстроечным. Суть в том, что при таких номиналах резисторов отношение напряжений на входах ОУ и на его выходе составляет 3:1. При изменении напряжения от 0 до 15 вольт на батарее, на выходе ОУ напряжение будет меняться от 0 до 5 вольт. Для настройки данной цепочки необходимо вместо батареи подключить 14.4 вольта например с лабораторного блока питания. Далее вращаем подстроечник R4 чтоб на дисплее LCD тоже было 14.4 вольта. Настройка цепи измерения напряжения на этом закончена.

Ток измеряется через падение напряжения на шунте, роль которого играет обычный цементный резистор. Ток у нас от 0 до 5А. Напряжение на шунте соответсвенно изменяется от 0 до 0.5 вольт. Значения резисторов R16 и R17 подобраны так, чтоб на выходе ОУ значение напряжения было от 0 до 5 вольт. Отображение тока заряда настраиваем по следующей цепочке. Подключаем батарею и делаем ток в 2.5 А. Параллельно батарее подключаем лампочку на 12 вольт. Батарею отключаем, а лампочку оставляем. Убеждаемся что ток равен 2.5 ампера. Если на шунте напряжение будет 0.25 вольт, значит ток равен 2.5А. если это не так, вращаем энкодер пока на шунте не будет 0.25 вольт. Теперь вращаем подстроечник R17 чтоб на дисплее отображался ток в 2.5А. Настройка отображения тока на этом закончена.

Что можно было бы упростить? Например если нет желания возиться с делителем напряжения в ИБП, то все что припаяно к ноге МК РВ1, можно выкинуть из схемы. Но все остальное должно быть на своих местах. Но в таком случае вся разница напряжения между батареей и на выходе ИБП высадится в виде тепла на силовом транзисторе. В таком случае радиатор берем побольше не жалеем.

Если нужен ток заряда до 10А, параллельно шунту припаиваем такой же шунт значением 0.1 Ом. Реле берем с контактами выдерживающем до 10А и параллельно транзистору IRF540 припаиваем еще один такой же. Транзисторы прикручиваем на здоровенный радиатор и вперед, делаем тест. Единственное, значение тока на диспле надо в уме умножать на 2. Если дисплей покажет 5А, на самом деле это уже будет 10А. Лично я сам так не делал, но в теории должно работать.

В конце концов итоговая схема будет иметь следующий вид:


Ничего не видно согласен, поэтому скачиваем схему отсюда .

Пару фрагментов прошивки.

#include "define.h" #include "init_mcu.h" #include "lcd.h" #include "text.h" #include "bits_macros.h" #include "fun.h" #include "encoder.h" #include "servise.h" #include "main.h" #include #include #include #include #include #include #include #define RELAY PB0 uint8_t lcd_time,lcd_track,lcd_count,enc_interval,enc_speed,off_charge; uint8_t U_bat_tim,I_bat_tim=255,stok_reg,energy_flag,count; uint16_t I_reg,enc_block,bat_count,bat_save,bat_off; EEMEM uint8_t energy_off; struct flag { _Bool lcd_clr_txt0: 1; _Bool lcd_clr_txt1: 1; _Bool count_timer0: 1;//для обработчика прерывания _Bool start_charging: 1;//отключение реле если при заряде бат откл. электричество _Bool ocr1a_block: 1; }flags; ISR(TIMER0_OVF_vect)//прерывание по переполнению Timer 0 раз в 1мсек. { TCNT0=0x6; flags.count_timer0=1; } void reg_I(uint16_t reg_val)//уменьшение тока заряда при достижении 14.4вольта { if (I_reg>reg_val) { I_reg=0; off_charge=1; if (OCR2!=0) { OCR2--; enc_data=OCR2; } } } void charg_off(void) { if (BitIsSet(PORTB,RELAY)) { eeprom_update_byte(&energy_off,0); } ClearBit(PORTB,RELAY); ClearBit(TCCR2,COM21);//отключили аппаратный вывод шим на пине PB3 OCR1A=0;//опустили питание импульсника до 12.5 вольт. off_charge=0; flags.start_charging=0; flags.ocr1a_block=0; enc_data=0; I_bat_tim=255; count=0; OCR2=0; } int main(void) { #if 1//инициализация MCU_init_ports(); MCU_init_adc(); MCU_init_an_comp(); MCU_init_timer0(); MCU_init_timer1(); MCU_init_timer2(); LCD_init(); LCD_string_of_flashXY(text_1,4,0); LCD_string_of_flashXY(text_2,3,1); _delay_ms(1500); LCD_string_of_flashXY(text_3,3,0); LCD_string_of_flashXY(text_4,2,1); _delay_ms(1500); LCD_clear(); if (BitIsClear(PIND,PUSH)){servise();}//вход в сервисное меню if (eeprom_read_byte(&energy_off) && u_batt()>20) { enc_data=eeprom_read_byte(&i_pusk); } else { eeprom_update_byte(&energy_off,0); } MCU_init_wdt(); sei(); #endif while(1) { wdt_reset(); uint8_t u_bat=u_batt(); uint8_t i_bat=i_batt(); #if 1/*определяем подключена ли батарея*/ if (u_bat>30)//30*0.0585=1.7 вольта на батарее, подключена { if (flags.lcd_clr_txt0==0) { flags.lcd_clr_txt0=1; LCD_clear(); } if (lcd_time>200) { lcd_time=0; LCD_string_of_flashXY(text_7,0,0); LCD_string_of_flashXY(text_9,7,0); LCD_string_of_flashXY(text_11,13,0); char buffer; uint16_t U=(u_bat*59)/100; utoa((uint8_t)U, buffer, 10);//выводим напряжение на дисплей if ((uint8_t)U>=100) { LCD_dataXY(buffer,2,0); LCD_data(buffer); LCD_data("."); LCD_data(buffer); LCD_string_of_flashXY(text_10,6,0); } else if ((uint8_t)U>=10 && (uint8_t)U<=99) { LCD_dataXY(buffer,2,0); LCD_data("."); LCD_data(buffer); LCD_string_of_flashXY(text_10,5,0); } else { LCD_dataXY("0",2,0); LCD_data("."); LCD_data(buffer); LCD_string_of_flashXY(text_10,5,0); } uint16_t I=(i_bat*20)/100; utoa((uint8_t)I, buffer, 10);//выводим ток на дисплей c шунта if ((uint8_t)I>9) { LCD_dataXY(buffer,10,0); LCD_data("."); LCD_data(buffer); } else { LCD_dataXY("0",10,0); LCD_data("."); LCD_data(buffer); } } } else //неподключена { LCD_string_of_flashXY(text_5,0,0); LCD_string_of_flashXY(text_6,0,1); flags.lcd_clr_txt0=0; eeprom_update_byte(&energy_off,0); continue; } #endif #if 1/*обрабатываем флаг прерывания timer0*/ if (flags.count_timer0==1) { flags.count_timer0=0; lcd_time++; enc_interval++; I_reg++; lcd_track++; if (enc_speed!=100)//определяем скорость вращения энкодера. { enc_speed++; } if (enc_block>=1) { enc_block++; if (enc_block>=500) { enc_block=0; } } if (BitIsSet (PORTB,RELAY)) { bat_count++; } else { bat_count=0; bat_off=0; bat_save++; } stok_reg++; if (flags.start_charging && count!=255) { count++; } } #endif #if 1/*Получение данных от энкодера*/ if (enc_interval>=5) { enc_interval=0; OCR2=encoder();//считали значение энкодера. #if 0//временно для теста char buffer; utoa(OCR2, buffer, 10); if (OCR2>=100) { LCD_dataXY(buffer,0,1); LCD_data(buffer); LCD_data(buffer); } else if (OCR2>=10 && OCR2<=99) { LCD_dataXY("0",0,1); LCD_data(buffer); LCD_data(buffer); } else { LCD_dataXY("0",0,1); LCD_data("0"); LCD_data(buffer); } #endif if (OCR2==0)//отключаем все. { charg_off(); } else//начали заряд { if (flags.ocr1a_block==0) { flags.ocr1a_block=1; OCR1A=255;//подняли питание импульсника до 17 вольт. } SetBit(TCCR2,COM21); SetBit(PORTB,RELAY); } } #endif #if 1 /*уменьшение тока заряда при достижении 14.4вольта*/ if (u_bat==246 && OCR2>0) { reg_I(3000);//раз в 3 сек } else if (u_bat==255 && OCR2>0) { reg_I(100);//раз в 100 мсек } else if (u_bat>246 && OCR2>0) { reg_I(500);//раз в 500 мсек } #endif #if 1 /*Отключаем заряд при достижении тока заряда 0.1А*/ if (off_charge==1 && enc_block==0) { if (i_bat<=5)//5*0.02=0.1 А ток в батарее. { charg_off(); flags.lcd_clr_txt1=1; LCD_string_of_flashXY(text_13,0,1);//"БАТАРЕЯ ЗАРЯЖЕНА" } } //отключение реле если при заряде бат откл. электричество. if (OCR2>0 && i_bat>4)//4*0.02=0.08A { flags.start_charging=1; } if (flags.start_charging==1 && i_bat<2 && count==255)//2*0.02=0.04 А ток в батарее. { ClearBit(PORTB,RELAY); } #endif #if 1 /*Бегущий индикатор на дисплее*/ if (OCR2>0) { if (flags.lcd_clr_txt1==1) { flags.lcd_clr_txt1=0; LCD_string_of_flashXY(text_8,0,1); } if (lcd_track>=200) { lcd_track=0; lcd_count++; switch (lcd_count) { case 0: LCD_data_of_flashXY(text_15,8,1); break; case 1: LCD_data_of_flashXY(text_16,8,1); break; case 2: LCD_data_of_flashXY(text_17,8,1); break; case 3: LCD_data_of_flashXY(text_18,8,1); break; case 4: LCD_data_of_flashXY(text_19,8,1); break; case 5: LCD_data_of_flashXY(text_20,8,1); break; case 6: LCD_data_of_flashXY(text_21,8,1); break; case 7: LCD_data_of_flashXY(text_22,8,1); break; case 8: #if 1 if (off_charge==1) { lcd_count=5; break; } if (u_bat<232)// 13.57V/0.0585=230 на АЦП. { lcd_count=255; LCD_string_of_flashXY(text_12,8,1); } else if (u_bat<=234) { lcd_count=0; } else if (u_bat<=236) { lcd_count=1; } else if (u_bat<=238) { lcd_count=2; } else if (u_bat<=240) { lcd_count=3; } else if (u_bat<=242) { lcd_count=4; } else if (u_bat<=244) { lcd_count=5; } else { lcd_count=5; } break; #endif default:lcd_count=5; break; } } } else { lcd_count=255; if (flags.lcd_clr_txt1==0) { flags.lcd_clr_txt1=1; LCD_string_of_flashXY(text_8,0,1); } } #endif #if 1 /*Аварийный таймер отключения*/ if (bat_count>=60000 && eeprom_read_byte(&timer_time))//мсек 60000 { bat_count=0; bat_off++; #if 1//для отладки LCD_string_of_flashXY(text_37,0,1); char buffer; utoa(bat_off, buffer, 10); if(bat_off>=100) { LCD_dataXY(buffer,2,1); LCD_data(buffer); LCD_data(buffer); LCD_string_of_flashXY(text_38,5,1); } else if (bat_off>=10 && bat_off<=99) { LCD_dataXY(buffer,2,1); LCD_data(buffer); LCD_string_of_flashXY(text_38,4,1); } else { LCD_dataXY(buffer,2,1); LCD_data(" "); LCD_string_of_flashXY(text_38,4,1); LCD_dataXY(" ",7,1); } #endif } if (u_bat>U_bat_tim && off_charge==0)//сброс аварийного таймера по напряжению { bat_off=0; U_bat_tim=u_bat; } if (i_bat= eeprom_read_word(&tim_dlitl))//180 минут по умолчанию { charg_off(); LCD_string_of_flashXY(text_14,0,1); bat_off=0; flags.lcd_clr_txt1=1; } #endif #if 1/*Регулировка напряжения на выходе блока питания*/ if (stok_reg>=100) { stok_reg=0; uint8_t u_stok=u_stokk(); if (u_stok>62)//0,0195*51*2=2 вольта на стоке. { if (OCR1A!=0) { OCR1A--; } } else if (u_stok<60) { if (OCR1A!=255) { OCR1A++; } } #if 0//временно для теста char buff; utoa(u_stok, buff, 10); if (u_stok>=100) { LCD_dataXY(buff,3,1); LCD_data(buff); LCD_data(buff); } else if (u_stok>=10 && u_stok<=99) { LCD_dataXY("0",3,1); LCD_data(buff); LCD_data(buff); } else { LCD_dataXY("0",3,1); LCD_data("0"); LCD_data(buff); } #endif } #endif #if 1 /*Режим хранения батареи*/ if (bat_save>=60000 && eeprom_read_byte(&save_on)!=0) { bat_save=0; if (u_bat<=eeprom_read_byte(&u_start))//12.5V / 0.0585=213,6 на АЦП { enc_data=eeprom_read_byte(&i_pusk); } } #endif #if 1 /*Режим отключения питания*/ if (enc_data && eeprom_read_byte(&power_off) && energy_flag==0) { energy_flag=1; eeprom_update_byte(&energy_off,1); } #endif } } #if 1 //тексты на дисплей const uint8_t PROGMEM text_1="Зарядное"; const uint8_t PROGMEM text_2="устройcтво"; const uint8_t PROGMEM text_3="SIRIUS 5А "; const uint8_t PROGMEM text_4="Для АКБ 12В"; const uint8_t PROGMEM text_5="Подключи батарею"; const uint8_t PROGMEM text_6="УЧТИ полярность."; const uint8_t PROGMEM text_7="U="; const uint8_t PROGMEM text_8=" "; const uint8_t PROGMEM text_9=" I="; const uint8_t PROGMEM text_10="В "; const uint8_t PROGMEM text_11="А "; const uint8_t PROGMEM text_12=" "; const uint8_t PROGMEM text_13="БАТАРЕЯ ЗАРЯЖЕНА"; const uint8_t PROGMEM text_14="ЗАРЯД ОТКЛЮЧЕН! "; // const uint8_t PROGMEM text_15={0xFF,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0}; // 1 const uint8_t PROGMEM text_16={0xFF,0xFF,0x20,0x20,0x20,0x20,0x20,0x20,0}; // 12 const uint8_t PROGMEM text_17={0xFF,0xFF,0xFF,0x20,0x20,0x20,0x20,0x20,0}; // 123 const uint8_t PROGMEM text_18={0xFF,0xFF,0xFF,0xFF,0x20,0x20,0x20,0x20,0}; // 1234 const uint8_t PROGMEM text_19={0xFF,0xFF,0xFF,0xFF,0xFF,0x20,0x20,0x20,0}; // 12345 const uint8_t PROGMEM text_20={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x20,0x20,0}; // 123456 const uint8_t PROGMEM text_21={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x20,0}; // 1234567 const uint8_t PROGMEM text_22={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0}; // 12345678 const uint8_t PROGMEM text_23 ="Режим сохр. "; const uint8_t PROGMEM text_24 ="ВКЛ "; const uint8_t PROGMEM text_25 ="ВЫКЛ"; const uint8_t PROGMEM text_26 ="U запуска <"; const uint8_t PROGMEM text_27 =" СЕРВИСНОЕ МЕНЮ "; const uint8_t PROGMEM text_28 =" ВЫХОД ИЗ МЕНЮ "; const uint8_t PROGMEM text_29 ="I запуска "; const uint8_t PROGMEM text_30 ="Режим отключения"; const uint8_t PROGMEM text_31 ="питания "; const uint8_t PROGMEM text_32 ="Аварийный Таймер"; const uint8_t PROGMEM text_33 =" ВКЛ "; const uint8_t PROGMEM text_34 =" ВЫКЛ "; const uint8_t PROGMEM text_35 ="задержка "; const uint8_t PROGMEM text_36 =" мин"; const uint8_t PROGMEM text_37 ="T="; const uint8_t PROGMEM text_38 ="min"; #endif

Вопросы задаем сюда dmalash@gmail com
Если кому то нужен прошитый микроконтроллер, то его можно заказать отсюда . Все остальное естественно собираем и делаем сами.

Сейчас немного видео и фотографий. Вот так выглядел самый первый прототип.

Вот так выглядела первая плата.

В последствии была сделана более цивильная плата.

Потом был придуман корпус.

Потом все это было собрано.

В итоге получилось вот что.

Скачать схему зарядного устройства можно .
Заказать прошитый микроконтроллер можно .
Дополнительная информация., печатная плата .
Вопросы и пожелания [email protected]

Микропроцессорное зарядное устройство для необслуживаемых свинцово-кислотных аккумуляторных батарей.

Рис. 1 Устройство со снятой крышкой.

План.

1) Обратная связь.
2) Введение.
3) Что же такое простейшая автоматика?
4) А как же улучшить ситуацию?
5) Подходим к вопросу: "А что же хотел пользователь"?
6) Недостатки конструкций, найденных в Интернете.
7) Создание собственной системы.
8) Поиск подходящего БП.
9) Подготовительный этап (сборка аналоговой части).
10) Установка в корпус и переподключение трансформатора.
11) Сборка цифровой части.
12) Методика прошивки и Fuse биты.
13) Что нужно пользователю видеть на верхнем уровне?
14) Финальное тестирование.
15) Как в последующем обновлять прошивку?
16) Алгоритм автономной работы.
17) Прошивка и программа контроля.
18) А что можно почитать по данному вопросу?

Обратная связь.

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

Введение.

После выхода на нашем сайте двух статей о и UPS под нужды , мы много раз сталкивались с проблемой зарядки и тестирования необслуживаемых свинцовых аккумуляторных батарей (они же lead acid battery или, по простому, аккумуляторы из UPS). К моменту написания этой статьи у автора уже был опыт создания и двухлетней эксплуатации "автоматического" зарядного устройства, сделанного из компьютерного ATX блока питания (в свою очередь собранного на ШИМ контроллере ). Вот документация на и ее аналог .

Что же такое простейшая автоматика?

Ну начнем с определения. В большинстве найденных в Интернете схем простейших "автоматических" зарядных устройств, под автоматикой понималось ограничение тока заряда (обычно около 1-2А) до некоторого порогового напряжения (обычно около 13.8-14.5В), а потом переход на стабилизацию напряжения.

Рис. 2 Блок схема TL494.

Измерение напряжения проводится через делитель напряжения, подключенный к 1ой и 2ой ногам , а ограничитель тока, отключением выходных ключей микросхемы по средствам подачи +5В на 4 ногу . По-другому, берем ATX блок питания на или его аналоге, создаем токоизмерительную цепь из сопротивления 1Ом 5Вт и оптопары, выходы оптопары заводим в обратную связь по току (4 ногу ), организуем делитель напряжения (для 1ой и 2ой ног ) для ограничения напряжения на выходе, ну и на последок организуем питание вентилятора - вот и все работы. Для наглядности приведу схему переделки под .
Если выкопировка из схемы моего блока питания отлична от вашей, то с 28 разными схемами ATX блоков питания, собранных на и их аналогах.
Самый ближайший аналог схемы под мой блок питания вот .
Если схем блоков питания разных вагон, а нужной как всегда нету, то придется срисовывать схему самому. Отсутствие унификации связанно с тем, что дешевые блоки питания собирают "на коленке", по принципу как есть, включая .
Но, вернемся к нашим ба... блокам питания: к сожалению, такое простое и красивое решение имеет ряд технологических недостатков. Как было написано на одном сайте со схожей тематикой: "Есть такая наука - ХИМИЯ. И все, что происходит в аккумуляторных батареях, подчиняется законам Химии. Все "умные советы бывалых", которые не ложатся на химию - вредны по определению" (С) adopt-zu-soroka .
От себя хочу добавить, что аккумулятор находится на стыке ФИЗИКИ и ХИМИИ, то есть, кроме химических процессов есть конвенция раствора активной массы, иссыхание пластин и нагрев, которые рассмотрены в физике.

Что это означает применительно к нашей простейшей "автоматической" зарядке:
1) Постоянный "маленький подзаряд", обеспечивающий поддержание порогового напряжения (в режиме стабилизации напряжения), сушит аккумуляторы (из них испаряется вода, долить которую в необслуживаемые аккумуляторы относительно сложно), что в свою очередь сильно снижает срок службы аккумулятора. Особенно, если аккумулятор оставляют каждую ночь на подзарядку.
2) Зарядка большим, не пульсирующим током в самом начале заряда (особенно при сильно разряженных аккумуляторах), сильно снижает оставшийся ресурс аккумулятора (оставшееся количество циклов заряд/разряд), а в некоторых случаях без раскачки аккумулятор не берет заряд.
3) Зарядка постоянным током без пульсаций, в десятые доли герца увеличивает сульфатацию и препятствует более полному использованию хим.веществ, т.к. не дает пауз на выравнивание плотности раствора активной массы.
4) Пункт 3 также относится и к тренировочному разряду, который в простейшей "автоматической" зарядке просто не реализован, а в большинстве самодельных, микропроцессорных зарядках полностью не контролируется.
5) ECR аккумулятора измеряют на относительно большой частоте, поэтому для измерения ECR желательно иметь схему тестового разряда относительно большим током малой скважности, т.е. иметь блок тестирования подключаемый без фильтровочных конденсаторов.

Подвожу итог: Для однократного использования простейшие "автоматические" зарядки вполне подходят, а при постоянной(каждодневной) зарядке одного и того же аккумулятора применение простейших зарядок сильно снижает ресурс заряжаемого аккумулятора. А в большинстве своем средств диагностики они вообще не имеют, так как при такой реализации единственный метод диагностики это проверка постоянным током РАЗРЯДНОЙ лампочкой 12В 75Вт. Но по результату такого теста можно только примерно оценить процент заряда, а определить оставшуюся емкость аккумулятора (косвенно о емкости можно сделать вывод по значению ECR) с его помощью практически невозможно. Более плотное знакомство с их программным обеспечением выявило практически поголовное отсутствие самодиагностики у самодельных устройств.
Отходя от темы скажу, что при наладке своего устройства мной были зафиксированы случаи частичной порчи некоторых байт прошивки в микроконтроллере, т.е. при программировании он проходил верификацию, но на следующий день прошивка билась и если бы в моей системе отсутствовал блок самоконтроля целостности прошивки, то система могла вести себя неадекватно (как вариант испортить аккумулятор).

А как же улучшить ситуацию?

Создать схему измерения токов (тока заряда и тока разряда) и напряжения в обычном и измерительном режиме, что в совокупности даст возможность подсчитать количество энергии, передаваемой в оба направления и поручить заряд ГРАМОТНО составленному алгоритму, чередующему заряд/разряд и продолжительность циклов (то есть, алгоритм, составленный с учетом физ. и хим. структуры данного типа аккумуляторов). Правда, тут надо уточнить, что грамотно составленный алгоритм составляется по имеющимся данным и к данной конкретной ситуации, а при изменении исходных данных или ситуации требуется и корректировка алгоритма.

Подходим к вопросу:
"А что же хотел пользователь"?

Как другим - не знаю, а большинству моих пользователей нужна зарядка с простейшим управлением, которую можно будет использовать:
1) Для зарядки необслуживаемых свинцово - кислотных необслуживаемых аккумуляторных батарей, напряжением 12В и емкостью от 12V3.3Ah до 12V18Ah. Описание свернуто в "пояснения":


2) Для каждодневной (правильней сказать на всю ночь) подзарядки не полностью разряженных свинцово - кислотных аккумуляторных батарей.
3) Для тестов определения оставшегося процента заряда и оставшейся емкости свинцово - кислотных аккумуляторных батарей.
4) Для тестовых/тренировочных автоматических циклов заряд-разряд свинцово - кислотных аккумуляторных батарей по месту (например, отключенных от UPS батарей в серверном шкафу без их физического демонтажа из шкафа).

При этом данная конструкция должна обеспечивать:
1) Функцию самодиагностики основных блоков устройства и звуковую индикацию внештатных ситуаций таких как: переполюсовка клемм, подключение аккумулятора не того напряжения, внезапное отключение аккумулятора во время заряда/разряда, замыкание выходной цепи и т.д.
2) Функцию обновления прошивки без внешнего программатора (не вскрывая корпуса устройства).
3) Память последнего активного режима и, в случае обесточивания и повторного включения, автоматически возвращаться к прерванной операции.
4) Достаточную точность измерительной системы, необходимость которой диктует физика и химия процесса.

Рис. 3 Зависимости срока службы от напряжения в режиме StendBy.

Подробности по вопросам "достаточной точности измерительной системы" свернуты в "пояснения".

По ГОСТ 825-73 "Аккумуляторы свинцовые для стационарных установок" номинальное напряжение свинцового стационарного аккумулятора любой емкости принято считать равным 2В. Это наименьшее допускаемое напряжение на зажимах полностью заряженного аккумулятора в течение первого часа разряда десятичасовым режимом при плотности раствора соляной кислоты 1205±5 кг/м3 и температуре раствора +25"С. Предельное напряжение, до которого разрешается разряжать аккумуляторы при температуре раствора +25° С, составляет: для режимов разряда - не короче трехчасового = 1,8В, а для более коротких режимов (включая 15-минутный) = 1,75В (то есть, до 10.8В на 12В аккумуляторе, измеренное под нагрузкой или не ниже 12В без нагрузки).
Но в документации на один из аккумуляторов (смотри ) эти параметры немного отличаются. До 10.8В на 12В аккумуляторе при токах от 0.16С и менее (от 5 часового разряда и до 18 часового) и до 9.3В на 12В аккумуляторе при токах от 1С-3С (от 8 минутного разряда и до 43х минутного). Правда с оговоркой - при таких токах аккумулятор прослужит 260 циклов заряд/разряд или 5 лет в режиме StendBy.
Этот же , но в маленьком масштабе (зато с пояснениями) представлен в документации к аккумулятору .
График зависимости срока службы аккумуляторной батареи от напряжения постоянного подзаряда в режиме StendBy приведен на Рис. 3.
Указанные предельные значения напряжений, до которых можно разряжать аккумуляторы, установлены опытным путем. Они выбраны с таким расчетом, чтобы не вся активная масса превращалась при разряде в сернокислый свинец, так как это вызвало бы чрезмерную сульфатацию пластин.
То есть, можно сделать вывод о том, что нельзя разряжать ниже допустимого предела и нельзя перезаряжать выше указанного номинала - в этом случае идет работа только с "активной массой" и не допускается разрушение пластин в первом случае и кипения раствора - во втором.


Недостатки конструкций, найденных в Интернете.

Идем в Интернет и находим несколько десятков готовых микропроцессорных зарядок. Как говорится - задача на уровне школьного кружка "сделай сам", поэтому практически каждый радиолюбитель начинает свое творчество с "изобретения" зарядки из подручных средств. Вот только, к сожалению и результат по качеству не выходит за уровень школьного кружка... Смотрим на описание устройств и их схемы и на некоторых из них обнаруживаем не очень приятные вещи:
1) Отсутствует даже упоминание о технике безопасности работы с аккумуляторными батареями и сетью ~220В.
2) Отсутствие точной настройки измерительной системы (измеряемого напряжения и тока). Как писалось выше, превышение или занижение параметров может привести к разрушению пластин или выкипанию раствора.
3) Использование дорогих датчиков тока. Напомню, что датчик тока на основе эффекта Холла плюс дисплей стоят дороже всей системы вместе взятой. При том, что исходя из химии и габаритов используемых аккумуляторов (напомню мой пользователь хотел от 3,3 до 18 Ah), измерять больше нескольких ампер нам не придется. А про дисплей написано в пункте 4.
4) Наличие кучи светодиодов, кнопок и дорогого дисплея на корпусе устройства. Вы когда-нибудь пробовали втиснуться в глубь серверного шкафа и посмотреть на расстоянии 1м что написано на дисплее размером в спичечный коробок? А без задания режима через кнопки навигации (сверяясь с надписями на дисплее), найденные конструкции не работают. Поставить дисплей побольше и вынести его вместе с кнопками на 1м кабеле? А раз выносить, то это уже два разных устройства: отдельно зарядка и отдельно дисплей.
5) Питание вентилятора системы от напряжения заряда. То есть, или от 16В (см. пункт 5) и при этом городить понижающую часть или питать напрямик от напряжения на клеммах (где мы имеем от 9В до 14В вместо штатных 12В).
6) Создание своей импульсной схемы стабилизации напряжения из входных 16В. То есть, история на тему, а давайте создадим еще один дополнительный ШИМ (один на уже есть в блоке питания), но на низковольтной части, что увеличит габариты схемы, потребует дополнительных силовых ключей на радиаторах и уменьшит КПД системы в целом.
7) Разрядный алгоритм без контроля разрядного тока. А в большинстве случаев и без элементов его замера (я не про общий ток который измеряется практически везде, а про разрядный).
8) Необходимость перемотки силового трансформатора (Ниже в подробностях свернуто 3 способа разборки и перемотки). Это конечно даст прирост тока, но этот прирост нам нужен? Со штатными обмотками трансформатор может дать 3-5А, из которых в данной конструкции мы используем максимум 1-2A (14В*2А=28Вт) и 15A нам для нашего ТЗ не надо (14.8В*15А=217Вт).

"Щелкните по этому тексту, чтобы развернуть пояснения"

Способ 1 = Выпаиваем трансформатор, аккуратно снимаем наклейку с надписью и разматываем желтый скотч, разогреваем его в печке до 150 градусов в течении 15 минут и расшатать сердечник вручную в перчатках.

Рис. 4 После расшатки.
БП SL-Lite

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

Рис. 5 Процесс обдува феном.
Фото пользователя DenGess из топика БП SL-Lite

Способ 3 = Выпаиваем трансформатор, аккуратно снимаем наклейку с надписью и разматываем желтый скотч, вывариваем трансформатор в воде в течении 10 минут.

Рис. 6 Вы еще варите трансформаторы в чайниках?
Фото пользователя DenGess из топика БП SL-Lite



9) Габариты устройства часто превышают размер стандартного ATX блока питания. За бортом чаще всего оказывается "утилизатор энергии разряда", обычно его роль выполненяет автомобильная лампочка из фары, из за чего вся конструкция начинает сильно смахивать на детский ночник. Причем как говорилось выше лампочка в "ночнике" просто включается, без какого либо контроля или стабилизации потребляемого ею тока.
10) Отсутствие систем самодиагности и систем контроля целостности программного обеспечения (об этом я уже писал выше).

Создание собственной системы.

Ну раз готовых подходящих разработок не наблюдается, то постараемся описать порядок изготовления подобной системы самостоятельно из того, что было под руками - "Я тебя слепила из того что было" (С) не мой.
Хотя выше писалось, что это задача на уровне школьного кружка "сделай сам", но ее выполнение сопряжено с высоковольтными импульсными источниками питания, поэтому, если вы до этого их не разрабатывали, то лучше начать тренироваться на чем-нибудь другом, менее энергонасыщенном, более низковольтном и как следствие менее опасным... К тому же, аккумуляторы при неправильном использовании, сами по себе не безопасны и помещения аккумуляторных на всех производственных сооружениях относятся к классу "А" - как сверх пожароопасные.
Ну и как всегда - оговорка. Про возможность пожара и поражение электрическим током при нарушении правил эксплуатации и некачественной сборке я упоминал выше. А про возможность химического поражения содержимым аккумулятора в результате замыкания его клемм и теплового разрыва корпуса, говорю сейчас. Поэтому все эксперименты с аккумуляторами и самодельными зарядными устройствами вы делаете на свой страх и риск, осознавая всю ответственность за возможные последствия.
Ну и наше любимое ПУЭ... Электропитание осуществляется от сети переменного тока 50Гц, 220В в соответствии с "Правилами устройства электроустановок". Для обеспечения безопасности людей, электрооборудование должно быть надежно заземлено в соответствии с требованиями ПУЭ и паспортными требованиями на электрооборудование. Помещение в котором располагается оборудование должны быть оборудованы контуром - шиной защитного заземления, с которым соединяются корпуса всех устройств через розеточную сеть. Для присоединения заземляющих проводников в шину должны быть выведены винты М8. Контур - шина защитного заземления должен соединяться с заземляющим устройством. Величина заземления должна быть не более 4 Ом. Заземление внутри помещений должно соответствовать ГОСТ 12.1.030-81. Создание заземления и соответствие его стандартам обеспечиваются пользователем.
Если Вас абзацы выше не напугали (вы с ними согласны) и вы ознакомились в интернете с техникой безопасности при работе с аккумуляторами и теорией первой медицинской помощи при химических ожогах и поражении электрическим током, а также запаслись огнетушителем для тушения возгораний класса "E" (позволяет тушить оборудование под напряжением) и выполнили все меры по улучшению безопасности, то приступим непосредственно к переделке БП в микропроцессорную зарядку.
Причем хочу отметить , что опасны (при не соблюдении техники безопасности) в данном применении, аккумуляторы и сетевое напряжение ~220В. А сам переделываемый блок питания относится к слабогорючим (т.е. он не поддерживает горение и практически не горит если его из вне паяльной лампой не жечь...) и химически активных веществ (кислоты) в себе не содержит.
Вывод: Данные замечания относятся практически ко всем зарядным устройствам заряжающим аккумуляторы и питающиеся от сети ~220В. Поэтому если авторы других самодельных зарядных устройств не предупреждают Вас о "побочных свойствах" в их устройстве и тонкостях его эксплуатации, то это вовсе не означает, что этих свойств и тонкостей в них нет.
Хотя данная статья ориентирована на относительно опытных пользователей, не первый год владеющих паяльником, я ниже буду описывать все очень подробно и пошагово - как для начинающих. Такой подход позволит провести полный контроль сборки и не забыть проверить какой-либо из блоков. Т.е. ниже будет описан процесс изготовления и настройки каждого блока моей .

Рис. 7 Структурная схема устройства "на пальцах".

Подробное описание структурной схемы свернуто в "пояснения".

"Щелкните по этому тексту, чтобы развернуть пояснения"

А раз мы решили пояснять на пальцах, то данное устройство можно наглядно сравнить с водопроводной системой, изображенной на Рис. 7 (перетоки энергии в ней анимированы ниже по тексту). И для полной аналогии левый верхний кран изображает управление ШИМ контроллером . Левый синий бак это фильтровочный конденсатор после выпрямительного мостика, два зеленых бака соединенных маленькой трубкой это аккумулятор, а трубка, в свою очередь, олицетворяет внутреннее сопротивление аккумулятора. Краны под баком это два реле отключения аккумулятора от зарядно/разрядной и отключения от тестовой систем. Верхний правый кран это две тестовые РАЗРЯДНЫЕ лампочки 12В 50Вт включенные на ШИМ управляемый от центрального процессора. Нижний правый кран это штатная система разряда стабилизированным током состоящая из 8 РАЗРЯДНЫХ лампочек на 13.8В по 0.16А контролируемая ШИМ контроллером .

Стандартные вопросы по блок схеме:
- Зачем два ШИМ на разряд?
- А нельзя ли меньше лампочек? Может заменить их одной лампочкой?
- Может вместо лампочек поставить одно сопротивление и светодиод?
- Ладно, это все понятно, но два включающих реле вместо одного переключающего то зачем?

И ответы на них:
- Нужна малая скважность при малом токе разряда и очень большая при тестовом. Если поставить один контроллер, то это условие не соблюдается, т.к. мы получим строго наоборот, плюс мешается конденсатор - синий бак по схеме.
- Лампочки очень не любят момент включения с холодной спиралью на полное напряжение, поэтому напряжение и ток понизили, установив несколько лампочек.
- Лампочки в отличие от сопротивлений имеют свойство стабилизировать ток, если эту функцию возложить на контроллер - он будет регулировать ток скважностью, а нам нужна малая и желательно постоянная скважность в некотором диапазоне напряжений...
- Два включающих реле вместо одного переключающего установлено ДЛЯ НАДЕЖНОСТИ! При тестирование были случаи самопроизвольного открытия силового ключа ШИМ контроллера от электромагнитных наводок на провода в корпусе устройства.


Поиск подходящего БП.

Находим рабочий компьютерный ATX блок питания на , желательно с "Т" образными радиаторами. Самый простой способ поискать у друзей или наведаться в ближайшую фирму по ремонту компьютеров и купить несколько дохлых блоков питания по цене 1$ за пару.
Как выбрать нужный по внешним признакам свернуто в "пояснения".

"Щелкните по этому тексту, чтобы развернуть пояснения"

Как выбрать нужный: "Т" образные радиаторы видны через щели, а отличить блок питания на от более современной его версии (например на которая более сложна и менее подходит для переделки) можно по размеру микросхемы и наличии второй микросхемы или транзисторов во вторичке. То есть, если во вторичке видно две микросхемы или куча транзисторов, то это точно не GS6105, а или ее аналог. Например, является обрезанной версией в части защиты от превышения входного напряжения, но при этом полностью совместим по ногам. Если есть выбор из нескольких испорченных блоков питания, то определить ремонто - пригодный не вскрывая корпуса можно, измерив Омы на разъеме питающего кабеля ~220В. Или омы на входе есть, или там бесконечность (пробит входной предохранитель). Если пробит входной предохранитель, то такой блок лучше оставить (чинить первичку долго, сложно и нудно). А, измерив Омы между землей и +5 шиной, мы видим или заряд конденсатора или сопротивление около 1-20 Ом. Если обнаруживается 1-20 Ом вместо заряда, то сплавился в гайку диод +5В шины. Если при этом не вылетел входной предохранитель, то в БП, скорее всего, работает защита (но главный вывод вам повезло и в данном экземпляре она есть). А так как диод в 5 вольтовой цепи нам, для нашей конструкции не нужен, то в 95% такой БП можно будет восстановить (для проверки "на старт без нагрузки" заменив на два обычных), а потом и переделать.
Кстати замечено, что не все БП стартуют без нагрузки. Поэтому, если в БП сломался вентилятор (а особенно если кроме ветродуя подсохли кондеры во вторичке), то попытка его включить замыкая PW_On может не привести к желаемому результату и БП по этой причине может быть записан в дохлые.
Внимание!!! Если в блоке питания неработает дежурка (+5vSb) то входные конденсаторы после мостика заряжаются до 400В и длительное время могут оставаться заряженными даже после отключения блока питания от сети.
Мне попался блок питания, имеющий схему, отдаленно напоминающую схему из данного мануала .
Но если у вас другой, то прикладываю архив с 28 схемами ATX блоков питания, собранных на и их аналогах .
Ну и далее блок питания надо проверить под маленькой нагрузкой (я использую два HDD - динозавра на 25мб каждый), а если он не работает, то починить, подробнее о ремонте блоков питания на ищите в интернете.


Подготовительный этап
(сборка аналоговой части).

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

Рис. 8 Разрядная часть в работе.

Подробности по данному пункту свернуты в "пояснения".

"Щелкните по этому тексту, чтобы развернуть пояснения"

Рис. 9 Решетка для cooler"а.

1) Убеждаемся, что блок питания включается и дает +5 и +12 (с разбросом +/-1В). Для включения провод PW_On (обычно это провод зеленого цвета находящийся между двумя черными в АТХ вилке), надо замкнуть скрепкой на один из черных (землю). Если блок питания не работает или cooler у него плохо крутится, то чиним БП и смазываем cooler (если и после смазки он плохо крутится - меняем cooler). Если решетка cooler"а выполнена в виде прорезей в корпусе блока, то для улучшения обдува и уменьшения шума желательно выкусить ее кусачками и заменить на стандартную - внешнюю решетку для cooler"а.

Рис. 10 После установки решотки.

Рис. 11 Трансформатор вентилятора и стаб. +/-5В.

Внимание!!! Компьютерный блок питания нельзя включать без нагрузки, поэтому его надо чем либо нагрузить. Как вариант подключить полудохлый HDD (с вращающейся механикой, я использую два HDD - динозавра на 25мб каждый) или пару cooler"ов на +12В. CD-Rom в качестве нагрузки не подходит, так как он не дает постоянной нагрузки.
7) Проверяем стабилизацию напряжений +5 и -5В и собираем блок питания в корпус, при этом из корпуса должны быть выведены +12/+5/Gnd/-5/-12 от и стабилизированные +5 и -5В от установленного трансформатора питания. Лампочка ~220В 200Вт при этом тлеть или светиться не должна.
8) Собираем схему с ОУ на . Базируясь на познаниях в электротехнике (в рамках школьного курса физики), собираем тестовые делители из постоянного сопротивления, питающего диод (на обычных диодах падение напряжения около 0.56 В) к которому подключен переменный резистор. Вращая переменный резистор получаем напряжение +0.100В, а на втором аналогичном плече напряжение -0.100В. Отдельно оговорюсь, что тестер надо перевести на шкалу с милливольтами, если ваш тестер имеет шкалу только 20В или класс точности у него хуже чем 0.5, то ищем нормальный тестер.
9) Полученные +0.100В и -0.100В подаем по очереди на вход токовой цепи, собранной на и подбираем резисторы обратной связи, тем самым настраиваем измерительную часть по замеру токов. Наша задача - добиться на выходе операционного усилителя измерителя тока напряжения равного 1.250В. Для контура заряда используется +0.100В, а для контура разряда используется -0.100В. Отдельно оговорюсь, что тестер надо перевести на шкалу 2В (но не выше 3В шкалы), если ваш тестер не имеет такой шкалы или класс точности у него хуже чем 0.5, то ищем нормальный тестер.
10) С помощью еще одного делителя получаем 6.000В, подаем на вход цепи измерения напряжения, собранной на , и настраиваем на ее выходе напряжение в 1.000В. Для тех, кто не владеет тестером оговорюсь, что измерять надо на как можно более близком приделе, то есть, 1.000В измеряется на 2В шкале (но не выше 3В шкалы), а 6.000В на большей - примерно 10В (но не выше 20В шкалы).
11) Рядом со схемой ОУ реализована звуковая сигнализация, сигнализирующая ошибочное включение (переполюсовку) клемм аккумулятора на интегральном зуммере 1212FXP или его аналоге (кстати если у кого есть датащит на 1212FXP или его аналог - пожалуйста пришлите). При подключении надо соблюдать полярность зуммера и блокирующего диода на тот случай если в зуммере обнаружится КЗ в схеме присутствует защитное токоограничительное сопротивление. После сборки желательно проверить зуммер. Для проверки я использовал 9В батарейку типа "Крона". Перед экспериментом желательно отключить блок питания от сети.
12) Собираем схему разряда на и настраиваем на потребление тока около 0.5А (нагрузку следует выбирать из расчета 10 часового разряда для вашего аккумулятора, при этом ток будет около 0.1С подробнее смотрите в документации на ваш аккумулятор, там на графике один из токов разряда дает 10Hr). Для тех кто не владеет терминологией "C" это емкость аккумулятора и для 7.2 Ah аккумулятора 0.1*С=0.72А. Схема включения нагрузки у меня не совсем стандартна, но так как мы делаем стабилизатор тока (а не понижающий ШИМ блок питания), который должен работать практически при любом значении входного напряжения, было принято решение ставить ключ со стороны земли (что характерно для Step-Up, а не Step-Down), при таком включении мы открывать его напряжением, не зависящим от напряжения на входных клеммах. Правда при этом на нагрузке (РАЗРЯДНОЙ лампочке) получается переменное напряжение, но лампочки не полярные, а основную функцию (разряд стабилизированным током) данная схема решает.
Внимание!!! В цепи управления Мосфетом должен стоять обычный быстродействующий диод. Не диод Шотки и не надо спалалеливать оба диода в корпусе BAV70, подключите только один из них.

Рис. 12 Восемь разрядных лампочек.

Для компактности устройства, вместо одной автомобильной РАЗРЯДНОЙ лампочки 12В 1А, я установил 8 РАЗРЯДНЫХ лампочек на 13.8В по 0.16А внутрь устройства (прямо на вентилятор, для отвода выделяемого ими тепла). Такое решение позволяет исключить внешний блок разрядки и разместить все блоки в штатном корпусе блока питания. Диод на обратную полярность я использовал демонтированный из 12В линии обычно это аналог SR1040 (см. инструкцию на всю серию ).
Для тех кто не догадался - включается разрядная часть закрытием транзистора, то есть замыканием на землю управляющего пина (заземлением через резистор базы транзистора).
Лампочка ~220В 200Вт во входной цепи, при экспериментах с включенной разрядкой, должна слабо тлеть.
Внимание!!! Компьютерный блок питания нельзя включать без обдува радиаторов, поэтому со снятой крышкой не включать!!!


Установка в корпус и переподключение трансформатора.

Рис. 13 Фильтровочные конденсаторы.

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

"Щелкните по этому тексту, чтобы развернуть пояснения"

1) Отпаиваем все лишнее во вторичке, затем отпаиваем "хобот" и подключаем к центральной части, довесив конденсаторами. Керамические конденсаторы брать качественные, рассчитанные на относительно большой ток. Такое решение связано с тем, что LowECR 105C конденсаторы напряжением выше 16В трудно достать, поэтому заменяем их парами - обычный электролит и качественная керамика. В качестве керамики я ставил полиэтилентерефталатные конденсаторы типа 1мкФ на 250В.
В данном случае мы объединяем обмотки от линий +5В и +12В получив одну +16В но с током от наименьшей линии. У китайцев на корпусе БП обычно написана липа и надо исходить из реального размера силового трансформатора. Для трансформатора в 250Вт (не путать с липой обзывающего его как 450ВТ на этикетке) с шины +5В мы можем снять ток до 20А, а с шины +12В до 6А. Т.е. получаем ток до 5A.

Рис. 14 Липовый 450ВТ (слева), 170Вт (центр) и 300Вт (справа).

Да конечно можно перемотать трансформатор (методика перемотки и фотографии описывались выше)... Это конечно даст прирост тока, ну скажем до 15A (для трансформатора в 250Вт), но этот прирост нам нужен? Со штатными обмотками трансформатор может дать 3-5А (для трансформаторов в 100-250Вт), из которых в данной конструкции мы используем максимум 1-2A (14В*2А=28Вт) и 15A нам для нашего ТЗ не надо (14.8В*15А=217Вт).
Поэтому я поставил обычные 3х амперные диоды Но если вам ну очень хочется добиться больших токов, то выбирайте из диодов Шотки на 100В. Ну например из серии (см. инструкцию на всю серию ) и сажайте их на радиатор.
2) Еще раз смотрим на блок схему (отображена на рис.2) и глушим обратную связь по току (на 16 ноге), потом убираем выключалку (на 4 ноге) и заменяем своей на 2х оптопарах , допаиваем наладочное сопротивление 1кОм 2Вт на выход и включаем без обратной связи. Генерация не должна заваливаться (лампочка ~220В 200Вт при этом тлеть или светиться не должна), а на сопротивлении должно быть около 36В, при этом генератор должен характерно "цикать" (издавать очень тихие звуки на подобие сверчка).
Если на выходе нет вообще ничего, то скорее всего на 4 ноге у вас дежурит +5В и его надо притягивать к земле (проверьте сопротивление в 10кОм на землю). Если на выходе появляется напряжение только при включении, а потом пропадает, значит на 16 ноге дает о себе знать штатная обратная связь по току.
3) Налаживаем обратную связь по напряжению, подбираем делитель так чтобы на выходе было по грамотному 2.275В*6=13.65В, а по вредным советам "бывалых", которые не "стыкуются" с ГОСТ 825-73 равным 2.450В*6=14.7В (что по тому же ГОСТ 825-73 сокращает жизнь аккумуляторной в 4 раза, до 25%, см. график зависимости срока службы аккумуляторной батареи от напряжения постоянного подзаряда в режиме StendBy, приведенный на Рис. 3 выше). Лампочка ~220В 200Вт при этом тлеть или светиться не должна. После отпаиваем сопротивление 1кОм 2Вт, припаянное для наладочных целей с выхода преобразователя, что приводит к тому, что частота "циков" (издаваемых звуков) упадет раза в три.
4) Устанавливаем схему разряда и лампочки на cooler. Включаем систему. Силовой трансформатор должен характерно "зашипеть", а лампочка ~220В 200Вт при этом должна начать тлеть. Долго без крышки не экспериментируем, т.к. без крышки радиатор первички, лишенный обдува, начинает ощутимо греться. Особое внимание обращаем на качество и правильность выполнение токовых цепей (на л.2 схемы они отмечены жырно). На каждую из них я применял двойной провод из косички к ATX штекеру отпаянному в пункте выше.
5) Цепляем токовую часть на выключение выходных ключей и разрядной схемой проверяем правильность подключения полярности... То есть, на детекторе тока (тот, в противовес которому весит светодиод) должно получаться положительное напряжение около + 0.625В.
6) Если в пункте 5 все прошло нормально, то на выход цепляем лампочку 12В 1.5А и переменным резистором у светодиода ограничиваем ток до 1А (напряжение на переменном резисторе около +1.25В).
7) Делаем провода подключения к аккумулятору. Для этого я взял 3 оранжевых и 3 черных провода из косички к ATX штекеру, отпаянному в пункте выше. Скручиваем по 3 провода в косичку и с одной стороны подпаиваем к скрутке стандартные клеммы для аккумулятора. С другой стороны два из трех проводов косички подключаем к токовым цепям, а оставшийся конец подключаем измерение напряжения. Для эстетики на клеммы надеваем термоусадочный кембрик.
8) Ну вот у нас получилось "автоматическое" зарядное устройство, сделанное из компьютерного ATX блока питания, под автоматикой которого понимается ограничение тока заряда (мы выставили 1А), а при достижении некоторого порогового напряжения (мы выставили 13.8В), переход на стабилизацию напряжения. А после надстройки цифровой части мы получим микропроцессорное зарядное устройство для необслуживаемых свинцово - кислотных аккумуляторных батарей.


Сборка цифровой части.

В этом пункте описано подключение микропроцессора, реле, кнопок, RS232 части и так далее. Подробности по сборке цифровой части свернуты в "пояснения".

"Щелкните по этому тексту, чтобы развернуть пояснения"

1) Внимание!!! Микропроцессор ATMega8 (еще есть варианты прошивки для ATMega48 и ATMega88) устанавливается в панельку только в 6 пункте! Все проверки проводятся со снятым микропроцессором.
2) Собираем схему включения реле. В качестве реле было выбрано реле на 12В с током коммутации 10А, хотя если его сравнивать с пускателем 3 габарита, то можно придти к выводу, что Амперы там китайские (такие же маленькие). После выводим на переднюю панель корпуса светодиод показывающий подключение к аккумулятору (показывающий включенность реле). Других средств индикации мне не надо, все равно даже этот светодиод, при использовании в шкафу, видно не будет.
3) Собираем схему клавиатуры, крепим ее на передней панели, под ней в крпусе крепим кнопку Reset с таким расчетом, что бы ее можно было нажать через щель воздухозаборника спичкой.

Рис. 15 Кнопки клавиатуры и под ними кнопка Reset.

4) Собираем RS232 часть и подключаем к пину звонка +5Sb через предохранитель (это надо для питания внешнего управляющего модуля). Временно замыкаем RX и TX пины панельки микропроцессора, открываем HyperTerminal и проверяем работоспособность RS232 части.
5) Подключаем концы к ЦАП, проверяем ограничительные диоды, впаиваем их и проверяем, что бы они отсекали отрицательное напряжение при разряде. В качестве ограничительных диодов мной были использованы низковольтные диоды Шотки .
6) Если все проверки прошли успешно, устанавливаем процессор и прошиваем его.


Рис. 16 Примерка платы в корпус.

Методика прошивки и Fuse биты.

Что нужно пользователю видеть на верхнем уровне?

  Пользователю в режимах разряд/заряд (о служебных и тестовых режимах поговорим отдельно) хотелось бы знать о текущем состоянии процесса (а процесс характеризуется средними токами и напряжением) с обновлением данных не реже 1 раза в 5 секунд.
И хотелось бы знать данные о перетоках энергии и данных текущего процесса (всего залито или слито тока) для построения графика. График не в относительных единицах, поэтому данные нужны жестко 1 раз в минуту (желательно с большой точностью).

"Щелкните по этому тексту, чтобы развернуть пояснения"

Исходя из требований минутных отчетов от устройства и учитывая, что для получения средних данных микропроцессору очень удобно делить на число 2, в какой либо степени, поэтому берем кол-во замеров равным 2^8=256 за одну минуту.
Если исходить из того, что циклы должны быть около 2х секунд (и каждый состоять не менее чем из 8 комплектов замеров), то возьмём кол-во циклов равным 256/8=32
При этом получим продолжительность одного цикла равной 60/32=1,875 сек.
Проверка: 1,875 сек это в пределах допуска от 2х секунд.
При этом приход наборов будет через каждые 60/(32*8)=0,234375 сек.
Учитывая, что для генерации каждого набора надо провести замер и вычислить по нему значения, то необходимость в прерывании возникает каждые 60/(32*8*2)=0,1171875 сек... По другому 512 раз в минуту.
Кварц у нас 11059200, поэтому редукцию на первый таймер выбираем равной 64 и инкрементироваться он будет 172800 раз в секунду. Но нам надо не 172800 раз, а в 8,53(3) быстрее 172800/8,53(3)=0x4F1A.
Полный цикл займет 32*8*2*64*20250/11059200, что ровно 60 сек (без остатка)
Проверка: 60 сек (без остатка) равно заданию "циклы точно в 1мин".
Для смены кварца в автоматическом режиме пишем формулу вычисления периода таймера 0xFFFF-(CLOCKr/64)*60/512.
АЦП микропроцессора имеет разрядность в 10 бит, но в документации сказано, что абсолютная погрешность составляет ±2 младших разряда, поэтому принимаем разрядность АЦП=8 бит. Замеров у нас по каждому каналу 0xFF в минуту, а максимальное кол-во сохраняемых минутных репортов примем равным 0xFFFF (на 45 суток). Поэтому под токи отводим 4 байта на канал, а под мощности 5 байт на канал. Каждый пакет желательно пронумеровать, а эксплуатировать девайс мы собираемся не менее 24 часов - отводим под номера пакетов два байта (NnNn).
Это все упаковываем в текстовый формат и самый младший байт не отправляем, что равносильно делению на 256 (система измеряет 256 раз в минуту, репорты минутные, поэтому требовалось поделить сумму на 256)
Далее упаковываем все это в посылку вида:

>N_NnNnXiXiXiYyYyYyWwWwWwWwTtTtTtTt +#11 +#13

И того 37 байт на минутные пакеты (точно 60 сек).
А на счет текущих данных разряд/заряд которые надо предоставлять не реже чем 1 раз в 5 секунд, то берем среднее арифметическое за два цикла (2 цикла * 8 замеров = 16 что составляет 2 в степени четыре = удобно делить на МК), упаковываем их в текстовую посылку, добавляя байт состояния и выдаем пользователю каждые 2*1,875 = 3,75 секунды (что укладывается в заданный не реже чем 1 раз в 5 секунд).
Данные будем выдавать в текстовом виде, поэтому, вначале префикс ">P_".

>P_KkIrIzUu +#11 +#13

И того 13 байта на 4х секундные пакеты (точнее 3,75 сек.).

Финальное тестирование.

Алгоритм автономной работы.

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

Дистанционное управление.

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

Алгоритм заряда.

1) Проверить напряжение на клеммах. Если менее 6,5В - отмена заряда со звуковым сигналом.
2) Цикл заряда ограничение тока заряда (обычно около 1-2А) до некоторого порогового напряжения (обычно около 13.8-14.5В), а потом переход на стабилизацию напряжения.
3) Проверка условия проведения раскачки.
4) Проверка условия слива 1:10 залитого.
Если во время слива напряжение упало ниже 6,5 Вольт = выход со звуковым сигналом.
Если раскачка уже была, и во время слива 1:10 напряжение упало ниже 8,6 Вольт = выход со звуковым сигналом.
5) Проверочное условие окончания заряда - Если раскачка уже была, но средний ток за минуту меньше 0,09A = выход со звуковым сигналом.
6) Проверка условия генерации отчета за два цикла.
7) Проверка условия генерации минутного отчета.
8) Проверка не пришла ли по рс232 команда - остановка или не нажали ли SB4.
9) Идти в пункт 2

Алгоритм разряда

1) Проверить напряжение на клеммах. Если менее 12,0В - отмена разряда со звуковым сигналом.
2) Циклы разряда проводятся пульсирующим током с максимумом в 0.1С (для 7.2Ah при I=0.1С мы получим I=0.75А).
3) Проверка напряжения на клеммах. Если среднее за минуту менее 10,8В - отмена разряда со звуковым сигналом.
4) Проверка напряжения на клеммах. Если среднее за два цикла менее 6,5В - отмена разряда со звуковым сигналом.
5) Проверка условия генерации отчета за два цикла.
6) Проверка условия генерации минутного отчета.
7) Проверка не пришла ли по рс232 команда - остановка или не нажали ли SB4.
8) Идти в пункт 2

Прошивка и программа контроля.

Математическая часть проекта к простой не относится, поэтому мы пока разработали только базовую ее часть. Базовая часть умеет контролировать процессы заряда и разряда, отрабатывает все нештатные ситуации, имеет алгоритмы самодиагностики. Алгоритмы тестирования и гибкой настройки под ваiе железо (учитывающие допуски деталей) мы планируем написать позднее. Поэтому пока файлы прошивки и программу контроля как есть (в тестовый и основной набор), т.е. автор дописал систему до состояния "А у меня работает и мне все нравится!", но если вам интересно дальнейшее развитие проекта или есть идеи по улучшению, то пишите на адрес электронной почты внизу страницы... постараемся вместе, что либо придумать...
К данной системе можно дописать:
1) Подстройку под железо с компа через RS232.
2) Загрузку подстроечных параметров в программу из железа.
3) Телепузиков и анимашек в программе контроля.
4) Алгоритм тестирования оставшейся емкости и процента заряда АК.
5) Аппаратный пульт управления - устройство логера снабженное LCD дисплеем и I2C памятью для записи логов.

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

"Щелкните по этому тексту, чтобы развернуть пояснения"

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

Материалы по ATX блокам питания:
Мощный блок питания путем модернизации блоков меньшей мощности .
Модификация блока питания ..
ЗУ для свинцовых АКБ на МК Atmega8 .
Зарядное утсройство на atmega8 .

Ограничения.

Устройство разработано по принципу КАК ЕСТЬ и автор не несёт ответственности за явный (или не явный) ущерб, причинённый в результате повторения.

То есть все эксперименты вы делаете на свой страх и риск.

Список часто задаваемых вопросов читайте в

Если у вас возникли вопросы и предложения - пишите мне по адресу внизу страницы

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

Схемы на микроконтроллере, статьи и описания с прошивками и фотографиями для автомобиля.

Простой тахометр на микроконтроллере ATmega8

Тахометр применяется в автомобилях для измерения частоты вращения всяких деталей которые способны вращаться. Есть много вариантов таких устройств, я предложу вариант на AVR микроконтроллере ATmega8. Для моего варианта, вам также…

Читать полностью

Цветомузыка на микроконтроллере Attiny45 в авто

Эта цветомузыка, имея малый размер и питание 12В, как вариант может использоваться в авто при каких-либо мероприятиях. Первоисточник этой схемы Радио №5, 2013г А. ЛАПТЕВ, г. Зыряновск, Казахстан. Схема…

Читать полностью

Контроллер обогрева зеркал и заднего стекла

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

Читать полностью

Диммер для плафона автомобиля

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

Читать полностью

GSM сигнализация с оповещением на мобильник

Представляю очень популярную схему автомобильной сигнализации на базе микроконтроллера ATmega8. Такая сигнализация дает оповещение на мобильник админа в виде звонков или смс. Устройства интегрируется с мобильником с помощью…

Читать полностью

Моргающий стопак на микроконтроллере

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

Читать полностью

ДХО плюс стробоскопы

Эта поделка позволяет стробоскопить светодиодными ДХО. Поделка имеет малый размер, управление всего одной кнопкой, широкие возможности настройки. Размер платы 30 на 19 миллиметров. С обратной стороны расположен клемник…

Читать полностью

Делаем и подключаем доводчик к сигнализации

Количества автомобилей с автоматическим стеклоподъемниками постоянно растет, и даже если в машине нет такого, многие делают его своими руками. Моей целю было собрать такое устройства и подключить его к…

Читать полностью

Светодиоды включаются от скорости

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

Читать полностью

Цифровой тахометр на AVR микроконтроллере (ATtiny2313)

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

Читать полностью

Простой цифровой спидометр на микроконтроллере ATmega8

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

Читать полностью

Плавный розжиг приборки на микроконтроллере

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

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

Максимальный ток заряда определяется мощностью трансформатора и собственно тиристорами + диодный мост. Алгоритм заряда можно при желании изменять самостоятельно (исходник имеется). После включения ЗУ и нажатия на кнопку «Разр» начинается разряд (ток определяется мощностью лампы фары). По достижении напряжения ниже 10,2в ЗУ переходит в режим заряда. Алгоритм заряда: 10 сек заряд максимальным током (15А), 20 сек разряд током 0,6А при включенном т.S3 MAX, 30 сек заряд номинальным током(6А), 20 сек разряд током 0,6А и так далее. По достижении АКБ напряжения 13,8в ЗУ переходит в режим дозаряда, что исключает интенсивное кипение и нагрев аккумулятора. Основной ток заряда уменьшается до 1,5-0,5А время максимального тока уменьшается до 2 сек, а ток разряда – до 0,1А. Когда АКБ зарядится до напряжения 14,8в ЗУ перейдет в режим хранения, если тумблер установить в положение «Дес/Ручн» то ЗУ не переходит в режим хранения и требуется отключение вручную. Если т. «Дес/Ручн» включить до включения устройства, то ЗУ перейдет в ручной режим и регулировка тока осуществляется ступенчато переключателем обмоток трансформатора. После установки т. «Дес/Ручн» в нижнее положение ЗУ переходит в автоматический режим. Если при включении ЗУ кнопку «Разр» удерживать нажатой, то устройство перейдет в режим тренировки АКБ (желтый светодиод)(3 раза разряд-заряд) и затем переход на хранение. В режиме хранения при снижении напряжения на АКБ ниже 12,6В включается ЗУ и дозарядится АКБ и т.д. циклично. Об окончании заряда свидетельствует загорание синего светодиода.

Все силовые элементы установлены на одном радиаторе и не нагреваются выше 50 градусов. Данное устройство не является «доктором», однако при постоянном использовании продлевает срок службы АКБ. При эксплуатации данного устройства наблюдалось восстановление емкости засульфатированной батареи (время разряда 5,5часов вместо 3,5часов до тренировки).

При налаживании устройства МК не устанавливается. Перемычками подаем 5в поочередно на выхода и проверяем работоспособность. Резисторами R17, R18 устанавливаем токи разряда 0.6А и 0,1А соответственно. Особое внимание необходимо уделить настройке компаратора R25 -на схеме в левом верхнем углу пересчет. При напряжении на АКБ 13.8в напряжение на делителе д.б. 1.97в. Некоторые трудности могут возникнуть из-за разброса параметров элементов делителя, поэтому нужно экспериментировать. При правильной настройке компаратора АКБ отключается вовремя и дозаряда не требует, при этом плотность электролита максимальна.

Реле типа TIANBO 15A, резистор R25 типа СП5. Трансформатор 250вт. Вторичная обмотка на ток до 15А, отводы начиная с 13в через каждые 0.7-1в, у меня получилось от каждого витка. На печатной плате реле К1 отсутствует (защита от пропадания сети) т.к. в оригинале реле питается от сети. Данное устройство повторялось неоднократно и работает не один год. Ранее ЗУ исполнялось на транзисторах, что ограничивало максимальный ток заряда.

Скачать прошивку, исходник ASM и файл печатной платы LAY вы можете ниже

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
IC1 МК PIC 8-бит

PIC16F628A

1 В блокнот
VR1 Линейный регулятор

L7805AB

1 В блокнот
VT1 Биполярный транзистор

КТ972А

1 можно с буквой Б В блокнот
VT2 Биполярный транзистор

КТ819А

1 можно с любым буквенным индексом В блокнот
1 Биполярный транзистор

КТ3102

1 В блокнот
Оптопара

MOC3052M

3 В блокнот
TS1 Тиристор & Симистор

ТС122-25-12

1 В блокнот
TS2 Тиристор & Симистор ТС122-15 1 В блокнот
TS3 Тиристор & Симистор

ТС106-10-2

1 В блокнот
D3, D5-D9, D11-D14 Выпрямительный диод

1N4007

10 В блокнот
D4 Диод

Д242

1 можно любой другой 10 Ампер В блокнот
VDD Выпрямительный мост KBK25B 1 или любой другой на 25 Ампер В блокнот
VD3 Светодиод C535A-WJN 1 или любой другой белый В блокнот
VD4-VD6 Светодиод

АЛ307В

3 или любой другой зеленый В блокнот
VD7 Светодиод

АЛ307А

1 или любой другой красный В блокнот
VD8 Светодиод C503B-BAN 1 или любой другой синий В блокнот
VD9 Светодиод

АЛ307Е

1 или любой другой желтый В блокнот
VD10 Стабилитрон

КС182А

1 В блокнот
C1, C4 470 мкФ 25 В 2 В блокнот
C3 Конденсатор 0.1 мкФ 1 В блокнот
C5, C6 Электролитический конденсатор 100 мкФ 25 В 2 В блокнот
C7 Электролитический конденсатор 47 мкФ 25 В 1 В блокнот
R1-R3 Резистор

20 Ом

3 В блокнот
R4, R10, R16, R17 Резистор

1.5 кОм

4 В блокнот
R5-R8, R11, R15, R20, R21 Резистор

10 кОм

8 В блокнот
R9 Резистор

200 Ом

1 В блокнот
R12-R14 Резистор

750 Ом

3 В блокнот
R18, R19 Подстроечный резистор 10 кОм 2 В блокнот
R22 Резистор

300 Ом

1 В блокнот
R24 Резистор

100 Ом

1

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

Новое универсальное зарядное устройство питается через USB от зарядки для смартфона или планшета. Можно питать и от USB-порта компьютера. На плате установлен micro-usb, но можно установить и любой другой вариант. Также имеется гнездо под стандартный DC-штекер; при питании через него напряжением более 5 вольт, на плате снимается джампер и логическая часть начинает питаться через LDO стабилизатор. При питании от 5 вольт джампер должен быть установлен (он просто закорачивает вход и выход стабилизатора +5 вольт).

Устройство размещено на плате размером 10*12 см. ЖК-индикатор 16*2 с i2c-преобразователем закреплён на монтажных стойках. На плате имеются винтовые клеммники для подключения заряжаемого аккумулятора и нагрузки для разряда, в качестве которой может выступать лампочка или мощный цементный резистор на 5Вт сопротивлением, например, 4,7 Ом. Сопротивление этого резистора рассчитывается по формуле R=U/I, где U-напряжение аккумулятора, а I - желаемый начальный разрядный ток. Если разрядку производить не планируется, то нагрузку можно не подключать. Управление осуществляется при помощи трёх кнопок. Информация отображается на дисплее, помимо этого используется маленький бипер без встроенного генератора и светодиод. Чем ярче горит светодиод, тем больше ширина импульсов в режиме заряда.

Схема зарядного устройства такая же, как и в первоначальном тестовом варианте с непринципиальными изменениями. Полевые транзисторы должны быть с логическим уровнем упраления (logic level), найти их можно на компьютерных платах. Транзисторы драйвера p-канального полевика должны быть токовыми, например - SS8050 и SS8550. Дроссель преобразователя должен выдерживать соответствующий ток.


нажми для увеличения
Режимы работы умного универсального зарядного устройства:

  • главное меню. в нём осуществляется выбор параметров зарядки, разрядки, калибровка вольтметра
  • заряд. текущие и установленные параметры заряда отображаются на экране, есть возможность изменения параметров прямо в процессе зарядки. происходит ограничение напряжения и тока до заданных значений при помощи ШИМ. заряд завершается при достижении заданного напряжения и уменьшении тока заряда ниже заданного.
  • разряд. управление аналогично заряду. разряд завершается при уменьшении напряжения или тока ниже заданных.
В процессе подсчитываются миллиампер-часы, также они выводятся и в конце. По подсчитанным значениям можно определить степень потери ёмкости аккумулятора, т.е. насколько он изношен. Если аккумулятор ёмкостью 1А/ч вбирает 500мА/ч или вбирает 1А/ч, а отдаёт 500мА/ч, то его ресурс уже значительно выработан.

Калибровка измерения тока при заряде и разряде осуществляется при помощи подстроечных резисторов по показаниям образцового амперметра. Калибровка вольтметра осуществляется аналогично. Для перепрошивки микроконтроллера на плате предусмотрен ISP-разъём.

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

С пожеланиями, дополнениями и уточнениями - милости просим в комментарии.

Печатная плата: скоро
прошивка: скоро

"Народный" вариант почти универсальной зарядки на Aliexpress: Lii-100 .

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

Доработку можно выполнить навесным монтажом или на небольшой плате. Вместе с ней меняются некоторые сигналы. Так, сигнал ШИМ заряда (частота в районе 66 кГц) берётся теперь с OC1A, ШИМ разряда - с OC1B, звук - с OC2. На плате для этого придётся перекинуть два резистора (идущие на OC1A и OC2) и сделать разрыв от неиспользуемого более PB0. Изменения на схеме показаны жёлтым цветом.

Операционный усилитель можно применить такой же, как на измерении тока в основной части схемы. MCP6002 у нас не нашёлся, вместо него поставлен TLC2272. Регулировка разрядного тока работает так же, как в оригинальном IMAX. При этом будет греться не только нагрузочный резистор, но и полевик Q1.

Так как за всё время пользования устройством мы питали его исключительно от USB, то прошивка оптимизирована под выходное напряжение не более 5 вольт, почти для всех "круглых" аккумуляторов этого достаточно: можно заряжать и разряжать одиночные литиевые банки или два последовательно соединённых никелевых аккумулятора, максимальный ток - 2 ампера.

 


Читайте:



Вкусный вермишелевый суп: секреты и рецепты приготовления Как сварить вкусный вермишелевый суп со свининой

Вкусный вермишелевый суп: секреты и рецепты приготовления Как сварить вкусный вермишелевый суп со свининой

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

Суп с вермишелью и картошкой Рецепт супа из свинины с вермишелью

Суп с вермишелью и картошкой Рецепт супа из свинины с вермишелью

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

Приснилось мурлыканье кошки во сне

Приснилось мурлыканье кошки во сне

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

Как правильно проводить ритуал гадания на кофейной гуще: толкование значений

Как правильно проводить ритуал гадания на кофейной гуще: толкование значений

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

feed-image RSS