葛才安,鄭燕萍,虞 楊
(1.南京林業大學 汽車與交通工程學院, 南京 210037; 2.南京林業大學 機械與電子工程學院, 南京 210037)
電池荷電狀態(state of charge,SOC)反映了電池的剩余容量,精確的SOC估計可以為整車能量管理和動力分配提供依據,還可以調整電池的充放電策略,防止過充過放[1]。由于動力鋰電池的使用環境十分復雜,在其工作過程中只能測得溫度、電壓、電流等有限參數,而且放電電流變化大,使動力鋰電池SOC的實時在線估計變得困難。
在前期研究中,動力鋰電池常用的SOC估計方法有安時積分法、開路電壓法、基于數據驅動的方法和基于模型的方法等[2]。安時積分法依賴準確的SOC初值,且電流存在累積誤差;開路電壓法中的開路電壓(open circuit voltage,OCV)獲取需要長時間靜置,不便于實時估計SOC[3-4];基于數據驅動的方法需要大量試驗數據對模型進行訓練,模型受限于訓練數據;基于模型的方法關鍵是要建立高精度的電池模型。常用的電池性能模型有電化學模型、等效電路模型和神經網絡模型等[5]。電化學模型采用偏微分方程和代數方程組描述電池內部的化學反應,但是偏微分方程的求解十分復雜,即使對模型進行簡化,計算量仍然遠大于等效電路模型[6-7]。神經網絡模型同樣受限于訓練數據,而等效電路模型利用電路元器件組成的電路模擬電池的電壓、電流特性,其結構簡單、計算量小,因此在仿真研究中得到了廣泛應用。
等效電路模型的參數辨識方法分為離線辨識和在線辨識[8]。離線辨識是通過擬合電池脈沖試驗工況下的電壓特性曲線來辨識電池模型參數。例如,馬銳等[9]提出的基于3次樣條插值法的離線辨識方法,獲得了較高的SOC估計精度。但是,離線辨識的電池模型參數不會隨著電池循環次數和溫度等因素的改變而變化,模型精度有欠缺。因此,有學者提出了模型參數在線辨識方法,常見的有遞推最小二乘法(recursive least squares,RLS)、遺忘因子遞推最小二乘法(forgetting factor recursive least squares,FFRLS)和卡爾曼濾波(Kalman filter,KF)算法等。例如,韋莉等[10]采用RLS辨識超級電容模型參數,基于動態容值修正的方法估計超級電容SOC,提高了不同溫度下的SOC估計精度。李振強等[11]采用FFRLS在線辨識二階RC模型參數,聯合擴展卡爾曼濾波(extended Kalman filter,EKF)算法估計電池SOC,解決了RLS占用內存大、容易出現數據飽和的問題。
基于前期的研究成果,本文以三元鋰電池為研究對象,建立三元鋰電池的Thevenin等效電路模型,分別利用FFRLS和EKF算法在線辨識電池模型參數,聯合EKF算法估計電池SOC,并在動態應力測試(dynamic stress test,DST)工況下,比較FFRLS-EKF聯合算法和雙擴展卡爾曼濾波(dual extended Kalman filter,DEKF)聯合算法的電池SOC估計精度。
等效電路模型的精確程度直接影響到電池SOC估計的準確性,能較好地模擬電池特性的等效電路模型,通常具有較為復雜的結構,占用較多的計算資源,不利于工程應用。綜合考慮,本文選用物理意義清晰、參數辨識容易、兼顧準確度和復雜度的Thevenin等效電路模型,如圖1所示[12-13]。

圖1 Thevenin等效電路模型
圖1中,I為電流,本文以放電電流方向為正;Ut為端電壓;Uoc為開路電壓;R0為歐姆內阻;R1為極化內阻;C1為極化電容;U1為極化電壓。
由基爾霍夫電流定律和電壓定律可得Thevenin模型的電氣關系:
(1)
Ut(t)=Uoc(t)-U1(t)-I(t)R0
(2)
三元鋰電池OCV與SOC之間的對應關系對電池SOC估計有著重要的影響。采用多項式對電池OCV-SOC的非線性特征進行擬合,不同階次擬合曲線的均方根誤差(root mean square error,RMSE)如表1所示,當多項式階次低于5次時,擬合曲線不夠精確,當多項式階次高于6次時,擬合曲線精度提升并不明顯且容易產生過擬合現象,所以選用6階多項式擬合三元鋰電池OCV-SOC曲線,擬合曲線如圖2,其表達式如式(3)所示。

表1 不同階次多項式擬合的均方根誤差
(3)

圖2 OCV-SOC擬合曲線
利用FFRLS辨識電池模型參數時,需將Thevenin模型轉化為最小二乘法基本形式。對式(2)進行Laplace變化,得到電池阻抗的傳遞函數:
(4)
式中,τ=R1C1為RC環的時間常數。
采用雙線性變化對式(4)進行離散化處理:
(5)
式中,

(6)
Ts為采樣周期,本文Ts=1 s。
根據式(6),可得k時刻的R0、R1、τ:

(7)
根據開路電壓短時不變的假設[14],式(5)可表示為:
Ut,k=(1-θ1)Uoc,k+θ1Ut,k-1+θ2Ik+θ3Ik-1
(8)
將式(8)轉化為最小二乘基本形式:
(9)
式中:數據矩陣φk=[1,Ut,k-1,Ik,Ik-1];參數矩陣θk=[(1-θ1)Uoc,k,θ1,θ2,θ3],yk為輸出值。
由于RLS會隨著迭代次數的增加,出現數據飽和,為了弱化舊數據對辨識結果的影響,引入遺忘因子λ對數據施加時變加權系數,最新的數據用1加權,之前n個采樣周期的數據用λn加權。取準則函數:
(10)

FFRLS的遞推過程如下:

(11)


非線性離散系統的狀態空間方程為:

(12)
式中:xk+1為狀態變量;yk為輸出變量;f(·)為非線性狀態方程;g(·)為非線性輸出方程;wk為狀態噪聲;vk為觀測噪聲;wk、vk的均值為0,協方差分別為Qk、Rk。


(13)
式中,Ak、Bk、Ck、Dk分別為:

(14)
EKF算法的遞推過程如下:

(15)

以xk=[Uoc,k,R0,k,R1,k,C1,k,I1,k]T為狀態變量,yk=Ut,k為輸出變量,uk=Ik為輸入變量的三元鋰電池非線性離散化狀態空間方程如下:

(16)
式中,I1為流經極化電阻的電流。
線性化后的系統矩陣為:
(17)
式中,

(18)
線性化后的觀測矩陣為:
(19)
利用EKF算法估計電池SOC需要建立關于SOC的離散化狀態空間方程,安時積分法計算電池SOC的表達式為:
(20)
式中,SOC0為SOC初始值;η為庫倫效率,可通過充放電試驗獲得,本文取η=1;CN為電池容量,可通過靜態容量測試獲得。
將式(20)離散化:
SOCk+1=SOCk-ηIkTs/CN
(21)
將式(1)和式(2)離散化:
U1,k+1=U1,ke-Ts/τ+IkR1(1-e-Ts/τ)
(22)
Ut,k=Uoc,k-IkR0-U1,k
(23)
將離散化的電池SOC表達式與式(22)和式(23)結合并進行一階Taylor級數展開線性化,得到離散化狀態空間方程:

(24)
式中:狀態變量xk=[U1,k,SOCk]T;輸出變量yk=Ut,k;輸入變量uk=Ik。
分別利用FFRLS和EKF算法在線辨識電池模型參數,然后利用在線辨識的參數進行電池SOC估計,就形成了模型參數和SOC聯合在線估計方法。
試驗電池選用LG公司生產的三元鋰動力電池,主要技術參數為:額定容量27 Ah,額定電壓3.7 V,充電截至電壓4.2 V,放電截至電壓2.75 V。試驗平臺采用LANBTS(BT-2016E)電池測試儀,采樣周期為1 s,試驗溫度為25 ℃。
在DST工況下,分別利用FFRLS和EKF算法進行電池模型參數辨識,電池初始SOC為1,辨識結果如圖3—5所示。從圖3—5可以看出,FFRLS和EKF算法辨識的電池模型參數整體上相差不大;但是FFRLS辨識的極化內阻R1和時間常數τ在電池放電初期和即將放電結束時出現了比較劇烈的抖動,而EKF算法的辨識結果較為平緩。2種算法在每個采樣時刻辨識模型參數大約需要0.01 s,遠小于本文采樣周期(1 s),實時性很好。

圖3 歐姆內阻R0辨識結果

圖4 極化內阻R1辨識結果

圖5 時間常數τ辨識結果
將辨識結果分別代入式(9)和式(23)得到模型端電壓,圖6為模型端電壓與實測端電壓曲線,圖7為端電壓誤差曲線。從圖6和圖7可以看出,FFRLS和EKF算法的模型端電壓均能較好地跟蹤實測端電壓;FFRLS由于初始值設置導致開始放電時的端電壓誤差較大,但是FFRLS能迅速收斂誤差,除去放電初始時的端電壓誤差,最大端電壓誤差為45.5 mV,平均誤差為0.37 mV;EKF算法的最大端電壓誤差為24.6 mV,平均誤差為3.02 mV。

圖6 模型端電壓與實測端電壓曲線

圖7 端電壓誤差曲線
同樣使用DST工況驗證FFRLS-EKF和DEKF聯合算法的電池SOC估計結果,電池初始SOC為1。圖8為SOC估計結果對比,圖9為SOC絕對誤差,圖8中SOC真實值為試驗獲得。從圖8和圖9可以看出,2種聯合算法均能較好地估計電池SOC, FFRLS-EKF聯合算法的最大誤差和平均絕對誤差分別為2.49%和1.39%,DEKF聯合算法的最大誤差和平均絕對誤差分別為2.62%和1.54%,FFRLS-EKF聯合算法的電池SOC估計精度相比于DEKF聯合算法更高。

圖8 SOC估計結果

圖9 SOC絕對誤差
1) 對比三元鋰電池不同階次OCV-SOC擬合曲線的均方根誤差得出:多項式階次低于5次時,擬合曲線不夠精確;階次高于6次時,擬合曲線精度提升不明顯且容易產生過擬合現象。本文選用了精度較高且不易出現過擬合現象的6階多項式擬合三元鋰電池OCV-SOC曲線并用于聯合算法估計SOC。
2) FFRLS算法中遺忘因子λ值越大,舊數據所占權重越大,系統跟蹤效果越差,但參數辨識結果波動越小。本文經過多次調試后,選取λ=0.995時可避免參數辨識結果出現異常抖動,具有較好的收斂性。
3) 比較FFRLS和EKF算法在線辨識Thevenin模型的結果,2種算法均能較好地跟蹤實測端電壓,FFRLS算法的最大端電壓誤差為45.5 mV,平均誤差為0.37 mV;EKF算法的最大端電壓誤差為24.6 mV,平均誤差為3.02 mV。比較FFRLS-EKF和DEKF聯合算法的三元鋰電池SOC估計結果,在DST工況下,FFRLS-EKF和DEKF聯合算法的最大誤差分別為2.49%和2.62%,FFRLS-EKF聯合算法的估計精度更高。