- Yksittäisen kennojännitteen mittaaminen sarjan akkupinossa
- Differentiaalipiiri yksittäisen kennojännitteen mittaamiseksi
- Piirikaavio
- Piirilevyjen suunnittelu ja valmistus Easy EDA: lla
- Näytteiden laskeminen ja tilaaminen verkossa
- Jännitteenvalvontapiirin testaus
- Litiumkennojännitteen mittaaminen Arduinolla
- Arduinon ohjelmointi
- Yksittäisen kennojännitteen näyttö toimii
Sähköajoneuvon mittarilukema ja suorituskyky riippuvat sen akun kapasiteetista ja tehokkuudesta. Akun ylläpitäminen kunnossa on Battery Management System (BMS) -vastuu. BMS on hienostunut yksikkö EV: ssä, joka tekee paljon toimintaa, kuten valvoo soluja, tasapainottaa niitä ja jopa suojaa niitä lämpötilan muutoksilta. Olemme jo oppineet siitä tarpeeksi tässä Battery Management System -artikkelissa, joten tarkista ne, jos olet uusi täällä.
Jos haluat tehdä mitä tahansa, BMS: n ensimmäinen askel olisi tietää litiumakun solujen nykyinen tila. Tämä tehdään mittaamalla pakkauksen kennojen jännite ja virta (joskus myös lämpötila). Vain näiden kahden arvon avulla BMS pystyi laskemaan SOC: n tai SOH: n ja suorittamaan solujen tasapainottamisen jne. Joten kennon jännitteen ja virran mittaaminen on elintärkeää kaikille BMS-piirille, olipa kyseessä yksinkertainen virtapankki tai kannettavan tietokoneen akku tai yhtä monimutkainen pakkaus kuin EV / Aurinkoparistot.
Tässä artikkelissa opitaan, kuinka voimme mitata litiumparistossa käytettyjen kennojen yksittäisen kennojännitteen. Tämän projektin vuoksi käytämme neljää sarjaan kytkettyä litium 18650 -solua akun muodostamiseksi ja suunnitellemme yksinkertaisen piirin op-ampeereilla yksittäisten kennojännitteiden mittaamiseksi ja esittelemiseksi sen LCD-näytöllä Arduinolla.
Yksittäisen kennojännitteen mittaaminen sarjan akkupinossa
Sarjaan liitetyn pariston pakkauksen yksittäisen kennojännitteen mittaamisen ongelma on, että vertailupiste pysyy samana. Seuraava kuva kuvaa samaa
Oletetaan yksinkertaisuuden vuoksi, että kaikki neljä kennoa ovat 4 V: n jännitetasolla, kuten yllä on esitetty. Nyt jos käytämme mikro kuten Arduino mitata solun jännite, meillä ei ole mitään ongelmaa mitata jännite 1 st soluna, sillä se on toinen pää on kytketty maahan. Mutta muiden solujen osalta meidän on mitattava kyseisen kennon jännite edellisten solujen ohella, esimerkiksi kun mitataan 4. kennon jännitettä, mitataan kaikkien neljän kennon jännite yhdessä. Tämä johtuu siitä, että vertailupistettä ei voida muuttaa maasta.
Joten meidän on otettava käyttöön tässä ylimääräinen piiri, joka voi auttaa meitä mittaamaan yksittäisiä jännitteitä. Karkealla tavalla on käyttää potentiaalijakajaa jännitetasojen kartoittamiseen ja mittaamiseen, mutta tämä menetelmä vähentää lukearvon resoluutiota yli 0,1 V: iin. Siksi tässä opetusohjelmassa käytämme Op-Amp-differentiaalipiiriä mittaamaan kunkin solunapojen välisen eron yksittäisen jännitteen mittaamiseksi.
Differentiaalipiiri yksittäisen kennojännitteen mittaamiseksi
Tiedämme jo Op-Amp: n, kun differentiaalivahvistimena toimiminen antaa eron sen kääntö- ja ei-kääntötapille annettujen kahden jännitearvon välillä. Joten 4 kennojännitteen mittaamiseen tarvitaan kolme differentiaalista op-ampeeria, kuten alla on esitetty.
Huomaa, että tämä kuva on vain esitys; varsinainen piiri tarvitsee lisää komponentteja, ja siitä keskustellaan myöhemmin tässä artikkelissa. Ensimmäinen op-amp O1 mittaa jännite 2 toisen solun erotuksena 2 toinen solu päätelaitteen ja 1 s solun päätelaite, joka on (8-4). Samoin Op-amp O2 ja O3 mittaa 3 rd ja 4 th kennon jännite vastaavasti. Emme ole käyttäneet op-amp varten 1 st solun koska voidaan mitata suoraan.
Piirikaavio
Täydellinen piirikaavio monisoluisen jännitteen valvomiseksi litiumakkuyksikössä on annettu alla. Piiri on suunniteltu EasyEDA: n avulla, ja käytämme samaa myös piirilevyn valmistamiseen.
Kuten näette, virtapiirissämme on kaksi Quad-pakettikiskon ja kiskon korkeajännitteistä op-amp-vahvistinta OPA4197. Toista IC: tä (U1) käytetään puskuripiirin eli jännitteen seuraajana, kun taas toista IC: tä (U2) käytetään differentiaalivahvistinpiirin muodostamiseen. Puskuripiiri vaaditaan estämään minkään solun latautumista erikseen, mikä ei ole virtaa, jota tulisi kuluttaa yhdestä solusta, vaan se muodostaa vain pakkauksen kokonaisuutena. Koska puskuripiirillä on erittäin suuri tuloimpedanssi, voimme lukea kennon jännitteen ottamatta siitä virtaa.
Kaikkia ICU: n neljää op-ampeeria käytetään puskuroimaan vastaavasti neljän kennon jännite. Kennojen tulojännitteet on merkitty välillä B1 + - B4 + ja puskuroitu lähtöjännite on merkitty välillä B1_Out - B4_Out. Tämä puskuroitu jännite lähetetään sitten differentia-vahvistimeen yksittäisen kennojännitteen mittaamiseksi, kuten edellä on esitetty. Koko vastuksen arvoksi asetetaan 1K, koska differentiaalivahvistimen vahvistus on asetettu yhtenäisyyteen. Voit käyttää mitä tahansa vastuksen arvoa, mutta niiden kaikkien tulisi olla samanarvoisia, paitsi vastukset R13 ja R14. Nämä kaksi vastusta muodostavat potentiaalijakajan akun pakkausjännitteen mittaamiseksi, jotta voimme verrata sitä mitattujen kennojännitteiden summaan.
Kiskosta kiskoon, korkeajännitteinen Op-Amp
Yllä oleva piiri vaatii sinua käyttämään Rail to Rail korkeajännitteistä op-vahvistinta, kuten OPA4197, kahdesta syystä. Molemmat Op-Amp IC toimivat pakkausjännitteellä, joka on enintään (4,3 * 4) 17,2 V, joten Op-vahvistimen tulisi pystyä käsittelemään korkeita jännitteitä. Koska käytämme puskuripiiriä, puskurin ulostulon tulisi olla yhtä suuri kuin 4. solupäätteen pakkausjännite, eli lähtöjännitteen tulisi olla yhtä suuri kuin op-amp: n käyttöjännite, joten meidän on käytettävä kiskoa Kiskon op-amp
Jos et löydä kiskolta kiskolle -op-vahvistinta, voit korvata IC: n yksinkertaisella LM324: llä. Tämä mikropiiri pystyy käsittelemään suurjännitettä, mutta ei voi toimia kiskosta kiskoon, joten sinun on käytettävä 10 k: n vetovastusta U1 Op-Amp -piirin ensimmäisessä nastassa.
Piirilevyjen suunnittelu ja valmistus Easy EDA: lla
Nyt kun piirimme on valmis, on aika saada se valmistettua. Koska käyttämäni Op-Amp on saatavana vain SMD-paketissa, jouduin valmistamaan piirilevyni piirilevyn. Joten, kuten aina, olemme käyttäneet online-EDA-työkalua nimeltä EasyEDA saadaksemme piirilevymme valmistettua, koska se on erittäin kätevä käyttää, koska sillä on hyvä kokoelma jalanjälkiä ja se on avoimen lähdekoodin.
Piirilevyn suunnittelun jälkeen voimme tilata piirilevynäytteet niiden edullisten piirilevyjen valmistuspalveluiden avulla. Ne tarjoavat myös komponenttien hankintapalvelua, jossa heillä on suuri määrä elektronisia komponentteja ja käyttäjät voivat tilata tarvittavat komponentit piirilevytilauksen mukana.
Piirejä ja piirilevyjä suunniteltaessa voit myös tehdä piireistä ja piirilevyistä julkisia, jotta muut käyttäjät voivat kopioida tai muokata niitä ja hyötyä työstäsi. Olemme myös julkistaneet koko piirin ja piirilevyasettelut tälle piirille, tarkista alla oleva linkki:
easyeda.com/CircuitDigest/Multicell-Voltage-measuring-for-BMS
Voit tarkastella mitä tahansa piirilevyn kerrosta (ylä-, ala-, yläsilkki-, pullonsilkki- jne.) Valitsemalla kerroksen 'Tasot' -ikkunasta. Viime aikoina he ovat myös ottaneet käyttöön 3D-näkymävaihtoehdon, joten voit myös tarkastella monisoluisen jännitteen mittaavaa piirilevyä siitä, miten se näyttää valmistuksen EasyEDA: n 3D-näkymä- painikkeella:
Näytteiden laskeminen ja tilaaminen verkossa
Kun olet suorittanut tämän litiumkennon jännitteen mittauspiirin suunnittelun, voit tilata piirilevyn JLCPCB.com -sivuston kautta. Jos haluat tilata piirilevyn JLCPCB: ltä, tarvitset Gerber-tiedoston. Lataa PC: n Gerber-tiedostot napsauttamalla Luo valmistustiedosto -painiketta EasyEDA-editorisivulla, lataa sitten Gerber-tiedosto sieltä tai voit napsauttaa Tilaa JLCPCB: ssä alla olevan kuvan mukaisesti. Tämä ohjaa sinut osoitteeseen JLCPCB.com, josta voit valita tilattavien piirilevyjen määrän, kuinka monta kuparikerrosta tarvitset, piirilevyn paksuuden, kuparin painon ja jopa piirilevyn värin, kuten alla oleva tilannekuva:
Kun olet napsauttanut tilausta JLCPCB-painikkeella, se vie sinut JLCPCB: n verkkosivustolle, josta voit tilata minkä tahansa värikortin erittäin alhaisella hinnalla, joka on 2 dollaria kaikille väreille. Niiden rakennusaika on myös hyvin lyhyt, mikä on 48 tuntia, kun DHL-toimitus on 3-5 päivää, periaatteessa saat piirilevyt viikon kuluessa tilauksesta. Lisäksi he tarjoavat myös 20 dollarin alennuksen toimituksesta ensimmäiselle tilauksellesi.
Kun olet tilannut piirilevyn, voit tarkistaa piirilevyn tuotannon edistymisen päivämäärän ja kellonajan kanssa. Voit tarkistaa sen siirtymällä tilisivulle ja napsauttamalla "Tuotannon edistyminen" -linkkiä piirilevyn alla, kuten alla olevassa kuvassa.
Muutaman päivän PCB: n tilaamisen jälkeen sain PCB-näytteet mukavissa pakkauksissa alla olevien kuvien mukaisesti.
Kun olet varmistanut, että jäljet ja jalanjäljet olivat oikein. Jatkoin PCB: n kokoamista, käytin naispuolisia otsikoita Arduino Nano- ja LCD-näyttöjen sijoittamiseen, jotta voin poistaa ne myöhemmin, jos tarvitsen niitä muihin projekteihin. Täysin juotettu lauta näyttää tältä alla
Jännitteenvalvontapiirin testaus
Kun kaikki osat on juotettu, liitä akku yksinkertaisesti kortin H1-liittimeen. Olen käyttänyt liitäntäkaapeleita varmistaakseni, että en muuta liitäntää tulevaisuudessa vahingossa. Ole varovainen, ettet kytke sitä väärin, koska se voi johtaa oikosulkuun ja vahingoittaa paristoja tai virtapiiriä pysyvästi. Testissä käyttämäni piirilevy ja akku ovat alla.
Käytä nyt H2-terminaalin yleismittaria yksittäisten myyntijännitteiden mittaamiseen. Pääte on merkitty numeroilla tunnistamaan mitattavan virran kennojännite. Täältä voimme päätellä, että piiri toimii. Mutta jotta se olisi mielenkiintoisempaa, liitä LCD-näyttö ja mittaa nämä jännitearvot Arduinolla ja näytä se LCD-näytöllä.
Litiumkennojännitteen mittaaminen Arduinolla
Piiri Arduinon liittämiseksi piirilevyomme on alla. Se näyttää, kuinka Arduino Nano kytketään LCD-näyttöön.
Piirikortin otsikkotappi H2 on kytkettävä Arduino-kortin analogisiin nastoihin yllä esitetyllä tavalla. Analogisia nastoja A1 - A4 käytetään vastaavasti neljän kennojännitteen mittaamiseen, kun taas tappi A0 on kytketty P1: n otsikkotappiin v '. Tätä v '-nastaa voidaan käyttää mittaamaan pakkauksen kokonaisjännite. Olemme myös kytketty 1 kpl pin P1 Vin pin Arduino ja 3 rd pin P1 O maadoitusnastan Arduino valtaan Arduino kanssa akku.
Voimme kirjoittaa ohjelman akun kaikkien neljän kennojännitteen ja pakkauksen jännitteen mittaamiseksi ja näyttää sen nestekidenäytössä. Kiinnostuksen lisäämiseksi olen myös lisännyt kaikki neljä kennojännitettä ja verrannut arvoa mitattuun pakkausjännitteeseen tarkistaakseni, kuinka lähellä jännitettä todella mittaamme.
Arduinon ohjelmointi
Koko ohjelma löytyy tämän sivun lopusta. Ohjelma on melko yksinkertainen, yksinkertaisesti käytämme analogista lukutoimintoa lukemaan solujännitteet ADC-moduulin avulla ja näyttämään lasketun jännitteen arvon LCD-näytöllä LCD-kirjaston avulla.
kelluva solu = analoginen luku (A1) * (5,0 / 1023,0); // Mittaa ensimmäisen kennon jännite lcd.print ("C1:"); lcd.print (solu_1);
Edellä olevassa katkelmassa olemme mitanneet kennon 1 jännitteen ja kertomalla sen arvolla 5/1023 muuntamaan 0 - 1023 ADC-arvon todelliseksi 0 - 5 V: ksi. Näytämme sitten lasketun jännitteen arvon LCD-näytöllä. Samoin teemme tämän kaikkien neljän kennon ja koko akun osalta. Olemme myös käyttäneet muuttuvaa kokonaisjännitettä yhteen laskemaan kaikki kennojännitteet ja näyttämään sen LCD-näytöllä kuten alla on esitetty.
kelluva Total_Voltage = solu_1 + solu_2 + solu_3 + solu_4; // Lisää kaikki neljä mitattua jännitearvoa lcd.print ("Total:"); lcd.print (Kokonaisjännite);
Yksittäisen kennojännitteen näyttö toimii
Kun olet valmis piiriin ja koodiin, lataa koodi Arduino-kortille ja liitä virtapankki piirilevyyn. LCD: n pitäisi nyt näyttää kaikkien neljän kennon yksittäinen kennojännite, kuten alla on esitetty.
Kuten näette, kennojen 1 - 4 jännite on 3,78 V, 3,78 V, 3,82 V ja 3,84 V. Joten sitten käytin yleismittaria tarkistamaan näiden solujen todellinen jännite, joka osoittautui hieman erilaiseksi, ero on taulukoitu alla.
Mitattu jännite |
Todellinen jännite |
3,78 V |
3,78 V |
3,78 V |
3,78 V |
3,82 V |
3,81 V |
3,84 V |
3,82 V |
Kuten näette, saamme tarkkoja tuloksia soluille yksi ja toinen, mutta soluille 3 ja 4 on virhe jopa 200 mV. Tämä on todennäköisesti odotettavissa suunnittelumme suhteen. Koska käytämme op-amp-erotinpiiriä, mitatun jännitteen tarkkuus laskee solujen määrän kasvaessa.
Mutta tämä virhe on kiinteä virhe ja se voidaan korjata ohjelmassa ottamalla näytelukemia ja lisäämällä kerroin virheen korjaamiseksi. Seuraavalla LCD-näytöllä näet myös mitatun jännitteen ja potentiaalijakajan kautta mitatun todellisen pakkausjännitteen summan. Sama näkyy alla.
Mitattujen jännitteiden summa on 15,21 V ja Arduinon A0-nastan kautta mitattu todellinen jännite osoittautuu 15,22 V: ksi. Siten ero on 100 mV, mikä ei ole huono. Vaikka tällaista virtapiiriä voidaan käyttää pienempään määrään sakkaa, kuten tehopankeissa tai kannettavien akuissa. Sähköajoneuvo BMS käyttää erityyppisiä IC: itä, kuten LTC2943, koska edes 100 mV: n virhettä ei voida sietää. Siitä huolimatta olemme oppineet tekemään sen pienessä mittakaavassa, jossa hinta on rajoitus.
Kokoonpanon täydellinen toiminta löytyy alla olevasta videosta. Toivottavasti pidit projektista ja opit siitä jotain hyödyllistä. Jos sinulla on kysyttävää, jätä ne kommenttiosioon tai käytä foorumeita vastausten nopeuttamiseksi.