Re: Distribuovaná BMS - bylo Vnitřní odpor

Petr Labaj labaj na volny.cz
Pondělí Duben 15 12:58:00 CEST 2024


Napřed pochvala: líbí se mi, jak elektivně máte udělanou tu spolupráci 
panelů s baterkami a měničem.
Připomíná mi to dřívější konstrukce z analogových dob, kdy konstruktér 
použil jeden tranzistor a hrst odporů, a promyšleným návrhem dosáhl 
funkcionality, na kterou se dneska použije procesor s milionem 
tranzistorů a ještě kýbl operačních zesilovačů.
Dobré, klobouk dolů.

K řešení té distribuované BMS.
Je to zatím jen moje představa, nemám to hotové a dokonce to ani nemám 
ani realizačně navržené.
Mám jen představu a touhu. Takže zatím je ideální čas na změny.

- Na každém článku baterie bude nasazený jeden modul. Na jednom pólu (-) 
bude přitažený matkou, plusový pól krátkým káblíkem cca 1.5 mm2.
   Z tohoto článku se bude elektronika současně napájet. Článek má 
2.0-3.65V (v praxi 2.5-3.45V), takže to 3.3V procesor přes diodu dá i 
bez stabilizátoru.

- Ten modul NEMÁ možnost nijak článek odpojit. Umí jen reportovat 
nadřízenému orgánu požadavek na odpojení baterie kvůli hrozícímu podbití.
   Pokud velení z jakéhokoli důvodu nezareaguje (porucha) a napětí bude 
dále klesat, modul přejde do deep-sleepu, aby situaci nezhoršoval, a tím 
přestane odpovídat.

- Naopak horní mez při nabíjení si modul bude umět ošéfovat sám. Bude 
mít FET a výkonový odpor (v praxi tam chci dát 2 FETy a mít tak možnost 
spínat 1, 2 nebo 3A), který připojí paralelně k článku.
   Není to sice žádné efektivní přelívání energie mezi články ale jen 
hloupé pálení. Ale protože tohle nastane jen při nabíjení z panelů (kdy 
stejně nevím co s elektrikou), tak v tom asi není problém.
   Navíc by to mělo trvat jen chvíli, než se srovnají všechny články, 
protože pak velení odpojí nabíjení povelem měniči.

- Modul samozřejmě bude neustále měřit a periodicky hlásit velení napětí 
článku. Jednotlivé moduly budou zřetězeny do jednosměrného kruhu.
   Velení je bude cyklicky vyzývat k hlášení, předpokládám, že se 
dostanu na periodu cca 1-2 sekundy, což je naprosto dostatečné.
   Protože velení je kriticky důležité, tak samozřejmě bude mít 
Watch-dog jak interní, tak možná i externí.
   Pokud nějaký modul i po opakované výzvě neodpoví, měnič dostane pokyn 
ji nepoužívat a baterie se odpojí.

- Výkonové havarijní odpojení baterky bude umět udělat jen velení pomocí 
výkonového spínače. Pravděpodobně IGBT, možná přemostěný stykačem.
   Další výkonový spínač bude umět baterku krátkodobě připnout přes 
výkonový odpor pro funkci slow-start při připojení baterky k měniči.

K použitým součástkám:

- Původně jsem zvažoval nasadit tam tu novinku WCH003 s jádrem RISC. Ale 
A/D převodník tam asi není nic moc, tak jsem to nakonec zavrhl.
   Zvažoval jsem laciný STM32C011 v TSSOP20, ale nakonec tam dám asi 
STM32G030. Má prý podporu pro oversampling ADC až na úroveň 16bit. A 
přesnost měření je tady výhoda.

- Pálit tu přebytečnou energii budu asi FETem na výkonových odporech.
   Je ale zajímavé, že to GWL tam použilo nějaký výkonový IGBT, což mi 
při napětí 3.5V moc nedává smysl.
   Že by ho řídili nějak analogově a použili jako řízený "obtok", a 
aktivně využili jeho vysokého saturačního napětí?
   _Nápady vítány_.

PL

*********************

Dne 15.4.2024 v 7:45 Martin Záruba napsal(a):
>
> Moc si nedovedu představit, jak ten modul může fungovat.
>
> Může odpojit článek při podpětí nebo přepětí. Jenže pak musí být v 
> sérii s článkem spínací prvek. A pokud je vnitřní odpor článku okolo 
> 0.5mO, nedovedu si moc představit prvek, který tuto vlastnost výrazně 
> nezhorší. Já se přesvědčil, že i mastnota na propojovacím můstku mezi 
> články zhorší vnitřní odpor.
>
> Nějak nechápu, jak to může balancovat. Jak bude předávat energii z 
> jednoho článku do druhého?
>
>
> Máte pravdu, že já nepotřebuji řešit nabíjení. Nemám to ještě 
> dodělané, ale bude to fungovat tak, že pokud se nabití nějakého článku 
> začne blížit řekněme 85%, začne se pomocí pwm připínat k baterii (a 
> tedy i k panelům) topné těleso v bojleru. Tim poklesne nabíjecí proud 
> až na hodnotu (v mém případě 1A), kterou ubalancuje BMS. Tím do toho 
> nabitého článku už nepoteče nic a nabíjejí se jen ostatní. Pokud je 
> bojler nahřátý na maximální teplotu, tento mechanismus se vypne 
> (jednak logikou a navíc tam bude 100A DC stykač v sérii s tělesem, 
> který rozepne kapalinový termostat jako havarijní prvek). Tím dojde k 
> tomu, že BMS odpojí baterii. Napětí na panelech stoupne na cca 92V. Je 
> to vidět na Atyp - 3 tepelná čerpadla, bazén, chlazení (ekovy.eu) 
> <http://www.ekovy.eu/ctirj/index.html?urljednotka=demo7&ovladani=2> 
> 12.4.2024 14:52 až 18:32. Střídačům to nevadí a panely ztratí výkon, 
> protože se odlehčí. Pokud zatížení odběrem střídačů stoupne a napětí 
> poklesne pod napětí baterie, BMS otevře spínací prvek a co nedají 
> panely jde z baterie. Tento stav je vidět třeba v 12.4.2024 17:28:37. 
> Napětí pokleslo na 81.7V a níž to nepustila baterie. No a při vybití 
> baterie ji BMS opět odpojí a napětí poklesne natolik, že střídače 
> vypnou. Tento stav je vidět 14.4.2024 04:23:51. Jak se začne 
> rozednívat v 05:23, začne napětí na panelech stoupat a nabíjet vstupní 
> kondenzátory ve střídačích. Zde nastal zajímavý stav: V 05:52:17 
> balancer přesunul do nejslabšího článku z ostatních tolik energie, že 
> ochrana na podpětí přestala být aktivní a napětí na výstupu baterie 
> naskočilo na 75V. Zřejmě byla ještě skoro tma, protože teprve v 
> 6:03:39 jeden střídač zapnul, ale výkon panelů byl tak malinký, že 
> sotva utáhl režii střídače a proto napětí začalo klesat až k 72.6V, 
> jenže BMS mezi tím články natolik vyrovnal, že nedošlo k vypnutí.
>
> To řešení komunikace s MQTT asi bude možné, nemám s tím žádné zkušenosti.
>
> Ještě k BMS a mým pokusům jej udělat: Došel jsem k závěru, že správně 
> BMS umí předvídat, který článek se nabije nebo vybije jako první a 
> dělá proto během činnosti kroky, aby se tento stav oddál. To moje BMS 
> neumí. Ale druhý úkol je snižovat vnitřní odpor baterie, především v 
> mezních stavech minimálního a maximálního napětí. No a jak to může 
> udělat? No jedině tak, že "něco" se připojuje PARALELNĚ k článkům a ne 
> do série. To něco může být asi jen cívka v sérii s mosfetem, který je 
> ovládán logikou BMS. Tedy vlastně trnsformátor s tolika vinutími, 
> kolik je článků. Při podvybití sepnou mosfety všech (nebo jen 
> některých) článků, které ještě mají dost sil, vytvoří se magnetické 
> pole v jádře a pak se přelije energi do nejslabšího. No a na horním 
> konci nabíjení se vybíjí jen ten jeden, co má maximální napětí do 
> cívky a energie se předá do ostatních. U mě to ztroskotalo na přesném 
> měření napětí na článcích, které opravdu musí být přesné a stabilní 
> (rozlišení 1mV) a také na nedostatku času, když jsem zjistil, že 
> JK-BMS v podstatě vyhovuje.
>
> Martin Záruba
> Dne 14.4.2024 v 15:15 Petr Labaj napsal(a):
>> Já jsem si představoval distribuovanou BMS, něco ve smyslu jako je to 
>> tady:
>> https://shop.gwl.eu/index.php?force_sid=muni4lfgqquv3ojrd26vbel1rp&cl=details_disc&anid=7512
>> Nemají tam bohužel nějaký přehledný obrázek. Funguje to tak, že na 
>> každém článku je tento modul, který měří a balancuje tento konkrétní 
>> článek.
>> Navzájem jsou spojené přes optronem oddělenou jednosměrnou sběrnici.
>> Na začátku a konci té sběrnice jsou silové prvky a datové připojení k 
>> měniči/nabíječi.
>>
>> Něco podobného dělá i firma Batrium.
>> Mají to obě postavené s ATtiny, já bych to chtěl postavit s něčím 
>> trochu víc současným, konkrétně se STM32C nebo STM32G.
>>
>> A protože jsem strašpytel, tak přes to ještě překrýt druhou 
>> (tentokrát už levnou komerční) BMS, které ale bude mít nezapojené 
>> silové části.
>> Ty silové části na jednotlivých BMS by společně budily výstup, který 
>> by zatáhl za Total Stop.
>> Prostě jako systém poslední záchrany, kdyby zklamala moje 
>> distribuovaná BMS, tak kterákoli z těch dodatečných by dokázala 
>> odstavit panely (v případě nebezpečí přebití) nebo měnič (v případě 
>> nebezpečí podvybití).
>>
>> K tomu Vašemu řešení: Vy asi nepotřebujete komunikaci s měničem pro 
>> řízení nabíjení, že? Protože máte nabíjení udělané jinak, přímým 
>> připojením k panelům.
>> Já bych to ale chtěl a potřeboval připojit dálkově k měniči, aby 
>> řídil nabíjení.
>>
>> Mně se líbil nápad protáhnout komunikaci přes MQTT server. Baterky by 
>> reportovaly svůj stav na ten MQTT server, nabíječka (nebo u mě měnič 
>> kombinovaný s nabíječkou) by si bral data z něho.
>>
>> PL
>>
>> *****************
>>
>> Dne 14.4.2024 v 13:27 Martin Záruba napsal(a):
>>>
>>> Pokud jde o nové články, souhlasím s rozhodnutím počkat. To by se 
>>> týkalo i eventuelního elektromobilu, když je v létě proud z FVE zadarmo.
>>>
>>> Já se taky snažil udělat BMS, protože mi jich prošlo rukama několik 
>>> a všechny stály za .... Poslední JKBMS se mi zdá docela slušná, umí 
>>> až 24 článků, takže kdybyste použil 3 s tím, že dva články se vždy 
>>> překrývají, je to těch 3x22. Sice to nebude balancovat přes celou 
>>> baterii, ale ono to asi nebude zase až tak kritické.
>>>
>>> U té JKBMS byl zásadní problém s komunikací. Ona má UART (nelogicky 
>>> označený RS485), Použil jsem proto izolační převodník, který mi to 
>>> současně převádí z 3,3V na 5V logiku. Výrobce samozřejmě neuvádí 
>>> popis komunikace, naivně jsem si myslel, že je to modbus-rtu, ale 
>>> není. Nakonec jsem našel hrůzně napsaný program ale s popisem 
>>> komunikace, který funguje. Většinu nesmyslů jsem z něj odstranil a 
>>> předělávám ho do rozumné podoby. Zatím data odesílá na virtuální 
>>> sériový port USB, ale chci udělat komunikaci přes ethernet. 
>>> Připojoval by se k našemu serveru, takže by si server myslel, že je 
>>> to řídící jednotka tepelného čerpadla. Pokud byste chtěl, udělám Vám 
>>> zdarma přístup. Samozřejmě šlo by i udělat jednoduchý webový server, 
>>> ale myslím,že to není rozumné, protože buď to bude chodit jen v 
>>> lokální síti a nebo budete potřebovat veřejnou IP, ať už pro přímý 
>>> přístup nebo pro WireGuard. Takto se jen připojíte k IP našeho 
>>> serveru odkuďkoli a data si také můžete prohlížet odkuďkoli a na 
>>> čemkoli, co má webový prohlížeč.
>>>
>>> Martin Záruba
>>> Dne 14.4.2024 v 12:45 Petr Labaj napsal(a):
>>>> Výrobci uvádějí vnitřní odpor jako jeden ze základních parametrů v 
>>>> datasheetu.
>>>> Třeba 105Ah LFP články EVE (které si zrovna asi plánuju koupit) 
>>>> uvádí <0.5mR.
>>>> A píšou to dokonce pro dynamický odběr, jako AC Impedance 
>>>> resistance (1KHz).
>>>> Takže ta Vaše hodnota asi celkem sedí.
>>>>
>>>> Odbočka bokem: plánuju si postavit vysokonapěťovou baterku, něco 
>>>> kolem 200V.
>>>> Takže buď 64s (4 moduly po 16 článcích) nebo 72s (3 moduly po 22 
>>>> článcích).
>>>> Kdyby tu byl někdo, kdo by se chtěl případně přidat (fyzicky či 
>>>> intelektuálně),
>>>> tak je vítán.
>>>> Chci vyrobit distribuovanou BMS vlastní konstrukce s malým STM32 na 
>>>> každém
>>>> článku se společným řízením a silovým odpínáním.
>>>>
>>>> Trochu duševní problém mám s tím, že ceny baterek jdou dost dolů. Navíc
>>>> výrobci (teď nově CATL) oznamují různé celkem průlomové výrobky, které
>>>> snad jdou už skutečně do výroby. Tak mě to odrazuje od nějakého většího
>>>> nákupu (třeba 305Ah články místo 105Ah), který by by šel jinak 
>>>> cenově líp.
>>>>
>>>> PL
>>>>
>>>> ******************
>>>>
>>>> Dne 14.4.2024 v 8:12 Martin Záruba napsal(a):
>>>>>
>>>>> Zkusil jsem do programu pro čtení z BMS udělat výpočet vnitřního 
>>>>> odporu podle dU/dI. Samozřejmě při obvyklých proudech FVE, což u 
>>>>> mě u článku LiFePo 205Ah je cca -70A až +60A. Všechny (24 kusů) 
>>>>> články vykazují téměř stejný  vnitřní odpor 0.45mO.
>>>>>
>>>>> Odpovídá to hodnotám, které jste naměřil Vy?
>>>>>
>>>>> Má na velikost vnitřního odporu vliv odebíraný/dodávaný proud?
>>>>>
>>>>> Zjistil jsem že docela významné bylo počlivé odmaštění 
>>>>> propojovacích pásků i svorek článků před sestavením. Jsou i jiné 
>>>>> kroky, které je rozumné udělat?
>>>>>
>>>>> Martin Záruba
>>>>>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20240415/259d0beb/attachment.htm>


Další informace o konferenci Hw-list