宋春寧,鄭少耿,凌旗金,蘇有平
(廣西大學(xué)電氣工程學(xué)院,廣西 南寧 530004)
單液流鋅鎳電池[1]是一種較為新型的儲(chǔ)能電池,其具有結(jié)構(gòu)簡(jiǎn)單、充放電迅速、循環(huán)性能好、成本造價(jià)低等優(yōu)點(diǎn),在儲(chǔ)能領(lǐng)域具有廣闊的應(yīng)用前景[2]。當(dāng)前,單液流鋅鎳電池僅發(fā)展了十余年,其仍具有較大的研究空間。
電池荷電狀態(tài)(SOC)是表征電池剩余電量的關(guān)鍵指標(biāo),其準(zhǔn)確估計(jì)是電池安全使用及能量管理的基礎(chǔ)[3]。其中,卡爾曼濾波(KF)法在電池SOC估計(jì)上取得了顯著的效果,并衍生了許多改進(jìn)方法,如適用于非線性系統(tǒng)的擴(kuò)展卡爾曼濾波(EKF)算法[4],經(jīng)無(wú)跡變換處理的無(wú)跡卡爾曼濾波(UKF)算法[5],結(jié)合了粒子濾波的卡爾曼粒子濾波(EKPF)算法[6]等均在SOC估計(jì)上得到了有效的應(yīng)用。
傳統(tǒng)的單線路卡爾曼濾波在估計(jì)電池SOC時(shí),其基于固定電池模型,忽略了模型參數(shù)在電池充放電過(guò)程的變化,無(wú)法準(zhǔn)確反映電池SOC[7]。同時(shí),卡爾曼濾波法的估計(jì)性能?chē)?yán)重依賴于噪聲統(tǒng)計(jì)特性(過(guò)程噪聲協(xié)方差、量測(cè)噪聲協(xié)方差)以及狀態(tài)誤差協(xié)方差初值的選取,但其通常以經(jīng)驗(yàn)選取為主并難以獲得最優(yōu)值[8]。
當(dāng)前單液流鋅鎳電池在SOC估計(jì)領(lǐng)域的研究較少,且以單線路卡爾曼濾波估計(jì)方法為主,本文基于單液流鋅鎳電池二階RC等效電路模型,采用具有雙線路的雙卡爾曼濾波(DKF)算法聯(lián)合估計(jì)電池SOC與模型參數(shù),在估算電池SOC的同時(shí),也對(duì)模型參數(shù)進(jìn)行了實(shí)時(shí)跟蹤,降低了模型時(shí)變對(duì)SOC估計(jì)的影響。同時(shí),引入海洋捕食者優(yōu)化(MPA)算法[9]對(duì)DKF算法的過(guò)程噪聲協(xié)方差、量測(cè)噪聲協(xié)方差及狀態(tài)誤差協(xié)方差初值進(jìn)行參數(shù)尋優(yōu)以發(fā)揮DKF算法的估算性能。并設(shè)計(jì)脈沖放電實(shí)驗(yàn)進(jìn)行仿真測(cè)試所提出的MPA-DKF算法的有效性。
電池等效電路模型的選取需考慮模型的復(fù)雜程度和精度兩個(gè)因素。通常模型的階次越高,越能反映電池內(nèi)部動(dòng)態(tài)特性,且模型的精度更高,但其增加了計(jì)算的復(fù)雜程度,實(shí)時(shí)性較差。因此,為簡(jiǎn)單準(zhǔn)確的反映單液流鋅鎳電池的動(dòng)態(tài)變化,本文采用如圖1所示的二階RC等效電路模型。
圖1中,Uoc、U分別描述電池開(kāi)路電壓、端電壓;R0描述電池歐姆內(nèi)阻,R1、C1描述電池電化學(xué)極化效應(yīng);R2、C2描述電池濃差極化效應(yīng);UR1C1描述電化學(xué)極化電壓,UR2C2描述濃差極化電壓,i為充放電電流。

圖1 單液流鋅鎳電池等效電路模型
由基爾霍夫電壓、電流定律建立電路方程,如式(1)所示

(1)
式(1)中:SOC定義為當(dāng)前剩余電量占額定容量的比例,其定義表達(dá)式見(jiàn)式(2)

(2)
式(2)中:SOC(0)為SOC初始值;t表示第t時(shí)刻;Cn為電池額定容量;η為庫(kù)倫效率。
利用脈沖特性試驗(yàn)(MPPT)及MATLAB的cftool曲線擬合工具箱即可完成對(duì)電池歐姆內(nèi)阻(R0)、極化電阻(R1、R2)和極化電容(C1、C2)的初始參數(shù)辨識(shí),具體可參考文獻(xiàn)[10]。
DKF濾波器[11]由兩級(jí)卡爾曼濾波器組成,即在擴(kuò)展卡爾曼濾波器的基礎(chǔ)上,增加一級(jí)卡爾曼濾波器。兩個(gè)卡爾曼濾波器交替運(yùn)行,實(shí)時(shí)在線估計(jì)電池荷電狀態(tài)及模型參數(shù),使得模型能較好的描述電池動(dòng)態(tài)特性,同時(shí)提高SOC估計(jì)精度。
由于歐姆內(nèi)阻R0是影響電池外特性的主要參數(shù),為了簡(jiǎn)化卡爾曼估計(jì)模型且降低算法復(fù)雜度,本文不考慮除歐姆內(nèi)阻外其余參數(shù)時(shí)變特性對(duì)電池SOC估計(jì)的影響。綜上所述,使用DKF估算單液流鋅鎳電池SOC流程如下:
1)建立第一級(jí)卡爾曼估計(jì)模型
根據(jù)圖1所示電路,以電池荷電狀態(tài)SOC、電化學(xué)極化電壓UR1C1、濃差極化電壓UR2C2為系統(tǒng)狀態(tài)量,電池端電壓U為輸出觀測(cè)量建立系統(tǒng)狀態(tài)空間方程,如式(3)所示

(3)
式(3)中:T為電池采樣周期;k表示第k時(shí)刻;wk為過(guò)程噪聲,表征建模及參數(shù)不精確的誤差;vk為量測(cè)噪聲,表征測(cè)量不精確的誤差。
定義第一級(jí)卡爾曼估計(jì)模型系數(shù)矩陣為

(4)
2)建立第二級(jí)卡爾曼估計(jì)模型
以歐姆內(nèi)阻R0作為狀態(tài)變量,電池端電壓U為輸出觀測(cè)量建立歐姆內(nèi)阻空間方程,如式(5)所示

(5)
式(5)中:ek為系統(tǒng)噪聲,rk為量測(cè)噪聲。
定義第二級(jí)卡爾曼估計(jì)模型系數(shù)矩陣為

(6)
3)DKF算法迭代更新估計(jì)
①初始化狀態(tài)變量及誤差協(xié)方差矩陣

(7)
②狀態(tài)變量先驗(yàn)估計(jì)及誤差協(xié)方差矩陣更新

(8)
③卡爾曼增益計(jì)算

(9)
④狀態(tài)變量后驗(yàn)估計(jì)

(10)
⑤誤差協(xié)方差更新

(11)
算法在完成狀態(tài)變量、過(guò)程噪聲協(xié)方差陣、量測(cè)噪聲協(xié)方差陣、誤差協(xié)方差矩陣等初始化后,循環(huán)步驟②至步驟⑤即可得到不同時(shí)刻的狀態(tài)估計(jì)值x+k與模型參數(shù)R+k。
MPA算法是由Afshin Faramarzi等人于2020年提出的一種模擬海洋捕食者與獵物最佳覓食策略的群智能優(yōu)化算法。算法基于兩種隨機(jī)行走策略:Levy飛行與布朗運(yùn)動(dòng)(讀者可參考文獻(xiàn)[9]了解這兩種策略,本文不做詳細(xì)說(shuō)明)。
算法按獵物與捕食者的移動(dòng)速度比例分為高速度比例、單位速度比例、低速度比例三個(gè)階段,各階段均占算法最大迭代次數(shù)的三分之一。算法具體流程如下:
1)設(shè)置獵物規(guī)模N、搜索空間維數(shù)D、迭代終止條件Max_iter等參數(shù)。并按式(12)隨機(jī)初始化獵物位置。
Preyi=Xmin+rand(1,D)?(Xmax,Xmin)
(12)
式(12)中:Preyi代表第i頭獵物的位置;rand(1,D)為[0,1]范圍的D維隨機(jī)數(shù)向量;‘?’表示點(diǎn)乘;Xmax、Xmin分別為D維搜索空間的上下限。
2)計(jì)算每頭獵物的適應(yīng)度如式(13)所示。定義獵物的適應(yīng)度越小,所尋得的食物更豐富,并記錄當(dāng)前獵物個(gè)體歷史最優(yōu)位置,即迄今為止該獵物尋到的食物最豐富的位置。
fitnessi=f(Preyi)
(13)
式(13)中:fitnessi為第i頭獵物的適應(yīng)度。捕食者與獵物都在尋找食物,且捕食者的位置即為當(dāng)前所尋得食物最豐富的位置。構(gòu)造捕食者矩陣Elite,其中Elite矩陣包含N個(gè)捕食者的位置信息,且每個(gè)捕食者的位置都定義為當(dāng)前最優(yōu)獵物的位置。
3)高速度比例階段。在該階段中捕食者保持不動(dòng),獵物都進(jìn)行布朗運(yùn)動(dòng)以尋找食物更豐富的位置,同時(shí)獵物有趨向當(dāng)前食物最豐富區(qū)域移動(dòng)的趨勢(shì)。該階段的數(shù)學(xué)描述如下

(14)
式(14)中:new_Preyi代表獵物的新位置;RB為D維布朗運(yùn)動(dòng)隨機(jī)數(shù)向量;P為固定常數(shù),通常取0.5;R為[0,1]范圍的隨機(jī)數(shù)。
4)單位速度比例階段。在該階段中一半的捕食者進(jìn)行布朗運(yùn)動(dòng)在當(dāng)前食物最豐富區(qū)域附近探索,且一半的獵物跟隨這些捕食者移動(dòng)。另一半的獵物以levy飛行搜索其近鄰或跳躍性地尋找食物更豐富的位置。該階段的數(shù)學(xué)描述如下:
前一半獵物的位置更新

(15)
后一半獵物的位置更新

(16)
式(15)、(16)中:RL為D維levy飛行隨機(jī)數(shù)向量;CF是控制捕食者運(yùn)動(dòng)步長(zhǎng)的自適應(yīng)參數(shù),其定義如下

(17)
式(17)中:iter描述當(dāng)前迭代次數(shù)。
5)低速度比例階段。在該階段中全體捕食者進(jìn)行l(wèi)evy飛行以搜索其近鄰或跳躍性地尋找食物更豐富的位置,全體獵物跟隨著捕食者移動(dòng)。該階段的數(shù)學(xué)描述如下

(18)
6)計(jì)算更新后的獵物適應(yīng)度new_fiti,并重新構(gòu)造捕食者矩陣如步驟2)所示。另外,獵物若本次搜索未能尋得食物更豐富的位置,則回到原位置,數(shù)學(xué)描述如下

(19)
7)獵物的覓食策略會(huì)受到渦流與魚(yú)類(lèi)聚集效應(yīng)(FADs)的影響,獵物大部分時(shí)間在其附近尋找食物,但存在一定概率選擇到另一環(huán)境中尋找食物。該過(guò)程的數(shù)學(xué)描述如下

(20)
式(20)中:FADs為FADs事件觸發(fā)的概率,通常取0.2;V是包含零和一的D維隨機(jī)向量;r為[0,1]范圍的隨機(jī)數(shù);Preyr1、Preyr2為隨機(jī)選取的兩頭獵物的位置。
完成步驟1)的初始化后,算法在步驟2)至步驟7)循環(huán)迭代,直至滿足迭代終止條件時(shí)輸出最優(yōu)獵物。
使用MPA優(yōu)化DKF算法時(shí),首先應(yīng)確定優(yōu)化對(duì)象,將所優(yōu)化對(duì)象組成向量組,并作為MPA算法中獵物的位置信息;其次是建立獵物的適應(yīng)度函數(shù),以作為該獵物的評(píng)價(jià)指標(biāo)。
在MPA-DKF算法中,優(yōu)化對(duì)象即為DKF算法的噪聲統(tǒng)計(jì)特性及誤差協(xié)方差矩陣初始值,因此,可將獵物的位置定義為DKF算法中的過(guò)程噪聲協(xié)方差、量測(cè)噪聲協(xié)方差以及誤差協(xié)方差初值中的有效參數(shù)所組成的一組向量,由3.1節(jié)可知,這組向量共10個(gè)維度參數(shù),即D=10。而獵物適應(yīng)度則定義為:將獵物位置信息作為DKF算法的初始算法參數(shù)參與電池SOC估計(jì),并以估計(jì)結(jié)果中的SOC預(yù)測(cè)值與參考值的差值平方和作為獵物適應(yīng)度,其表達(dá)式如式(21)所示

(21)
式(21)中:L為最大采樣點(diǎn)數(shù),Yk為第k時(shí)刻的SOC預(yù)測(cè)值,SOCk為第k時(shí)刻的SOC參考值。綜上,MPA-DKF偽代碼如下所示。
輸入:電池端電壓、電流樣本、
輸出:DKF算法最優(yōu)噪聲統(tǒng)計(jì)特性參數(shù)及狀態(tài)誤差協(xié)方差初值、最優(yōu)SOC估計(jì)值
1)初始化電池模型初始參數(shù)、MPA算法參數(shù)(N、D、Max_iter)
2) 根據(jù)式(12)初始化獵物種群
3)while iter < Max_iter
4) 根據(jù)式(13)計(jì)算獵物適應(yīng)度并進(jìn)行優(yōu)勝劣汰,保留個(gè)體歷史最優(yōu)獵物,且確定最優(yōu)獵物以構(gòu)建捕食者矩陣
5) if iter < Max_iter/3
6)高速度比例階段:獵物根據(jù)式(14)更新位置
7) else if Max_iter/3 < iter < 2×Max_iter/3
8) 單位速度比例階段:獵物根據(jù)式(15)、(16)更新位置
9) else if iter > 2×Max_iter/3
10)低速度比例階段:獵物根據(jù)式(18)更新位置
11)end if
12)根據(jù)式(13)計(jì)算獵物適應(yīng)度并根據(jù)式(19)進(jìn)行優(yōu)勝劣汰,保留個(gè)體歷史最優(yōu)獵物,且確定最優(yōu)獵物以構(gòu)建捕食者矩陣
13)FADs效應(yīng):根據(jù)式(20)更新獵物位置
14)iter=iter+1
15)end while
16)提取最優(yōu)獵物位置作為DKF算法的最優(yōu)噪聲統(tǒng)計(jì)特性參數(shù)及狀態(tài)誤差協(xié)方差初值,并提取SOC最優(yōu)估計(jì)值
本次實(shí)驗(yàn)對(duì)象為某公司生產(chǎn)的單液流鋅鎳電池原型機(jī),其電池單體參數(shù)為:額定容量210 Ah,平均電壓1.705 V,充電截止電壓2.1 V,放電截止電壓1.2 V。使用新威電池測(cè)試系統(tǒng)BTS-3000(深圳產(chǎn))進(jìn)行測(cè)試。
在室溫下以恒定電流100 A對(duì)單液流鋅鎳電池進(jìn)行恒流脈沖放電,單次脈沖放電容量為10.5 Ah(占額定容量的5%),擱置時(shí)間為5 min,采樣時(shí)間為1 s。實(shí)驗(yàn)取電池SOC于95%至5%的放電數(shù)據(jù)(18個(gè)放電脈沖)做SOC估計(jì)仿真測(cè)試,其端電壓變化曲線如圖2所示。

圖2 放電過(guò)程端電壓變化曲線
開(kāi)路電壓(OCV)與電池SOC具有非線性函數(shù)關(guān)系,本文采用恒流恒容量脈沖放電試驗(yàn)來(lái)標(biāo)定該關(guān)系曲線,在單個(gè)脈沖放電結(jié)束后靜置至端電壓穩(wěn)定(60 min左右)時(shí)的值即為電池此時(shí)的開(kāi)路電壓,通過(guò)這種方式即可獲取電池不同SOC點(diǎn)處的開(kāi)路電壓,從而利用MATLAB的cftool曲線擬合工具箱進(jìn)行多項(xiàng)式擬合,結(jié)果如式(22)所示。
UOC(SOC)=2.218SOC5-6.55SOC4-7.638SOC3
-4.121SOC2+1.129SOC+1.55
(22)


圖3 SOC初值0.95時(shí)估計(jì)結(jié)果
從圖3、圖4可以看出,依賴于固定模型參數(shù)的EKF算法在放電后期估計(jì)精度逐漸下降,而DKF算法彌補(bǔ)了EKF算法的缺陷,通過(guò)實(shí)時(shí)跟蹤模型歐姆內(nèi)阻參數(shù)緩解了模型時(shí)變所帶來(lái)的影響,使其在估算后期仍有較高的估算精度。

圖4 SOC初值0.50時(shí)估計(jì)結(jié)果
另外,相較于依據(jù)經(jīng)驗(yàn)設(shè)置系統(tǒng)噪聲統(tǒng)計(jì)特性與誤差協(xié)方差矩陣初值參數(shù)的DKF算法,經(jīng)過(guò)參數(shù)尋優(yōu)的MPA-DKF算法估算精度明顯得到了提升。同時(shí)魯棒性也明顯增強(qiáng),在SOC初值錯(cuò)誤下,MPA-DKF算法僅需在20 s內(nèi)即可收斂至實(shí)際值附近,相比與EKF與DKF算法,其收斂性得到了大幅度提升。為了清晰直觀的對(duì)比各個(gè)算法的估算性能,本文設(shè)置穩(wěn)定后最大估算誤差及均方根誤差作為各算法評(píng)價(jià)指標(biāo)如表2所示。

表2 各算法估算SOC的評(píng)價(jià)指標(biāo)
由表2可以看出,MPA-DKF算法無(wú)論SOC初值是否有偏差,其估計(jì)精度都要明顯優(yōu)于DKF與EKF算法,最大估算誤差不超過(guò)1%;且均方根誤差小于0.5%,表明誤差分布較為均勻,估計(jì)效果平穩(wěn)。
為進(jìn)一步檢驗(yàn)MPA-DKF算法對(duì)歐姆內(nèi)阻初值的依賴性,本文在SOC為錯(cuò)誤初值0.5的條件下,設(shè)置歐姆內(nèi)阻R0初值分別為1.05 mΩ、1.25 mΩ、1.55 mΩ做SOC估計(jì)測(cè)試,得到的歐姆內(nèi)阻R0變化曲線如圖5所示。
從圖5可以看出,即使歐姆內(nèi)阻初值不同,算法仍能在短時(shí)間內(nèi)使其收斂于同一穩(wěn)定值附近,這說(shuō)明MPA-DKF算法對(duì)模型參數(shù)的依賴程度較小,可有效克服模型參數(shù)誤差對(duì)估計(jì)性能的影響,體現(xiàn)了MPA-DKF算法的優(yōu)越性。

圖5 歐姆內(nèi)阻R0變化曲線
本文提出了一種基于MPA-DKF算法的單液流鋅鎳電池的SOC估計(jì)方法。MPA-DKF算法通過(guò)聯(lián)合估計(jì)電池SOC及歐姆內(nèi)阻參數(shù),降低了模型時(shí)變對(duì)SOC估計(jì)精度的影響,同時(shí)引入MPA算法對(duì)影響DKF算法估算性能的過(guò)程噪聲協(xié)方差、量測(cè)噪聲協(xié)方差及誤差協(xié)方差初值進(jìn)行尋優(yōu)。經(jīng)實(shí)驗(yàn)表明,MPA-DKF算法有效提高了SOC估算精度,同時(shí)對(duì)SOC初值與模型初值偏差具有較強(qiáng)的適應(yīng)性,具有一定的研究意義。
本文做SOC估計(jì)時(shí)默認(rèn)電池額定容量保持不變,而實(shí)際電池額定容量會(huì)隨電池溫度變化及老化而改變,后續(xù)可考慮這一因素做進(jìn)一步的研究。