Kazalo:

Arduino LTC6804 BMS - 2. del: Ravnotežna plošča: 5 korakov
Arduino LTC6804 BMS - 2. del: Ravnotežna plošča: 5 korakov

Video: Arduino LTC6804 BMS - 2. del: Ravnotežna plošča: 5 korakov

Video: Arduino LTC6804 BMS - 2. del: Ravnotežna plošča: 5 korakov
Video: BMS-Battery monitoring system using LabVIEW and Arduino 2024, Julij
Anonim
Arduino LTC6804 BMS - 2. del: Bilančna tabla
Arduino LTC6804 BMS - 2. del: Bilančna tabla

Prvi del je tukaj

Sistem za upravljanje baterij (BMS) vključuje funkcije za zaznavanje pomembnih parametrov akumulatorja, vključno z napetostjo celice, tokom akumulatorja, temperaturo celice itd. Če je kateri od teh izven vnaprej določenega območja, lahko paket odklopite iz polnilnika ali polnilnika ali pa je mogoče sprejeti druge ustrezne ukrepe. V prejšnjem projektu (https://www.instructables.com/id/Arduino-LTC6804-Battery-Management-System/) sem razpravljal o svoji zasnovi BMS, ki temelji na čipu večcelične baterije Linear Technology LTC6804 in mikrokrmilniku Arduino. Ta projekt razširja projekt BMS z dodajanjem ravnovesja baterij.

Baterije so sestavljene iz posameznih celic v vzporednih in/ali serijskih konfiguracijah. Na primer, paket 8p12s bi bil zgrajen z uporabo 12 zaporedno povezanih nizov 8 vzporedno povezanih celic. V pakiranju bi bilo skupaj 96 celic. Za najboljše delovanje bi moralo imeti vseh 96 celic tesno ujemajoče se lastnosti, vendar pa bodo med celicami vedno nekatere razlike. Na primer, nekatere celice imajo lahko nižjo zmogljivost kot druge celice. Ko je paket napolnjen, bodo celice z nižjo zmogljivostjo dosegle največjo varno napetost pred preostalim delom embalaže. BMS bo zaznal to visoko napetost in prekinil nadaljnje polnjenje. Rezultat bo, da velik del paketa ni popolnoma napolnjen, ko BMS prekine polnjenje zaradi višje napetosti najšibkejše celice. Podobna dinamika se lahko zgodi med praznjenjem, ko se celice z večjo zmogljivostjo ne morejo popolnoma izprazniti, ker BMS odklopi obremenitev, ko najšibkejša baterija doseže svojo mejo nizke napetosti. Paket je torej tako dober, kot so njegove najšibkejše baterije, tako kot je veriga močna le tako, kot je njen najšibkejši člen.

Ena od rešitev te težave je uporaba ravnotežne plošče. Čeprav obstaja veliko strategij za uravnoteženje paketa, so najpreprostejše "pasivne" ravnotežne plošče zasnovane tako, da odstranijo del naboja celic z najvišjo napetostjo, ko se paket približuje polni napolnjenosti. Medtem ko je nekaj energije zapravljeno, lahko pakiranje kot celota shrani več energije. Krvavitev poteka z odvajanjem nekaj moči skozi kombinacijo upora/stikala, ki jo nadzira mikrokrmilnik. Ta navodila opisujejo pasivni sistem za uravnoteženje, združljiv z arduino/LTC6804 BMS iz prejšnjega projekta.

Zaloge

PCB Balance Board lahko naročite pri PCBWays tukaj:

www.pcbway.com/project/shareproject/Balance_board_for_Arduino_BMS.html

1. korak: Teorija delovanja

Teorija delovanja
Teorija delovanja

Na strani 62 podatkovnega lista LTC6804 je opisano uravnoteženje celic. Obstajata dve možnosti: 1) uporaba notranjih N-kanalnih MOSFETS za odvajanje toka iz visokih celic ali 2) uporaba notranjih MOSFETS za krmiljenje zunanjih stikal, ki prenašajo odtočni tok. Uporabljam drugo možnost, ker lahko oblikujem svoj odzračevalni krog, ki bo obvladal večji tok, kot bi to lahko storili z notranjimi stikali.

Notranji MOSFETS so na voljo prek zatičev S1-S12, medtem ko do samih celic dostopamo z zatiči C0-C12. Na zgornji sliki je prikazan eden od 12 enakih odzračevalnih tokokrogov. Ko je Q1 vklopljen, bo tok tekel od C1 do tal skozi R5 in razpršil del naboja v celici 1. Izbral sem 6 ohmski, 1 vatni upor, ki bi moral biti sposoben obvladati več miliamperov odzračevalnega toka. dodana LED dioda, tako da lahko uporabnik kadar koli vidi, katere celice se uravnavajo.

Zatiči S1-S12 krmilijo CFGR4 in prvi 4 biti skupin registrov CFGR5 (glejte strani 51 in 53 podatkovnega lista LTC6804). Te skupine registrov so nastavljene v kodi Arduino (obravnavano spodaj) v funkciji balance_cfg.

2. korak: Shema

Shematično
Shematično

Shema za tehtnico BMS je bila zasnovana z uporabo Eagle CAD. Je dokaj enostaven. Za vsak segment serije baterij obstaja en odzračevalni krog. Stikala krmilijo signali iz LTC6804 skozi glavo JP2. Odtočni tok teče iz akumulatorja skozi glavo JP1. Upoštevajte, da tok iztekanja teče v naslednji spodnji segment akumulatorja, na primer C9 prehaja v C8 itd. Simbol zaščite Arduino Uno je postavljen na shemo za postavitev tiskanega vezja, opisano v 3. koraku. Na voljo je slika višje ločljivosti. v datoteki zip. Spodaj je seznam delov (Funkcija nalaganja datotek Instructables iz nekega razloga zame ne deluje …)

Opis delov paketa naprave za količino vrednosti

12 LEDCHIPLED_0805 CHIPLED_0805 LED1, LED2, LED3, LED4, LED5, LED6, LED7, LED8, LED9, LED10, LED11, LED12 LED 12 BSS308PEH6327XTSA1 MOSFET-P SOT23-R Q1, Q2, Q3, Q4, Q5, Q6, Q6, Q6, Q6, Q9, Q10, Q11, Q12 P-kanal Mosfet 2 PINHD-1X13_BIG 1X13-BIG JP1, JP2 PIN GLAVA 12 16 R-US_R2512 R2512 R5, R7, R9, R11, R13, R15, R17, R19, R21, R23, R25, R27 RESISTOR, ameriški simbol 12 1K R-US_R0805 R0805 R4, R6, R8, R10, R12, R14, R16, R18, R20, R22, R24, R26 RESISTOR, ameriški simbol 12 200 R-US_R0805 R0805 R1, R2, R3, R28, R29, R30, R31, R32, R33, R34, R35, R36 Upor, ameriški simbol

3. korak: postavitev tiskanega vezja

Postavitev tiskanega vezja
Postavitev tiskanega vezja

Postavitev je večinoma določena z zasnovo glavnega sistema BMS, obravnavanega v ločenem navodilu (https://www.instructables.com/id/Arduino-LTC6804-Battery-Management-System/). Glavi JP1 in JP2 se morata ujemati z ujemajočimi se glavami v sistemu BMS. Mosfeti, odporni upori in LED diode so logično razporejeni na ščit Arduino Uno. Gerberjeve datoteke so bile ustvarjene z uporabo Eagle CAD, PCB pa so bile poslane v Sierra Circuits za izdelavo.

Priložena datoteka "Gerbers Balance Board.zip.txt" je pravzaprav ZIP datoteka, ki vsebuje Gerbers. Del imena datoteke.txt lahko preprosto izbrišete in ga nato razpakirate kot običajno datoteko zip.

Pošljite mi sporočilo, če želite dobiti tiskano vezje, morda mi bo še kaj ostalo.

4. korak: Montaža tiskanega vezja

PCB plošče za ravnotežje so bile ročno spajkane z uporabo temperaturno spajkane postaje Weller WESD51 s konico "izvijač" serije ETB ET 0,093 in spajkom 0,3 mm. Čeprav se lahko zdijo manjši nasveti boljši za zapleteno delo, ne zadržujejo toplote in dejansko otežujejo delo. Pred spajkanjem s flomastrom očistite blazinice iz tiskanih vezij. Spajkanje 0,3 mm dobro deluje za ročno spajkanje SMD delov. Na eno blazinico položite malo spajkanja, nato pa del položite s pinceto ali nožem x-acto in ga podložite. Preostalo blazinico lahko nato spajkate, ne da bi se del premaknil. Pazite, da ne pregrejete dela ali ploščic iz tiskanega vezja. Ker je večina komponent po standardih SMD precej velika, je PCB precej enostavno sestaviti.

5. korak: Koda

Koda
Koda

Celotna koda Arduino je navedena v prejšnjih navodilih, povezanih zgoraj. Tu vas bom opozoril na razdelek, ki nadzoruje uravnoteženje celic. Kot je navedeno zgoraj, S1-S12 krmili CFGR4 in prvi 4 biti registrskih skupin CFGR5 na LTC6804 (glejte strani 51 in 53 podatkovnega lista LTC6804). Funkcija zanke kode Arduino zazna najvišji napetostni segment akumulatorja in njegovo številko postavi v spremenljivo celicoMax_i. Če je napetost cellMax_i večja od CELL_BALANCE_THRESHOLD_V, bo koda poklicala funkcijo balance_cfg (), pri čemer bo podala številko visokega segmenta cellMax_i. Funkcija balance_cfg nastavi vrednosti ustreznega registra LTC6804. Klic LTC6804_wrcfg nato te vrednosti zapiše v IC, vklopi pin S, povezan s cellMax_i.

Priporočena: