Съдържание:

Интелигентно зарядно устройство за батерии на базата на микроконтролер: 9 стъпки (със снимки)
Интелигентно зарядно устройство за батерии на базата на микроконтролер: 9 стъпки (със снимки)

Видео: Интелигентно зарядно устройство за батерии на базата на микроконтролер: 9 стъпки (със снимки)

Видео: Интелигентно зарядно устройство за батерии на базата на микроконтролер: 9 стъпки (със снимки)
Видео: Mean Well PB-1000-12. Overview and disassembly. Небольшой обзор зарядного устройства для 12В батарей 2024, Ноември
Anonim
Интелигентно зарядно устройство за батерии, базирано на микроконтролер
Интелигентно зарядно устройство за батерии, базирано на микроконтролер
Интелигентно зарядно устройство за батерии, базирано на микроконтролер
Интелигентно зарядно устройство за батерии, базирано на микроконтролер
Интелигентно зарядно устройство за батерии, базирано на микроконтролер
Интелигентно зарядно устройство за батерии, базирано на микроконтролер

Схемата, която ще видите, е интелигентно зарядно устройство за батерии, базирано на ATMEGA8A с автоматично изключване. Различни параметри се показват чрез LCD при различни състояния на зареждане. Също така веригата ще издава звук чрез зумер след приключване на зареждането.

Създадох зарядното устройство основно за зареждане на литиево-йонната батерия 11.1v/4400maH. Фърмуерът е написан основно за зареждане на този конкретен тип батерия. Можете да качите свой собствен протокол за зареждане, за да задоволите вашите нужди за зареждане на други видове батерии.

Както знаете, интелигентните зарядни устройства за батерии са лесно достъпни на пазарите. Но като електронен ентусиаст, за мен винаги е за предпочитане да създам свой собствен, вместо да купувам такъв, който ще има статични/неизменяеми функции. В този модул имам планове да ъпгрейд в бъдеще, така че оставих място за това.

Когато за първи път купих предишната си литиево-йонна батерия 11.1v/2200mah, потърсих зарядни устройства за батерия с интелигентно управление в интернет, но намерих много ограничени ресурси. наистина добре за мен. Но тъй като предишната ми батерия умря с течение на времето (без причина), купих друга литиево-йонна батерия от 11.1v/4400mah, но този път предишната настройка беше недостатъчна за зареждане на новата ми батерия. изискване, направих известно проучване в мрежата и успях да проектирам собствено интелигентно зарядно устройство.

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

Нека да разгледаме набързо как да зареждаме литиево-йонна батерия.

Стъпка 1: Протокол за зареждане на литиево-йонна батерия

За да заредите литиево-йонна батерия, трябва да бъдат изпълнени определени условия. Ако не поддържаме условията, или батерията ще бъде недостатъчно заредена, или ще бъде подпалена (ако е презаредена), или ще бъде трайно повредена.

Има много добър уебсайт, който да знае всичко необходимо за различните видове батерии и разбира се знаете името на уебсайта, ако сте запознати с работата по батерии … Да, говоря за batteryuniversity.com.

Ето връзката, за да знаете необходимите подробности за зареждане на литиево-йонна батерия.

Ако сте достатъчно мързеливи, за да прочетете всички тези теории, тогава същността е следната.

1. Пълното зареждане на 3,7v литиево-йонна батерия е 4,2v. В нашия случай 11,1v литиево-йонна батерия означава 3 x 3,7v батерия. За пълно зареждане батерията трябва да достигне 12,6v, но от съображения за безопасност ние ще го зарежда до 12.5v.

2. Когато батерията е на път да достигне пълното си зареждане, токът, извлечен от батерията от зарядното устройство, пада до 3% от номиналния капацитет на батерията. Например, капацитетът на батерията на моя клетъчен пакет е 4400mah. Така че, когато батерията ще бъде напълно заредена, токът, извлечен от батерията, ще бъде достигнат почти 3% -5% от 4400ma, т.е. между 132 до 220ma. За безопасно спиране на зареждането, зареждането ще бъде спряно, когато изтегленият ток ще падне под 190ma (близо 4% от номиналния капацитет).

3. Общият процес на зареждане е разделен на две основни части: 1-постоянен ток (режим CC), 2-постоянно напрежение (режим CV). (Има и режим на зареждане с презареждане, но няма да го приложим в нашето зарядно устройство като зарядно устройство ще уведоми потребителя при пълно зареждане чрез аларма, след това батерията трябва да бъде изключена от зарядното устройство)

