Obsah:

Arduino LTC6804 BMS - Část 2: Balance Board: 5 kroků
Arduino LTC6804 BMS - Část 2: Balance Board: 5 kroků

Video: Arduino LTC6804 BMS - Část 2: Balance Board: 5 kroků

Video: Arduino LTC6804 BMS - Část 2: Balance Board: 5 kroků
Video: LTC6811IG-2#PBF by Analog Devices' Power by Linear Product Video | Arrow.com 2024, Červenec
Anonim
Arduino LTC6804 BMS - Část 2: Balance Board
Arduino LTC6804 BMS - Část 2: Balance Board

Část 1 je tady

Battery Management System (BMS) obsahuje funkce pro snímání důležitých parametrů sady baterií, včetně napětí článků, proudu baterie, teploty článků atd. Pokud se některý z nich nachází mimo předem definovaný rozsah, lze baterii odpojit od zátěže nebo nabíječky nebo mohou být přijata jiná vhodná opatření. V předchozím projektu (https://www.instructables.com/id/Arduino-LTC6804-Battery-Management-System/) jsem diskutoval o svém návrhu BMS, který je založen na čipu Lineární technologie LTC6804 Multicell Battery Monitor a mikrokontroléru Arduino. Tento projekt rozšiřuje projekt BMS přidáním vyvažování baterie.

Akumulátory jsou sestaveny z jednotlivých článků v paralelní a/nebo sériové konfiguraci. Například balíček 8p12s by byl konstruován pomocí 12 sériově zapojených sad 8 paralelně připojených buněk. V balení by bylo celkem 96 buněk. Pro nejlepší výkon by všech 96 buněk mělo mít úzce shodné vlastnosti, mezi buňkami však vždy budou určité variace. Některé buňky mohou mít například nižší kapacitu než jiné buňky. Jak se balíček nabije, články s nižší kapacitou dosáhnou svého maximálního bezpečného napětí před zbytkem balení. BMS detekuje toto vysoké napětí a přeruší další nabíjení. Výsledkem bude, že velká část sady není plně nabitá, když BMS přeruší nabíjení kvůli vyššímu napětí nejslabšího článku. Podobná dynamika může nastat při vybíjení, kdy články s vyšší kapacitou nemohou zcela vybít, protože BMS odpojí zátěž, když nejslabší baterie dosáhne svého limitu nízkého napětí. Balíček je tedy jen tak dobrý jako jeho nejslabší baterie, jako řetěz je jen tak silný jako jeho nejslabší článek.

Jedním z řešení tohoto problému je použití balanční desky. I když existuje mnoho strategií pro vyvážení sady, nejjednodušší „pasivní“desky pro vyvážení jsou navrženy tak, aby odčerpávaly část náboje článků nejvyššího napětí, když se baterie blíží plnému nabití. Zatímco část energie je zbytečná, balíček může jako celek uložit více energie. Krvácení se provádí rozptylem určitého výkonu kombinací odpor/spínač řízený mikrokontrolérem. Tento návod popisuje pasivní vyvažovací systém kompatibilní s arduino/LTC6804 BMS z předchozího projektu.

Zásoby

Zde si můžete objednat Balance Board PCB od PCBWays:

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

Krok 1: Teorie provozu

Teorie provozu
Teorie provozu

Stránka 62 datového listu LTC6804 pojednává o vyvažování buněk. Existují dvě možnosti: 1) použití interního N-kanálového MOSFETU k odvzdušnění proudu z vysokých článků, nebo 2) použití interního MOSFETS k ovládání externích spínačů, které nesou svodový proud. Používám druhou možnost, protože mohu navrhnout svůj vlastní odvzdušňovací obvod, který zvládne vyšší proud, než by bylo možné provést pomocí interních spínačů.

Interní MOSFETY jsou k dispozici prostřednictvím kolíků S1-S12, zatímco k samotným buňkám se přistupuje pomocí kolíků C0-C12. Obrázek výše ukazuje jeden z 12 identických odvzdušňovacích obvodů. Když je Q1 zapnutý, proud bude proudit z C1 na zem přes R5, rozptýlí část náboje v článku 1. Vybral jsem odpor 6 Ohm, 1 Watt, který by měl zvládnout několik miliampérů svodového proudu.. Existuje přidána kontrolka LED, aby uživatel viděl, které buňky se v daném okamžiku vyrovnávají.

Piny S1-S12 jsou řízeny CFGR4 a prvními 4 bity skupin registrů CFGR5 (viz strany 51 a 53 datového listu LTC6804). Tyto skupiny registrů jsou nastaveny v kódu Arduino (popsáno níže) ve funkci balance_cfg.

Krok 2: Schéma

Schéma
Schéma

Schéma pro vyvažovací desku BMS bylo navrženo pomocí programu Eagle CAD. Je to celkem jednoduché. Pro každý segment řady bateriových sad existuje jeden odvzdušňovací obvod. Přepínače jsou ovládány signály z LTC6804 přes záhlaví JP2. Odvzdušňovací proud teče z baterie přes konektor JP1. Všimněte si toho, že svodový proud teče do dalšího spodního segmentu bloku baterií, takže například C9 krvácí do C8 atd. Symbol štítu Arduino Uno je umístěn na schématu pro rozvržení desky plošných spojů popsané v kroku 3. Je poskytnut obrázek s vyšším rozlišením v souboru zip. Následuje seznam dílů (Z nějakého důvodu funkce nahrávání souboru Instructables pro mě nefunguje ….)

Popis součástí balení zařízení 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-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, 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žení DPS

Rozložení DPS
Rozložení DPS

Rozložení je většinou určeno návrhem hlavního systému BMS, který je popsán v samostatném pokynu (https://www.instructables.com/id/Arduino-LTC6804-Battery-Management-System/). Záhlaví JP1 a JP2 se musí shodovat s odpovídajícími záhlavími na BMS. Mosfety, odpouštěcí odpory a LED jsou logicky uspořádány na štítu Arduino Uno. Soubory Gerber byly vytvořeny pomocí Eagle CAD a desky plošných spojů byly odeslány do Sierra Circuits k výrobě.

Přiložený soubor "Gerbers Balance Board.zip.txt" je ve skutečnosti zip soubor obsahující Gerbery. Můžete pouze odstranit část souboru.txt z názvu souboru a poté jej rozbalit jako běžný zip soubor.

Napište mi zprávu, pokud byste chtěli získat desku plošných spojů, možná mi ještě nějaké zbyly.

Krok 4: Sestavení DPS

Vyvažovací desky plošných spojů byly pájeny ručně pomocí pájecí stanice Weller WESD51 s řízenou teplotou a špičkou „šroubováku“řady ETB ET 0,093 a pájkou 0,3 mm. Ačkoli se menší tipy mohou zdát lepší pro složitou práci, neudrží teplo a ve skutečnosti práci ztíží. Před pájením očistěte podložky plošných spojů tavným perem. Pájka 0,3 mm funguje dobře pro ruční pájení SMD dílů. Na jednu podložku položte kousek pájky a poté část umístěte pinzetou nebo x-acto nožem a tu podložku připněte. Zbývající podložku lze poté pájet bez pohybu součásti. Dbejte na to, aby nedošlo k přehřátí součásti nebo desek plošných spojů. Protože většina součástek je podle standardů SMD poměrně velká, montáž desky plošných spojů je poměrně snadná.

Krok 5: Kód

Kód
Kód

Kompletní kód Arduino je uveden v předchozím pokynu, na který je odkazováno výše. Zde vás upozorním na sekci, která řídí vyvažování buněk. Jak bylo uvedeno výše, S1-S12 jsou řízeny CFGR4 a prvními 4 bity skupin registrů CFGR5 na LTC6804 (viz strany 51 a 53 datového listu LTC6804). Funkce smyčky kódu Arduino detekuje segment baterie s nejvyšším napětím a umístí jeho číslo do proměnné cellMax_i. Pokud je napětí cellMax_i větší než CELL_BALANCE_THRESHOLD_V, kód zavolá funkci balance_cfg () a předá číslo vysokého segmentu cellMax_i. Funkce balance_cfg nastavuje hodnoty příslušného registru LTC6804. Volání LTC6804_wrcfg poté zapíše tyto hodnoty do integrovaného obvodu a zapne pin S spojený s cellMax_i.

Doporučuje: