Obsah:

Arduino LTC6804 BMS - časť 2: Balance Board: 5 krokov
Arduino LTC6804 BMS - časť 2: Balance Board: 5 krokov

Video: Arduino LTC6804 BMS - časť 2: Balance Board: 5 krokov

Video: Arduino LTC6804 BMS - časť 2: Balance Board: 5 krokov
Video: Lithium-Ion Battery Management System | BMS | LTC6804-2 2024, November
Anonim
Arduino LTC6804 BMS - časť 2: Balance Board
Arduino LTC6804 BMS - časť 2: Balance Board

1. časť je tu

Systém správy batérií (BMS) obsahuje funkcie na snímanie dôležitých parametrov sady batérií vrátane napätí článkov, prúdu batérie, teplôt článkov atď. Ak sa niektoré z nich nachádzajú mimo vopred definovaného rozsahu, je možné batériu odpojiť od nabíjačky alebo nabíjačky alebo je možné vykonať iné vhodné opatrenia. V predchádzajúcom projekte (https://www.instructables.com/id/Arduino-LTC6804-Battery-Management-System/) som diskutoval o svojom dizajne BMS, ktorý je založený na čipu Linice Technology LTC6804 Multicell Battery Monitor a mikrokontroléri Arduino. Tento projekt rozširuje projekt BMS pridaním vyváženia batériových zdrojov.

Batérie sú zostavené z jednotlivých článkov v paralelných a/alebo sériových konfiguráciách. Napríklad balík 8p12s by bol skonštruovaný pomocou 12 sérií spojených sérií 8 paralelne zapojených článkov. V balení by bolo celkom 96 buniek. Aby bol zaistený najlepší výkon, všetkých 96 buniek by malo mať úzko zodpovedajúce vlastnosti, medzi bunkami však vždy budú existovať určité odchýlky. Niektoré bunky môžu mať napríklad nižšiu kapacitu ako ostatné bunky. Keď je batéria nabitá, články s nižšou kapacitou dosiahnu svoje maximálne bezpečné napätie pred zvyškom balenia. BMS detekuje toto vysoké napätie a preruší ďalšie nabíjanie. Výsledkom bude, že veľká časť balenia nie je úplne nabitá, keď BMS preruší nabíjanie kvôli vyššiemu napätiu najslabšieho článku. K podobnej dynamike môže dôjsť aj pri vybíjaní, keď sa články s vyššou kapacitou nemôžu úplne vybiť, pretože BMS odpojí záťaž, keď najslabšia batéria dosiahne limit nízkeho napätia. Balenie je preto len také dobré, ako jeho najslabšie batérie, ako reťaz je len taký silný, ako jeho najslabší článok.

Jedným z riešení tohto problému je použitie balančnej dosky. Aj keď existuje veľa stratégií na vyváženie balenia, najjednoduchšie „pasívne“balančné dosky sú navrhnuté tak, aby odvádzali časť náboja z článkov najvyššieho napätia, keď sa akumulátor blíži úplnému nabitiu. Aj keď sa nejaká energia premrhá, balík môže ako celok uložiť viac energie. Krvácanie sa vykonáva rozptýlením určitého výkonu cez kombináciu odpor/spínač ovládanú mikrokontrolérom. Tento návod popisuje pasívny vyvažovací systém kompatibilný s arduino/LTC6804 BMS z predchádzajúceho projektu.

Zásoby

PCB Balance Board si môžete objednať u PCBWays tu:

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

Krok 1: Teória prevádzky

Teória prevádzky
Teória prevádzky

Stránka 62 technického listu LTC6804 pojednáva o vyvážení buniek. Existujú dve možnosti: 1) použitie interného N-kanálového MOSFETU na odvádzanie prúdu z vysokých článkov alebo 2) použitie interného MOSFETS na ovládanie externých spínačov, ktoré prenášajú zvodový prúd. Používam druhú možnosť, pretože môžem navrhnúť vlastný odvzdušňovací obvod, ktorý zvládne vyšší prúd, ako by sa dalo dosiahnuť pomocou vnútorných prepínačov.

Interné MOSFETS sú dostupné prostredníctvom kolíkov S1-S12, zatiaľ čo k samotným bunkám sa pristupuje pomocou kolíkov C0-C12. Obrázok vyššie zobrazuje jeden z 12 rovnakých odvzdušňovacích obvodov. Keď je Q1 zapnutý, prúd bude prúdiť z C1 na zem cez R5 a rozptýli časť náboja v článku 1. Vybral som 6 Ohm, 1 W odpor, ktorý by mal zvládnuť niekoľko miliampérov zvodového prúdu.. Existuje pridaná dióda LED, aby používateľ mohol kedykoľvek vidieť, ktoré bunky vyvažujú.

Kolíky S1-S12 sú riadené CFGR4 a prvými 4 bitmi skupín registrov CFGR5 (pozri strany 51 a 53 údajového listu LTC6804). Tieto skupiny registrov sú nastavené v kóde Arduino (diskutované nižšie) vo funkcii balance_cfg.

Krok 2: Schéma

Schematický
Schematický

Schéma pre vyvažovaciu dosku BMS bola navrhnutá pomocou programu Eagle CAD. Je to dosť jednoduché. Pre každý segment radu batériových zdrojov existuje jeden odvzdušňovací obvod. Prepínače sú ovládané signálmi z LTC6804 cez hlavičku JP2. Odvzdušňovací prúd prúdi z batérie cez konektor JP1. Všimnite si toho, že zvodový prúd prúdi do nasledujúceho nižšieho segmentu batérie, takže napríklad C9 prúdi do C8 atď. Symbol štítu Arduino Uno je umiestnený na schéme rozloženia DPS popísaného v kroku 3. Je poskytnutý obrázok s vyšším rozlíšením v súbore zip. Nasleduje zoznam súčiastok (Z nejakého dôvodu funkcia nahrávania súborov Instructables pre mňa nefunguje …)

Popis súčastí balenia zariadenia s hodnotou

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,, Q9, Q10, Q11, Q12 P-kanálový mosfet 2 PINHD-1X13_BIG 1X13-BIG JP1, JP2 PIN HLAVIČKA 12 16 R-US_R2512 R2512 R5, R7, R9, R11, R13, R15, R17, R19, R21, R23, R25, R27 RESISTOR, americký symbol 12 1K R-US_R0805 R0805 R4, R6, R8, R10, R12, R14, R16, R18, R20, R22, R24, R26 RESISTOR, americký symbol 12 200 R-US_R0805 R0805 R1, R2, Odpor R3, R28, R29, R30, R31, R32, R33, R34, R35, R36, americký symbol

Krok 3: Rozloženie DPS

Rozloženie DPS
Rozloženie DPS

Rozloženie je väčšinou určené návrhom hlavného systému BMS, ktorý je popísaný v samostatnom návode (https://www.instructables.com/id/Arduino-LTC6804-Battery-Management-System/). Hlavičky JP1 a JP2 sa musia zhodovať so zhodnými hlavičkami v BMS. Mosfety, odpúšťacie odpory a diódy LED sú logicky usporiadané na štíte Arduino Uno. Súbory Gerber boli vytvorené pomocou programu Eagle CAD a dosky plošných spojov boli odoslané na výrobu do obvodov Sierra.

Priložený súbor „Gerbers Balance Board.zip.txt“je v skutočnosti súborom ZIP obsahujúcim Gerbery. Môžete jednoducho odstrániť časť súboru.txt z názvu súboru a potom ho rozbaliť ako normálny súbor zip.

Napíšte mi správu, ak by ste chceli získať DPS, možno mi ešte nejaké zostali.

Krok 4: Zostavenie DPS

Dosky plošných spojov rovnováhy boli spájkované ručne pomocou spájkovacej stanice s reguláciou teploty Weller WESD51 s hrotom „skrutkovača“radu ETB ET 0,093 a spájkou 0,3 mm. Aj keď sa menšie rady môžu zdať lepšie pri zložitej práci, neudržiavajú teplo a v skutočnosti prácu sťažujú. Pred spájkovaním vyčistite dosku plošných spojov taviacim perom. 0,3 mm spájka funguje dobre na ručné spájkovanie SMD dielov. Na jednu podložku položte kúsok spájky a potom časť umiestnite pinzetou alebo x-acto nožom a pripevnite ju. Zostávajúcu podložku je potom možné spájkovať bez pohybu časti. Dbajte na to, aby sa súčiastka alebo doštičky plošných spojov neprehrievali. Pretože väčšina komponentov je podľa štandardov SMD pomerne veľká, montáž dosky plošných spojov je pomerne jednoduchá.

Krok 5: Kód

Kód
Kód

Kompletný kód Arduino je uvedený v predchádzajúcom návode, ktorý je prepojený s vyššie uvedeným. Tu vás upozorním na časť, ktorá riadi vyváženie buniek. Ako bolo uvedené vyššie, S1-S12 sú riadené CFGR4 a prvými 4 bitmi skupín registrov CFGR5 na LTC6804 (pozri strany 51 a 53 údajového listu LTC6804). Funkcia slučky kódu Arduino detekuje segment akumulátora s najvyšším napätím a umiestni jeho číslo do premennej cellMax_i. Ak je napätie cellMax_i väčšie ako CELL_BALANCE_THRESHOLD_V, kód zavolá funkciu balance_cfg () a odovzdá číslo vysokého segmentu cellMax_i. Funkcia balance_cfg nastavuje hodnoty príslušného registra LTC6804. Volanie na LTC6804_wrcfg potom zapíše tieto hodnoty do integrovaného obvodu, pričom zapne S pin spojený s cellMax_i.

Odporúča: