蔣 聰,吳 斌,王順利,熊 鑫
(西南科技大學(xué)信息工程學(xué)院,四川 綿陽(yáng) 621010)
近年來(lái),隨著鋰電池內(nèi)部正負(fù)極、隔膜和電解液等材料的不斷優(yōu)化改進(jìn),工作性能高速發(fā)展,使得鋰電池大量運(yùn)用在新能源汽車(chē)、航空、分布式儲(chǔ)能等領(lǐng)域。而鋰電池荷電狀態(tài)(state of charge,SOC)的準(zhǔn)確估算是鋰電池組安全高效工作的重要參數(shù)[1],是判斷電池管理系統(tǒng)(battery management system,BMS)優(yōu)劣的關(guān)鍵依據(jù)。但因?yàn)閯?dòng)力鋰電池所具有很強(qiáng)的非線性特征,以及外部復(fù)雜環(huán)境和使用工況的影響,如溫度、放電倍率等,在實(shí)際應(yīng)用中仍然難以保證算法的可靠性和對(duì)SOC估計(jì)精度,最終將降低電池管理系統(tǒng)的工作效率和安全性。本文提出一種基于改進(jìn)擴(kuò)展卡爾曼的SOC估算算法,可以有效防止因計(jì)算機(jī)字長(zhǎng)度有限而引起的濾波發(fā)散。
電池等效電路模型圖如圖1所示。
圖1 電池等效電路模型
一般電池模型分為電化學(xué)模型、等效電路模型、純數(shù)學(xué)模型,由于等效電路模型具有結(jié)構(gòu)簡(jiǎn)單、物理意義明確的特點(diǎn),在研究中使用較為廣泛。常用等效電路模型有Rint模型、Thevenin模型、PNGV模型和二階等效模型。
在Rint模型中:R0為鋰電池的歐姆內(nèi)阻,表征鋰電池電流突變引起的瞬時(shí)壓降;UOC為理想電壓源表征開(kāi)路電壓;I為電池的環(huán)路電流,設(shè)定其放電方向?yàn)檎?;UL為鋰電池負(fù)載端電壓。在Rint模型基礎(chǔ)上添加1個(gè)RC并聯(lián)回路表征電池的極化效應(yīng),分別為極化內(nèi)阻Rp、極化電容Cp,模擬電池充放電過(guò)程中的電壓緩慢變化,得到了Thevenin模型。在Thevenin模型上添加Cb,表征負(fù)載電流隨時(shí)間產(chǎn)生的開(kāi)路電壓變化,得到了PNGV模型。在Thevenin模型上再添加一個(gè)RC并聯(lián)回路,得到了二階等效模型。
簡(jiǎn)單的模型便于計(jì)算,但不能準(zhǔn)確地描述電池的工作特性,復(fù)雜的模型能更好地表征電池的充放電特性,但計(jì)算量會(huì)大大增加,降低了模型的適應(yīng)性和推廣應(yīng)用。Lai等比較了不同階數(shù)等效電路模型對(duì)于SOC估算效果的影響[2-5],其中二階以上,模型精度增加并不明顯,但計(jì)算量大大增加。綜合考慮精確建模和模型簡(jiǎn)約,本文采用二階等效電路模型。根據(jù)基爾霍夫(Kirchhoff)電路定律,結(jié)合圖1(d),可以列出式(1)。
(1)
式中:UL為負(fù)載端電壓;Uoc(SOC)為開(kāi)路電壓;i為負(fù)載電流;RO為歐姆內(nèi)阻;UP1、UP2為兩個(gè)極化電容端電壓;CP1、CP2為極化電容;t為時(shí)間。
針對(duì)所選取的二階等效模型,選取[SOCUP1UP2]作為狀態(tài)變量,結(jié)合式(1)及SOC的定義,經(jīng)過(guò)離散化可以列出鋰電池離散狀態(tài)空間方程如式(2)所示。
(2)
式中:下標(biāo)k為當(dāng)前時(shí)刻,k+1代表下一時(shí)刻;Qn為電池額定電量;SOC為電池荷電狀態(tài),當(dāng)前電量和電池額定電量的比值;h為庫(kù)倫效率;T為采樣周期;RO為歐姆內(nèi)阻;Rp1、Rp2為極化內(nèi)阻;UP1、UP2為兩個(gè)極化電容端電壓;t1、t2為時(shí)間常數(shù),t1=Rp1Cp1、t2=Rp2Cp2;UL為負(fù)載端電壓;Uoc為開(kāi)路電壓。
二階等效電路模型所需要辨識(shí)的參數(shù)有歐姆內(nèi)阻RO、開(kāi)路電壓Uoc、極化內(nèi)阻Rp1、Rp2和極化電容Cp1、Cp2。這里選擇對(duì)動(dòng)力鋰電池進(jìn)行混合脈沖功率性能(hybridge pulse power characteristic,HPPC)測(cè)試試驗(yàn),根據(jù)鋰電池外部特性變化,運(yùn)用Matlab軟件根據(jù)最小二乘原理進(jìn)行離線參數(shù)辨識(shí)。
以中航鋰電三元鋰電池LFP50AH為研究對(duì)象,電池測(cè)試設(shè)備為亞科源BTS750-200-100-4,參考《美國(guó)Freedom CAR電池試驗(yàn)手冊(cè)》對(duì)鋰電池進(jìn)行HPPC試驗(yàn)。單次HPPC試驗(yàn)工步過(guò)程為:以放電倍率1 C(這里電流為50 A)恒流放電10 s、擱置40 s、以放電倍率1 C(這里電流為50 A)恒流充電10 s、再擱置。HPPC試驗(yàn)電流電壓曲線如圖2所示。
圖2 HPPC試驗(yàn)電流電壓曲線圖
分析圖2,可以得到以下4個(gè)階段特點(diǎn)。
①t1時(shí)刻開(kāi)始放電。鋰電池端電壓從U1突降變?yōu)閁2。這主要是由于鋰電池歐姆內(nèi)阻引起的電壓變化。
②從t2到t3期間,鋰電池端電壓從U2緩慢下降到U3。這是由于電池極化效應(yīng)存在,放電電流對(duì)極化電容充電的過(guò)程,是雙RC串聯(lián)回路的零狀態(tài)響應(yīng)。
③從t3到t4期間,鋰電池端電壓從U3突升變?yōu)閁4。這同樣是由于鋰電池歐姆內(nèi)阻引起的電壓變化。
④從t4到t5期間,鋰電池端電壓從U4緩慢回升到U5。這是極化電容對(duì)極化電阻放電的過(guò)程,是雙RC電路的零輸入響應(yīng)。
1.3.1 開(kāi)路電壓
開(kāi)路電壓UOC是電池在長(zhǎng)時(shí)間靜置狀態(tài)下電池正負(fù)兩端穩(wěn)定的電壓。試驗(yàn)表明,將電池靜置40 min后的電壓穩(wěn)定,可以認(rèn)為等于電池的開(kāi)路電壓。故可以取圖2(a)中U1為該SOC值下對(duì)應(yīng)的開(kāi)路電壓。通過(guò)上述HPPC試驗(yàn),可以直接讀出SOC值0.1~1對(duì)應(yīng)的10個(gè)開(kāi)路電壓值。
1.3.2 歐姆內(nèi)阻
由特征可知,鋰電池在放電瞬間以及停止瞬間端電壓會(huì)突變,均是由于歐姆內(nèi)阻導(dǎo)致的。故可以選取兩電壓差求均值除以電流得到歐姆電阻,如式(3)所示。
(3)
式中:U1為圖2(c)中開(kāi)始放電時(shí)鋰電池端電壓;U2為圖2(c)中U1突降后端電壓;U3為圖2(c)中放電10 s結(jié)束時(shí)端電壓;U4為圖2(c)中U3電壓突升后端電壓;I為放電電流,其值為50 A。
1.3.3 極化電容極化電阻
從圖2(a)特征可以看出,從t2到t3期間,鋰電池端電壓從U2緩慢下降到U3。這是由于電池極化效應(yīng)存在,放電電流對(duì)極化電容充電的過(guò)程是雙RC回路串聯(lián)的零狀態(tài)響應(yīng)。對(duì)電路進(jìn)行時(shí)域分析,選取t2到t3期間數(shù)據(jù),可以得到一個(gè)端電壓UL與時(shí)間t的函數(shù)關(guān)系,如式(4)所示。
UL(t)=U2-IRP1[1-e-t/τ1]-IRP2[1-exp-t/τ2]
(4)
式中:UL(t)為負(fù)載端電壓;t為時(shí)間,從U2為0時(shí)刻開(kāi)始計(jì)時(shí)。
將極化內(nèi)阻Rp1、Rp2以及t1、t2作為未知量,根據(jù)公式(4)和從t2到t3期間的數(shù)據(jù)。運(yùn)用Matlab中的cftool擬合工具,可以直接得到4個(gè)值,再根據(jù)公式t1=Rp1Cp1、t2=Rp2Cp2,求出極化電容Cp1、Cp2。
電池的SOC估算是一個(gè)明顯的隱馬爾科夫模型,針對(duì)傳統(tǒng)SOC估算方法對(duì)初值的依賴以及算法的穩(wěn)定性,提出一種在擴(kuò)展卡爾曼算法基礎(chǔ)上,將狀態(tài)協(xié)方差矩陣進(jìn)行平方根分解得到的擴(kuò)展卡爾曼濾波(extended Kalman filter,EKF)算法,具有SOC初值自適應(yīng)修正能力,也有效防止因?yàn)橛?jì)算機(jī)字長(zhǎng)有限而可能引起的濾波發(fā)散。
卡爾曼濾波主要步驟是設(shè)定狀態(tài)向量初值X(0|0)及其協(xié)方差矩陣初值P(0|0),根據(jù)模型計(jì)算下一時(shí)刻估計(jì)值,再計(jì)算卡爾曼增益,通過(guò)卡爾曼增益修正估計(jì)值。在實(shí)際運(yùn)用中,有時(shí)出現(xiàn)濾波發(fā)散問(wèn)題。這可能是由于計(jì)算機(jī)的舍入誤差(計(jì)算誤差),使得P(k|k-1)、P(k|k)的計(jì)算值失去非負(fù)定性,導(dǎo)致K(k)的計(jì)算失真,造成誤差越來(lái)越大。對(duì)于矩陣S,可得SST是對(duì)稱非負(fù)定的。
鋰電池SOC估算流程如圖3所示。
圖3 鋰電池SOC估算流程圖
因此,可將狀態(tài)協(xié)方差矩陣P(k|k)進(jìn)行分解為S(k|k)S(k|k))T,任何時(shí)刻至少具有非負(fù)定性。矩陣的分解方法如式(5)和式(6)所示。
(5)
(6)
式中:Pnn為協(xié)方差矩陣中第n行n列的值;Snn為分解協(xié)方差矩陣中第n行n列的值。
根據(jù)式(5)、式(6),對(duì)協(xié)方差矩陣P進(jìn)行矩陣分解,故此可以得到相應(yīng)的改進(jìn)擴(kuò)展卡爾曼算法。首先是設(shè)定算法初值X(0|0)、S(0|0)。然后進(jìn)入時(shí)間更新預(yù)測(cè)階段,根據(jù)狀態(tài)空間模型從(k-1)時(shí)刻的最優(yōu)預(yù)測(cè)值X(k-1|k-1)根據(jù)式(2)直接計(jì)算出的k時(shí)刻預(yù)測(cè)值X(k|k-1)及其對(duì)應(yīng)狀態(tài)變量協(xié)方差矩陣P(k|k-1)的分解矩陣S(k|k-1),改進(jìn)的擴(kuò)展卡爾曼算法計(jì)算過(guò)程預(yù)測(cè)階段式(7)和式(8)所示。
X(k|k-1)=A(k)X(k-1|(k-1)+BIk
(7)
S(k|k-1)=A(k)S(k-1|k-1)
(8)
式中:X(k|k-1)為根據(jù)公式從(k-1)時(shí)刻計(jì)算得到k時(shí)刻系統(tǒng)狀態(tài);X(k-1|k-1)為(k-1)時(shí)刻觀測(cè)更新修正后的系統(tǒng)狀態(tài);A(k)為狀態(tài)轉(zhuǎn)移矩陣;B為控制矩陣;S(k|k-1)為從(k-1)時(shí)刻計(jì)算得到k時(shí)刻協(xié)方差分解矩陣;S(k-1|k-1)為(k-1)時(shí)刻觀測(cè)更新修正后協(xié)方差分解矩陣。
接著觀測(cè)更新修正階段,通過(guò)計(jì)算卡爾曼增益K(k),如式(9)所示。再對(duì)直接計(jì)算出的k時(shí)刻預(yù)測(cè)值X(k|k-1)及協(xié)方差分解矩陣S(k|k-1)進(jìn)行修正,得到了最優(yōu)估計(jì)值X(k|k)。計(jì)算過(guò)程如式(10)和式(11)所示。
(9)
X(k|k)=X(k|k-1)+K(k)[UL(k)-H(k)×
(k|k-1)-BI(k)]
(10)
(11)
式中:K(k)為卡爾曼增益;Fk、αk、γk為使公式簡(jiǎn)潔的中間量;R為觀測(cè)白噪聲的方差;H(k)為觀測(cè)矩陣;X(k|k)為k時(shí)刻觀測(cè)更新修正后的系統(tǒng)狀態(tài);H(k)為狀態(tài)轉(zhuǎn)移矩陣;S(k|k)為k時(shí)刻觀測(cè)更新修正后協(xié)方差分解矩陣。
在給定初值X(0|0)、S(0|0)的情況下,通過(guò)以上公式進(jìn)行迭代,就可以得到每個(gè)時(shí)刻狀態(tài)向量X(k|k)。根據(jù)所選取的狀態(tài)向量為[SOCUP1UP2]T,輸出估計(jì)狀態(tài)量的第一項(xiàng)即為需要的SOC估計(jì)值。根據(jù)以上算法進(jìn)行SOC估算,因?yàn)镻(0|0)非負(fù)定,至少應(yīng)保證狀態(tài)協(xié)方差矩陣P(k|k)總是非負(fù)定的,從而克服因計(jì)算機(jī)字長(zhǎng)有限而可能引起的濾波發(fā)散。
本文參考北京公交動(dòng)態(tài)測(cè)試(Beijing bus dynamic stress test,BBDST)工況,設(shè)置工況試驗(yàn),對(duì)所用中航鋰電LFP50AH三元鋰電池進(jìn)行測(cè)試。電池充放電設(shè)備是由深圳市亞科源科技有限公司提供的BTS750-200-100- 4電池檢測(cè)設(shè)備,BBDST工況是對(duì)北京公交車(chē)起步、加速、滑行、制動(dòng)、急加速、停車(chē)等各個(gè)環(huán)節(jié)的數(shù)據(jù)采集后進(jìn)行處理所得到工況。由于本文是對(duì)鋰電池單體進(jìn)行研究,根據(jù)實(shí)際情況,將每步工況功率按比例縮小。BBDST工況描述如表1所示。
表1 BBDST工況描述
表1中:Ph為真實(shí)的公交車(chē)起步加速滑行等工況下電池輸出功率。由于是對(duì)50 Ah鋰電池單體進(jìn)行試驗(yàn),對(duì)Ph進(jìn)行減小,得到了Pc中數(shù)據(jù)。Pc為本次對(duì)中航鋰電LFP50AH三元鋰電池進(jìn)行試驗(yàn)所用工況數(shù)據(jù)。單步為每一步工況時(shí)長(zhǎng),累計(jì)為工況累計(jì)時(shí)長(zhǎng)。從表1可知,一次完整BBDST工況時(shí)長(zhǎng)300 s。這里對(duì)電池進(jìn)行20次BBDST工況測(cè)試。BBDST工況試驗(yàn)數(shù)據(jù)如圖4所示。
圖4 BBDST工況試驗(yàn)數(shù)據(jù)
隨著循環(huán)次數(shù)增加,放電電流增大,電池端電壓整體呈現(xiàn)下降趨勢(shì)
選擇在Matlab/Simulink中建立仿真系統(tǒng)模型,用于驗(yàn)證算法SOC估算效果。結(jié)合根據(jù)前面知識(shí),如所獲得二階等效電路模型參數(shù)數(shù)據(jù)、BBDST試驗(yàn)數(shù)據(jù),建立Simulink仿真模型[6-10]。
運(yùn)行仿真后得到SOC估算結(jié)果如圖5所示。
圖5 SOC估算結(jié)果
從圖5(a)所示的SOC估算圖可知:20次BBDST工況試驗(yàn),所用鋰電池SOC從100%下降到65%,初始SOC誤差為25%;改進(jìn)EKF迭代10s后誤差降低到10%,80 s后最大誤差低于2%。對(duì)誤差值取絕對(duì)值后,再取平均數(shù),得到平均誤差為0.45%。結(jié)果表明,算法估算效果良好,且具有很強(qiáng)的修正初值誤差的能力。
對(duì)動(dòng)力鋰電池LFP50AH建立二階等效電路模型,使用改進(jìn)EKF算法進(jìn)行SOC估算。在BBDST工況下,設(shè)定初始SOC誤差為25%。仿真結(jié)果表明,鋰電池SOC估算誤差在10 s后低于10%,在80 s后最大誤差低于2%,全程平均誤差為0.45%。改進(jìn)EKF算法能有效修正SOC初值引起的誤差,并防止因?yàn)橛?jì)算機(jī)字長(zhǎng)有限而引起的濾波發(fā)散,且估算效果良好。