王雨妍,李翔晟,陳志峰,歐陽立芳,蔣宇陽
(中南林業(yè)科技大學(xué)機(jī)電工程學(xué)院,湖南長沙 410004)
電動汽車的普及,使得電動汽車動力電池性能的重要性逐漸顯現(xiàn),其中電池荷電狀態(tài)(State of Charge,SOC)的估計(jì)是衡量電動汽車電池性能的關(guān)鍵技術(shù)之一。動力電池結(jié)構(gòu)復(fù)雜、反應(yīng)繁多,而且車載工況惡劣、多變,作為隱形狀態(tài)的SOC的精確值很難得到。當(dāng)前國內(nèi)外提出的SOC估計(jì)方法主要有四大類:基于表征參數(shù)的方法、安時積分法、基于模型的方法和基于數(shù)據(jù)驅(qū)動的方法[1]。
其中,基于模型的估計(jì)方法主要是通過對電池實(shí)時參數(shù)的測量,使用等效電路模型的負(fù)載電流和端電壓作為輸入來對電池的SOC進(jìn)行估算。在汽車動力電池SOC估計(jì)中最常用的算法是卡爾曼濾波(Kalman Filter,KF)類算法,該算法主要是將模型的參數(shù)誤差看成噪聲,同時將預(yù)估計(jì)量作為空間狀態(tài)變量,使用遞推法過濾噪聲干擾,得到準(zhǔn)確的空間狀態(tài)值,但該方法僅對線性系統(tǒng)適用。HU C 等[2]、XIONG R 等[3]提出了擴(kuò)展卡爾曼濾波(Extended Kalman Filter,EKF)方法,該方法將非線性函數(shù)按照泰勒級數(shù)展開,取一次項(xiàng)進(jìn)行卡爾曼濾波,其缺點(diǎn)是對具有較強(qiáng)非線性的系統(tǒng)誤差較大。PARTOVIBAKHSH M 等[4]、XIONG R 等[5]利用AEKF 和遞推最小二乘法(Recursive Least Square,RLS)估計(jì)開路電壓(Open Circuit Voltage,OCV),利用實(shí)驗(yàn)建立OCV-SOC 對應(yīng)關(guān)系,進(jìn)而實(shí)現(xiàn)SOC估計(jì),結(jié)果表明,該方法雖然有一定的準(zhǔn)確性和可靠性,但其估算精度會受電池工況或電池老化等因素的影響而降低。馬建等[6]利用基于遺忘因子的遞推最小二乘法(Recursive Least Square Method of Forgetting Factor,F(xiàn)FRLS)進(jìn)行等效電池模型參數(shù)識別,采用容積卡爾曼濾波對動力電池進(jìn)行SOC估計(jì),結(jié)果表明,該方法雖然有較好的估計(jì)精度,但對噪聲較敏感。
為了提高鋰離子電池荷電狀態(tài)的估計(jì)精度,本文選用二階電阻-電容(R-C)模型來模擬電池運(yùn)行情況,將帶有可變遺忘因子的遞推最小二乘法(VFFRLS)與開窗理論相結(jié)合,對模型進(jìn)行參數(shù)辨識,采用自適應(yīng)擴(kuò)展卡爾曼濾波(AEKF)算法及H∞濾波算法對鋰離子電池的SOC分別進(jìn)行估計(jì),根據(jù)估計(jì)精度,將兩種濾波算法相結(jié)合。結(jié)合粒子濾波權(quán)重分配計(jì)算的思想,根據(jù)歷史信息及當(dāng)前的新息,根據(jù)重要性選擇合適的權(quán)值進(jìn)行分配,充分利用每個時刻的新息,以此提高電池SOC估計(jì)的準(zhǔn)確性。
電池SOC反映電池的剩余容量。SOC的標(biāo)準(zhǔn)預(yù)測方法是安時測量法,即通過計(jì)算一段時間內(nèi)電池負(fù)載電流,再由初始電池SOC計(jì)算得到當(dāng)前時刻SOC的一種方法。放電時SOC計(jì)算公式如下:
式中:ic為放電電流;QN為電池額定容量。
將式(1)表示成離散的形式:
式中:SOC(k)為第k個采樣點(diǎn)的電池SOC;Δt為采樣點(diǎn)k與k+1的時間間隔。
電動汽車在行駛過程中,電池內(nèi)部時刻發(fā)生動態(tài)變化,因此精確的電池模型是描述鋰離子電池動態(tài)特性的基礎(chǔ)。由于電池本身為非線性系統(tǒng),利用戴維南模型雖然可以建立表征電池充放電特性的電路模型,但是不能完全等效。因此,綜合考慮模型誤差和計(jì)算復(fù)雜度,本文在戴維南模型等效電路的基礎(chǔ)上再添加1 個電阻-電容(R-C)回路,將電池模型表示為由1 個歐姆內(nèi)阻與2 個R-C 回路組成的二階R-C 回路結(jié)構(gòu)[7]。該二階模型與戴維南模型相比,具有更高的動態(tài)性能,可以分開等效電池極化問題中的電化學(xué)極化和濃差極化現(xiàn)象,精度更高[6,8],原理如圖1 所示。
圖1 二階R-C 等效電路模型
圖1 中:Uoc為電池的開路電壓;U(t)為電池的端電壓;I(t)為電池充放電電流;R0為電池內(nèi)阻,R1和R2為極化內(nèi)阻;C1和C2為極化電容。U(t)和I(t)是可以通過傳感器直接測量得到的觀測量,該電路模型參數(shù)的具體關(guān)系為:
式中:U1和U2分別為2 個R-C 回路的電壓。具體狀態(tài)方程和測量方程獲取可參見文獻(xiàn)[7]。
在二階RC 等效模型中,開路電壓能很好地跟蹤鋰離子電池的荷電狀態(tài),通過OCV-SOC 曲線可以得到荷電狀態(tài)與開路電壓之間的關(guān)系。該關(guān)系可通過充放電實(shí)驗(yàn)獲得。具體步驟為:
(1)保持25 ℃的環(huán)境溫度,使電池以0.2C的電流脈沖連續(xù)放電或者充電;
(2)每當(dāng)充入或放出10%的SOC時,靜置10 min;
(3)循環(huán)過程(2),直至電壓達(dá)到充放電截止電壓;
(4)取充電靜置時間段和放電靜置時間段的端電壓,根據(jù)這些時刻的SOC確定數(shù)值。
為了使多項(xiàng)式擬合更加準(zhǔn)確,利用Matlab 中的cftool曲線擬合工具箱對數(shù)據(jù)進(jìn)行多項(xiàng)式擬合。為保證OCV-SOC 曲線擬合精度,避免因?yàn)榍€計(jì)算誤差導(dǎo)致SOC預(yù)測精度的降低,參考圖2可知,該曲線的多項(xiàng)式擬合階次選為8次較為合適。
圖2 OCV-SOC 多項(xiàng)式擬合曲線
鋰離子電池等效模型的參數(shù)辨識主要包括以下幾個部分:開路電壓Uoc,歐姆內(nèi)阻R0,極化內(nèi)阻R1、R2和極化電容C1、C2。辨識的步驟分為,將鋰離子電池SOC從100%到0%均分為10 等份,對鋰電池進(jìn)行混合脈沖功率性能(Hybrid Pulse Power Characterization,HPPC)實(shí)驗(yàn),獲得鋰電池的電壓、電流變化曲線,HPPC 曲線如圖3 所示。將其中一次循環(huán)曲線圖放大,如圖4 所示。
圖3 HPPC 循環(huán)工況實(shí)驗(yàn)電壓、電流曲線
圖4 HPPC循環(huán)工況局部電流、電壓放大圖
得到OCV-SOC 關(guān)系后,采用遞推最小二乘法(RLS)對所建立的電池等效模型進(jìn)行參數(shù)辨識。由圖4(a)和(b)可知,歐姆電阻R0可由本次放電實(shí)驗(yàn)階段和相鄰上一次脈沖放電實(shí)驗(yàn)階段的歐姆內(nèi)阻計(jì)算結(jié)果的平均值得到。
在電池工作時,其內(nèi)部的化學(xué)反應(yīng)非常劇烈,并且受充放電倍率、溫度等因素的影響,因此為了提高RLS 算法的自適應(yīng)性,本文采用帶可變遺忘因子的遞推最小二乘法(VFFRLS)實(shí)現(xiàn)參數(shù)在線辨識。VFFRLS 算法是在RLS 算法的基礎(chǔ)上,根據(jù)參數(shù)辨識過程中的估計(jì)誤差ek的大小,自適應(yīng)尋找遺忘因子最優(yōu)值的改進(jìn)算法[9]。
可變遺忘因子的數(shù)值會隨著當(dāng)前算法的估計(jì)誤差以指數(shù)形式自適應(yīng)地發(fā)生變化,為解決這一問題,利用數(shù)據(jù)開窗理論,遺忘因子的值由當(dāng)前時刻采樣點(diǎn)個數(shù)的估計(jì)誤差均方值決定,從而提高算法的穩(wěn)定性。另外,為避免由于估計(jì)誤差的數(shù)值很小或者為0 導(dǎo)致遺忘因子的數(shù)值等于其最大值1這一情況,可在公式中使用某一小于1 的常數(shù)λmax替代。
利用這種可變遺忘因子方法,可以將遺忘因子的數(shù)值控制為一段時間內(nèi)估計(jì)誤差的均方值大小,并以指數(shù)形式在最大值和最小值之間自動尋找最優(yōu)值。
在VFFRLS 中,只要將模型參數(shù)和系統(tǒng)輸入量帶入系統(tǒng)方程能夠滿足電池模型的數(shù)學(xué)表達(dá)式,歐姆內(nèi)阻R0、極化內(nèi)阻R1和R2、極化電容C1和C2這幾個參數(shù)就可以通過反解得到。具體辨識步驟如圖5 所示。
圖5 參數(shù)辨識結(jié)構(gòu)圖
由于電池是動態(tài)系統(tǒng),在參數(shù)控制方面較為復(fù)雜,在推導(dǎo)相應(yīng)連續(xù)時間函數(shù)上存在一定困難,此外,在實(shí)際實(shí)驗(yàn)時,所有的外部參數(shù)均需要通過傳感器采集,需要一定的采樣周期,綜上所述,離散的時間系統(tǒng)更加符合需求。
在離散系統(tǒng)中,可以將每個采樣周期對應(yīng)一個狀態(tài),而狀態(tài)的變化可以理解為當(dāng)前狀態(tài)和下一狀態(tài)之間的對應(yīng)關(guān)系,具體表達(dá)為:
因?yàn)樵趯?shí)際的電池模型中必須考慮噪聲的影響,因此需要引入噪聲的概念,在式(4)和式(5)中,ωk和vk是互不相關(guān)的高斯白噪聲,在狀態(tài)方程中的噪聲一般為電流測量噪聲,在輸出方程中的噪聲為電壓測量噪聲。
根據(jù)電池等效電路模型,系統(tǒng)的三個狀態(tài)變量分別是SOC和電容上的兩個端電壓,輸入為電流,系統(tǒng)的觀測變量為電池端電壓,可得模型的狀態(tài)和觀測方程:
式中:ωk和vk為互不相關(guān)的高斯白噪聲;η為庫侖效率;T為采樣周期;τ1和τ2為模型并聯(lián)電路的時間常數(shù),其中τ1=R1C1,τ2=R2C2;It(k)為k時刻的輸入電流;e為常數(shù)。
AEKF 算法采用自適應(yīng)協(xié)方差匹配算法來對噪聲的協(xié)方差矩陣進(jìn)行自適應(yīng)更新,具體流程如圖6 所示。
圖6 AEKF算法結(jié)構(gòu)圖
與卡爾曼濾波不同,H∞算法能夠處理存在建模誤差的系統(tǒng),同時允許在不確定的噪聲環(huán)境下進(jìn)行參數(shù)控制。
針對離散狀態(tài)空間方程,H∞濾波首先需要定義估計(jì)矩陣Lk在系統(tǒng)xk中真正想要估計(jì)的對象zk,即:
H∞定義如下所示的代價函數(shù)J。在N-1 時刻,在判斷估計(jì)對象的精度時,令代價函數(shù)J滿足:
式中:x0和分別為初始狀態(tài)量和初始狀態(tài)量的設(shè)定值;P0為協(xié)方差矩陣的初始誤差;Qk為狀態(tài)噪聲的協(xié)方差矩陣;Rk為測量噪聲的協(xié)方差。
H∞濾波的目的是使分母最小化。由于直接最小化代價函數(shù)J比較困難,因此需要設(shè)置一個合適的邊界條件θ使之滿足:
將式(9)帶入式(10)得:
設(shè)計(jì)一種能夠兼具AEKF 算法和H∞濾波算法優(yōu)點(diǎn)的方法,即AEKF 和H∞聯(lián)合估計(jì)算法。為了實(shí)現(xiàn)聯(lián)合估計(jì)算法,對兩種算法進(jìn)行權(quán)值分配。
權(quán)值的分配計(jì)算是該算法的重要組成部分。不同時刻的新息權(quán)值會直接影響SOC估計(jì)的準(zhǔn)確性。參考粒子濾波算法的權(quán)值計(jì)算可以發(fā)現(xiàn),最接近觀測值的粒子權(quán)值較高,而距離最近觀測值較遠(yuǎn)的權(quán)值較低。因此可以將新息作為粒子來考慮,并且采用高斯函數(shù)計(jì)算每個新息的權(quán)值[10]。權(quán)重α(k-j+1)的計(jì)算方程如下:
式中:j=1,2,…,p;M(k-j+1)為M(p,k)中j時刻的新息;α(k-j+1)為j時刻新息的權(quán)重;σ2為噪聲方差。
為得到每個新息的權(quán)重,標(biāo)準(zhǔn)化j時刻新息的權(quán)重值α(k-j+1):
假設(shè)所有新息的權(quán)重之和為新息的長度p,則新息權(quán)重可以寫為:
聯(lián)合算法流程如圖7 所示。
圖7 聯(lián)合估計(jì)算法結(jié)構(gòu)圖
綜上所述,算法輸入為采樣周期內(nèi)任意時刻的負(fù)載電流和端電壓,OCV-SOC 關(guān)系,電池模型參數(shù);算法輸出為對應(yīng)k時刻的SOC估計(jì)值?;贏EKF 和H∞算法聯(lián)合估計(jì)算法的偽代碼歸納如下:
(1)初始化各項(xiàng)參數(shù);
(2)k=1 判斷循環(huán)首(k<循環(huán)次數(shù));
(3)分別更新k-1 時刻的預(yù)測狀態(tài)矩陣X、預(yù)測協(xié)方差矩陣P、增益矩陣H;
(4)標(biāo)準(zhǔn)化各項(xiàng)參數(shù);
(5)計(jì)算得到k時刻的權(quán)重分配以及加權(quán)新息向量;
(6)將系統(tǒng)時間向后推至k+1,進(jìn)行下一時刻的參數(shù)辨識和SOC估計(jì)。
為了驗(yàn)證本文提出的AEKF 和H∞濾波聯(lián)合估計(jì)SOC值的算法性能,在動態(tài)壓力測試(Dynamic Stress Test,DST)工況下,將安時積分法估計(jì)的SOC值作為參考值,分別采用VFFRLS 在線辨識參數(shù)的AEKF 算法、H∞濾波算法及聯(lián)合估計(jì)算法,對鋰離子電池SOC進(jìn)行估計(jì),并對估計(jì)結(jié)果進(jìn)行分析比較。
DST 循環(huán)工況實(shí)驗(yàn)根據(jù)北京理工大學(xué)提出的電動汽車動力電池動態(tài)測試工況指定,可以測試動力電池的動態(tài)性能和評價動力電池在對應(yīng)工況下的適應(yīng)性。DST 循環(huán)工況實(shí)驗(yàn)的一個循環(huán)由一系列充放電脈沖組成,具體分為四個階段:首先將電池靜置一段時間,前三個階段均以7.5 A 的電流進(jìn)行恒流放電,緊接著改變放電電流大小,以15 A 大小的電流對電池恒流放電,再以7.5 A 的電流進(jìn)行恒流恒壓充電;第四階段,首先將電池靜置到穩(wěn)定狀態(tài),以7.5 A 恒流放電,再以30 A 恒流放電,接著以18 A 恒流放電,改變電池充放電狀態(tài),以15 A 恒流恒壓充電,再以15 A 恒流放電,最后以30 A恒流恒壓充電,單次循環(huán)結(jié)束。整個動態(tài)測試實(shí)驗(yàn)共循環(huán)50次。DST 循環(huán)工況電壓、電流曲線如圖8 所示。SOC仿真結(jié)果如圖9 所示。
圖8 DST循環(huán)工況電壓、電流曲線
圖9 DST循環(huán)工況下SOC估計(jì)曲線
由圖9 可以看出,在DST 工況下,3 種不同算法的估計(jì)值都能較好地跟隨真實(shí)值,其估計(jì)誤差如圖10 所示。具體狀態(tài)誤差的指標(biāo)對比情況如表1 所示。
圖10 DST循環(huán)工況下SOC估計(jì)誤差
表1 DST 工況下3 種算法的估計(jì)結(jié)果對比 %
由圖10 可知,三種算法的魯棒性都較好,H∞算法的初始誤差較大,但能夠在100 次迭代以內(nèi)將誤差收斂到5%以下,并且在放電的中末期與實(shí)際值擬合程度極高,誤差在0.5%附近。改進(jìn)后AEKF 算法在放電初期和后期的誤差都較小,只是中期的誤差較高,在3%附近。AEKF 和H∞聯(lián)合估計(jì)算法的誤差比H∞濾波算法及AEKF 算法的估計(jì)誤差小,最大絕對誤差為0.12%,平均絕對誤差為1.9%,均方根誤差為0.01%,精度比單獨(dú)使用AEKF 和H∞濾波更高。滿足GBT 38661-2020《電動汽車用電池管理系統(tǒng)技術(shù)條件》5.5 要求的SOC預(yù)測誤差≤5%的考核標(biāo)準(zhǔn),說明算法對SOC的預(yù)測效果良好。
本文采用帶可變遺忘因子的遞推最小二乘法(VFFRLS)與開窗理論相結(jié)合的方法,對鋰離子電池二階R-C 等效電路模型進(jìn)行參數(shù)辨識,并結(jié)合粒子濾波的權(quán)重分配思想,通過歷史信息調(diào)用,根據(jù)不同時間新息點(diǎn)的重要性分配不同的權(quán)重,將AEKF 和H∞濾波結(jié)合,采用兩種濾波聯(lián)合的算法來對鋰離子電池的SOC進(jìn)行估計(jì)。對二階R-C 等效電路模型進(jìn)行參數(shù)辨識選擇VFF-RLS 及開窗理論相結(jié)合,既減小了估計(jì)誤差,又使電路模型具有較好的動態(tài)適應(yīng)性。使用AEKF 算法、H∞濾波算法及聯(lián)合估計(jì)算法分別對電池的SOC進(jìn)行估計(jì),將模型的輸出結(jié)果與實(shí)際參考值進(jìn)行對比,得出在DST 工況下,AEKF及H∞濾波聯(lián)合估計(jì)的算法具有精度更高的結(jié)論。