CC режим -

В режим CC зарядното устройство зарежда батерията с 0.5c или 1c скорост на зареждане. Сега какво, по дяволите, е 0.5c/1c ???? За да бъдем прости, ако капацитетът на батерията ви е примерно 4400mah, то в CC режим, 0.5c ще бъде 2200ma и 1c ще бъде 4400ma ток на зареждане. 'c' означава скорост на зареждане/разреждане. Някои батерии също поддържат 2c, т.е. в режим CC, можете да зададете тока на зареждане до 2x капацитет на батерията, но това е лудост !!!!!

Но за да бъда в безопасност, ще избера ток на зареждане от 1000ma за 4400mah батерия, т.е. 0.22c. В този режим зарядното устройство ще следи тока, извлечен от батерията, независимо от зарядното напрежение. /намаляване на изходното напрежение, докато зарядът на батерията достигне до 12.4v.

CV режим -

Сега, когато напрежението на акумулатора достигне 12,4 V, зарядното устройство ще поддържа 12,6 волта (независимо от тока, извлечен от батерията) на изхода си. Сега зарядното устройство ще спре цикъла на зареждане в зависимост от две неща. Ако напрежението на батерията пресича 12,5 V и също така, ако зарядният ток падне под 190 mA (4% от номиналния капацитет на батерията, както е обяснено по -горе), тогава цикълът на зареждане ще бъде спрян и ще се чуе звуков сигнал.

Стъпка 2: Схеми и обяснение

Сега нека разгледаме работата на схемата. Схемата е приложена във формат pdf във файла BIN.pdf.

Входното напрежение на веригата може да бъде 19/20v. Използвах старо зарядно устройство за лаптоп, за да получа 19v.

J1 е терминален конектор за свързване на веригата към източник на входно напрежение. Q1, D2, L1, C9 образува доларов преобразувател. Какво, по дяволите, е това ??? Това е основно преобразувател за понижаване на DC към DC. В този тип на преобразувателя, можете да постигнете желаното изходно напрежение, като променяте работния цикъл. Ако искате да научите повече за доларовите преобразуватели, посетете тази страница. но честно казано, те са напълно различни от теорията. За да се оценят правилните стойности на L1 & C9 за моите изисквания, това отне 3 дни проба и грешка. Ако ще зареждате различни батерии, тогава е възможно тези стойности да се променят.

Q2 е транзисторът на драйвера за мощност MOSFET Q1. R1 е резистор за сместване за Q1. Ние ще захранваме PWM сигнала в базата на Q2, за да контролираме изходното напрежение. C13 е капачка за отделяне.

След това изходът се подава към Q3. Може да се зададе въпрос: "Каква е ползата от Q3 тук ??", ще изключим Q3, за да изключим изходното напрежение за зареждане от понижаващия преобразувател. Q4 е драйверът за Q3 с резистор за отклонение R3.

Имайте предвид, че по пътя има диод D1. Какво прави диодът тук по пътя ?? Този отговор също е много прост. Когато веригата ще бъде изключена от входното захранване, докато батерията е свързана към изхода, токът от батерията ще поток по обратния път през диодите на корпуса на MOSFET Q3 & Q1 и по този начин U1 и U2 ще получат напрежението на батерията на входовете си и ще захранват веригата от напрежението на батерията. За да се избегне това, се използва D1.

След това изходът на D1 се подава към входа на сензора за ток (IP+). Това е основен токов сензор с ефект на Хол, т.е. частта за измерване на тока и изходната част са изолирани. След това изходът на токовия сензор (IP-) се подава към Тук R5, RV1, R6 образуват верига на делител на напрежение за измерване на напрежението на батерията/изходното напрежение.

ADC на atmega8 се използва тук за измерване на напрежението и тока на батерията. ADC може да измерва максимум 5v. Но ние ще измерваме max 20v (с известно пространство). За да намалим напрежението до диапазона на ADC, 4: Използва се 1 делител на напрежение. Потът (RV1) се използва за фина настройка/калибриране. Ще го обсъдя по -късно. C6 е отделяне на капачката.

Изходът на токовия сензор ACS714 също се подава към ADC0 пина на atmega8. Чрез този сензор ACS714 ще измерим тока. Имам пробивна платка от pololu с версия 5A и работи наистина страхотно. Ще говоря за това в следващия етап на как да се измери тока.

LCD дисплеят е нормален 16x2 LCD, използваният тук LCD е конфигуриран в 4 -битов режим, тъй като броят на пиновете на atmega8 е ограничен.

Atmega8 е с тактова честота 16mhz с външен кристал X1 с две разединяващи се капачки C10/11. ADC блокът на atmega8 се захранва чрез щифт Avcc през индуктор 10uH. C7, C8 са отделящи капачки, свързани към Agnd. Поставете ги като възможно най -близо до Avcc и Aref, докато правите печатни платки. Забележете, че Agnd щифтът не е показан във веригата. Agnd щифтът ще бъде свързан към земята.

Конфигурирал съм ADC на atmega8 да използва външен Vref, т.е. ще доставяме референтното напрежение чрез щифта Aref. Основната причина за това е постигането на максимална възможна точност на четене. Вътрешното референтно напрежение 2,56 V не е толкова голямо в avrs. Ето защо го конфигурирах външно. Сега е нещо, което трябва да забележите. 7805 (U2) захранва само сензора ACS714 и щифта Aref на atmega8. Това е за поддържане на оптимална точност. ACS714 дава стабилно изходно напрежение 2.5V, когато през него няма протичащ ток. Но например, ако захранващото напрежение на ACS714 ще бъде понижено (да речем 4.7v), тогава изходното напрежение без ток (2.5v) също ще бъде понижено и ще създаде неподходящо/погрешно отчитане на тока. Също както измерваме напрежението по отношение на Vref, тогава референтното напрежение на Aref трябва да е без грешки и стабилно. Ето защо се нуждаем от стабилни 5v.

Ако захранваме ACS714 & Aref от U1, който захранва atmega8 и lcd, тогава ще има субстаниален спад на напрежението на изхода на U1 и отчитането на ампера и напрежението ще бъде погрешно. Ето защо U2 се използва тук за отстраняване на грешката като доставя стабилни 5v само към Aref и ACS714.

S1 се натиска за калибриране на показанията на напрежението, S2 е запазен за бъдеща употреба. Можете да добавите/не добавите този бутон според вашия избор.

Стъпка 3: Функциониране ……

Функционира ……
Функционира ……
Функционира ……
Функционира ……
Функционира ……
Функционира ……

При включване, atmega8 ще включи преобразувателя на парите, като даде 25% pwm изход в базата на Q2. На свой ред Q2 ще управлява Q1 и ще се стартира конверторът на долар. Q3 ще бъде изгонен, за да изключи изхода на преобразувателя на долар и батерията. След това atmega8 отчита напрежението на батерията през резисторния разделител. Ако няма свързана батерия, atmega8 показва съобщение „Поставете батерията“през 16x2 lcd и изчаква батерията. Ако батерията е свързана, atmega8 ще провери напрежението. Ако напрежението е по -ниско от 9v, тогава atmega8 ще покаже "Неправилна батерия" на 16x2 lcd.

Ако е намерена батерия с повече от 9v, тогава зарядното устройство първо ще влезе в режим CC и ще включи изходния MOSFET Q3. Режимът на зарядното устройство (CC) ще бъде актуализиран, за да се покаже незабавно. Ако напрежението на батерията е намерено повече от 12,4 V, тогава mega8 веднага ще напусне CC режима и ще влезе в CV режим. Ако напрежението на батерията е по -малко от 12,4v, тогава mega8 ще поддържа 1A ток на зареждане чрез увеличаване/намаляване на изходното напрежение на доларовия преобразувател чрез промяна на работния цикъл на pwm. Токът на зареждане ще се отчита от токовия сензор ACS714. Изходното напрежение на тока, токът на зареждане, работният цикъл на ШИМ ще се актуализират периодично в lcd.

. Напрежението на батерията ще се проверява чрез изключване на Q3 след всеки интервал от 500 мс. Напрежението на батерията ще бъде незабавно актуализирано до lcd.

Ако напрежението на батерията стане повече от 12,4 волта по време на зареждане, тогава mega8 ще напусне CC режима и ще влезе в CV режим. Състоянието на режима веднага ще бъде актуализирано до lcd.

Тогава mega8 ще поддържа изходното напрежение от 12,6 волта, като променя работния цикъл на парите. Тук напрежението на батерията ще се проверява след всеки 1 s интервал. ако изтегленият ток е под 190ma. Ако и двете условия са изпълнени, тогава цикълът на зареждане ще бъде спрян чрез трайно изключване на Q3 и ще се чуе звуков сигнал чрез включване на Q5. Също така mega8 ще покаже "Charge complete" чрез lcd.

Стъпка 4: Необходими части

Необходими части
Необходими части

По -долу са изброени необходимите части за завършване на проекта. Моля, вижте таблиците с данни за раздаване.

1) ATMEGA8A x 1. (лист с данни)

2) ACS714 5A токов сензор от Pololu x 1 (силно препоръчвам да използвате сензора от Pololu, тъй като те са най -добрите точни сред всички други сензори, които съм използвал. Можете да го намерите тук). Пинатът е описан на изображението.

3) IRF9540 x 2. (лист с данни)

4) 7805 x 2 (препоръчително от Toshiba genuinespare, тъй като те дават най -стабилния 5v изход). (Лист с данни)

5) 2n3904 x 3. (лист с данни)

6) 1n5820 schottky x 2. (лист с данни)

7) 16x2 LCD x 1. (лист с данни)

8) 330uH/2A захранващ индуктор x 1 (препоръчително от coilmaster)

9) 10uH индуктор x 1 (малък)

10) Резистори -(Всички резистори са тип 1% MFR)

150R x 3

680R x 2

1k x 1

2k2 x 1

10k x 2

22k x 1

5k пот x 2 (тип монтиране на печатна платка)

11) Кондензатори

Забележка: Не използвах C4. Няма нужда да го използвате, ако използвате захранване за лаптоп/регулирано захранване като източник на захранване 19v

100uF/25v x 3

470uF/25v x 1

1000uF/25v x 1

100n x 8

22p x 2

12) Превключвател за монтиране на печатна платка x 2

13) 20v зумер x 1

14) 2 -пинов конектор на клемен блок x 2

15) Шкаф (използвах такъв шкаф.) Можете да използвате каквото искате.

16) 19v захранване за лаптоп (модифицирах захранване за лаптоп hp, можете да използвате захранване от всякакъв тип, както искате. Ако искате да изградите такъв, посетете моите инструкции.)

17) Среден радиатор за U1 и Q1. Можете да използвате този тип. Или можете да се обърнете към снимките на моята схема. Но не забравяйте да използвате радиатор и за двете.

18) Бананов конектор - женски (черен и червен) x 1 + мъжки (черен и червен) (в зависимост от нуждата ви от конектори)

Стъпка 5: Време за изчисляване ……

Изчисляване на измерване на напрежение:

Максималното напрежение, което ще измерим, използвайки atmega8 adc, е 20v. Но adc atmega8 може да измери max 5v. Така че, за да направи 20v в диапазона 5v, тук се използва делител на напрежение 4: 1 (като 20v/4 = 5v). Така че можем да приложим това, като просто използваме два резистора, но в нашия случай добавих пот между два фиксирани резистора, за да можем ръчно да регулираме точността чрез завъртане на пота. Резолюцията на ADC е 10 бита, т.е. ще представлява 0v до 5v като 0 до 1023 десетични числа или 00h до 3FFh. („h“означава шестнадесетични числа). Референцията е зададена на 5v външно чрез щифта Aref.

Така че измереното напрежение = (отчитане на adc) x (Vref = 5v) x (коефициент на разделител на резистора, т.е. 4 в този случай) / (максимално отчитане на adc, т.е. 1023 за 10 -битов ADC).

Да предположим, че получаваме ADC отчитане на 512. Тогава измереното напрежение ще бъде -

(512 x 5 x 4) / 1023 = 10v

Изчисляване на текущото измерване:

ACS714 ще даде 2.5v стабилен изход на изходния извод, когато няма ток да тече от IP+ към IP-. Той ще даде 185mv/A през 2.5v т.е., например, ако токът 3A тече през веригата, acs714 ще даде 2.5v+(0.185 x 3) v = 3.055v на изхода.

Така че настоящата формула за измерване е следната -

Измерен ток = (((отчитане на ADC)*(Vref = 5v)/1023) -2,5)/0,185.

например, отчитането на ADC е 700, тогава измереният ток ще бъде - (((700 x 5)/1023) - 2,5)/0,185 = 4,98А.

Стъпка 6: Софтуерът

Софтуерът е кодиран в Winavr с помощта на GCC. Модулизирах кода, т.е. създадох различни библиотеки като adc библиотека, lcd библиотека и др. Библиотеката adc съдържа необходимите команди за настройка и взаимодействие с adc. Lcd библиотеката съдържа всички функции за задвижване на 16x2 lcd. Можете също да използвате lcd_updated _library.c като стартиращата последователност на lcd е променена в тази библиотека. Ако искате да използвате актуализираната библиотека, преименувайте я с lcd.c

