李練兵,孫 坤,季 亮,何桂欣,王 佳,孫騰達(dá)
(河北工業(yè)大學(xué) 人工智能與數(shù)據(jù)科學(xué)學(xué)院,天津 300130)
針對(duì)儲(chǔ)能電池SOC的估算問(wèn)題,國(guó)內(nèi)外專家學(xué)者進(jìn)行了大量的研究[1-3]。其中,安時(shí)積分法、開(kāi)路電壓法和神經(jīng)網(wǎng)絡(luò)法等算法為開(kāi)環(huán)估算算法中的代表;卡爾曼濾波法(Kalman filter,KF)、粒子濾波法和滑膜觀測(cè)器等算法則為典型的閉環(huán)估算算法[5]。劉淑杰等提出了基于改進(jìn)粒子濾波算法、自適應(yīng)遞推最小二乘法與無(wú)跡卡爾曼濾波[6-8]的電池SOC估算方法。文獻(xiàn)[9]提出了一種使用輸入時(shí)間延神經(jīng)網(wǎng)絡(luò)的鋰離子電池SOC估計(jì)方法,文獻(xiàn)[10]對(duì)電池松弛效應(yīng)及極化現(xiàn)象影響進(jìn)行建模補(bǔ)償,文獻(xiàn)[11]采用擴(kuò)展卡爾曼濾波估算電池的SOC,文獻(xiàn)[12]提出了基于自適應(yīng)回歸擴(kuò)展卡爾曼濾波的電動(dòng)汽車動(dòng)力電池全生命周期的荷電狀態(tài)估算方法,文獻(xiàn)[13]提出了一個(gè)集成的荷電狀態(tài)估計(jì)模型,文獻(xiàn)[14]提出了一種基于減法聚類的神經(jīng)模糊系統(tǒng)的荷電狀態(tài)估計(jì)方法,都提供了充電狀態(tài)估計(jì)的替代方案,但是實(shí)驗(yàn)結(jié)果的誤差都比較大。針對(duì)上述問(wèn)題,本文采用基于二階Thevenin模型的等效電路模型,獲取狀態(tài)空間方程,在經(jīng)過(guò)對(duì)比電池參數(shù)的離線辨識(shí)和在線辨識(shí)的情況下,采用結(jié)合改進(jìn)協(xié)同濾波算法的雙卡爾曼濾波(double Kalman filter,DKF)的方法實(shí)現(xiàn)電池參數(shù)的確定和SOC的估算,經(jīng)實(shí)驗(yàn)驗(yàn)證,采用DKF算法估算電池SOC具有良好的收斂性和精度。
混合動(dòng)力脈沖功率特性(hybrid pulse power characteri-stic,HPPC)測(cè)試實(shí)驗(yàn)是在電池允許的最大放電倍率下,對(duì)電池進(jìn)行周期性的放電和充電實(shí)驗(yàn),體現(xiàn)動(dòng)態(tài)性能的一種特征[15]。通過(guò)記錄電池在放電、靜置和充電這一運(yùn)行過(guò)程中的電壓數(shù)據(jù)[16],利用電路的等效電路模型計(jì)算出在不同的荷電狀態(tài)下電池歐姆內(nèi)阻、電化學(xué)極化阻容和濃差極化阻容[17]。
模型參數(shù)辨識(shí)方法包括離線辨識(shí)和在線辨識(shí)。離線辨識(shí)是通過(guò)批量處理實(shí)際工況下采集到的數(shù)據(jù),結(jié)合電路模型的電氣特性進(jìn)行分析計(jì)算獲得各參數(shù)的估計(jì)值。在線辨識(shí)是根據(jù)系統(tǒng)運(yùn)行過(guò)程中的實(shí)時(shí)數(shù)據(jù),通過(guò)遞推公式不斷迭代更新得到模型參數(shù)的最優(yōu)值,二者最大的區(qū)別在于實(shí)時(shí)性。鋰離子電池的SOC不能直接測(cè)量得到,需要通過(guò)開(kāi)路電壓(open circuit voltage,OCV)等外特性來(lái)完成對(duì)荷電狀態(tài)的估算。由圖1可知,二階Thevenin等效電路模型中需要辨識(shí)參數(shù)有開(kāi)路電壓UOCV、歐姆內(nèi)阻R0、電化學(xué)極化電阻R1、電容C1和濃差極化電阻R2、電容C2。結(jié)合電路模型的電氣特性得到這些參數(shù)與實(shí)驗(yàn)采集數(shù)據(jù)函數(shù)關(guān)系,得到電池等效電路模型參數(shù)進(jìn)而估算電池SOC。本文對(duì)電池進(jìn)行的測(cè)試均在恒溫箱中進(jìn)行,設(shè)定溫度為25 ℃,消除其它的干擾因素同時(shí)忽略電池循環(huán)壽命對(duì)參數(shù)的影響。
圖1 二階Thevenin等效電路模型
電池處于工作狀態(tài)下,具體表現(xiàn)為隨著荷電狀態(tài)的減少開(kāi)路電壓隨之降低。聯(lián)合恒流放電和安時(shí)積分法計(jì)算出電池荷電狀態(tài)值,同時(shí)采集放電過(guò)程的電壓值,通過(guò)提取特定荷電狀態(tài)值下開(kāi)路電壓數(shù)據(jù)進(jìn)行擬合,即可得到OCV與SOC曲線以及函數(shù)關(guān)系。
對(duì)放電過(guò)程中的SOC值進(jìn)行標(biāo)定,并得出如圖2所示的OCV與SOC的關(guān)系的擬合曲線,進(jìn)一步得到OCV-SOC函數(shù)表達(dá)式。
圖2 OCV-SOC擬合結(jié)果
相應(yīng)的函數(shù)關(guān)系如式(1)所示
UOCV=11.08SOC6-25.581SOC5+17.54SOC4-
1.159SOC3-2.386SOC2+1.263SOC+3.422
(1)
歐姆內(nèi)阻反映電池端電壓的突變特性,表現(xiàn)在電池端電壓在放電開(kāi)始和結(jié)束的瞬間產(chǎn)生跳躍式的變化。圖3為脈沖放電實(shí)驗(yàn)過(guò)程中電池端電壓的響應(yīng)曲線。電流加載瞬間,端電壓陡降;放電結(jié)束瞬間,端電壓陡升,這兩個(gè)壓差稱為電壓回彈特性,利用兩個(gè)電壓差可以求出內(nèi)阻值。定義圖中電流加載前后的電池端電壓分別為VA、VB,脈沖電流卸載前后電池端電壓分別為VC、VD。
圖3 脈沖放電過(guò)程中電壓響應(yīng)曲線
為了減少誤差帶來(lái)的干擾,取電流加載瞬間的電壓差和電流卸載瞬間的電壓差的平均值對(duì)脈沖電流的比值作為歐姆內(nèi)阻,計(jì)算公式如式(2)所示
(2)
對(duì)不同SOC處求取電池內(nèi)阻值,得到歐姆內(nèi)阻R0。
脈沖放電電流卸載后電池處于靜置狀態(tài)下,即圖3中從C點(diǎn)到E點(diǎn)的電壓變化曲線視為兩個(gè)RC網(wǎng)絡(luò)的零輸入電壓響應(yīng),其端電壓響應(yīng)表達(dá)式如式(3)所示
UL(t)=UOCV-e-t/R1C1U1(0)-e-t/R2C2U2(0)
(3)
式中:U1(0) 為等效電路模型中電化學(xué)極化R1C1網(wǎng)絡(luò)的初始電壓,U2(0) 為等效電路模型中濃差極化R2C2網(wǎng)絡(luò)的初始電壓。
將放電靜置階段電壓響應(yīng)數(shù)據(jù)導(dǎo)入matlab中,使用cftool中的Custom Equations功能進(jìn)行指數(shù)擬合,根據(jù)端電壓響應(yīng)表達(dá)式(3)選取的擬合曲線表達(dá)式為(4)
y=a-be-ct-de-ft
(4)
式中:a,b,c為常數(shù)。
電池靜置1 h后,內(nèi)部的極化反應(yīng)已經(jīng)消失,如圖3中從A點(diǎn)到C點(diǎn),此時(shí)電壓響應(yīng)為零狀態(tài)響應(yīng),端電壓零狀態(tài)響應(yīng)表達(dá)式如式(5)所示
UL=UOCV-IR0-IR1(1-e-t/R1C1)-IR2(1-e-t/R2C2)
(5)
在C點(diǎn)處,RC并聯(lián)環(huán)節(jié)的電壓等于初始電壓,即
(6)
公式聯(lián)立,可以求得電池極化參數(shù)R1、C1、R2、C2的值。
離線參數(shù)表只能涵蓋部分工作條件,適用范圍具有局限性,因此離線辨識(shí)并不能保證跟蹤準(zhǔn)確性。此外,鋰離子電池運(yùn)行過(guò)程中內(nèi)部化學(xué)反應(yīng)復(fù)雜,且受外界環(huán)境溫度變化影響,通過(guò)查表法獲取模型的離線參數(shù)應(yīng)用于SOC估算會(huì)導(dǎo)致較大的誤差。由于電池系統(tǒng)的時(shí)變性,為了提高荷電狀態(tài)的估計(jì)精度,提高電路模型的適應(yīng)能力,需要對(duì)參數(shù)進(jìn)行在線辨識(shí)并且根據(jù)實(shí)時(shí)采集數(shù)據(jù)實(shí)現(xiàn)參數(shù)的更新修正。在線辨識(shí)參數(shù)基于采集電池工作數(shù)據(jù),通過(guò)算法更新修正電池參數(shù),追蹤電池的實(shí)際工作狀態(tài)[18]。
本文采用結(jié)合協(xié)同過(guò)濾方法的卡爾曼濾波法辨識(shí)電池等效電路模型參數(shù)。協(xié)同過(guò)濾算法基于不同的偏好對(duì)數(shù)據(jù)結(jié)果進(jìn)行群組劃分并歸類相似的數(shù)據(jù)。電池在線參數(shù)辨識(shí)步驟分為預(yù)測(cè)階段和修正階段,預(yù)測(cè)階段也常稱為時(shí)間更新階段,此階段內(nèi)容是依據(jù)系統(tǒng)的狀態(tài)方程由k時(shí)刻的狀態(tài)估計(jì)值推算k+1時(shí)刻的狀態(tài)先驗(yàn)估計(jì)值;修正階段又稱為測(cè)量更新階段,此階段是通過(guò)k+1時(shí)刻的實(shí)際輸出與模型輸出的差值對(duì)狀態(tài)先驗(yàn)估計(jì)值進(jìn)行修正,從而使k+1時(shí)刻的狀態(tài)估計(jì)值更加接近真實(shí)值。模型參數(shù)辨識(shí)結(jié)果及分析如圖4所示。
圖4 模型參數(shù)辨識(shí)結(jié)果
通過(guò)辨識(shí)結(jié)果可以看出歐姆內(nèi)阻在整個(gè)放電階段一直保持在3 mΩ左右。兩個(gè)極化電容差值在兩個(gè)數(shù)量級(jí)以上,分別對(duì)應(yīng)在電流突變時(shí)電壓快速變化的過(guò)程以及電壓緩慢穩(wěn)定的變化過(guò)程。電化學(xué)極化內(nèi)阻R1和濃差極化電阻R2與相對(duì)應(yīng)的電化學(xué)極化電容C1、濃差極化電容C2變化趨勢(shì)相反。
標(biāo)準(zhǔn)卡爾曼濾波法適用于線性動(dòng)態(tài)系統(tǒng),當(dāng)系統(tǒng)非線性時(shí),對(duì)系統(tǒng)的非線性方程通過(guò)數(shù)學(xué)中的泰勒公式對(duì)方程進(jìn)行線性化,再進(jìn)行卡爾曼濾波處理,這個(gè)過(guò)程稱為擴(kuò)展卡爾曼濾波(extended Kalman filter,EKF)原理。由于電池系統(tǒng)呈現(xiàn)高度的非線性,故采用EKF原理對(duì)電池SOC進(jìn)行估算。
非線性離散系統(tǒng)的狀態(tài)空間和輸出方程如下
(7)
非線性系統(tǒng)的狀態(tài)方程框架如圖5所示。
圖5 非線性離散系統(tǒng)的狀態(tài)空間模型結(jié)構(gòu)框架
本文在二階Thevenin等效電路模型的基礎(chǔ)上,建立了其電池狀態(tài)空間模型。根據(jù)二階Thevenin等效電路模型,結(jié)合安時(shí)積分法以電池的SOC、電池極化電容C1兩端的電壓U1、表征濃差極化電容C2兩端的電壓U2作為系統(tǒng)的狀態(tài)變量,充放電電流I(標(biāo)定放電電流為正)作為輸入量,端電壓U作為系統(tǒng)的輸出量,經(jīng)過(guò)離散化和線性化處理后推導(dǎo)出電池的系統(tǒng)狀態(tài)方程和輸出方程如下所示
(8)
將上述式子進(jìn)項(xiàng)離散化后的狀態(tài)方程為
(9)
式中:Δt為系統(tǒng)采樣時(shí)間,QN為電池的實(shí)際容量, SOC(k) 為k時(shí)刻的電池的荷電狀態(tài),U1(k) 是k時(shí)刻的電化學(xué)極化電阻R1兩端的電壓,U2(k) 是k時(shí)刻的電化學(xué)極化電阻R2兩端的電壓,I(k) 為k時(shí)刻的電池的工作電流,放電時(shí)取正。 SOC(k+1) 通過(guò)SOC(k) 加上電流對(duì)于采樣時(shí)間的積分得到。輸出方程為
U(k)=UOCV(SOC(k))-U1(k)-U2(k)-RoI(k)
(10)
系統(tǒng)的狀態(tài)變量為:x=[x1x2x3]T=[SOC(k)
U1(k)U2(k)]T, 系統(tǒng)的輸入量為工作電流I(k), 輸出量為電池負(fù)載電壓UL(k), 輸出方程為UL(k)=I(k)。 通過(guò)泰勒公式線性化系統(tǒng)的狀態(tài)空間模型方程,矩陣參數(shù)如下所示
(11)
(12)
(13)
利用線性化后矩陣參數(shù)通過(guò)卡爾曼濾波算法的遞推過(guò)程實(shí)現(xiàn)對(duì)電池SOC的估算。
本文采用了卡爾曼濾波算法對(duì)電池二階Thevenin等效電路模型的參數(shù)進(jìn)行在線辨識(shí),為實(shí)際工況下的電池提供實(shí)時(shí)的模型參數(shù),保證跟蹤準(zhǔn)確性,有效減小模型誤差,使當(dāng)前時(shí)刻電池模型更加準(zhǔn)確模擬電池狀態(tài),從而提高電池SOC估算精度?;谝陨显颍疚慕Y(jié)合協(xié)同過(guò)濾的卡爾曼濾波算法實(shí)現(xiàn)電池的在線參數(shù)辨識(shí),采用擴(kuò)展卡爾曼濾波算法估算電池SOC。雙卡爾曼濾波估算SOC和模型參數(shù)的實(shí)施步驟為:
(1)通過(guò)HPPC測(cè)試實(shí)驗(yàn)記錄電池在放電、靜置和充電這一運(yùn)行過(guò)程中的電壓數(shù)據(jù),利用電路的等效電路模型計(jì)算出在不同的荷電狀態(tài)下電池歐姆內(nèi)阻、電化學(xué)極化阻容和濃差極化阻容。
(2)采用結(jié)合協(xié)同濾波的卡爾曼濾波算法進(jìn)行電池參數(shù)的在線辨識(shí)并且根據(jù)實(shí)時(shí)采集數(shù)據(jù)實(shí)現(xiàn)參數(shù)的更新修正。
(3)將實(shí)時(shí)參數(shù)帶入電池空間狀態(tài)方程,修正電池模型,減少模型誤差。
(4)啟動(dòng)擴(kuò)展卡爾曼濾波對(duì)SOC進(jìn)行估算。
為了驗(yàn)證雙卡爾曼算法的收斂性和精度,在Matlab中編寫了雙卡爾曼濾波法估計(jì)荷電狀態(tài)的程序。本文采用UDDS(urban dynamometer driving schedule)測(cè)試工況中采集到的電流、電壓和荷電狀態(tài)代入程序來(lái)實(shí)現(xiàn)對(duì)電池的SOC估算驗(yàn)證。分別在參數(shù)在線辨識(shí)情況下和EKF初值不準(zhǔn)確兩種情況下對(duì)算法進(jìn)行驗(yàn)證,將實(shí)驗(yàn)平臺(tái)中得到的SOC實(shí)際值和EKF程序估算的SOC仿真值以及安時(shí)積分法得到的SOC計(jì)算值進(jìn)行分析對(duì)比。實(shí)驗(yàn)工況過(guò)程中電流和電壓變化情況如圖6所示。
圖6 UDDS工況下的電壓電流曲線
結(jié)合本實(shí)驗(yàn)用鋰離子電池放電倍率,在國(guó)際通用城市道路循環(huán)UDDS工況下,縮小一定的比例作為本實(shí)驗(yàn)驗(yàn)證的UDDS工況數(shù)據(jù),如圖6所示。UDDS工況下一個(gè)周期放電期間,電流輸出的平均值為1.0276 A,最大值為3.884 A,制動(dòng)過(guò)程中產(chǎn)生的最大電流為2.563 A,平均電流為0.2846 A,歷時(shí)1400 s一個(gè)循環(huán),環(huán)境溫度為25 ℃。
將UDDS實(shí)驗(yàn)工況過(guò)程的電流和電壓變化情況帶入雙卡爾曼算法程序。算法初始參數(shù)為
X(0)=[0 0 0.8]T,P=105e3
Q=10-9,R=0.01
通過(guò)圖7中的SOC仿真結(jié)果可以看到,在UDDS工況下,由于誤差積累效應(yīng)安時(shí)積分法計(jì)算得到的荷電狀態(tài)隨著電池的放電逐漸偏離實(shí)際值,誤差積累越來(lái)越明顯。而雙卡爾曼濾波法能很好追蹤到實(shí)際的SOC值,放電終止時(shí)的SOC誤差僅為0.3%,仿真過(guò)程中最大誤差為0.89%,具有良好的精度。圖7中仿真結(jié)果說(shuō)明了UDDS工況下,雙卡爾曼濾波估算法的效果明顯好于安時(shí)積分法,能夠保證跟蹤的準(zhǔn)確性。
圖7 不同方法SOC估計(jì)值
通過(guò)圖8中的SOC估計(jì)局部仿真結(jié)果可以看到,在UDDS工況下,隨著時(shí)間的進(jìn)行,安時(shí)積分法計(jì)算得到的荷電狀態(tài)由于誤差積累已經(jīng)偏離實(shí)際值,誤差積累越來(lái)越明顯。而雙卡爾曼濾波法前期誤差較大,但明顯小于安時(shí)積分法,并且隨著時(shí)間的進(jìn)行,能很好追蹤到實(shí)際的SOC值,與實(shí)際值的誤差逐漸減小,具有良好的收斂性。圖中仿真結(jié)果說(shuō)明說(shuō)明了UDDS工況下,雙卡爾曼濾波估算法的具有良好的收斂性,能夠保證跟蹤準(zhǔn)確性。
圖8 不同方法SOC估計(jì)值局部放大
如圖9所示,由誤差曲線結(jié)果可以看出基于二階Thevenin模型的雙卡爾曼濾波算法SOC估計(jì)方法的誤差曲線變化趨勢(shì)是一個(gè)逐漸收斂至0的過(guò)程,而通過(guò)安時(shí)積分法得到的誤差曲線逐漸發(fā)散。
圖9 不同方法SOC估計(jì)結(jié)果誤差曲線
結(jié)果表明,在算法初始值準(zhǔn)確的情況下,通過(guò)雙卡爾曼算法估算的SOC值能夠很好的追蹤到實(shí)際SOC值,其最大誤差為0.89%,具有良好的精度和收斂性。
電池工作在實(shí)際工況中,由于異常開(kāi)關(guān)機(jī)或者其它故障會(huì)導(dǎo)致BMS遺失荷電狀態(tài)信息,即在不了解剩余電量的初始狀態(tài)信息的情況下去估算電池系統(tǒng)的SOC值。通過(guò)改變雙卡爾曼算法的初值,探究算法在初值不準(zhǔn)確情況下估算SOC的精度和收斂性。選取剩余電量狀態(tài)為0.8放電至剩余電量為0.2的數(shù)據(jù),將EKF算法初始SOC值設(shè)置為0.5。估算結(jié)果如圖10所示。
圖10 初值不準(zhǔn)時(shí)SOC估計(jì)結(jié)果對(duì)比實(shí)際值
在雙卡爾曼算法估計(jì)的前期,由于模型初始荷電狀態(tài)異常,得到仿真值與實(shí)際值誤差較為明顯,盡管這一階段電池工作在放電狀態(tài),算法的SOC估算值卻處于上升過(guò)程,逐漸追蹤SOC實(shí)際值。中后期階段隨著算法的遞推,估算的SOC值逐漸逼近實(shí)際值,誤差越來(lái)越小。說(shuō)明通過(guò)雙卡爾曼算法估算的SOC值能夠很好追蹤到實(shí)際SOC值,具有良好的可行性和收斂性,圖11是算法估算SOC值與實(shí)際值的誤差曲線。
圖11 初值不準(zhǔn)時(shí)SOC估計(jì)結(jié)果誤差曲線
由雙卡爾曼SOC誤差曲線可以看出誤差變化趨勢(shì)是一個(gè)逐漸收斂的過(guò)程,在假設(shè)算法初值不準(zhǔn)確的情況,設(shè)定了SOC初值30%的誤差,但隨著雙卡爾曼算法的迭代,誤差值逐漸縮小,且始終保持在5%以內(nèi)。并且在后期,算法估計(jì)的SOC值逼近實(shí)際值,最終誤差小于1.2%。
通過(guò)以上仿真結(jié)果結(jié)果可以看出在剩余電量初始狀態(tài)準(zhǔn)確的情況下,采用雙卡爾曼濾波算法估算SOC具有良好的精度和收斂性,估算SOC值逐漸逼近實(shí)際值,誤差逐漸縮小,最后估算誤差保持在1%以內(nèi)。當(dāng)初始狀態(tài)不準(zhǔn)確時(shí),隨著算法的迭代,采用雙卡爾曼濾波算法能通過(guò)自身濾波特性,使估算值跟蹤實(shí)際值的變化,逐漸逼近實(shí)際值,且達(dá)到穩(wěn)定狀態(tài)后誤差在5%左右,最終誤差保持在1.2%以內(nèi)。以上驗(yàn)證了雙卡爾曼濾波算法估算電池SOC的收斂性、精度以及可行性。
通過(guò)對(duì)擴(kuò)展卡爾曼濾波算法的原理進(jìn)行闡述,在二階Thevenin電池等效模型的基礎(chǔ)上獲得離散化的狀態(tài)空間方程,利用泰勒展開(kāi)公式將電池的非線性狀態(tài)方程線性化,結(jié)合改進(jìn)協(xié)同濾波的卡爾曼濾波算法在線辨識(shí)方法,在Matlab環(huán)境下編寫了雙卡爾曼濾波的SOC估算以及驗(yàn)證程序,基于常溫UDDS工況下實(shí)驗(yàn)采集到的電壓、電流和SOC值,在算法初值準(zhǔn)確和算法初值有誤差兩種情況下對(duì)雙卡爾曼濾波算法估算SOC的精度和收斂性進(jìn)行驗(yàn)證。仿真結(jié)果表明,在UDDS工況下,采用DKF算法估算電池SOC具有良好的收斂性和精度,具有較高的應(yīng)用價(jià)值。