Kazalo:

Pametni polnilnik baterij na osnovi mikrokontrolerja: 9 korakov (s slikami)
Pametni polnilnik baterij na osnovi mikrokontrolerja: 9 korakov (s slikami)

Video: Pametni polnilnik baterij na osnovi mikrokontrolerja: 9 korakov (s slikami)

Video: Pametni polnilnik baterij na osnovi mikrokontrolerja: 9 korakov (s slikami)
Video: Как я просыпаюсь Система управления литиевыми батареями DALY 12V LiFePO4 2024, November
Anonim
Pametni polnilec baterij na osnovi mikrokontrolerja
Pametni polnilec baterij na osnovi mikrokontrolerja
Pametni polnilnik baterij na osnovi mikrokontrolerja
Pametni polnilnik baterij na osnovi mikrokontrolerja
Pametni polnilec baterij na osnovi mikrokontrolerja
Pametni polnilec baterij na osnovi mikrokontrolerja

Vezje, ki ga boste videli, je pameten polnilnik baterij na osnovi ATMEGA8A z avtomatskim izklopom. Različni parametri so prikazani na LCD -prikazovalniku med različnimi stanji napolnjenosti.

Polnilnik sem v osnovi izdelal za polnjenje Li-ionske baterije 11,1 V/4400 mAh. Vdelana programska oprema je v osnovi napisana za polnjenje te vrste baterije. Lahko naložite svoj protokol polnjenja, da izpolnite svoje potrebe po polnjenju drugih vrst baterij.

Kot veste, so pametni polnilniki baterij na voljo na trgih. Ker sem navdušen nad elektroniko, je vedno bolje, da si sestavim svojega, namesto da kupim takega, ki bo imel statične/nespremenljive funkcije. V tem modulu imam načrte, da nadgradnjo v prihodnosti, zato sem glede tega pustil prostor.

Ko sem prvič kupil svojo prejšnjo Li-ionsko baterijo 11,1V/2200mah, sem na internetu iskal polnilnike baterij DIY s pametnim upravljanjem, vendar sem našel zelo omejene vire. meni je zelo dobro. Ker pa mi je prejšnja baterija sčasoma odpravila (brez razloga), sem kupil drugo Li-ionsko baterijo 11,1V/4400mah. Toda tokrat je bila prejšnja nastavitev nezadostna za polnjenje moje nove baterije. zahtevo, nekaj sem študiral na internetu in si lahko oblikoval svoj pametni polnilnik.

To delim, ker mislim, da je tam veliko ljubiteljev/navdušencev, ki so resnično navdušeni nad delom na področju močne elektronike in mikrokrmilnika, prav tako pa potrebujejo izdelavo lastnega pametnega polnilnika.

Na kratko poglejmo, kako napolniti Li-ionsko baterijo.

1. korak: Protokol polnjenja za litij-ionsko baterijo

Za polnjenje litij-ionske baterije morajo biti izpolnjeni določeni pogoji. Če ne vzdržujemo pogojev, bo baterija premalo napolnjena ali pa jih bo požgala (če je preveč napolnjena) ali pa bodo trajno poškodovani.

Obstaja zelo dobro spletno mesto, ki pozna vse potrebno o različnih vrstah baterij in seveda poznate ime spletnega mesta, če poznate delo z baterijami … Da, govorim o batteryuniversity.com.

Tukaj je povezava za informacije o potrebnih podatkih za polnjenje Li-ionske baterije.

Če ste dovolj leni, da preberete vse te teorije, je bistvo naslednje.

1. Polna napolnjenost 3,7-voltne Li-ionske baterije je 4,2 V. V našem primeru 11,1-voltna Li-ionska baterija pomeni 3 x 3,7 V baterijo. Za polno polnjenje mora baterija doseči 12,6 V, vendar iz varnostnih razlogov napolnil do 12,5 V.

2. Ko bo baterija popolnoma napolnjena, tok, ki ga porabi baterija iz polnilnika, pade na 3% nazivne kapacitete baterije. Torej, ko bo baterija popolnoma napolnjena, bo tok, ki ga črpa baterija, dosegel skoraj 3% -5% 4400 ma, to je med 132 do 220 ma. 190 ma (skoraj 4% nazivne zmogljivosti).

3. Celoten proces polnjenja je razdeljen na dva glavna dela: 1-konstanten tok (način CC), 2-konstantna napetost (način CV). (Obstaja tudi način polnjenja, vendar tega v našem polnilniku ne bomo uporabili kot polnilnik bo uporabnika ob polni napolnjenosti obvestil z alarmom, nato pa je treba baterijo odklopiti od polnilnika)

CC način -

V načinu CC polnilec polni baterijo s hitrostjo polnjenja 0,5 c ali 1 c. Kaj pa za vraga je 0,5 c/1c ???? Poenostavljeno povedano, če je vaša baterija na primer 4400mah, potem v načinu CC 0,5 c bo 2200 ma, 1c pa 4400 ma polnilnega toka. 'c' pomeni stopnjo polnjenja/praznjenja. Nekatere baterije podpirajo tudi 2c, to je v načinu CC, lahko nastavite polnilni tok do 2x kapacitete baterije, vendar je to noro !!!!!

Zaradi varnosti pa bom za 4400mah baterijo izbral polnilni tok 1000 mA, tj. 0,22 C. V tem načinu bo polnilnik spremljal tok, ki ga črpa baterija, neodvisno od polnilne napetosti. /znižanje izhodne napetosti, dokler napolnjenost baterije ne doseže 12,4 V.

Način življenjepisa -

Ko napetost akumulatorja doseže 12,4 V, bo polnilnik na izhodu ohranil 12,6 V (neodvisno od toka, ki ga črpa baterija). Zdaj bo polnilnik ustavil cikel polnjenja, odvisno od dveh stvari. in tudi, če polnilni tok pade pod 190 ma (4% nazivne kapacitete baterije, kot je bilo že pojasnjeno), se bo cikel polnjenja ustavil in zaslišal bo zvočni signal.

2. korak: Shema in razlaga

Zdaj pa poglejmo delovanje vezja. Shema je priložena v formatu pdf v datoteki BIN.pdf.

Vhodna napetost vezja je lahko 19/20v. Uporabil sem star polnilec za prenosni računalnik, da dobim 19v.

J1 je priključni priključek za povezovanje vezja z virom vhodne napetosti. Q1, D2, L1, C9 tvori pretvornik dolarja. Kaj za vraga je to ??? To je v bistvu pretvornik DC v DC. pretvornika, u lahko dosežete želeno izhodno napetost s spreminjanjem delovnega cikla. Če želite izvedeti več o pretvornikih dolarjev, obiščite to stran. če smo odkriti, se popolnoma razlikujejo od teorije. Če želite oceniti pravilne vrednosti L1 & C9 za moje zahteve je trajalo 3 dni preskusa in napaka. Če boste polnili različne baterije, se lahko te vrednosti spremenijo.

Q2 je gonilniški tranzistor za napajanje mosfet Q1. R1 je upogibni upor za Q1. Pwm signal bomo podali v bazo Q2 za nadzor izhodne napetosti. C13 je ločilna kapa.

Zdaj se izhod pošlje v Q3. Lahko se postavi vprašanje: "Kaj je tukaj Q3 ??" Odgovor je precej preprost, deluje kot preprosto stikalo. Kadar koli bomo merili napetost baterije, bomo Q3 izklopili, da izklopimo izhod polnilne napetosti iz pretvornika. Q4 je gonilnik za Q3 z upogibnim uporom R3.

Upoštevajte, da je na poti dioda D1. Kaj počne dioda tukaj na poti ?? Ta odgovor je tudi zelo preprost. Kadar bo vezje odklopljeno od vhodnega napajanja, medtem ko je baterija priključena na izhod, bo tok iz baterije tečejo v obratni smeri preko telesnih diod MOSFET -a Q3 in Q1, zato bosta U1 in U2 dobila napetost akumulatorja na svojih vhodih in napajala vezje iz napetosti akumulatorja. Da bi se temu izognili, se uporablja D1.

Izhod D1 se nato napaja na vhod trenutnega senzorja (IP+). To je osnovni senzor toka Hall-a, tj. Del zaznavanja toka in izhodni del sta izolirana. Tukaj R5, RV1, R6 tvorijo vezje delilnika napetosti za merjenje napetosti baterije/izhodne napetosti.

ADC atmega8 se tukaj uporablja za merjenje napetosti in toka akumulatorja. ADC lahko meri največ 5 V. Toda izmerili bomo največ 20 voltov (z nekaj prostora nad glavo).: 1 delilnik napetosti se uporablja. Lonec (RV1) se uporablja za natančno nastavitev/kalibracijo. O tem se bom pogovarjal kasneje. C6 je ločitev pokrova.

Izhod tokovnega senzorja ACS714 se napaja tudi na pin ADC0 atmega8. S tem senzorjem ACS714 bomo izmerili tok. Imam odklopno ploščo iz pololuja različice 5A in deluje odlično. O tem bom govoril v naslednji fazi na kako izmeriti tok.

LCD je običajen 16 x 2 lcd. Tu uporabljen lcd je konfiguriran v 4 -bitnem načinu, saj je število zatičev atmega8 omejeno. RV2 je lonec za nastavitev svetlosti za LCD.

Atmega8 deluje pri 16mhz z zunanjim kristalom X1 z dvema ločevalnima pokrovoma C10/11. ADC enota atmega8 se napaja preko zatiča Avcc preko induktorja 10uH. pri izdelavi tiskanega vezja čim bližje Avcc in Arefu. Upoštevajte, da pin Agnd ni prikazan v vezju. Pin Agnd bo povezan z maso.

ADC atmega8 sem konfiguriral za uporabo zunanjega Vrefa, to je, da bomo referenčno napetost napajali prek zatiča Aref. Glavni razlog za to je doseči največjo možno natančnost branja. Notranja referenčna napetost 2,56 V pri avrih ni tako velika. Zato sem ga konfiguriral od zunaj. Zdaj je treba opaziti. 7805 (U2) napaja samo senzor ACS714 in zatič Aref atmega8. To ohranja optimalno natančnost. ACS714 daje stabilno izhodno napetost 2,5 V. skozi njega ne teče tok. Če pa se bo napajalna napetost ACS714 znižala (recimo 4,7 V), se bo znižala tudi izhodna napetost brez toka (2,5 V), kar bo povzročilo neprimerno/napačno odčitavanje toka.. Tako tudi merimo napetost glede na Vref, mora biti referenčna napetost na Arefu brez napak in stabilna. Zato potrebujemo stabilen 5V.

Če bi napajali ACS714 in Aref iz U1, ki napaja atmega8 in lcd, bi prišlo do podstanialnega padca napetosti na izhodu U1, odčitavanje ampera in napetosti pa bi bilo napačno. Zato se tukaj U2 odpravi napako samo z dobavo stabilnih 5V za Aref in ACS714.

S1 pritisnete za umerjanje odčitka napetosti. S2 je rezerviran za prihodnjo uporabo. Ta gumb lahko dodate ali ne dodate po svoji izbiri.

Korak 3: Delovanje ……

Deluje ….
Deluje ….
Deluje ….
Deluje ….
Deluje ….
Deluje ….

Ob vklopu bo atmega8 vklopil pretvornik buck tako, da bo dal 25% pwm izhoda na bazi Q2, nato pa bo Q2 poganjal Q1 in zagnal se bo pretvornik buck. in baterija. Atmega8 nato odčita napetost akumulatorja preko razdelilnika upora. Če ni priključena baterija, potem atmega8 prikaže sporočilo "Vstavi baterijo" prek 16x2 lcd in počaka na baterijo. Če je baterija nato priključena, atmega8 bo preveril napetost. Če je napetost nižja od 9v, bo atmega8 na 16x2 lcd prikazal "Napačna baterija".

Če je najdena baterija z več kot 9V, bo polnilnik najprej prešel v način CC in vklopil izhodni MOSFET Q3. Način polnilnika (CC) bo posodobljen tako, da se bo takoj prikazal. Če je napetost akumulatorja večja od 12,4 V, potem mega8 bo takoj zapustil način CC in prešel v način CV. Če je napetost akumulatorja manjša od 12,4 V, bo mega8 obdržal polnilni tok 1A s povečanjem/zmanjšanjem izhodne napetosti pretvornika buck s spreminjanjem obratovalnega cikla pwm. Telektrični senzor ACS714 bo prebral polnilni tok. Izhodna napetost, polnilni tok, obratovalni cikel PWM se bodo na lcd -ju občasno posodabljali.

Napetost akumulatorja se preveri z izklopom Q3 po vsakih 500 ms. Napetost akumulatorja bo takoj posodobljena na lcd.

Če med polnjenjem napetost akumulatorja preseže 12,4 voltov, bo mega8 zapustil način CC in prešel v način CV. Stanje načina bo takoj posodobljeno na lcd.

Potem bo mega8 vzdrževal izhodno napetost 12,6 volta s spreminjanjem obratovalnega cikla. Tu se bo napetost akumulatorja preverjala po vsakih 1 sekundah. Takoj ko bo napetost akumulatorja večja od 12,5 voltov, se bo preverila če je vlečeni tok pod 190 ma. Če sta izpolnjena oba pogoja, se bo cikel polnjenja ustavil s trajnim izklopom Q3 in z vklopom Q5 se bo oglasil zvočni signal. Tudi mega8 bo na LCD -ju prikazal "Polnjenje je končano".

4. korak: potrebni deli

Potrebni deli
Potrebni deli

Spodaj so navedeni potrebni deli za dokončanje projekta. Prosimo, da si ogledate podatkovne liste za izpis. Predložena je le povezava do podatkovnega lista samo ključnih delov

1) ATMEGA8A x 1. (podatkovni list)

2) Tokovni senzor ACS714 5A podjetja Pololu x 1 (toplo priporočam uporabo senzorja Pololu, saj so najbolj natančni med vsemi drugimi senzorji, ki sem jih uporabil. Najdete ga tukaj). Izpis je opisan na sliki.

3) IRF9540 x 2. (podatkovni list)

4) 7805 x 2 (priporočeno od Toshiba genuinespare, saj dajejo najbolj stabilen izhod 5V). (Podatkovni list)

5) 2n3904 x 3. (podatkovni list)

6) 1n5820 schottky x 2. (podatkovni list)

7) 16x2 LCD x 1. (podatkovni list)

8) Močnostni induktor 330uH/2A x 1 (priporočeno od coilmasterja)

9) 10uH induktor x 1 (majhen)

10) Upori -(Vsi upori so tipa 1% MFR)

150R x 3

680R x 2

1k x 1

2k2 x 1

10k x 2

22k x 1

5k lonec x 2 (vrsta nosilca za pcb)

11) Kondenzatorji

Opomba: Nisem uporabil C4. Ni ga treba uporabljati, če uporabljate napajalnik za prenosni računalnik/regulirano napajanje kot vir 19v

100uF/25v x 3

470uF/25v x 1

1000uF/25v x 1

100n x 8

22p x 2

12) Stikalo za pritrditev na tiskano vezje x 2

13) 20v zvočni signal x 1

14) 2 -polni priključek sponke x 2

15) Omara (uporabil sem takšno omarico.) Uporabite lahko karkoli želite.

16) 19v napajalnik za prenosni računalnik (spremenil sem napajalnik za prenosni računalnik hp, lahko uporabljate poljubno napajanje. Če ga želite zgraditi, obiščite moja navodila).

17) Srednje velik hladilnik za U1 in Q1. Uporabite lahko to vrsto. Ali pa si oglejte moje slike vezja. Ne pozabite uporabiti hladilnika za oba.

18) Bananin konektor - ženski (črno -rdeč) x 1 + moški (črno -rdeč) (odvisno od potrebe po priključkih)

5. korak: Čas za izračun ……

Izračun merjenja napetosti:

Največja napetost, ki jo bomo izmerili z atmega8 adc, je 20v. Toda atmega8 -ov adc lahko izmeri max 5v. Zato je 20v v območju 5v, se tukaj uporablja delilnik napetosti 4: 1 (kot 20v/4 = 5v). Tako bi lahko to izvedli s preprosto uporabo dveh uporov, toda v našem primeru sem dodal lonec med dva fiksna upora, tako da lahko ročno prilagodimo natančnost z obračanjem lonca. Ločljivost ADC -ja je 10 -bitna, tj. bo predstavljal 0v do 5v kot 0 do 1023 decimalnih števil ali 00h do 3FFh. ('h' pomeni šestnajstiške številke). Referenca je nastavljena na 5v zunaj prek zatiča Aref.

Torej izmerjena napetost = (branje adc) x (Vref = 5v) x (faktor delilnika upora, v tem primeru 4) / (največje branje adc, tj. 1023 za 10 -bitni adc).

Recimo, da dobimo ADC odčitek 512. Potem bo izmerjena napetost -

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

Izračun trenutne meritve:

ACS714 bo dal 2.5v stabilen izhod na izhodnem zatiču, ko tok ne bo tekel od IP+ proti IP-. 2.5v+(0.185 x 3) v = 3.055v na izhodu.

Trenutna formula merjenja je torej naslednja -

Izmerjeni tok = (((odčitavanje ADC)*(Vref = 5v)/1023) -2,5)/0,185.

recimo, odčitek ADC je 700, potem bo izmerjeni tok - (((700 x 5)/1023) - 2,5)/0,185 = 4,98A.

6. korak: programska oprema

Programska oprema je kodirana v Winavru z uporabo GCC -ja. Modulariziral sem kodo, tj. Ustvaril sem različne knjižnice, kot so knjižnica adc, knjižnica lcd itd. Knjižnica adc vsebuje potrebne ukaze za nastavitev in interakcijo z adc. Knjižnica lcd vsebuje vse funkcij za pogon lcd 16x2. Uporabite lahko tudi lcd_updated _library.c, saj je v tej knjižnici spremenjeno zagonsko zaporedje lcd -a. Če želite uporabiti posodobljeno knjižnico, jo preimenujte z lcd.c

Datoteka main.c vsebuje glavne funkcije. Tu je zapisan protokol polnjenja za li-ion. Prosimo, definirajte ref_volt v main.c z merjenjem izhoda U2 (7805) z natančnim multimetrom, da dobite natančne odčitke pri izračunih temeljijo na njej.

Datoteko.hex lahko preprosto zapišete neposredno v svoj mega8, da zaobidete glavo.

Za tiste, ki želijo napisati nov protokol polnjenja, sem dal dovolj pripomb, s katerimi lahko tudi otrok razume, kaj se dogaja za vsako izvedbo vrstice. Samo morate napisati svoj protokol za različne vrste baterij. Če uporabljate Li- iona različne napetosti, morate spremeniti le parametre. (čeprav to ni testirano za druge litij-ionske/druge vrste baterij. To morate rešiti sami).

Močno priporočam, da tega vezja ne gradite, če je to vaš prvi projekt ali če ste novi v mikrokrmilniku/močni elektroniki.

Naložil sem vsako datoteko v izvirni obliki, razen datoteke Makefile, saj ustvarja težave pri odpiranju. Naložil sem jo v formatu.txt. Samo kopirajte vsebino in jo prilepite v novo datoteko Makefile in zgradite celoten projekt..pripravljeni ste za zapisovanje šestnajstiške datoteke.

