田曜榮,宋春寧,莫偉縣
(廣西大學(xué)電氣工程學(xué)院,廣西 南寧 530004)
電池的荷電狀態(tài)(SOC)是電池一項(xiàng)重要參數(shù),準(zhǔn)確的估計(jì)電池的SOC,可以防止電池過度充電和過度放電,提高電池的壽命和電池的工作性能,但由于電池的荷電狀態(tài)(SOC)不可以如同電池的電壓、電流、溫度等物理量能直接測(cè)量,并且電池內(nèi)部為復(fù)雜的電化學(xué)反應(yīng),在電池在工作過程中電池內(nèi)部的能量變化呈現(xiàn)很強(qiáng)的非線性變化,這導(dǎo)致對(duì)電池的SOC估計(jì)是要考慮多方面問題,考慮不夠的話會(huì)導(dǎo)致估算準(zhǔn)確性低。目前常見的電池SOC有開路電壓法、安時(shí)積分法、卡爾曼法等[1],文獻(xiàn)[2]中通過實(shí)際測(cè)試和理論計(jì)算確定全釩液流電池的容量,根據(jù)開路電壓與SOC的關(guān)系來估計(jì)SOC。文獻(xiàn)[3]將安時(shí)積分法與另一種校正初始值的算法相結(jié)合的方式來估計(jì)SOC,通過校正SOC的初值,來改善安時(shí)法在SOC初始值不準(zhǔn)確時(shí)導(dǎo)致累計(jì)誤差增大的問題,但這種方法需要精準(zhǔn)的電池端電壓來校正。文獻(xiàn)[4-5]采用擴(kuò)展卡爾曼濾波算法(Extended Kalman Filter,EKF)對(duì)電池SOC估計(jì),但是利用泰勒展開將電池模型線性化處理導(dǎo)致了模型的精度降低,也大大的使計(jì)算量增加。
單液流鋅鎳電池作為單電解液電池,由于沒有離子交換膜,不會(huì)出現(xiàn)正負(fù)極的電解液交叉污染的問題,且只需要一個(gè)泵機(jī)對(duì)電解液進(jìn)行循環(huán),降低液流電池的成本,提高了液流電池的循環(huán)使用壽命[6]。國(guó)內(nèi)外學(xué)者也對(duì)它進(jìn)行了許多的研究,2015年美國(guó)CUNY能源研究所提出在高電流密度的前提下,正極極化是改善單液流鋅鎳電池性能的關(guān)鍵障礙化[7];防化院研究了單液流鋅鎳電池的電池性能與電極材料和電解液對(duì)電池性能的影響[8];廣西大學(xué)研究了不同的充電電流和充電容量與單液流鋅鎳電池性能的關(guān)系[9]。但目前關(guān)于鋅鎳單液流電池荷電狀態(tài)估計(jì)的研究較少,本文作者針對(duì)單液流鋅鎳電池提出一種基于無跡卡爾曼濾波算法(Unscented Kalman Filter,UKF)的單液流鋅鎳電池荷電狀態(tài)估計(jì)方法,為單液流鋅鎳電池高效、安全和長(zhǎng)使用壽命的運(yùn)行提供基礎(chǔ)研究。
本實(shí)驗(yàn)使用的單液流鋅鎳電池的正負(fù)極材料分別為氧化鎳和鍍鋅電極,電解液由ZnO、KOH和LiOH按一定比例配置而成(ZnO為0.8mol/L,KOH為10mol/L,LiOH為0.25mol/L),電池單體容量為14Ah,充放電的截止電壓分別為2.1V和1.2V,電池溫度范圍為5℃到40℃,原理圖如圖1所示。電池內(nèi)部的電化學(xué)反應(yīng)為
正極反應(yīng):
(1)
負(fù)極反應(yīng):
(2)
搭建電池等效模型是為了研究電池外部特性(如電壓、電流、溫度等)和電池內(nèi)部狀態(tài)(內(nèi)部阻抗、荷電狀態(tài)等)之間的關(guān)系,確定電池等效模型準(zhǔn)確的參數(shù),為精準(zhǔn)的估計(jì)電池SOC提供重要基礎(chǔ)。電池模型通過增加階數(shù)對(duì)電池內(nèi)部進(jìn)行更加詳細(xì)的描述,使得電池的模型更加精確,但這也會(huì)導(dǎo)致電池模型的復(fù)雜程度增加,對(duì)模型的參數(shù)辨識(shí)難度成倍增加,綜合考慮采用二階等效模型對(duì)電池進(jìn)行研究。其等效電路模型如圖2所示。
圖2 單液流鋅鎳電池等效電路模型
其中U(OC)為開路電壓,R0為歐姆內(nèi)阻,R1和C1分別為電池內(nèi)部電化學(xué)反應(yīng)過程中產(chǎn)生的電化學(xué)極化電阻和電化學(xué)極化電容,R2和C2為電池充放電過程中化學(xué)反應(yīng)導(dǎo)致電解液濃度變化產(chǎn)生的濃差極化電阻和濃度差極化電容,i為充放電電流,u1和u2分別為電流流過RC元件產(chǎn)生的電化學(xué)極化電壓和濃度差極化電壓,ucell為電池端電壓。
根據(jù)基爾霍夫定律,可得
i=C1du/dt+u1/R1
(3)
i=C2du/dt+u2/R1
(4)
ucell=U(oc)-u1-u2-R0i
(5)
將上述式子離散化處理,可得
u1(k)=u1(k-1)ea+i(k-1)R1(1-ea)
(6)
u2(k)=u2(k-1)eb+i(k-1)R2(1-eb)
(7)
ucell(k)=Uoc(k)-u1(k)-u2(k)-Roi(k)
(8)
其中,a=-T/R1C1,a=-T/R2C2.T為采樣周期,k為放電時(shí)間。
狀態(tài)方程
(9)
觀察方程
ucell,k=f(SOC(k))-U1(k)-U2(k)-ikR0+vk
(10)
其中,ωk和vk分別表示過程噪聲和測(cè)量噪聲,后同,f(SOC(k))是開路電壓關(guān)于SOC的函數(shù)。
測(cè)試采用的充放電檢測(cè)設(shè)備為新威CT-3004-5V200A-NTFA,先將電池充滿,再以0.5C進(jìn)行恒定電流進(jìn)行脈沖放電,每次放電量為0.7Ah,并將靜置循環(huán)過程的周期設(shè)置為30分鐘,將采集的數(shù)據(jù)與式(11)和(12)結(jié)合,利用Matlab的cftool工具擬合得到R0、R1、R2、C1、C2等重要參數(shù),參數(shù)表如表1所示。
電池放電出現(xiàn)的突變電壓Δu由R0產(chǎn)生,所以有
Δu=R0i
(11)
電池靜置的時(shí)候,端電壓幅值變化是u1和u2改變引起的,所以這個(gè)過程端電壓變化表達(dá)式為
ucell=U(oc)+iR1e-t/(R1C1)+iR2e-t/(R2C2)
由表1中看出,實(shí)驗(yàn)過程中,各個(gè)參數(shù)都是動(dòng)態(tài)變化的,且幅值較大,其中R0、R1和R2分別隨著SOC的減小由7.91mΩ、3.40mΩ和2.59mΩ逐漸升高至10.11mΩ、5.41mΩ和3.63mΩ,C1和C2分別隨著SOC減小由76.71KF、8.40KF逐漸降低至33.17KF、3.44KF,總體來看電池內(nèi)部阻值在放電過程中逐漸增大,內(nèi)部電容在放電過程中逐漸減小。
在進(jìn)行脈沖充放電實(shí)驗(yàn)時(shí),記錄SOC從0到1變化過程中相對(duì)應(yīng)OVC的值,然后通過使用Matlab的cftool工具對(duì)實(shí)驗(yàn)所記錄的數(shù)據(jù)進(jìn)行擬合,得到電池充放電的OVC-SOC擬合曲線圖3,電池充放電的開路電壓解析表達(dá)式為
圖3 單液流鋅鎳電池充放電OVC-SOC關(guān)系擬合曲線
1)開路電壓充電過程表達(dá)式
f(SOC)=0.1552×SOC5-0.6487×SOC4+1.147×SOC3-1.01×SOC2+0.5022×SOC+1.714
(13)
2)開路電壓放電過程表達(dá)式
f(SOC)=0.4846×SOC5-1.185×SOC4+1.488×SOC3-0.9043×SOC2+0.3574×SOC+1.646
(14)
EKF算法是通過將非線性問題線性化來進(jìn)行估計(jì),但這個(gè)過程中由于忽略了高階項(xiàng),增大了計(jì)算誤差,且運(yùn)算量較大。而UKF算法時(shí)通過對(duì)產(chǎn)生的Sigma點(diǎn)進(jìn)行UT變化,計(jì)算過程均是非線性的,可以避免線性化過程中產(chǎn)生的誤差,提高估算的準(zhǔn)確性,并且沒有使用泰勒展開線性化處理,也大大的減小了計(jì)算量。單液流鋅鎳電池的系統(tǒng)狀態(tài)方程(9)和測(cè)量方程(10)用式(15)來表示,其中系統(tǒng)狀態(tài)為xk,測(cè)量方程為yk。
(15)
其中,uk是系統(tǒng)的輸入變量;f和g分別表示非線性的系統(tǒng)模型和測(cè)量模型。
(16)
2)計(jì)算sigma點(diǎn)
(17)
其中n為狀態(tài)變量的個(gè)數(shù),對(duì)于單體電池,取值為2;λ為一個(gè)比例系數(shù),其表達(dá)式為:
λ=a2(n+h)-n
(18)
其中a為一個(gè)正數(shù),通常取值為1;h為縮放參數(shù),通常取值為0。
3)確定加權(quán)系數(shù)
(19)
其中,ωm,ωc分別為權(quán)重因子;β對(duì)于高斯白噪聲系統(tǒng)一般取2。
4)時(shí)間更新
xi,k|k-1=f(xi,k-1,uk),i=0,1,…,2n
(20)
(21)
其中,qk為過程噪聲均值。
+Qk,i=0,1,…,2n
(22)
其中,Qk為過程噪聲協(xié)方差。
5)測(cè)量更新
(23)
其中,rk為測(cè)量噪聲均值
(24)
(25)
(26)
(27)
其中,Rk為測(cè)量噪聲協(xié)方差。
為了驗(yàn)證UKF估計(jì)單液流鋅鎳電池荷電狀態(tài)的性能,取SOC=0.95,進(jìn)行恒流脈沖放電實(shí)驗(yàn),放電電流設(shè)置為14A,采樣周期取T=1s,以安時(shí)法估算的結(jié)果作為參考(當(dāng)準(zhǔn)確知道SOC的初值,電池的SOC可以用安時(shí)積分法計(jì)算所得的結(jié)果來表示),分別使用擴(kuò)展卡爾曼濾波算法和無跡卡爾曼濾波算法對(duì)電池的SOC進(jìn)行估計(jì),結(jié)果如圖4所示。
圖4 SOC初始值為0.95時(shí)估算結(jié)果
EKF和UKF估算值與參考值誤差比較得到圖5和圖6。
從圖4中可發(fā)現(xiàn)EKF算法在前4000s都有較好的跟隨變化,但4000s以后誤差逐漸增大,圖5中可以明顯的發(fā)現(xiàn)EKF算法的誤差是隨時(shí)間不斷累積增加的,隨著時(shí)間到達(dá)放電末期出現(xiàn)最大誤差為6.05%;對(duì)于UKF算法,可以從圖4中看出UKF估計(jì)的SOC緊跟參考的SOC曲線變化,通過圖6的誤差比較可以發(fā)現(xiàn)UKF算法最大誤差出現(xiàn)在放電初期值為1.82%,在10s以后誤差保持在1.09%以內(nèi),且誤差波動(dòng)的幅值也較小,說明對(duì)與單體單液流鋅鎳電池,UKF算法估計(jì)SOC的精度高于EKF算法。
圖5 EKF算法估算誤差
圖6 UKF算法估算誤差
本文提出一種針對(duì)單液流鋅鎳電池荷電狀態(tài)的UKF估計(jì)算法,從模型參數(shù)辨識(shí)可以發(fā)現(xiàn)電池內(nèi)部參數(shù)隨SOC變化而改變,但根據(jù)仿真結(jié)果可以發(fā)現(xiàn)UKF算法仍然具有較高的估算精度,主要是由于UKF算法在計(jì)算工作中沒有將狀態(tài)變化線性化處理,從而避免線性化過程中忽略高階項(xiàng)產(chǎn)生的誤差,這樣利用UKF算法對(duì)單液流鋅鎳電池荷電狀態(tài)估計(jì)能滿足精度要求。但在實(shí)際電池運(yùn)行中,電池在不同工況下的噪聲(主要為過程噪聲和測(cè)量噪聲)是不斷變化的,UKF算法初始化后噪聲矩陣無法進(jìn)行實(shí)時(shí)調(diào)整,這將會(huì)導(dǎo)致估算的精度降低,可以通過加入自適應(yīng)控制的方法在工況改變的時(shí)候,及時(shí)對(duì)噪聲更新,以期電池狀態(tài)估計(jì)效果更好。