- Merjenje napetosti posameznih celic v seriji baterij
- Diferencialno vezje za merjenje posamezne napetosti celice
- Shema vezja
- Oblikovanje in izdelava tiskanih vezij s pomočjo EDA
- Izračun in naročanje vzorcev prek spleta
- Preskušanje vezja za nadzor napetosti
- Merjenje napetosti litijeve celice z uporabo Arduina
- Programiranje Arduina
- Posamezen prikaz napetosti celice deluje
Kilometrina in zmogljivost električnega vozila je odvisna od zmogljivosti in učinkovitosti njegovega akumulatorja. Sistem za upravljanje baterij (BMS) je odgovoren za vzdrževanje celotnega zdravstvenega stanja baterije. BMS je prefinjena enota v EV, ki opravlja veliko dejavnosti, kot je spremljanje celic, njihovo uravnoteženje in celo zaščita pred temperaturnimi spremembami. V tem članku o sistemu za upravljanje akumulatorjev smo se tega že dovolj naučili, zato jih preverite, če ste tu novi.
Če bi karkoli storili, bi bil prvi korak BMS poznavanje trenutnega stanja celic v litijevem baterijskem paketu. To se naredi z merjenjem napetosti in toka (včasih tudi temperature) celic v embalaži. Samo s tema dvema vrednostma lahko BMS izračuna SOC ali SOH in izvede uravnoteženje celic itd. Tako je merjenje napetosti in toka celice ključnega pomena za katero koli vezje BMS, naj bo to preprosta baterija ali prenosni akumulator ali tako zapleten paket kot EV / Sončne baterije.
V tem članku bomo izvedeli, kako lahko izmerimo napetost posameznih celic celic, ki se uporabljajo v litijevem baterijskem paketu. Za namene tega projekta bomo uporabili štiri zaporedno povezane celice litija 18650 za oblikovanje akumulatorja in oblikovanje preprostega vezja z opcijskimi ojačevalniki za merjenje napetosti posameznih celic in prikazovanje na LCD zaslonu z uporabo Arduina.
Merjenje napetosti posameznih celic v seriji baterij
Težava pri merjenju napetosti posamezne celice v paketu zaporedno povezanih baterij je v tem, da referenčna točka ostaja enaka. Spodnja slika ponazarja enako
Za poenostavitev predpostavimo, da so vse štiri celice na napetosti 4V, kot je prikazano zgoraj. Zdaj, če bomo uporabili mikrokrmilniška kot Arduino za merjenje napetosti celic, bomo imeli nobenih težav pri merjenju napetosti 1 st celice, saj ima drugi konec povezan z zemljo. Toda za druge celice moramo izmeriti napetost te celice skupaj s prejšnjimi celicami, na primer, ko izmerimo napetost 4. celice, bomo izmerili napetost vseh štirih celic skupaj. To je zato, ker referenčne točke ni mogoče spremeniti s tal.
Zato moramo tukaj uvesti nekaj dodatnega vezja, ki bi nam lahko pomagalo izmeriti posamezne napetosti. Na surovi način je uporaba potencialnega delilnika za preslikavo napetostnih ravni in nato njihovo merjenje, vendar bo ta metoda zmanjšala ločljivost odčitane vrednosti na več kot 0,1 V. Zato bomo v tej vadnici uporabili diferencialno vezje Op-Amp za merjenje razlike med posameznimi celičnimi terminali za merjenje posamezne napetosti.
Diferencialno vezje za merjenje posamezne napetosti celice
Op-ojačevalnik že poznamo, ko deluje kot diferenčni ojačevalnik, ki daje razliko med obema napetostnima vrednostma, ki sta predvidena za njegov invertirni in neinvertirni pin. Torej za namen merjenja 4 celičnih napetosti potrebujemo tri diferenčne ojačevalnike, kot je prikazano spodaj.
Upoštevajte, da je ta slika samo za predstavitev; dejansko vezje potrebuje več komponent in bo obravnavano kasneje v tem članku. Prvi ukrepi O1 op-amp napetost 2 nd celic z izračunom razlike med 2 nd celic terminalom in 1 st celične terminal, ki je (8-4). Podobno Op-amp O2 in O3 ukrepi 3 rd in 4 th celica napetost oz. Nismo uporabili op-amp za 1 st celice, saj bi se lahko meri neposredno.
Shema vezja
Popoln diagram vezja za spremljanje večcelične napetosti v litijevi bateriji je spodaj. Vezje je bilo zasnovano z uporabo EasyEDA in isto bomo uporabili tudi za izdelavo našega tiskanega vezja.
Kot lahko vidite, imamo v našem vezju dva visokonapetostna optična ojačevalnika OPA4197 s štirimi paketi, ki jih napaja skupna napetost paketa. Ena IC (U1) se uporablja za izdelavo medpomnilnika, imenovana tudi napetostni sledilnik, druga IC (U2) pa se uporablja za oblikovanje vezja diferencialnega ojačevalnika. Zahteva se medpomnilniško vezje, ki preprečuje, da bi se katera koli od celic naložila posamično, kar pomeni, da iz ene celice ne bi smeli porabiti toka, temveč samo sestaviti paket kot celoto. Ker ima vmesni krog zelo visoko vhodno impedanco, lahko z njim beremo napetost iz celice, ne da bi iz nje črpali moč.
Vsi štirje op-ojačevalniki v IC U1 se uporabljajo za varovanje napetosti štirih celic. Vhodne napetosti iz celic so označene od B1 + do B4 +, puferska izhodna napetost pa od B1_Out do B4_Out. Ta odpuščena napetost se nato pošlje diferencialnemu ojačevalniku za merjenje napetosti posamezne celice, kot je opisano zgoraj. Vrednost celotnega upora je nastavljena na 1K, saj je ojačanje diferencialnega ojačevalnika nastavljeno na enoto. Uporabite lahko katero koli vrednost upora, vendar morajo biti vsi enake vrednosti, razen uporov R13 in R14. Ta dva upora tvorita potencialni delilnik za merjenje napetosti akumulatorja, da ga lahko primerjamo z vsoto izmerjenih napetosti celic.
Od tirnice do tirnice, visokonapetostni op-amp
Zgornje vezje zahteva uporabo visokonapetostnega ojačevalnika Rail-Rail, kot je OPA4197, iz dveh razlogov. Oba optična ojačevalnika IC delujejo pri napetosti paketa, ki je največ (4,3 * 4) 17,2 V, zato mora biti Op-amp sposoben obvladovati visoke napetosti. Tudi zato, ker smo z varovalni stik, naj bi proizvodnja pufra enaka paket napetost za 4 th mobilni terminal, kar pomeni, da izhodno napetost mora biti enaka deluje napetosti op-amp, zato moramo uporabiti Rail za Železniški op-amp
Če ne morete najti železniškega optičnega ojačevalnika, lahko IC zamenjate s preprostim LM324. Ta IC lahko prenaša visoko napetost, vendar ne more delovati kot tirnica do tirnice, zato morate na prvem zatiču U1 Op-Amp IC uporabiti vlečni upor 10k.
Oblikovanje in izdelava tiskanih vezij s pomočjo EDA
Zdaj, ko je naše vezje pripravljeno, je čas, da ga izdelamo. Ker je op-amp, ki ga uporabljam, na voljo samo v paketu SMD, sem moral izdelati tiskano vezje za svoje vezje. Tako kot vedno smo za izdelavo našega tiskanega vezja uporabili spletno orodje EDA EasyEDA, saj je zelo priročno za uporabo, saj ima dobro zbirko odtisov in je odprtokodno.
Po zasnovi 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/Multicell-Voltage-measuring-for-BMS
Lahko si ogledate katero koli plast (zgoraj, spodaj, zgornjo svilo, spodnjo sliko itd.) PCB-ja tako, da v oknu »Plasti« izberete plast. Pred kratkim so uvedli tudi možnost 3D-pogleda, tako da si lahko ogledate tudi PCB za merjenje napetosti Multicell, kako bo videti po izdelavi z gumbom 3D View v EasyEDA:
Izračun in naročanje vzorcev prek spleta
Po končanem načrtovanju tega vezja za merjenje napetosti litijeve celice 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 katero koli barvno tiskano ploščo po zelo nizki ceni, ki znaša 2 USD za vse barve. 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. Poleg tega ponujajo tudi 20 USD popusta pri pošiljanju za vaše prvo naročilo.
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
Preskušanje vezja za nadzor napetosti
Po spajkanju vseh komponent preprosto priključite baterijo na priključek H1 na plošči. Uporabil sem povezovalne kable, da v prihodnosti ne bi slučajno spremenil povezave. Pazite, da ga ne priključite na napačen način, saj lahko povzroči kratek stik in trajno poškoduje baterije ali vezje. Moj PCB z baterijskim paketom, ki sem ga uporabil za testiranje, je prikazan spodaj.
Zdaj uporabite multimeter na terminalu H2 za merjenje posameznih prodajnih napetosti. Terminal je označen s številkami za identifikacijo napetosti celice, ki se meri. Tu lahko ugotovimo, da vezje deluje. Da pa bo bolj zanimivo, priključimo LCD in z Arduinom izmerimo te napetostne vrednosti in jih prikažemo na LCD zaslonu.
Merjenje napetosti litijeve celice z uporabo Arduina
Vezje za povezavo Arduina z našim PCB je prikazano spodaj. Prikazuje, kako Arduino Nano priključite na LCD.
Zatič glave H2 na tiskani plošči mora biti povezan z analognimi nožicami plošče Arduino, kot je prikazano zgoraj. Analogni zatiči A1 do A4 se uporabljajo za merjenje štirih celičnih napetosti, medtem ko je zatič A0 povezan z glavnim zatičem v 'P1. Ta v 'pin lahko uporabite za merjenje celotne napetosti paketa. Povezali smo tudi 1 st pin P1 na Vin pin za Arduino in 3 rd pin P1 o tleh pin Arduino za napajanje Arduino z baterijo.
Lahko napišemo program za merjenje vseh štirih celičnih napetosti in napetosti akumulatorja ter ga prikažemo na LCD-prikazovalniku. Da bi bilo bolj zanimivo, sem dodal tudi vse štiri napetosti celic in primerjal vrednost z izmerjeno napetostjo paketa, da preverim, kako blizu dejansko merimo napetost.
Programiranje Arduina
Celoten program najdete na koncu te strani. Program je precej preprost, preprosto uporabljamo funkcijo analognega branja za branje napetosti celice z uporabo modula ADC in prikaz vrednosti izračuna napetosti na LCD-ju s pomočjo knjižnice LCD.
float Cell_1 = analogRead (A1) * (5.0 / 1023.0); // izmeri lcd.print 1. celične napetosti ("C1:"); lcd.print (celica_1);
V zgornjem delčku smo izmerili napetost celice 1 in jo pomnožili s 5/1023, da pretvorimo vrednost ADC od 0 do 1023 v dejansko 0 do 5V. Nato na LCD prikažemo izračunano vrednost napetosti. Podobno naredimo tudi za vse štiri celice in celotno baterijo. Spremenljivo skupno napetost smo uporabili tudi za seštevanje vseh napetosti celic in prikaz na LCD-prikazovalniku, kot je prikazano spodaj.
float Total_Voltage = Celica_1 + Celica_2 + Celica_3 + Celica_4; // dodamo vse štiri izmerjene vrednosti napetosti lcd.print ("Skupaj:"); lcd.print (skupna_napetost);
Posamezen prikaz napetosti celice deluje
Ko ste pripravljeni na vezje in kodo, naložite kodo na ploščo Arduino in priključite napajalnik na PCB. LCD mora zdaj prikazovati napetost posameznih celic vseh štirih celic, kot je prikazano spodaj.
Kot lahko vidite, je napetost, prikazana za celice od 1 do 4, 3,78 V, 3,78 V, 3,82 V in 3,84 V. Torej sem nato z multimetrom preveril dejansko napetost teh celic, ki se je izkazalo za nekoliko drugačno, razlika je tabela v nadaljevanju.
Izmerjena napetost |
Dejanska napetost |
3,78 V |
3,78 V |
3,78 V |
3,78 V |
3,82 V |
3,81 V |
3,84 V |
3,82 V |
Kot lahko vidite, dobimo natančne rezultate za celice ena in dve, vendar obstaja napaka do 200 mV za celice 3 in 4. To je najverjetneje pričakovano za naš načrt. Ker uporabljamo diferencialno vezje op-amp, se bo natančnost izmerjene napetosti s povečevanjem števila celic zmanjšala.
Toda ta napaka je fiksna napaka in jo je v programu mogoče odpraviti z odvzemom vzorcev in dodajanjem množitelja za odpravo napake. Na naslednjem LCD zaslonu lahko vidite tudi vsoto izmerjene napetosti in dejanske napetosti sklopa, ki je bila izmerjena s potencialnim delilnikom. Enako je prikazano spodaj.
Vsota izmerjenih napetosti je 15,21 V, dejanska napetost, izmerjena skozi A0 zatič Arduino, pa je 15,22 V. Tako je razlika 100mV, kar ni slabo. Medtem ko je to vrsto vezja mogoče uporabiti za manjše število droži, kot so napajalniki ali prenosne baterije. Električno vozilo BMS uporablja posebno vrsto IC, kot je LTC2943, ker tudi napaka 100 mV ni sprejemljiva. Kljub temu smo se naučili, kako to storiti za vezje majhnega obsega, kjer je cena omejena.
Popolno delovanje postavitve lahko najdete na video s povezavo spodaj. Upam, da ste projekt uživali in se iz njega naučili kaj koristnega. Če imate kakršna koli vprašanja, jih pustite v oddelku za komentarje ali uporabite forume za hitrejše odgovore.