Файлът main.c съдържа основните функции. Протоколът за зареждане на литиево-йонни устройства е написан тук. Моля, определете ref_volt в main.c чрез измерване на изхода на U2 (7805) с прецизен мултицет, за да получите точни показания при изчисленията се основават на него.

Можете просто да запишете.hex файла директно във вашия mega8, за да заобиколите главата.

За тези, които искат да напишат друг протокол за зареждане, съм поставил достатъчно коментари, чрез които дори дете може да разбере какво се случва за всяко изпълнение на линия. Просто трябва да напишете свой собствен протокол за различен тип батерия. Ако използвате Li- йон с различно напрежение, трябва само да промените параметрите. (Въпреки че това не е тествано за други литиево-йонни/друг тип батерии. Трябва да го разработите сами).

Силно препоръчвам да не изграждате тази схема, ако това е първият ви проект или сте нов в микроконтролера/силовата електроника.

Качих всеки файл като оригинален формат, с изключение на Makefile, тъй като създава проблем за отваряне. Качих го във формат.txt. Просто копирайте съдържанието и го поставете в нов Makefile и изградете целия проект.. вие сте готови да запишете шестнадесетичния файл.

Стъпка 7: Стига с теорията … нека го изградим

Стига с теорията … нека го развием
Стига с теорията … нека го развием
Стига с теорията … нека го развием
Стига с теорията … нека го развием
Стига с теорията … нека го развием
Стига с теорията … нека го развием
Стига с теорията … нека го развием
Стига с теорията … нека го развием

Ето снимки на моя прототип от макет до финализиран в pcb. Моля, прегледайте бележките на снимките, за да научите повече. Снимките са подредени последователно от началото до края.

Стъпка 8: Преди първия цикъл на зареждане …….. Калибрирайте !!

Преди да заредите батерия с помощта на зарядното устройство, първо трябва да я калибрирате. В противен случай тя няма да може да зареди батерията/да я презареди.

Има два вида калибриране 1) Калибриране на напрежение. 2) Текущо калибриране. Стъпките са следните за калибриране.

Първо измерете изходното напрежение на U2. След това го определете в main.c като ref_volt. Моят беше 5.01. Променете го според вашето измерване. Това е основната необходима стъпка за калибриране на напрежение и ток. За калибриране на ток, нищо друго е необходимо. За всичко ще се погрижи самият софтуер

Сега, след като сте изгорили шестнадесетичния файл, след като сте определили ref волта в main.c, убийте силата на устройството.

. Сега измерете напрежението на батерията, което ще заредите с помощта на мултицет и свържете батерията към устройството.

Сега натиснете бутона S1 и го задръжте и захранвайте веригата, докато бутонът е натиснат. След кратко закъснение от около 1 s, освободете бутона S1. Обърнете внимание, че устройството няма да влезе в режим на калибриране, ако първо включите веригата, след това натиснете S1.

Сега можете да видите на дисплея, че веригата е въведена в режим на калибриране. На LCD дисплея ще се покаже "режим на калибриране" заедно с напрежението на батерията. Сега съпоставете показаното на LCD дисплея напрежение на батерията с показанието на вашия мултицет, като завъртите тенджерата. След като приключите, натиснете отново превключвателя S1, задръжте го за около секунда и го освободете. Ще излезете от режима на калибриране. Отново нулирайте зарядното устройство, като го изключите и включите.

Горният процес може да се извърши и без свързана батерия. Трябва да свържете външен източник на захранване към изходния терминал (J2). След като влезете в режим на калибриране, калибрирайте с помощта на гърнето. Но този път първо изключете външния източник на захранване, след което натиснете S1, за да излезете от режима на калибриране. Това е необходимо първо да изключите външния източник на захранване, за да избегнете всякакъв вид неизправност на всякакви уреди.

Стъпка 9: Включване след калибриране … … сега сте готови за рок

Включване след калибриране … … сега сте готови за рок
Включване след калибриране … … сега сте готови за рок
Включване след калибриране … … сега сте готови за рок
Включване след калибриране … … сега сте готови за рок
Включване след калибриране … … сега сте готови за рок
Включване след калибриране … … сега сте готови за рок

След като калибрирането приключи, вече можете да стартирате процеса на зареждане. Първо поставете батерията, след това включете устройството. За останалото ще се погрижи зарядното устройство.

Моята верига е 100% работеща и тествана. Но ако забележите нещо, моля, уведомете ме. Също така не се колебайте да се свържете за всякакви запитвания.

Щастлива сграда.

Rgds // Шараня

Препоръчано: