- Način CC in CV za polnilnik baterij:
- Shema vezja
- LM317 Trenutni regulator
- LM317 Regulator napetosti
- Relejni razpored za preklop med načinom CC in CV
- Merjenje napetosti litijeve baterije
- Merjenje polnilnega toka
- Arduino in LCD
- Načrtovanje in izdelava tiskanih vezij s pomočjo EasyEDA
- Izračun in naročanje vzorcev prek spleta
- Programiranje Arduina za dvostopenjsko polnjenje litijeve baterije
- Delo 7,4V dvostopenjskega litijevega polnilnika
Zdi se, da se napredek na področju električnih vozil, dronov in druge mobilne elektronike, kot so naprave IoT, obeta v prihodnosti. Skupno med vsemi temi je, da se vsi napajajo iz baterij. Po Moorevem zakonu elektronske naprave ponavadi postajajo manjše in bolj pitne, zato bi morale imeti te prenosne naprave lasten vir energije. Danes so najpogostejša izbira baterij za prenosno elektroniko litij-ionske ali litijeve polimerne baterije. Čeprav imajo te baterije zelo dobro gostoto napolnjenosti, so v težkih pogojih kemično nestabilne, zato je treba med polnjenjem in uporabo paziti.
V tem projektu bomo zgradili dvostopenjski polnilnik baterij (CC in CV), ki bi ga lahko uporabili za polnjenje litij-ionskih ali litijevih polimernih baterij. Polnilnik vezje je zasnovan za 7,4 baterijo litij (dva 18650 v seriji), ki sem se pogosto uporabljajo v večini robotike projekt, ampak vezje je mogoče enostavno spremeniti, da se prilega v nižjih ali nekoliko višje baterijskih vložkov, kot za izgradnjo 3,7 litijev polnilnik baterij ali 12v litij-ionski akumulator. Kot morda že veste, so za te baterije na voljo že pripravljeni polnilniki, toda poceni so zelo počasni, hitri pa zelo dragi. Tako sem se v tem vezju odločil za izdelavo preprostega surovega polnilnika z IC LM317 s CC in CV načinom. In kaj je bolj zabavno kot ustvarjanje lastnega pripomočka in učenje v njegovem procesu.
Ne pozabite, da je treba z litijevimi baterijami ravnati previdno. Če ga preveč napolnite ali skrajšate, lahko pride do eksplozije in nevarnosti požara, zato ostanite na varnem. Če ste popolnoma novi pri litijevih baterijah, vam toplo priporočam, da pred nadaljevanjem preberete članek o litijevem akumulatorju. Glede na to gremo v projekt.
Način CC in CV za polnilnik baterij:
Polnilnik, ki ga nameravamo tukaj izdelati, je dvostopenjski polnilnik, kar pomeni, da bo imel dva načina polnjenja, in sicer konstantno polnjenje (CC) in konstantno napetost (CV). S kombinacijo teh dveh načinov bomo lahko akumulator napolnili hitreje kot običajno.
Stalno polnjenje (CC):
Prvi način, ki začne delovati, bo način CC. Tu je določena količina polnilnega toka, ki naj vstopi v baterijo. Za vzdrževanje tega toka bo napetost ustrezno spremenjena.
Stalna napetost (CV):
Ko je način CC končan, se vključi način CV. Tu bo napetost ostala nespremenjena in tok se bo lahko spreminjal glede na zahteve glede polnjenja baterije.
V našem primeru imamo 7,4 V litijevo baterijo, ki ni nič drugega kot dve 18650 celici po 3,7 V, ki sta povezani zaporedno (3,7 V + 3,7 V = 7,4 V). Akumulator je treba napolniti, ko napetost pade na 6,4 V (3,2 V na celico) in ga je mogoče polniti do 8,4 V (4,2 V na celico). Zato so te vrednosti že določene za naš akumulator.
Nato smo se odločili za polnilni tok v načinu CC, ki ga običajno najdemo v podatkovnem listu baterije, vrednost pa je odvisna od Ah-vrednosti baterije. V našem primeru sem za konstantni polnilni tok določil vrednost 800 mA. Torej na začetku, ko je baterija priključena za polnjenje, mora polnilnik preiti v način CC in v baterijo potisniti 800 mA s spreminjanjem polnilne napetosti glede na to. To bo napolnilo baterijo in napetost akumulatorja bo začela počasi naraščati.
Ker v akumulator potisnemo močan tok z višjimi vrednostmi napetosti, ga ne moremo pustiti v CC, dokler se baterija popolnoma ne napolni. Ko napetost akumulatorja doseže precejšnjo vrednost, moramo polnilnik prestaviti iz načina CC v način CV. Naša baterija tukaj mora biti 8,4 V, ko je popolnoma napolnjena, da jo lahko prestavimo iz načina CC v način CV pri 8,2 V.
Ko se polnilnik preklopi v način CV, moramo vzdrževati konstantno napetost, v našem primeru je vrednost konstantne napetosti 8,6 V. Baterija bo v načinu CV izpraznila precej manj toka kot v načinu CC, saj je v samem načinu CC skoraj napolnjena. Tako bo pri fiksnih 8,6 V baterija porabila manj toka in ta tok se bo zmanjšal, ko se baterija napolni. Torej moramo spremljati tok, ko doseže zelo nizko vrednost, recimo manj kot 50 mA, predpostavimo, da je baterija popolnoma napolnjena, in z relejem samodejno odklopite akumulator iz polnilnika.
Če povzamemo, lahko postopek polnjenja baterije naštejemo na naslednji način
- Vstopite v način CC in napolnite baterijo s fiksnim 800mA reguliranim tokom.
- Spremljajte napetost akumulatorja in ko doseže 8,2 V, preklopite v način CV.
- V načinu CV napolnite baterijo s fiksno regulirano napetostjo 8,6 V.
- Spremljajte polnilni tok, ko se zmanjša.
- Ko tok doseže 50 mA, baterijo samodejno izključite iz polnilnika.
Vrednosti 800 mA, 8,2 V in 8,6 V so fiksne, ker imamo 7,4 V litijevo baterijo. Te vrednosti lahko enostavno spremenite v skladu z zahtevami vašega akumulatorja. Upoštevajte tudi, da obstaja veliko odrskih polnilcev. Tak dvostopenjski polnilnik je najpogosteje uporabljen. Pri tristopenjskem polnilniku bodo stopnje CC, CV in plavajoče. Pri štiri- ali šeststopenjskem polnilniku se upoštevajo notranji upor, temperatura itd. Zdaj, ko smo na kratko razumeli, kako naj bi dvostopenjski polnilnik dejansko deloval, pojdimo na vezje.
Shema vezja
Popoln diagram vezja za ta polnilnik litijeve baterije najdete spodaj. Vezje je bilo narejeno s pomočjo EasyEDA in tudi PCB bo izdelan z uporabo istega.
Kot lahko vidite, je vezje precej preprosto. Uporabili smo dve IC-ji LM317 s spremenljivo napetostjo, eno za regulacijo toka in drugo za regulacijo napetosti. Prvi rele se uporablja za preklop med načinom CC in CV, drugi rele pa za priključitev ali odklop akumulatorja na polnilnik. Razbijmo vezje na segmente in razumemo njegovo zasnovo.
LM317 Trenutni regulator
IC LM317 lahko deluje kot regulator toka s pomočjo enega samega upora. Vezje za isto je prikazano spodaj
Za naš polnilnik moramo uravnavati tok 800 mA, kot smo že omenili. Formula za izračun vrednosti upora za zahtevani tok je podana v obrazcu kot
Upor (ohmi) = 1,25 / tok (amperi)
V našem primeru je vrednost toka 0,8A in za to dobimo vrednost upora 1,56 ohmov kot upor. Toda najbližja vrednost, ki bi jo lahko uporabili, je 1,5 ohma, kar je omenjeno v zgornjem vezju.
LM317 Regulator napetosti
Za način CV litijevega polnilnika moramo napetost uravnati na 8,6 V, kot smo že omenili. LM317 spet lahko to stori s pomočjo samo dveh uporov. Vezje za isto je prikazano spodaj.
Formula za izračun izhodne napetosti regulatorja LM317 je podana kot
V našem primeru mora biti izhodna napetost (Vout) 8,6 V, vrednost R1 (tukaj R2) pa mora biti manjša od 1000 ohmov, zato sem izbral vrednost 560 ohmov. S tem, če izračunamo vrednost R2, dobimo 3,3 kOma. Lahko uporabite tudi katero koli vrednost uporovne kombinacije, če dobite izhodno napetost 8,6V. S tem spletnim kalkulatorjem LM317 si lahko olajšate delo.
Relejni razpored za preklop med načinom CC in CV
Imamo dva 12V releja, vsakega pa poganja Arduino prek tranzistorja BC547 NPN. Obe postavitvi releja sta prikazani spodaj
Prva Rele se uporablja za preklop med CC in CV način polnilnika, je to rele sproži Arduino pin označeno kot "način". Rele je privzeto v načinu CC, ko se sproži, se iz načina CC spremeni v način CV.
Podobno se drugi rele uporablja za priključitev ali odklop polnilnika iz baterije; ta rele sproži zatič Arduino z oznako "Charge". Rele privzeto odklopi baterijo od polnilnika, ko se sproži, pa polnilnik poveže z baterijo. Poleg tega se dve diodi D1 in D2 uporabljata za zaščito vezja pred obratnim tokom, uporov 1K R4 in R5 pa za omejevanje toka, ki teče skozi dno tranzistorja.
Merjenje napetosti litijeve baterije
Za spremljanje postopka polnjenja moramo izmeriti napetost akumulatorja, šele nato lahko polnilnik iz načina CC prestavimo v način CV, ko napetost akumulatorja doseže 8,2 V, kot smo že omenili. Najpogostejša tehnika merjenja napetosti z mikrokrmilniki, kot je Arduino, je uporaba napetostnega delilnega vezja. Tu uporabljena je prikazana spodaj.
Kot vemo, da je maksimalna napetost, ki jo lahko izmeri analogni zatič Arduino, 5V, lahko pa naša baterija v načinu CV doseže tudi 8,6V, zato moramo to znižati na nižjo napetost. To natančno stori vezje delilnika napetosti. Z uporabo tega spletnega kalkulatorja napetostnih delilnikov lahko izračunate vrednost upora in ugotovite več o delilniku napetosti. Tu smo izhodno napetost izračunali za polovico prvotne vhodne napetosti, nato pa se ta izhodna napetost pošlje na analogni zatič Arduino z oznako " B_Voltage ". Izvirno vrednost lahko pozneje pridobimo med programiranjem Arduina.
Merjenje polnilnega toka
Drug pomemben parameter, ki ga je treba izmeriti, je polnilni tok. V načinu CV se baterija odklopi s polnilnikom, ko polnilni tok pade pod 50 mA, kar kaže na zaključeno polnjenje. Obstaja veliko metod za merjenje toka, najpogosteje uporabljena metoda je z uporabo ranžirnega upora. Vezje za isto je prikazano spodaj
Koncept je preprost zakon ohmov. Celoten tok, ki teče do akumulatorja, teče skozi uporni upor 2.2R. Potem po ohmskem zakonu (V = IR) vemo, da bo padec napetosti na tem uporu sorazmeren s tokom, ki teče skozi njega. Ker vemo, da je vrednost upora in napetost na njem mogoče izmeriti z analognim zatičem Arduino, lahko vrednost toka enostavno izračunamo. Vrednost padca napetosti na uporu se pošlje Arduinu prek oznake "B_Current ". Vemo, da bo največji polnilni tok 800 mA, zato lahko s pomočjo formul V = IR in P = I 2 R izračunamo vrednost upora in vrednost moči upora.
Arduino in LCD
Na koncu na strani Arduino moramo povezati LCD z Arduinom, da uporabniku prikažemo postopek polnjenja in nadzorujemo polnjenje tako, da izmerimo napetost, tok in nato sprožimo releje.
Arduino Nano ima vgrajeni regulator napetosti, zato je napajalna napetost dobavljena na Vin, regulirana 5V pa se uporablja za upravljanje zaslona Arduino in LCD 16x2. Napetost in tok lahko merite z analognimi zatiči A0 oziroma A1 z uporabo oznak "B_Voltage" in "B_Current". Rele lahko sprožite tako, da preklopite GPIO nožici D8 in D9, ki sta povezani z nalepkama »Način« in »Polnjenje«. Ko so sheme pripravljene, lahko nadaljujemo s proizvodnjo PCB.
Načrtovanje in izdelava tiskanih vezij s pomočjo EasyEDA
Za oblikovanje tega vezja za polnilnik baterij Lithum smo izbrali spletno orodje EDA, imenovano EasyEDA. Pred tem sem že večkrat uporabljal EasyEDA in se mi je zdel zelo priročen, saj ima dobro zbirko odtisov in je odprtokoden. Po načrtovanju PCB lahko naročimo vzorce PCB z njihovimi poceni storitvami izdelave PCB. Ponujajo tudi storitev nabave komponent, kjer imajo veliko zalogo elektronskih komponent in uporabniki lahko naročijo njihove zahtevane komponente skupaj z naročilom PCB.
Med načrtovanjem vezij in tiskanih vezij lahko svoje načrte vezij in tiskanih vezij objavite tudi tako, da jih lahko drugi uporabniki kopirajo ali urejajo in izkoristijo vaše delo. Za to vezje smo objavili tudi celotno postavitev vezij in tiskanih vezij, preverite spodnja povezava:
easyeda.com/CircuitDigest/7.4V-Lithium-Charger-with-MCU
Lahko si ogledate katero koli plast (zgoraj, spodaj, zgornjo svilo, spodnjo sliko itd.) PCB-ja tako, da v oknu »Plasti« izberete plast. Z gumbom za ogled fotografij v EasyEDA si lahko ogledate tudi tiskano vezje za polnilnik litijeve baterije, kako bo videti po izdelavi:
Izračun in naročanje vzorcev prek spleta
Po končanem oblikovanju tega tiskanega vezja za polnilnik litijeve baterije lahko PCB naročite prek JLCPCB.com. Če želite naročiti PCB pri JLCPCB, potrebujete datoteko Gerber. Za prenos Gerberjevih datotek s tiskanega vezja na strani urejevalnika EasyEDA kliknite gumb Ustvari datoteko za izdelavo, nato od tam prenesite datoteko Gerber ali pa kliknite Naročilo pri JLCPCB, kot je prikazano na spodnji sliki. To vas bo preusmerilo na JLCPCB.com, kjer lahko izberete število PCB-jev, ki jih želite naročiti, koliko bakrenih plasti potrebujete, debelino PCB-ja, težo bakra in celo barvo PCB-ja, na primer spodnji posnetek:
Po kliku na gumb za naročilo na JLCPCB vas pripelje na spletno mesto JLCPCB, kjer lahko naročite PCB po zelo nizki ceni, ki znaša 2 USD. Njihov čas izdelave je prav tako zelo manjši, kar znaša 48 ur, ko DHL dobavi 3-5 dni, v bistvu boste svoje PCB dobili v enem tednu po naročilu.
Po naročilu PCB lahko preverite proizvodni napredek PCB z datumom in uro. To preverite tako, da greste na strani z računom in kliknete povezavo "Napredek proizvodnje" pod tiskanim vezjem, kot je prikazano na spodnji sliki.
Po nekaj dneh naročanja PCB-jev sem dobil vzorce PCB v lepi embalaži, kot je prikazano na spodnjih slikah.
Po prepričanju, da so sledi in odtisi pravilni. Nadaljeval sem s sestavljanjem tiskanega vezja, z ženskimi glavami sem postavil Arduino Nano in LCD, da jih lahko kasneje odstranim, če jih potrebujem za druge projekte. Popolnoma spajkana deska je videti spodaj tako
Programiranje Arduina za dvostopenjsko polnjenje litijeve baterije
Ko je strojna oprema pripravljena, lahko nadaljujemo s pisanjem kode za Arduino Nano. Celoten program za ta projekt je na dnu strani, lahko ga naložite neposredno na svoj Arduino. Zdaj pa razdelimo program na majhne delčke in razumemo, kaj koda dejansko počne.
Kot vedno začnemo program z inicializacijo V / I zatičev. Kot vemo iz naše strojne opreme, se zatiči A0 in A2 uporabljata za merjenje napetosti oziroma toka, zatiči D8 in D9 pa krmiljenje releja načina in releja polnjenja. Koda za določitev iste je prikazana spodaj
const int rs = 2, en = 3, d4 = 4, d5 = 5, d6 = 6, d7 = 7; // Omenite številko zatiča za LCD povezavo LiquidCrystal lcd (rs, en, d4, d5, d6, d7); int Charge = 9; // Pin za priključitev ali odklop akumulatorja na vezje int Mode = 8; // Pin za preklop med načinom CC in načinom CV int Voltage_divider = A0; // Za merjenje napetosti akumulatorja int Shunt_resistor = A1; // za merjenje polnilnega toka s plovcem Charge_Voltage; float Charge_current;
Znotraj nastavitvene funkcije inicializiramo funkcijo LCD in na zaslonu prikažemo uvodno sporočilo. Relejske zatiče definiramo tudi kot izhodne zatiče. Nato sprožite rele za polnjenje, priključite baterijo na polnilnik in polnilnik privzeto ostane v načinu CC.
void setup () { lcd.begin (16, 2); // Inicializiramo 16 * 2 LCD lcd.print ("7,4V Li + polnilnik"); // Uvodna vrstica sporočila 1 lcd.setCursor (0, 1); lcd.print ("- CircuitDigest"); // Uvodna vrstica sporočila 2 lcd.clear (); pinMode (polnjenje, IZHOD); pinMode (način, IZHOD); digitalWrite (polnjenje, VISOKO); // Začetek polnjenja najprej začnemo s priključitvijo baterije digitalWrite (način, LOW); // VISOKO za način CV in NIZKO za način CC, začetna zakasnitev v načinu CC (1000); }
Nato znotraj neskončne zanke funkcijo, smo začeli program z merjenjem napetost akumulatorja in polnjenje tok. Vrednosti 0,0095 in 1,78 se pomnožijo z analogno vrednostjo za pretvorbo 0 na 1024 v dejansko vrednost napetosti in toka. Z multimetrom in merilnikom vpenjala lahko izmerite dejansko vrednost in nato izračunate vrednost množitelja. Teoretično je tudi izračunati multiplikacijske vrednosti na podlagi uporov, ki smo jih uporabili, vendar ni bil tako natančen, kot sem pričakoval.
// Na začetku izmerimo napetost in tok Charge_Voltage = analogRead (Voltage_divider) * 0,0092; // Izmeri napetost akumulatorja Charge_current = analogRead (Shunt_resistor) * 1,78; // Izmerimo polnilni tok
Če je polnilna napetost manjša od 8,2V, vstopimo v način CC in če je višja od 8,2V, vstopimo v način CV. Vsak način ima svojo zanko while . Znotraj zanke načina CC ohranjamo zatič načina kot LOW, da ostane v načinu CC, nato pa nadziramo napetost in tok. Če napetost preseže mejno napetost 8,2 V, prekinemo zanko CC z uporabo stavka prekinitve. Stanje polnilne napetosti je prikazano tudi na LCD-ju znotraj zanke CC.
// Če je napetost akumulatorja manjša od 8,2 V, preklopite v način CC (Charge_Voltage <8,2) // CC MODE Loop { digitalWrite (Mode, LOW); // Ostani v načinu CC // Izmeri napetost in tok Charge_Voltage = analogRead (Voltage_divider) * 0,0095; // Merjenje napetosti akumulatorja Charge_current = analogRead (Shunt_resistor) * 1,78; // Ukrep polnilni tok // tiskanja detials na LCD lcd.print ("V ="); lcd.print (Charge_Voltage); lcd.setCursor (0, 1); lcd.print ("V načinu CC"); zamuda (1000); lcd.clear (); // Preverite, ali moramo zapustiti način CC, če (Charge_Voltage> = 8.2) // Če da { digitalWrite (Mode, HIGH); // Preklop na prekinitev načina CV ; } }
Isti tehniki lahko sledimo tudi pri načinu CV. Če napetost preseže 8,2 V, polnilnik preklopi v način CV, tako da zatič Mode postavi visoko. To velja za konstantnih 8,6 V v akumulatorju, polnilni tok pa se lahko spreminja glede na potrebe po bateriji. Ta polnilni tok se nato spremlja in ko doseže pod 50 mA, lahko postopek polnjenja zaključimo tako, da odklopimo baterijo od polnilca. Za to moramo preprosto izklopiti rele za polnjenje, kot je prikazano v spodnji kodi
// Če je napetost akumulatorja večja od 8,2 V, vstopite med CV načinom (Charge_Voltage> = 8,2) // zanka CV MODE { digitalWrite (Mode, HIGH); // Ostani v CV načinu // Izmeri napetost in tok Charge_Voltage = analogRead (Voltage_divider) * 0,0092; // Merjenje napetosti akumulatorja Charge_current = analogRead (Shunt_resistor) * 1,78; // merjenje polnilnega toka // prikaz podrobnosti uporabniku v LCD lcd.print ("V ="); lcd.print (Charge_Voltage); lcd.print ("I ="); lcd.print (Charge_current); lcd.setCursor (0, 1); lcd.print ("V načinu CV"); zamuda (1000); lcd.clear (); // Preverite, ali je baterija napolnjena, s spremljanjem polnilnega toka, če (Charge_current <50) // Če da { digitalWrite (polnjenje, LOW); // Izklopite polnjenje, medtem ko (1) // Polnilnik izklopite, dokler se znova ne zažene { lcd.setCursor (0, 1); lcd.print ("Charge Complete."); zamuda (1000); lcd.clear (); } } } }
Delo 7,4V dvostopenjskega litijevega polnilnika
Ko je strojna oprema pripravljena, naložite kodo na ploščo Arduino. Nato baterijo priključite na polnilni priključek plošče. Prepričajte se, da ste ju povezali v pravi polarnosti, saj bo obratna polarnost resno poškodovala baterijo in ploščo. Po priključitvi akumulatorja polnilnik uporabite 12V adapter. Pozdravili vas bodo z uvodnim besedilom, polnilnik pa bo prešel v način CC ali CV glede na stanje baterije. Če se baterija med polnjenjem popolnoma izprazni, preide v način CC in vaš LCD bo spodaj prikazal nekaj takega.
Ko se baterija napolni, se bo napetost povečala, kot prikazuje spodnji video . Ko ta napetost doseže 8,2 V, bo polnilnik prešel v način CV iz načina CC in bo zdaj prikazal napetost in tok, kot je prikazano spodaj.
Od tu se bo trenutna poraba baterije počasi zmanjševala, ko se bo napolnila. Ko tok doseže 50 mA ali manj, polnilnik predpostavlja, da je baterija popolnoma napolnjena, nato pa z relejem odklopi akumulator iz polnilnika in prikaže naslednji zaslon. Po tem lahko baterijo odklopite s polnilnika in jo uporabite v svojih aplikacijah.
Upam, da ste projekt razumeli in ste ga radi zgradili. Celotno delo najdete v spodnjem videoposnetku. Če imate kakršna koli vprašanja, jih objavite v spodnjem oddelku za komentarje, uporabite forume za druga tehnična vprašanja. Tudi tokokrog je namenjen samo izobraževanju, zato ga uporabljajte odgovorno, saj litijeve baterije v težkih pogojih niso stabilne.