ERK'2021, Portorož, 247-250 247 Iskanje stanja napolnjenosti baterijske celice s pomočjo genetskega algoritma in ESC modela baterije Marko Antončič, Riko Šafarič, Kristijan Korez, Miran Globevnik * Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko, Koroška cesta 46, 2000 Maribor * EM.TRONIC d.o.o, Počehova 12, 2000 Maribor E-pošta:marko.antoncic@student.um.si, riko.safaric@um.si, kristijan.korez@um.si Finding the state of charge of a battery cell using genetic algorithm and ESC battery model Abstract. Nowadays, when batteries are present in both portable devices and vehicles, SOC “State of charge” estimation is becoming increasingly important. The accurate measurement of SOC increases battery utilization and prevents damage. The paper presents the development and testing of an algorithm that uses the ESC (Enhanced self-correcting) model and genetic algorithm to find the required ESC parameters and SOC of a battery cell. The algorithm was implemented on a microcontroller based on the STM32F4 MCU Family. There is no need for SOC calibration which is an advantage of proposed algorithm compared to Coulomb counting (CC) method. 1 Uvod Danes, kjer so baterije prisotne tako v prenosnih napravah kot v vozilih, postaja ocena stanja napolnjenosti ali SOC »State of charge« vse bolj pomembna. Znani SOC poveča izkoriščenost baterije in preprečuje poškodbe. Genetski algoritem (GA) se je v preteklosti že uporabil za iskanje parametrov enakovrednega vezja baterije [1]. Članek predstavlja razvoj in testiranje novega algoritma za on-line iskanje SOC in parametrov enakovrednega vezja po ESC modelu [2]. Predstavljen algoritem uporablja GA za iskanje parametrov ESC modela. Raziskali smo možnost uporabe algoritma v realnem času. Algoritem je bil izveden na strojni opremi, ki temelji na družini mikrokrmilnikov STM32F4. Kalibracija SOC ni potrebna, kar je prednost predlaganega algoritma v primerjavi z metodo Coulombovega štetja »Coulomb counting« (CC) [3]. 2 Iskanje parametrov modela ESC s pomočjo GA ESC model je model enakovrednega vezja, s katerim lahko opišemo obnašanje baterije v smislu kakšen je odziv napetosti na tok [2]. Vezje ESC modela (Slika 1) vsebuje OCV (Open circuit voltage) napetostni vir v odvisnosti od SOC, histerezo, difuzijsko napetost (sestavljena iz enega ali več RC členov) ter polarizacijske napetosti. Za razliko od enakovrednih vezij modela Thevenin in DP (dual polarization) modela ESC model vsebuje tudi komponenti, ki opisujeta histerezno obnašanje napetosti baterije. Histerezna karakteristika baterijske celice je zajeta v enačbi (3). Slika 1: ESC model enakovrednega vezja baterije Izziv ESC modela je določiti vse potrebne parametre. Za določanje parametrov ESC modela je namreč potrebna specializirana laboratorijska oprema [2]. Spodnje enačbe (1-6) v vektorski in matrični obliki opisujejo dinamično obnašanje SOC in notranjih tokov v ESC modelu baterije. 𝑖 𝑅 [𝑘 +1]=[ 𝐹 1 0 ⋯ 0 𝐹 2 ⋮ ⋱ ] ⏟ 𝐴 𝑅𝐶 𝑖 𝑅 [𝑘 ]+[ 1−𝐹 1 1−𝐹 2 ⋮ ] ⏟ 𝐵 𝑅𝐶 𝑖[𝑘 ] (1) Kjer se faktor RC člena F j izračuna: 𝐹 𝑗 =exp( −Δ𝑡 𝑅 𝑗 𝐶 𝑗 ) (2) Za bolj strnjen zapis še definiramo A H : 𝐴 𝐻 [𝑘 ]=exp(−| 𝜂 [𝑘 ]𝑖[𝑘 ]𝛾 Δ𝑡 𝑄 |) (3) Enačbo 4 imenujemo enačba stanja ESC modela. [ 𝑆𝑂𝐶 [𝑘 +1] 𝑖 𝑅 [𝑘 +1] ℎ[𝑘 +1] ]=[ 1 0 0 0 𝐴 𝑅𝐶 0 0 0 𝐴 𝐻 [𝑘 ] ][ 𝑆𝑂𝐶 [𝑘 ] 𝑖 𝑅 [𝑘 ] ℎ[𝑘 ] ] + [ − 𝜂 [𝑘 ]Δ𝑡 𝑄 0 𝐵 𝑅𝐶 0 0 (𝐴 𝐻 [𝑘 ]−1) ] [ 𝑖[𝑘 ] 𝑠𝑔𝑛 (𝑖[𝑘 ]) ] (4) Končna izhodna enačba ESC modela za izračun napetosti se glasi: 𝑣̂[𝑘 ]=𝑂𝐶𝑉 (𝑆𝑂𝐶 [𝑘 ],𝑇 [𝑘 ])+𝑀 0 𝑠 [𝑘 ] +𝑀 ℎ[𝑘 ]−∑𝑅 𝑗 𝑖 𝑅 𝑗 [𝑘 ] 𝑗 −𝑅 0 𝑖[𝑘 ] (5) Parametri ESC modela katerih vrednosti so neznane ali pa težko določljive so naslednji: • R 0 (notranja upornost), • η(Coulombov izkoristek), • γ (hitrost zmanjševanja histereze), • M 0 (takojšnja histereza), • M (maksimalna histereza), 248 • R 1 (upornost prvega RC člena), • C 1 (kapacitivnost prvega RC člena), • R 2 (upornost drugega RC člena), • C 2 (kapacitivnost drugega RC člena) • SOC[0] (začetni SOC) Tok skozi baterijo je označen s i, notranji tokovi v RC so označeni s 𝑖 𝑅 , h je dinamična histerezna napetost, T je temperatura, Δ𝑡 je čas med prejšnjim in trenutnim odčitkom. Preračun ESC modela baterije se mora izvesti čim hitreje saj se (kot bomo videli kasneje) preračun ESC modela izvede velikokrat med izvajanjem genetskega algoritma. Zato je bilo vloženo veliko truda v optimizacijo kode za hitro delovanje. Na mikrokrmilniku s STM32F4 jedrom, ki deluje na frekvenci do 80 MHz smo dosegli en preračun ESC modela (z dvema RC členoma) v času 11µs. Izračun SOC po ESC modelu bazira na metodi CC, ki integrira tok skozi čas in glede na kapaciteto baterije posodablja SOC. 𝑆𝑂𝐶 (𝑘 +1)=𝑆𝑂𝐶 (𝑘 )− ∆𝑡 𝑄 𝜂 [𝑘 ]𝑖[𝑘 ] (6) Prva slabost metode Coulombovega štetja je neznana informacija o začetnem stanju SOC. Druga slabost je da samopraznenje in napake v meritvah na daljše obdobje ustvarjajo pomik ali »drift« napovedanega SOC glede na realnega. Problem drsenja SOC se lahko rešuje s rekalibracijo, ki pa jo lahko izvajamo samo v določenih trenutkih (pri popolnoma polni ali prazni bateriji ali pa pri daljšem času mirovanja) [4]. Genetski algoritem se večinoma uporablja za iskanje optimalne rešitve s pomočjo procesov, ki so dobili navdih iz biologije. Pod takšne procese spadajo na primer selekcija, mutacija in križanje [5]. Naloga GA je da populacijo rešitev (ali osebkov) za določen problem razvija v vedno boljšo rešitev. Na začetku GA se ustvari populacija naključnih osebkov 𝑃 0 ={𝑋 1 1 ,𝑋 2 1 ,...,𝑋 𝑗 1 ,...𝑋 𝑁 1 }, kjer je 𝑋 𝑗 𝑖 ={𝑥 ,1 1 ,𝑥 𝑗 ,2 1 ,..., 𝑥 𝑗 ,𝑟 1 ,...𝑥 𝑗 ,𝑀 1 } j-ti osebek v i-ti generaciji in 𝑥 𝑗 ,𝑟 𝑖 je r-ti parameter osebka 𝑋 𝑗 𝑖 . N je število osebkov, M je število parametrov. Parametri (kromosomi) vsakega oseba predstavljajo parametre ESC modela. GA te parametre izbira, križa in mutira. Ocenitvena (fitnes) funkcija oceni en osebek, v našem primeru ESC parametre. Ocena osebka izračunamo tako da seštevamo absolutne razlike med izmerjenimi napetostmi na bateriji in napetostmi generiranimi z ESC modelom. Ocena osebka 𝑋 𝑗 𝑖 se izračuna po naslednji enačbi: 𝑓 (𝑋 𝑗 𝑖 )= ∑𝑎𝑏𝑠 (𝑣̂ 𝑡 −𝑣 𝑡 ) 𝑇 𝑡 =𝑡 0 (7) Naloga GA je, da to oceno minimizira, torej poišče tak set parametrov z minimalno razliko. Slika 2: Genetski algoritem s fitnes funkcijo funkcijo GA vključujejo tudi adaptivno mutacijo in elitizem. S adaptivno mutacijo vzdržujemo diverziteto v populaciji in zmožnost konvergence ocene [6]. Nastavitve adaptivne mutacije so naslednje. Konstantna verjetnost mutacije je 0.1%, stopnja spremembe verjetnosti mutacije je 0.2%, maksimalna verjetnost mutacije je 4%. Z elitizmom iz trenutne generacije vedno prenesemo določeno število trenutno najboljših osebkov v novo generacijo torej brez križanja in mutacije (v primeru da potomci po križanju niso boljši od prednikov). S tem zagotovimo, da se najboljša ocena populacije ne more poslabšati. V našem primeru je bila populacija sestavljena iz 50 osebkov od katerih sta bila 2 elitna. Končni algoritem za estimacijo SOC deluje tako, da periodično izvaja GA za rekalibracijo SOC. Vmesene vrednosti (med dvema GA) se SOC izračunajo preko ESC modela. Parametri ESC modela se tudi posodobijo z vsako izvedbo GA. Na sliki 3 je prikazano testno vezje, s katerim so bile izmerjene OCV karakteristične krivulje in opravljeni testi obremenjevanja na litij-ionskih baterijah (kemije LTO »Litij titanat oksid«). Slika 3: Merilno vezje 249 Meritev toka in napetosti se opravlja z namenskim čipom INA226. Natančnost merjenja napetost je 1,25 mV, natančnost merjenja toka pa 625 µA. Testno vezje je po naprej nastavljenih tokovni krivulji obremenjevalo (praznilo in polnilo) baterijo. Poleg tega so se merili in shranjevali podatki (tok, napetost in temperatura). Meritve so bile izvedene v temperaturni komori, pri temperaturi 25°C. Slika 4: Primer izmerjenega toka in napetosti na bateriji 3 Testiranje ESC-GA algoritma Prvi test preverja kakovost iskanja parametrov z GA. Test je bil izveden na LTO bateriji kapacitete 4660 mAh pri 25°C. Slika 4 prikazuje prekrivanje izmerjene in z modelom napovedane napetosti na 80 minut dolgem preskusu. Slika 5: Izmerjena in modelirana napetost (ESC parametri najdeni z GA) Kvadratna sredina razlike (root-mean-squared difference RMSD) med izmerjeno in napovedano napetostjo je 5,29 mV. Rezultati so zadovoljivi in podobni rezultatom ki so jih dosegli s posamičnim iskanjem parametrov s specializirano opremo [2], kjer so dosegli vrednost RMSD bil 5.37 mV. Prednost iskanja ESC parametrov s GA je tudi to, da smo našli parametre v krajšem času, kot če bi parametre iskali posamično s posebnimi metodami in specializirano opremo. Naslednji test pokaže ponovljivost iskanja parametrov z GA. Genetski algoritem smo ponovili 10 krat na enakih vhodnih podatkih kot pri prejšnjem testu. Slika 6: Najdeni ESC parametri s GA v desetih poskusih (ponovitvah) V vseh poskusih je vrednost RMSD pod 6 mV. Zaradi stohastične narave GA je pričakovano, da najdeni ESC parametri niso popolnoma enaki v vsakem poskusu. Opazimo pa da so najbolj ponovljivi tisti parametri, ki najbolj vplivajo na napovedano napetost kot je SOC 0. Povprečna vrednost najdenega SOC 0 je 67,59. Standardni odklon najdenih vrednosti SOC 0 je 0,297. Zgornji graf slike 7 prikazuje prekrivanje desetih krivulj (iz zgornjih parametrov) v primerjavi z izmerjeno napetostjo na bateriji. Spodnji graf slike 7 prikazuje izračunan SOC po ESC modelu. Slika 7: Prekrivanje modela in meritve (napetost zgoraj). Prekrivanje SOC krivulj spodaj Prvo slabost (nepoznan začetni SOC) Coulombove metode smo že rešili s tem da jo lahko poiščemo z GA. Drugo slabost (lezenje) pa lahko rešimo tako, da GA izvajamo periodično, in s tem izvajamo rekalibracijo SOC, hkrati pa tudi posodobitev ostalih ESC parametrov. Pri tem se moramo zavedati, da je GA računsko zahteven, čas izvajanja GA pa narašča predvsem z naraščanjem velikosti vhodnih podatkov (zgodovina toka, napetosti). Zato moramo narediti kompromis med tem, koliko podatkov bomo uporabili v GA in med tem kako pogosto bomo izvajali GA. Naslednji test je potekal malo manj kot 4 dni (92 ur) kjer smo baterijo periodično obremenjevali s različnimi tokovi od 100% napolnjenosti pa do izpraznitve. Velikost 250 okna podatkov smo nastavili na 3000 sekund. GA se je izvajal vsakih 30 sekund. Na sliki 8 zgoraj je prikazana izmerjena napetost na bateriji in estimirana napetost po ESC modelu. Na sliki 8 spodaj pa je prikazana estimiran SOC z našim algoritmom in SOC estimiran s Coulombovim štetjem kjer je Coulombov izkoristek 𝜂 = 0.987. Opazimo da SOC po Coulombovi metodi leze in po 80 urah doseže vrednost -50% kar je jasno napaka. Med tem ko pa naš algoritem ostaja med 0 in 100% SOC. Slika 8: Primerjava estimirane in izmerjene napetosti (zgoraj), primerjava SOC po (GA) in Coulombovim štetjem (spodaj) V naslednjem primeru smo rezultate iz prejšnjega testa primerjali s Coulombovim štetjem, ki pa je imelo nastavljen izkoristek tako da je na tem intervalu bilo brez lezenja (𝜂 =0.99423). Slika 9: SOC po GA in SOC s Coulombovim štetjem Slika 9 prikazuje razliko med SOC etimacijo in SOC po Coulombovi metodi. Največja absolutna razlika med SOC po CC in SOC po našem algoritmu je 2.03% (slika 10). Slika 10: Razlika med SOC po Coulombovem štetju in ESC- GA 4 Zaključek V tem članku je predstavljen algoritem za estimacijo stanja napolnjenosti baterije. Algoritem se lahko uporabi v sistemih za nadzor baterij »Battery management systems« (BMS) za preprečevanje prenapolnjenosti ali izpraznjenosti. Algoritem je bil implementiran in testiran na mikrikrmilniku STM32F4. 5 Literatura [1] Hongwen He, Rui Xiong, Jinxin Fan, „Evaluation of Lithium-Ion Battery Equivalent Circuit Models,“ energies, Izv. 1, št. 1, pp. 582-598, 2011. [2] G. L. Plett, „Battery Management Systems,“ v Battery Management Systems, Volume I: Battery Modeling, Norwood, Artech House, 2015, pp. 29,30,31,44,45,57,58. [3] M. Danko, J. Adamec, M. Taraba, P. Drgona, „Overview of batteries State of Charge estimation methods,“ v 13th International Scientific Conference on Sustainable, Modern and Safe Transport, Novy Smokovec, 2019. [4] I. Baccouche, S. Jemmali, B. Manai, N. E. B. Amara, „Implementation of a Coulomb Counting Algorithm for SOC estimation of Li-Ion Battery for Multimedia Applications,“ v 12th International Multi-Conference on Systems, Signals & Devices, 2015. [5] C. R. Reeves, „Genetic Algorithms,“ v Handbook of Metaheuristics, Boston, MA, Springer, 2010, pp. 109-139. [6] M. Srinivas, M. Patnaik, „Adaptive Probabilities of Crossover and Mutation in Genetic Algorithms,“ IEEE, Izv. 24, št. 4, pp. 656-667, 1994.