Turinys:

„Arduino LTC6804 BMS“- 2 dalis. Balansavimo lenta: 5 žingsniai
„Arduino LTC6804 BMS“- 2 dalis. Balansavimo lenta: 5 žingsniai

Video: „Arduino LTC6804 BMS“- 2 dalis. Balansavimo lenta: 5 žingsniai

Video: „Arduino LTC6804 BMS“- 2 dalis. Balansavimo lenta: 5 žingsniai
Video: Review of Turmera 4S 12.8V 200A BMS Lithium LiFePo4 Battery Management System | WattHour 2024, Liepa
Anonim
„Arduino LTC6804 BMS“- 2 dalis. Balanso lenta
„Arduino LTC6804 BMS“- 2 dalis. Balanso lenta

1 dalis yra čia

Akumuliatoriaus valdymo sistema (BMS) apima funkcijas, leidžiančias suvokti svarbius akumuliatoriaus parametrus, įskaitant elemento įtampą, akumuliatoriaus srovę, elemento temperatūrą ir tt, arba galima imtis kitų tinkamų veiksmų. Ankstesniame projekte (https://www.instructables.com/id/Arduino-LTC6804-Battery-Management-System/) aptariau savo BMS dizainą, pagrįstą „Linear Technology LTC6804“daugialąsčių baterijų monitoriaus mikroschema ir „Arduino“mikrovaldikliu. Šis projektas pratęsia BMS projektą, pridėdamas akumuliatorių balansavimą.

Akumuliatoriai yra sudaryti iš atskirų elementų lygiagrečiai ir (arba) nuosekliai. Pavyzdžiui, 8p12s paketas būtų sukurtas naudojant 12 serijiniu būdu sujungtų 8 lygiagrečiai sujungtų elementų rinkinių. Pakuotėje iš viso būtų 96 ląstelės. Siekiant geriausio našumo, visos 96 ląstelės turėtų turėti glaudžiai suderintas savybes, tačiau ląstelės visada bus šiek tiek skirtingos. Pavyzdžiui, kai kurios ląstelės gali būti mažesnės nei kitos. Kai pakuotė įkraunama, mažesnės talpos elementai pasieks maksimalią saugią įtampą prieš likusią pakuotės dalį. BMS aptiks šią aukštą įtampą ir nutrauks tolesnį įkrovimą. Rezultatas bus tas, kad didžioji dalis pakuotės nėra visiškai įkrauta, kai BMS nutraukia įkrovimą dėl didesnės silpniausios kameros įtampos. Panaši dinamika gali įvykti iškrovimo metu, kai didesnės talpos elementai negali visiškai išsikrauti, nes BMS atjungia apkrovą, kai silpniausia baterija pasiekia žemos įtampos ribą. Todėl pakuotė yra tokia gera, kaip ir silpniausios baterijos, kaip grandinė, kuri yra tokia stipri, kaip silpniausia jos grandis.

Vienas iš šios problemos sprendimo būdų yra balanso lentos naudojimas. Nors yra daug strategijų, kaip subalansuoti pakuotę, paprasčiausios „pasyvios“pusiausvyros plokštės yra skirtos pašalinti aukščiausios įtampos elementų krūvį, kai pakuotė artėja prie visiško įkrovimo. Nors dalis energijos eikvojama, visa pakuotė gali sukaupti daugiau energijos. Kraujavimas atliekamas išsklaidant tam tikrą galią per rezistoriaus/jungiklio derinį, valdomą mikrovaldiklio. Šioje instrukcijoje aprašoma pasyvi balansavimo sistema, suderinama su ankstesnio projekto arduino/LTC6804 BMS.

Prekės

Balance Board PCB galite užsisakyti iš PCBWays čia:

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

1 žingsnis: veikimo teorija

Operacijos teorija
Operacijos teorija

LTC6804 duomenų lapo 62 puslapyje aptariamas ląstelių balansavimas. Yra dvi galimybės: 1) naudoti vidinį N kanalo MOSFETS, kad išleistumėte srovę iš aukštų elementų, arba 2) naudoti vidinį MOSFETS, kad valdytumėte išorinius jungiklius, kurie perduoda išleidimo srovę. Aš naudoju antrąjį variantą, nes galiu sukurti savo išleidimo grandinę, kad būtų galima valdyti didesnę srovę, nei būtų galima padaryti naudojant vidinius jungiklius.

Vidiniai MOSFETS yra prieinami per kaiščius S1-S12, o pačios ląstelės pasiekiamos naudojant kaiščius C0-C12. Aukščiau esančiame paveikslėlyje parodyta viena iš 12 identiškų išleidimo grandinių. Kai įjungtas Q1, srovė tekės iš C1 į žemę per R5, išsklaidydama dalį 1 elemento krūvio. Aš pasirinkau 6 omų, 1 vatų rezistorių, kuris turėtų atlaikyti keletą miliamperių išleidimo srovės. pridėtas šviesos diodas, kad vartotojas galėtų matyti, kurios ląstelės bet kuriuo metu balansuoja.

Smeigtukus S1-S12 valdo CFGR4 ir pirmieji 4 CFGR5 registrų grupių bitai (žr. LTC6804 duomenų lapo 51 ir 53 puslapius). Šios registrų grupės yra nustatytos „Arduino“kode (aptariamas toliau), funkcijos balansas_cfg.

2 žingsnis: schema

Schema
Schema

BMS balanso plokštės schema buvo sukurta naudojant „Eagle CAD“. Tai gana paprasta. Kiekvienam akumuliatorių serijos segmentui yra viena išleidimo grandinė. Jungikliai valdomi signalais iš LTC6804 per JP2 antraštę. Ištekėjimo srovė teka iš akumuliatoriaus bloko per antraštę JP1. Atminkite, kad išleidimo srovė patenka į kitą žemesnio akumuliatoriaus bloko segmentą, taigi, pavyzdžiui, C9 patenka į C8 ir tt zip faile. Toliau pateikiamas dalių sąrašas (dėl tam tikrų priežasčių „Instructables“failų įkėlimo funkcija man neveikia …)

Kiekis Įrenginio paketo dalių aprašymas

12 šviesos diodų, Q9, Q10, Q11, Q12 P-Channel Mosfet 2 PINHD-1X13_BIG 1X13-BIG JP1, JP2 PIN HEADER 12 16 R-US_R2512 R2512 R5, R7, R9, R11, R13, R15, R17, R19, R21, R23, R25, R27 RESISTOR, Amerikos simbolis 12 1K R-US_R0805 R0805 R4, R6, R8, R10, R12, R14, R16, R18, R20, R22, R24, R26 RESISTOR, Amerikos simbolis 12 200 R-US_R0805 R0805 R1, R2, R3, R28, R29, R30, R31, R32, R33, R34, R35, R36 RESISTOR, Amerikos simbolis

3 žingsnis: PCB išdėstymas

PCB išdėstymas
PCB išdėstymas

Išdėstymą daugiausia lemia pagrindinės BMS sistemos dizainas, aptartas atskiroje instrukcijoje (https://www.instructables.com/id/Arduino-LTC6804-Battery-Management-System/). Antraštės JP1 ir JP2 turi sutapti su atitinkamomis BMS antraštėmis. „Mosfets“, išleidimo rezistoriai ir šviesos diodai yra išdėstyti logiškai „Arduino Uno“skydelyje. „Gerber“failai buvo sukurti naudojant „Eagle CAD“, o PCB buvo išsiųsti į „Sierra Circuits“gamybai.

Pridedamas failas „Gerbers Balance Board.zip.txt“iš tikrųjų yra ZIP failas, kuriame yra „Gerbers“. Galite tiesiog ištrinti failo pavadinimo.txt dalį ir tada išpakuoti ją kaip įprastą ZIP failą.

Jei norite gauti PCB, atsiųskite man žinutę, galbūt dar turiu šiek tiek.

4 žingsnis: PCB surinkimas

Balanso plokštės PCB buvo lituojamos rankomis, naudojant „Weller WESD51“litavimo stotį su temperatūra, su ETB ET serijos 0,093 „atsuktuvo“antgaliu ir 0,3 mm lydmetaliu. Nors smulkūs patarimai gali atrodyti geresni sudėtingam darbui, jie neišlaiko šilumos ir iš tikrųjų apsunkina darbą. Prieš litavimą, valykite PCB pagalvėles srauto rašikliu. 0,3 mm lydmetalis puikiai tinka SMD dalių litavimui rankomis. Ant vienos trinkelės uždėkite šiek tiek lituoklio, tada padėkite dalį pincetu arba „x-acto“peiliu ir nuleiskite tą pagalvėlę. Likusią trinkelę galima lituoti, nejudant daliai. Įsitikinkite, kad neperkaitinate dalies ar PCB pagalvėlių. Kadangi dauguma komponentų yra gana dideli pagal SMD standartus, PCB yra gana lengva surinkti.

5 žingsnis: kodas

Kodas
Kodas

Visas „Arduino“kodas pateiktas ankstesniame nurodyme, susietame su aukščiau. Čia atkreipsiu jūsų dėmesį į skyrių, kuris kontroliuoja ląstelių balansavimą. Kaip minėta aukščiau, S1-S12 valdo CFGR4 ir pirmieji 4 bitai CFGR5 registro grupių LTC6804 (žr. LTC6804 duomenų lapo 51 ir 53 puslapius). „Arduino“kodo kilpos funkcija aptinka aukščiausios įtampos akumuliatorių paketo segmentą ir įdeda jo skaičių į kintamąjį cellMax_i. Jei „cellMax_i“įtampa yra didesnė nei CELL_BALANCE_THRESHOLD_V, kodas iškvies funkciją „balance_cfg ()“, perduodamas aukšto segmento „cellMax_i“numerį. Funkcija balansas_cfg nustato atitinkamo LTC6804 registro reikšmes. Paskambinus į LTC6804_wrcfg, šios vertės įrašomos į IC, įjungiant S kaištį, susietą su cellMax_i.

Rekomenduojamas: