- Individualios elemento įtampos matavimas serijos akumuliatoriaus kamino juostoje
- Diferencinė grandinė atskirai elemento įtampai matuoti
- Grandinės schema
- PCB dizainas ir gamyba naudojant „Easy EDA“
- Mėginių apskaičiavimas ir užsakymas internetu
- Įtampos stebėjimo grandinės testavimas
- Ličio elementų įtampos matavimas naudojant „Arduino“
- „Arduino“ programavimas
- Veikia atskirų elementų įtampos ekranas
Elektrinės transporto priemonės rida ir našumas priklauso nuo jos akumuliatoriaus talpos ir efektyvumo. Kad akumuliatorių paketas būtų visiškai sveikas, atsakinga baterijų valdymo sistema (BMS). BMS yra sudėtingas EV vienetas, kuris atlieka daug veiklos, pavyzdžiui, stebi ląsteles, jas subalansuoja ir netgi apsaugo nuo temperatūros pokyčių. Mes jau pakankamai sužinojome apie tai šiame baterijų valdymo sistemos straipsnyje, todėl patikrinkite juos, jei esate naujas čia.
Norėdami ką nors padaryti, pirmasis BMS žingsnis būtų žinoti dabartinę ličio baterijos elementų būseną. Tai daroma matuojant pakuotės elementų įtampą ir srovę (kartais ir temperatūrą). Tik turėdamas šias dvi vertes, BMS galėjo apskaičiuoti SOC arba SOH ir atlikti ląstelių balansavimą ir pan. Taigi matuoti elemento įtampą ir srovę yra gyvybiškai svarbu bet kuriai BMS grandinei, nesvarbu, ar tai būtų paprastas maitinimo bankas, ar nešiojamojo kompiuterio baterija, ar toks sudėtingas paketas kaip EV / Saulės baterijos.
Šiame straipsnyje mes sužinosime, kaip mes galime išmatuoti ličio baterijose naudojamų elementų atskirą elementų įtampą. Šiam projektui naudosime keturias nuosekliai sujungtas ličio 18650 ląsteles, kad suformuotume akumuliatorių paketą ir suprojektuotume paprastą grandinę, naudodami op-amperus, kad pamatuotumėte atskirų elementų įtampą ir parodytume ją LCD ekrane naudodami „Arduino“.
Individualios elemento įtampos matavimas serijos akumuliatoriaus kamino juostoje
Matuojant atskirų elementų įtampą nuosekliai sujungtos baterijos pakuotėje, problema yra ta, kad atskaitos taškas išlieka tas pats. Žemiau pateiktas paveikslėlis iliustruoja tą patį
Paprastumo sumetimais tarkime, kad visos keturios elementai yra 4 V įtampos lygyje, kaip parodyta aukščiau. Dabar, jei mes naudojame kaip Arduino mikrokontrolerio išmatuoti ląstelių įtampa, turėsime jokių problemų matuojant 1 įtampą st ląstelę, nes jis turi kitą galą prijungtas prie žemės. Bet kitoms ląstelėms mes turime matuoti tos ląstelės įtampą kartu su ankstesnėmis ląstelėmis, pavyzdžiui, matuodami 4-osios ląstelės įtampą, mes išmatuosime visų keturių elementų įtampą kartu. Taip yra todėl, kad atskaitos taško negalima pakeisti nuo žemės.
Taigi čia turime įvesti papildomą grandinę, kuri galėtų padėti mums išmatuoti atskiras įtampas. Neapdorotas būdas yra naudoti potencialų daliklį, kad būtų galima nustatyti įtampos lygius ir tada juos išmatuoti, tačiau šis metodas sumažins nuskaitytos vertės skiriamąją gebą iki daugiau nei 0,1 V. Taigi šioje pamokoje mes naudosime „Op-Amp“ diferencialinę grandinę, kad pamatuotume skirtumą tarp kiekvieno elemento gnybtų atskirai įtampai išmatuoti.
Diferencinė grandinė atskirai elemento įtampai matuoti
Mes jau žinome „Op-Amp“, kai dirbdami kaip diferencialinis stiprintuvas suteikia skirtumą tarp dviejų įtampos verčių, pateiktų jo invertuojančiam ir neinvertuojančiam kaiščiui. Taigi, norint išmatuoti 4 elementų įtampą, mums reikia trijų diferencinių op amperų, kaip parodyta žemiau.
Atkreipkite dėmesį, kad šis vaizdas skirtas tik vaizduoti; faktinei grandinei reikia daugiau komponentų ir ji bus aptarta vėliau šiame straipsnyje. Pirmasis op-amp O1 matuoja 2 -osios ląstelės įtampą, apskaičiuodamas skirtumą tarp 2 -osios ląstelės terminalo ir 1 -osios ląstelės terminalo, kuris yra (8–4). Panašiai op-amp O2 ir O3 priemonės 3 -iasis ir 4 -asis ląstelių įtampa atitinkamai. Pirmai ląstelei nenaudojome op-amp, nes ją buvo galima tiesiogiai matuoti.
Grandinės schema
Visa grandinės schema, skirta stebėti daugelio elementų įtampą ličio baterijose, pateikiama žemiau. Grandinė buvo sukurta naudojant „EasyEDA“ ir tą patį naudosime gamindami savo PCB.
Kaip matote, mūsų grandinėje yra du „Quad“ paketo „Rail to Rail“ aukštos įtampos op-amp-OPA4197 stiprintuvai, abu maitinami iš bendros pakuotės įtampos. Vienam IC (U1) naudojama buferio grandinė, dar vadinama įtampos sekėju, o kita IC (U2) naudojama diferencinio stiprintuvo grandinei formuoti. Buferinė grandinė reikalinga tam, kad nė viena ląstelė nebūtų įkrauta atskirai, todėl srovė neturėtų būti naudojama iš vienos ląstelės, bet sudaro tik paketą kaip visumą. Kadangi buferinė grandinė turi labai didelę įėjimo impedanciją, mes galime ją naudoti norėdami nuskaityti elemento įtampą, nenaudodami iš jos galios.
Visi keturi IC U1 op-amperai naudojami atitinkamai keturių elementų įtampai buferizuoti. Elementų įėjimo įtampa žymima nuo B1 + iki B4 +, o buferinė išėjimo įtampa - nuo B1_Out iki B4_Out. Tada ši buferinė įtampa siunčiama į differentia stiprintuvą, kad būtų galima išmatuoti atskirų elementų įtampą, kaip aptarta aukščiau. Viso rezistoriaus vertė nustatyta į 1K, nes diferencialinio stiprintuvo stiprinimas nustatytas į vienovę. Galite naudoti bet kokią rezistoriaus vertę, tačiau visi jie turi būti vienodos vertės, išskyrus rezistorius R13 ir R14. Šie du rezistoriai sudaro potencialų daliklį, kad būtų galima išmatuoti akumuliatoriaus pakuotės įtampą, kad galėtume ją palyginti su išmatuotų elementų įtampų suma.
Bėgis į bėgį, aukštos įtampos Op-Amp
Dėl pirmiau nurodytos grandinės reikia naudoti „Rail to Rail“ aukštos įtampos op-amp, pvz., OPA4197, dėl dviejų priežasčių. Abi „Op-Amp IC“ veikia esant didžiausiai (4,3 * 4) 17,2 V įtampai, todėl „Op-amp“ turėtų sugebėti valdyti aukštą įtampą. Be to, kadangi mes naudojame buferinę grandinę, buferio išvestis turėtų būti lygi 4 -osios ląstelės terminalo pakuotės įtampai, tai reiškia, kad išėjimo įtampa turėtų būti lygi op-amp darbinei įtampai, todėl mums reikia naudoti bėgį Geležinkelio op-amp
Jei nerandate bėgio į bėgį op-amp, galite pakeisti IC paprastu LM324. Šis IC gali valdyti aukštą įtampą, bet negali veikti kaip bėgis nuo bėgio, todėl ant pirmojo U1 „Op-Amp IC“ kaiščio turite naudoti 10 k varžą.
PCB dizainas ir gamyba naudojant „Easy EDA“
Dabar, kai mūsų grandinė yra paruošta, atėjo laikas ją pagaminti. Kadangi „Op-Amp“, kurį naudoju, yra tik SMD pakuotėje, turėjau pagaminti savo grandinės PCB. Taigi, kaip visada, mes naudojome internetinį EDA įrankį, vadinamą „EasyEDA“, kad pagamintume savo PCB, nes jį naudoti yra labai patogu, nes jis turi gerą pėdsakų kolekciją ir yra atviro kodo.
Sukūrę PCB, galime užsisakyti PCB pavyzdžius pagal jų pigias PCB gamybos paslaugas. Jie taip pat siūlo komponentų tiekimo paslaugas, kai turi daug elektroninių komponentų, o vartotojai gali užsisakyti reikalingus komponentus kartu su PCB užsakymu.
Kurdami savo grandines ir PCB, jūs taip pat galite viešai paskelbti savo grandinių ir PCB dizainus, kad kiti vartotojai galėtų juos nukopijuoti ar redaguoti ir galėtų pasinaudoti jūsų darbu. Mes taip pat paviešinome visus mūsų grandinių ir PCB išdėstymus šiai grandinei. žemiau esančią nuorodą:
easyeda.com/CircuitDigest/Multicell-Voltage-measuring-for-BMS
Galite peržiūrėti bet kurį PCB sluoksnį (viršuje, apačioje, viršutiniame piene, dugno piene ir kt.) Pasirinkdami sluoksnį iš lango „Sluoksniai“. Neseniai jie taip pat pristatė 3D rodinio parinktį, kad galėtumėte peržiūrėti daugelio langelių įtampos matavimo plokštę ir sužinoti, kaip ji atrodys gaminant naudojant „ 3DED“ mygtuką „ 3D View “:
Mėginių apskaičiavimas ir užsakymas internetu
Baigę kurti šios ličio elementų įtampos matavimo grandinę, galite užsisakyti PCB per JLCPCB.com. Norėdami užsisakyti PCB iš JLCPCB, jums reikia „Gerber File“. Norėdami atsisiųsti „Gerber“ failus iš savo PCB, tiesiog spustelėkite mygtuką „Generuoti gamybos failą“ „EasyEDA“ redaktoriaus puslapyje, tada atsisiųskite „Gerber“ failą iš ten arba galite spustelėti „Užsakyti JLCPCB“, kaip parodyta žemiau esančiame paveikslėlyje. Tai nukreips jus į JLCPCB.com, kur galėsite pasirinkti norimų užsisakyti PCB skaičių, kiek jums reikia vario sluoksnių, PCB storį, vario svorį ir net PCB spalvą, pavyzdžiui, žemiau pateiktą momentinę kopiją:
Spustelėjus mygtuką „JLCPCB“, jis pateks į JLCPCB svetainę, kur galėsite užsisakyti bet kokią spalvotą PCB labai mažu tarifu, kuris yra 2 USD už visas spalvas. Jų sukūrimo laikas taip pat yra labai trumpesnis, tai yra 48 valandos, kai DHL pristatomas per 3-5 dienas. Iš esmės savo PCB gausite per savaitę nuo užsakymo. Be to, jie taip pat siūlo 20 USD nuolaidą pristatant jūsų pirmąjį užsakymą.
Užsisakę PCB, galite patikrinti savo PCB gamybos pažangą su data ir laiku. Tai patikrinsite apsilankę paskyros puslapyje ir spustelėję nuorodą „Gamybos pažanga“, esančią PCB, kaip parodyta žemiau esančiame paveikslėlyje.
Po kelių dienų užsisakius PCB, aš gavau gražių pakuočių PCB pavyzdžius, kaip parodyta žemiau esančiose nuotraukose.
Įsitikinęs, kad takeliai ir pėdsakai buvo teisingi. Aš pradėjau montuoti PCB, naudodamas moterų antraštes įdėjau „Arduino Nano“ ir LCD, kad vėliau galėčiau jas pašalinti, jei man jų prireiks kitiems projektams. Visiškai lituota lenta atrodo taip žemiau
Įtampos stebėjimo grandinės testavimas
Lituojant visus komponentus, paprasčiausiai prijunkite akumuliatorių paketą prie plokštės H1 jungties. Pasinaudojau jungiamaisiais kabeliais, kad ateityje netyčia nekeisčiau ryšio. Būkite labai atsargūs, kad jo neprijungtumėte neteisingai, nes tai gali sukelti trumpąjį jungimą ir visam laikui sugadinti baterijas ar grandinę. Mano PCB su akumuliatoriumi, kurį naudojau bandymams, parodyta žemiau.
Dabar naudokite H2 terminalo multimetrą, kad pamatuotumėte individualias pardavimo įtampas. Terminalas pažymėtas skaičiais, kad būtų galima nustatyti matuojamos srovės elemento įtampą. Čia galime padaryti išvadą, kad grandinė veikia. Bet kad būtų įdomiau, prijunkime skystųjų kristalų ekraną ir naudokitės „Arduino“ šioms įtampos vertėms matuoti ir rodyti LCD ekrane.
Ličio elementų įtampos matavimas naudojant „Arduino“
Žemiau parodyta grandinė, skirta „Arduino“ prijungti prie mūsų PCB. Tai rodo, kaip prijungti „Arduino Nano“ prie LCD.
PCB antraštės kaištis H2 turėtų būti prijungtas prie analogiškų „Arduino“ plokštės kaiščių, kaip parodyta aukščiau. Analoginiai kaiščiai nuo A1 iki A4 naudojami keturių elementų įtampai matuoti, o kaištis A0 yra prijungtas prie P1 antraštės kaiščio v '. Šis v 'kaištis gali būti naudojamas matuoti bendrą pakuotės įtampą. Mes taip pat prijungėme 1 -ąjį P1 kaištį prie „Arduino“ „Vin“ kaiščio ir 3 - iąjį „P1“ kaištį - „Arduino“ žemės kaištį, kad „Arduino“ būtų maitinamas akumuliatoriumi.
Mes galime parašyti programą, skirtą išmatuoti visas keturias akumuliatoriaus elementų įtampas ir pakuotės įtampą ir parodyti ją LCD. Kad būtų įdomiau, aš taip pat pridėjau visas keturias elementų įtampas ir palyginau vertę su išmatuota pakuotės įtampa, kad patikrinčiau, kaip arti mes iš tikrųjų matuojame įtampą.
„Arduino“ programavimas
Visą programą rasite šio puslapio pabaigoje. Programa yra gana paprasta, mes tiesiog naudojame analoginio skaitymo funkciją, norėdami nuskaityti ląstelių įtampą, naudodamiesi ADC moduliu, ir apskaičiuoti įtampos vertę LCD, naudodami LCD biblioteką.
plūduriuojantis langelis_1 = analogRead (A1) * (5,0 / 1023,0); // Išmatuoti 1 elemento įtampą lcd.print ("C1:"); lcd.print (langelis_1);
Pirmiau pateiktame fragmente mes išmatavome 1 elemento įtampą ir padauginome ją iš 5/1023, kad 0–1023 ADC reikšmę paverstume faktine 0–5 V Tada LCD ekrane rodome apskaičiuotą įtampos vertę. Panašiai tai darome ir visiems keturiems elementams, ir visam akumuliatoriui. Mes taip pat naudojome kintamą bendrą įtampą, kad susumuotume visas elementų įtampas ir parodytume jas LCD ekrane, kaip parodyta žemiau.
plūduriuojantis Total_Voltage = Cell_1 + Cell_2 + Cell_3 + Cell_4; // Pridėkite visas keturias išmatuotas įtampos reikšmes lcd.print ("Total:"); lcd.print (Total_Voltage);
Veikia atskirų elementų įtampos ekranas
Kai būsite pasirengę su grandine ir kodu, įkelkite kodą į „Arduino“ plokštę ir prijunkite maitinimo banką prie PCB. Skystųjų kristalų ekranas dabar turėtų parodyti visų keturių elementų atskirą elementų įtampą, kaip parodyta žemiau.
Kaip matote, 1–4 elementų rodoma įtampa yra atitinkamai 3,78 V, 3,78 V, 3,82 V ir 3,84 V. Taigi tada aš naudoju savo multimetrą, norėdamas patikrinti tikrąją šių elementų įtampą, kuri pasirodė šiek tiek kitokia, skirtumas pateiktas žemiau.
Išmatuota įtampa |
Faktinė įtampa |
3.78V |
3.78V |
3.78V |
3.78V |
3.82V |
3.81V |
3.84V |
3.82V |
Kaip matote, mes gauname tikslius pirmosios ir antrosios ląstelių rezultatus, tačiau 3 ir 4 elementams yra net 200 mV paklaida. Labiausiai tikėtina, kad tai bus mūsų dizainas. Kadangi mes naudojame op-amp diferencialo grandinę, išmatuotos įtampos tikslumas mažės, kai ląstelių skaičius didės.
Tačiau ši klaida yra ištaisyta klaida ir ją galima ištaisyti programoje, imant pavyzdinius rodmenis ir pridėjus daugiklį, kad ištaisytumėte klaidą. Kitame LCD ekrane taip pat galite pamatyti išmatuotos įtampos ir faktinės pakuotės įtampos, išmatuotos per potencialų daliklį, sumą. Tas pats parodyta žemiau.
Išmatuotų įtampų suma yra 15,21 V, o faktinė įtampa, išmatuota per „Arduino“ A0 kaištį, yra 15,22 V. Taigi skirtumas yra 100 mV, o tai nėra blogai. Nors tokio tipo grandinės gali būti naudojamos mažesniam nuosėdų skaičiui, pavyzdžiui, maitinimo bankuose ar nešiojamųjų kompiuterių baterijose. Elektra varomoje transporto priemonėje BMS naudojami specialūs IC komponentai, tokie kaip LTC2943, nes net 100 mV paklaida nėra toleruotina. Nepaisant to, mes sužinojome, kaip tai padaryti nedidelio masto grandinėms, kuriose kaina yra suvaržyta.
Visą sąrankos darbą galite rasti žemiau esančiame vaizdo įraše. Tikiuosi, kad jums patiko projektas ir iš jo sužinojote ką nors naudingo. Jei turite kokių nors klausimų, palikite juos komentarų skiltyje arba naudokite forumus, jei norite greičiau atsakyti.