
Dlaczego własny BMS z balaserem a nie jakiś gotowy. Bo nie udało mi się znaleźć takiego, który by spełniał wszystkie wymagania, a poza tym, zawsze okazje do zrobienia czegoś nowego. Wymagania tymczasem były następujące:
• Odcięcie zasilania przy przekroczeniu 14v4
• Odcięcie akumulatora przez spadku napięcia aku poniżej 10V lub dowolnej celi poniżej 2v4
• Balansowanie ogniw do 3v45, lub opcja ustawienia progu, a najlepiej do Vbatt/4
• Utrzymywanie napięcia na wyjściu po wyłączeniu akumulatora
Ostatni punkt wymaga małego wyjaśnienia. Zasilacz buforowy, który mam, rozpoznaje przy uruchomieniu czy na zaciskach akumulatora jest napięcie. Jeśli go nie ma, nie rozpocznie ładowania. To oznacza, że jeśli BMS odciął by akumulator po jego rozładowaniu, po ponownym uruchomieniu zasilacza ten nie rozpoczął by ładowania akumulatora. Poza tym, dlaczego 13v8 skoro dało by się przerobić nieco zasilacz aby podał te 14v4. Bo w zasadzie ogniwa LFE można ładować nawet i do 4v2, w przeciwieństwie do LiIon/LiPo nie są tak wybuchowe, ale. Ale Ilość zgromadzonej dodatkowej energii przy ładowaniu > 3v5 jest bardzo mała. A tak wysokie napięcie źle wpływa na kondycje ogniw. Optymalnym wydaje się ładowanie do około 80-90% (3v4-3v5). Co swoją droga powinno wyjaśnić dlaczego chciałem napięcie balansowania Vbatt/4 a nie maksymalne dopuszczalne.

Zbudowany BMS posiada następujące funkcje:
• Odcięcie zasilania przy 14v4
• Odcięcie akumulatora prze spadku poniżej 10V ale próg zadziałania można regulować
• Odetnie cały akumulator jeśli napięcie jednej celi spadnie poniżej 2v4
• Balansuje ogniwa do napięcia Vbatt/4
• O ile nic nie pobiera prądu z wyjścia akumulatora, utrzymuje na wejściu napięcie
• Monitoruje temperaturę całego akumulatora
• Odetnie zasilanie jeśli prąd ładowania przekroczy 1,5A (maks jakie może podać zasilacz)
• Odetnie akumulator jeśli prąd rozładowania przekroczy 10A
• Mierzy prądy/napięcia ładowania/rozładowania i raportuje aktualny stan akumulatora…
• …za pomocą interfejsu Rs485…
• ...z opcjonalna opto-izolacją
Zasilanie.

Na wejściu znajdują się dwa tranzystory p-mos odcinające zasilanie, z czego jeden zapobiega rozładowaniu kondensatora znajdującego się na wejściu przetwornicy DC-DC EUP3458, co daje chwile układowi nadzorującemu akumulator na dokończenie tego co robi, w momencie kiedy układ zabezpieczający odetnie zasilanie z jakiegoś powodu. Zasilanie wyłączane jest automatycznie w momencie gdy Vin przekroczy nieco Vbatt, lub gdy zwarta na chwilę zostanie zworka F_EN. Idea stojąca za tym jest taka aby kiedy akumulator jest odłączony, chociażby z powodu zbyt głębokiego rozładowania, mógł automatycznie się włączyć jeśli tylko zasilacz buforowy go rozpozna i rozpocznie ładowanie.

Układ zapobiegający nadmiernemu rozładowaniu składa się z dzielnika rezystorowego w postaci potencjometru (R35), komparatora (IC20B) i źródła napięcia odniesienia w postaci stabilizatora LDO (IC19). Dwa ostatnie są na stałe podłączone do akumulatora pobierając około 150uA prądu. W wypadku bardzo długiej przerwy w zasilaniu to może rozładować akumulator. Choć nawet w wypadku całkowitego rozładowania ogniw, powinno w nich zostać wystarczająco prądu na około 20 dni zanim nastąpią w nich trwałe uszkodzenia (lub jakieś 2000 dni jeśli byłby pełny), a najdłuższa przerwa w dostawie prądu tutaj miała około 3h.
W razie potrzeby kontroler może siłowo utrzymać ogniwo włączone, jeśli mu to potrzebne do zapisania jakichś danych w EEPROMie (DISCH_ENABLE). Dostaje także informacje, że zabezpieczenie właśnie odłączyło akumulator i zaraz zostanie odcięte zasilanie CPU (!SHDN_WARN).
Pomiar prądu realizowany jest na 4 rezystorach 0R010 (R29-R33) i wzmacniaczu pomiarowym INA214 (IC10). Aby uzyskać większą rozdzielczość pomiaru i czułość przy małych prądach (roz)ładowania, do wyjścia INA214 podłączone są dwa MCP6001.

Za źródło napięcia odniesienia służy trzeci wzmacniacz MCP6001 i dwa rezystory, produkując napięcie 1/2 Vcc. Wszystkie sygnały są do prowadzone do CPU, którym jest STM32F030R8.


Pomiar napięcia cel opiera się o LM324D, zmniejsza on napicia panujące na celach o około połowę i sprowadza do poziomu akceptowalnego przez ADC STMa.

Układ balansowania zbudowany na 2 tranzystorach i 3 rezystorach. Prąd balansowania to około 120mA (napięcie celi/22R). Balansery mogą być sterowne za pomocą sygnału on/off lub PWM (tak samo jak tranzystory przerywające ładowanie).

W układzie brakuje ograniczenia prądowego, tym zajmuje się zasilacz buforowy.
Do tego SP3485 jeśli akumulator jest jedynym w układzie, lub ADM2483 jeśli potrzebna jest galwaniczna izolacja, a ta potrzebna jest jeśli dwa lub więcej takich akumulatorów ma być połączonych razem.
Możliwe usprawnienia:
• Balanser mógłby być aktywy, ale na razie pasywny sprawdza się całkiem dobrze. Chociaż czas na balansowanie ogniw podczas ładowania jest dość ograniczony, gdyż w końcowej fazie, kiedy to najbardziej jest potrzebny, napięcie na celach rośnie w takim tempie, iż nie bardzo jest kiedy to zrobić;
• Układ zabezpieczający przed rozładowaniem mógłby pobierać 0uA po odłączeniu akumulatora;
• Można by monitorować temperaturę każdej celi osobno;



Do układu podłączone są 4 pryzmatyczne ogniwa LiFePO4 o pojemności 10Ah każde. Spięte za pomocą plastikowych klamerek wydrukowanych na drukarce 3D. Przez złącza aktualnie może płynąć maks około 3A, także ne powinno to stanowić problemu. Przynajmniej łatwo wymienić/sprawdzić cele. Sumarycznie w akumulatorze zgromadzonych jest 128Wh energii (vs 84Wh w poprzednim, żelowym). BMS poza tym, że balansuje poszczególne ogniwa, nie pozwala na ich ładowanie jeśli napięcie akumulatora przekracza 13v4, aby pozwolił na kolejny cykl ładowania przynajmniej 200mAh musi zostać pobrane z ogniw lub napięcie samoistnie musi spaść poniżej 13v4.
Cool? Ranking DIY