王雨妍,李翔晟,陳志峰,歐陽立芳,蔣宇陽
(中南林業科技大學機電工程學院,湖南長沙 410004)
電動汽車的普及,使得電動汽車動力電池性能的重要性逐漸顯現,其中電池荷電狀態(State of Charge,SOC)的估計是衡量電動汽車電池性能的關鍵技術之一。動力電池結構復雜、反應繁多,而且車載工況惡劣、多變,作為隱形狀態的SOC的精確值很難得到。當前國內外提出的SOC估計方法主要有四大類:基于表征參數的方法、安時積分法、基于模型的方法和基于數據驅動的方法[1]。
其中,基于模型的估計方法主要是通過對電池實時參數的測量,使用等效電路模型的負載電流和端電壓作為輸入來對電池的SOC進行估算。在汽車動力電池SOC估計中最常用的算法是卡爾曼濾波(Kalman Filter,KF)類算法,該算法主要是將模型的參數誤差看成噪聲,同時將預估計量作為空間狀態變量,使用遞推法過濾噪聲干擾,得到準確的空間狀態值,但該方法僅對線性系統適用。HU C 等[2]、XIONG R 等[3]提出了擴展卡爾曼濾波(Extended Kalman Filter,EKF)方法,該方法將非線性函數按照泰勒級數展開,取一次項進行卡爾曼濾波,其缺點是對具有較強非線性的系統誤差較大。PARTOVIBAKHSH M 等[4]、XIONG R 等[5]利用AEKF 和遞推最小二乘法(Recursive Least Square,RLS)估計開路電壓(Open Circuit Voltage,OCV),利用實驗建立OCV-SOC 對應關系,進而實現SOC估計,結果表明,該方法雖然有一定的準確性和可靠性,但其估算精度會受電池工況或電池老化等因素的影響而降低。馬建等[6]利用基于遺忘因子的遞推最小二乘法(Recursive Least Square Method of Forgetting Factor,FFRLS)進行等效電池模型參數識別,采用容積卡爾曼濾波對動力電池進行SOC估計,結果表明,該方法雖然有較好的估計精度,但對噪聲較敏感。
為了提高鋰離子電池荷電狀態的估計精度,本文選用二階電阻-電容(R-C)模型來模擬電池運行情況,將帶有可變遺忘因子的遞推最小二乘法(VFFRLS)與開窗理論相結合,對模型進行參數辨識,采用自適應擴展卡爾曼濾波(AEKF)算法及H∞濾波算法對鋰離子電池的SOC分別進行估計,根據估計精度,將兩種濾波算法相結合。結合粒子濾波權重分配計算的思想,根據歷史信息及當前的新息,根據重要性選擇合適的權值進行分配,充分利用每個時刻的新息,以此提高電池SOC估計的準確性。
電池SOC反映電池的剩余容量。SOC的標準預測方法是安時測量法,即通過計算一段時間內電池負載電流,再由初始電池SOC計算得到當前時刻SOC的一種方法。放電時SOC計算公式如下:

式中:ic為放電電流;QN為電池額定容量。
將式(1)表示成離散的形式:

式中:SOC(k)為第k個采樣點的電池SOC;Δt為采樣點k與k+1的時間間隔。
電動汽車在行駛過程中,電池內部時刻發生動態變化,因此精確的電池模型是描述鋰離子電池動態特性的基礎。由于電池本身為非線性系統,利用戴維南模型雖然可以建立表征電池充放電特性的電路模型,但是不能完全等效。因此,綜合考慮模型誤差和計算復雜度,本文在戴維南模型等效電路的基礎上再添加1 個電阻-電容(R-C)回路,將電池模型表示為由1 個歐姆內阻與2 個R-C 回路組成的二階R-C 回路結構[7]。該二階模型與戴維南模型相比,具有更高的動態性能,可以分開等效電池極化問題中的電化學極化和濃差極化現象,精度更高[6,8],原理如圖1 所示。

圖1 二階R-C 等效電路模型
圖1 中:Uoc為電池的開路電壓;U(t)為電池的端電壓;I(t)為電池充放電電流;R0為電池內阻,R1和R2為極化內阻;C1和C2為極化電容。U(t)和I(t)是可以通過傳感器直接測量得到的觀測量,該電路模型參數的具體關系為:

式中:U1和U2分別為2 個R-C 回路的電壓。具體狀態方程和測量方程獲取可參見文獻[7]。
在二階RC 等效模型中,開路電壓能很好地跟蹤鋰離子電池的荷電狀態,通過OCV-SOC 曲線可以得到荷電狀態與開路電壓之間的關系。該關系可通過充放電實驗獲得。具體步驟為:
(1)保持25 ℃的環境溫度,使電池以0.2C的電流脈沖連續放電或者充電;
(2)每當充入或放出10%的SOC時,靜置10 min;
(3)循環過程(2),直至電壓達到充放電截止電壓;
(4)取充電靜置時間段和放電靜置時間段的端電壓,根據這些時刻的SOC確定數值。
為了使多項式擬合更加準確,利用Matlab 中的cftool曲線擬合工具箱對數據進行多項式擬合。為保證OCV-SOC 曲線擬合精度,避免因為曲線計算誤差導致SOC預測精度的降低,參考圖2可知,該曲線的多項式擬合階次選為8次較為合適。

圖2 OCV-SOC 多項式擬合曲線
鋰離子電池等效模型的參數辨識主要包括以下幾個部分:開路電壓Uoc,歐姆內阻R0,極化內阻R1、R2和極化電容C1、C2。辨識的步驟分為,將鋰離子電池SOC從100%到0%均分為10 等份,對鋰電池進行混合脈沖功率性能(Hybrid Pulse Power Characterization,HPPC)實驗,獲得鋰電池的電壓、電流變化曲線,HPPC 曲線如圖3 所示。將其中一次循環曲線圖放大,如圖4 所示。

圖3 HPPC 循環工況實驗電壓、電流曲線

圖4 HPPC循環工況局部電流、電壓放大圖
得到OCV-SOC 關系后,采用遞推最小二乘法(RLS)對所建立的電池等效模型進行參數辨識。由圖4(a)和(b)可知,歐姆電阻R0可由本次放電實驗階段和相鄰上一次脈沖放電實驗階段的歐姆內阻計算結果的平均值得到。
在電池工作時,其內部的化學反應非常劇烈,并且受充放電倍率、溫度等因素的影響,因此為了提高RLS 算法的自適應性,本文采用帶可變遺忘因子的遞推最小二乘法(VFFRLS)實現參數在線辨識。VFFRLS 算法是在RLS 算法的基礎上,根據參數辨識過程中的估計誤差ek的大小,自適應尋找遺忘因子最優值的改進算法[9]。
可變遺忘因子的數值會隨著當前算法的估計誤差以指數形式自適應地發生變化,為解決這一問題,利用數據開窗理論,遺忘因子的值由當前時刻采樣點個數的估計誤差均方值決定,從而提高算法的穩定性。另外,為避免由于估計誤差的數值很小或者為0 導致遺忘因子的數值等于其最大值1這一情況,可在公式中使用某一小于1 的常數λmax替代。
利用這種可變遺忘因子方法,可以將遺忘因子的數值控制為一段時間內估計誤差的均方值大小,并以指數形式在最大值和最小值之間自動尋找最優值。
在VFFRLS 中,只要將模型參數和系統輸入量帶入系統方程能夠滿足電池模型的數學表達式,歐姆內阻R0、極化內阻R1和R2、極化電容C1和C2這幾個參數就可以通過反解得到。具體辨識步驟如圖5 所示。

圖5 參數辨識結構圖
由于電池是動態系統,在參數控制方面較為復雜,在推導相應連續時間函數上存在一定困難,此外,在實際實驗時,所有的外部參數均需要通過傳感器采集,需要一定的采樣周期,綜上所述,離散的時間系統更加符合需求。
在離散系統中,可以將每個采樣周期對應一個狀態,而狀態的變化可以理解為當前狀態和下一狀態之間的對應關系,具體表達為:

因為在實際的電池模型中必須考慮噪聲的影響,因此需要引入噪聲的概念,在式(4)和式(5)中,ωk和vk是互不相關的高斯白噪聲,在狀態方程中的噪聲一般為電流測量噪聲,在輸出方程中的噪聲為電壓測量噪聲。
根據電池等效電路模型,系統的三個狀態變量分別是SOC和電容上的兩個端電壓,輸入為電流,系統的觀測變量為電池端電壓,可得模型的狀態和觀測方程:

式中:ωk和vk為互不相關的高斯白噪聲;η為庫侖效率;T為采樣周期;τ1和τ2為模型并聯電路的時間常數,其中τ1=R1C1,τ2=R2C2;It(k)為k時刻的輸入電流;e為常數。
AEKF 算法采用自適應協方差匹配算法來對噪聲的協方差矩陣進行自適應更新,具體流程如圖6 所示。

圖6 AEKF算法結構圖
與卡爾曼濾波不同,H∞算法能夠處理存在建模誤差的系統,同時允許在不確定的噪聲環境下進行參數控制。
針對離散狀態空間方程,H∞濾波首先需要定義估計矩陣Lk在系統xk中真正想要估計的對象zk,即:

H∞定義如下所示的代價函數J。在N-1 時刻,在判斷估計對象的精度時,令代價函數J滿足:

式中:x0和分別為初始狀態量和初始狀態量的設定值;P0為協方差矩陣的初始誤差;Qk為狀態噪聲的協方差矩陣;Rk為測量噪聲的協方差。
H∞濾波的目的是使分母最小化。由于直接最小化代價函數J比較困難,因此需要設置一個合適的邊界條件θ使之滿足:

將式(9)帶入式(10)得:

設計一種能夠兼具AEKF 算法和H∞濾波算法優點的方法,即AEKF 和H∞聯合估計算法。為了實現聯合估計算法,對兩種算法進行權值分配。
權值的分配計算是該算法的重要組成部分。不同時刻的新息權值會直接影響SOC估計的準確性。參考粒子濾波算法的權值計算可以發現,最接近觀測值的粒子權值較高,而距離最近觀測值較遠的權值較低。因此可以將新息作為粒子來考慮,并且采用高斯函數計算每個新息的權值[10]。權重α(k-j+1)的計算方程如下:

式中:j=1,2,…,p;M(k-j+1)為M(p,k)中j時刻的新息;α(k-j+1)為j時刻新息的權重;σ2為噪聲方差。
為得到每個新息的權重,標準化j時刻新息的權重值α(k-j+1):

假設所有新息的權重之和為新息的長度p,則新息權重可以寫為:

聯合算法流程如圖7 所示。

圖7 聯合估計算法結構圖
綜上所述,算法輸入為采樣周期內任意時刻的負載電流和端電壓,OCV-SOC 關系,電池模型參數;算法輸出為對應k時刻的SOC估計值。基于AEKF 和H∞算法聯合估計算法的偽代碼歸納如下:
(1)初始化各項參數;
(2)k=1 判斷循環首(k<循環次數);
(3)分別更新k-1 時刻的預測狀態矩陣X、預測協方差矩陣P、增益矩陣H;
(4)標準化各項參數;
(5)計算得到k時刻的權重分配以及加權新息向量;
(6)將系統時間向后推至k+1,進行下一時刻的參數辨識和SOC估計。
為了驗證本文提出的AEKF 和H∞濾波聯合估計SOC值的算法性能,在動態壓力測試(Dynamic Stress Test,DST)工況下,將安時積分法估計的SOC值作為參考值,分別采用VFFRLS 在線辨識參數的AEKF 算法、H∞濾波算法及聯合估計算法,對鋰離子電池SOC進行估計,并對估計結果進行分析比較。
DST 循環工況實驗根據北京理工大學提出的電動汽車動力電池動態測試工況指定,可以測試動力電池的動態性能和評價動力電池在對應工況下的適應性。DST 循環工況實驗的一個循環由一系列充放電脈沖組成,具體分為四個階段:首先將電池靜置一段時間,前三個階段均以7.5 A 的電流進行恒流放電,緊接著改變放電電流大小,以15 A 大小的電流對電池恒流放電,再以7.5 A 的電流進行恒流恒壓充電;第四階段,首先將電池靜置到穩定狀態,以7.5 A 恒流放電,再以30 A 恒流放電,接著以18 A 恒流放電,改變電池充放電狀態,以15 A 恒流恒壓充電,再以15 A 恒流放電,最后以30 A恒流恒壓充電,單次循環結束。整個動態測試實驗共循環50次。DST 循環工況電壓、電流曲線如圖8 所示。SOC仿真結果如圖9 所示。

圖8 DST循環工況電壓、電流曲線

圖9 DST循環工況下SOC估計曲線
由圖9 可以看出,在DST 工況下,3 種不同算法的估計值都能較好地跟隨真實值,其估計誤差如圖10 所示。具體狀態誤差的指標對比情況如表1 所示。

圖10 DST循環工況下SOC估計誤差

表1 DST 工況下3 種算法的估計結果對比 %
由圖10 可知,三種算法的魯棒性都較好,H∞算法的初始誤差較大,但能夠在100 次迭代以內將誤差收斂到5%以下,并且在放電的中末期與實際值擬合程度極高,誤差在0.5%附近。改進后AEKF 算法在放電初期和后期的誤差都較小,只是中期的誤差較高,在3%附近。AEKF 和H∞聯合估計算法的誤差比H∞濾波算法及AEKF 算法的估計誤差小,最大絕對誤差為0.12%,平均絕對誤差為1.9%,均方根誤差為0.01%,精度比單獨使用AEKF 和H∞濾波更高。滿足GBT 38661-2020《電動汽車用電池管理系統技術條件》5.5 要求的SOC預測誤差≤5%的考核標準,說明算法對SOC的預測效果良好。
本文采用帶可變遺忘因子的遞推最小二乘法(VFFRLS)與開窗理論相結合的方法,對鋰離子電池二階R-C 等效電路模型進行參數辨識,并結合粒子濾波的權重分配思想,通過歷史信息調用,根據不同時間新息點的重要性分配不同的權重,將AEKF 和H∞濾波結合,采用兩種濾波聯合的算法來對鋰離子電池的SOC進行估計。對二階R-C 等效電路模型進行參數辨識選擇VFF-RLS 及開窗理論相結合,既減小了估計誤差,又使電路模型具有較好的動態適應性。使用AEKF 算法、H∞濾波算法及聯合估計算法分別對電池的SOC進行估計,將模型的輸出結果與實際參考值進行對比,得出在DST 工況下,AEKF及H∞濾波聯合估計的算法具有精度更高的結論。