Korak 7: Dovolj teorije … razvijmo to

Dovolj je teorije … razvijmo jo
Dovolj je teorije … razvijmo jo
Dovolj je teorije … razvijmo jo
Dovolj je teorije … razvijmo jo
Dovolj je teorije … razvijmo jo
Dovolj je teorije … razvijmo jo
Dovolj je teorije … razvijmo jo
Dovolj je teorije … razvijmo jo

Tu so slike mojega prototipa od oprijemljene do dokončane v pcb -ju. Prosimo, preglejte opombe slik, če želite izvedeti več. Slike so razporejene zaporedno od začetka do konca.

8. korak: Pred ciklusom prvega polnjenja …….. Umerite !!!

Pred polnjenjem akumulatorja s polnilnikom ga morate najprej umeriti, sicer ne bo mogel napolniti/napolniti baterije.

Obstajata dve vrsti kalibracije 1) Kalibracija napetosti. 2) Trenutna kalibracija. Za umerjanje so naslednji koraki.

Najprej izmerite izhodno napetost U2. Nato jo določite v main.c kot ref_volt. Moja je bila 5.01. Spremenite jo glede na vašo meritev. To je glavni nujni korak za kalibracijo napetosti in toka. Za kalibracijo toka nič drugače je potrebno, za vse bo poskrbela programska oprema sama

Ko ste po določitvi ref volta v main.c zažgali šestnajstiško datoteko, uničite moč enote.

. Zdaj z multimetrom izmerite napetost akumulatorja, ki ga boste napolnili, in akumulator priključite na enoto.

Sedaj pritisnite gumb S1 in ga držite ter vklopite vezje, medtem ko je gumb pritisnjen. Po kratki zakasnitvi približno 1 s, spustite gumb S1. Upoštevajte, da enota ne bo prešla v način umerjanja, če najprej vklopite vezje, nato pritisnite S1.

Zdaj lahko na zaslonu vidite, da je vezje v načinu kalibracije. Na LCD -ju bo prikazan "cal mode" skupaj z napetostjo akumulatorja. Zdaj napetost baterije, prikazano na LCD -ju, uskladite z odčitkom vašega multimetra, tako da obrnete lonec. Ko končate, znova pritisnite stikalo S1, ga držite približno sekundo in ga spustite. Izšli boste iz načina kalibracije. Ponovno ponastavite polnilnik tako, da ga izklopite in vklopite.

Zgornji postopek lahko izvedete tudi brez priključene baterije. Na izhodni priključek (J2) morate priključiti zunanji vir napajanja. Po vstopu v način umerjanja kalibrirajte s pomočjo lonca. Toda tokrat najprej odklopite zunanji vir napajanja in pritisnite S1 za izhod iz načina kalibracije. To je potrebno, da najprej izključite zunanji vir napajanja, da se izognete kakršnim koli motnjam v delovanju katere koli enote.

9. korak: Vklop po kalibraciji … … zdaj ste pripravljeni na rock

Vklop po kalibraciji … … zdaj ste pripravljeni na rock
Vklop po kalibraciji … … zdaj ste pripravljeni na rock
Vklop po kalibraciji … … zdaj ste pripravljeni na rock
Vklop po kalibraciji … … zdaj ste pripravljeni na rock
Vklop po kalibraciji … … zdaj ste pripravljeni na rock
Vklop po kalibraciji … … zdaj ste pripravljeni na rock

Ko je kalibracija končana, lahko začnete postopek polnjenja. Najprej priključite baterijo, nato vklopite enoto. Za ostalo bo poskrbel polnilnik.

Moje vezje je 100% delujoče in preizkušeno. Če pa kaj opazite, mi to sporočite. Za vsa vprašanja se lahko tudi obrnete.

Vesela stavba.

Rgds // Sharanya

Priporočena: