羅雪松,朱茂桃
(江蘇大學 汽車與交通工程學院, 江蘇 鎮江 212013)
隨著人們對環境惡化和能源短缺的日益關注,電動汽車(EV)已被確定為一種新的交通工具。而鋰離子電池作為電動汽車的核心部件,又是可再生能源,能夠很好地幫助解決環境以及能源帶來的問題[1-2]。合理的電池管理系統是電動汽車能夠被廣大消費者接受的基礎[3]。而準確估計電池SOC是電池管理系統行之有效的關鍵之一。由于電動汽車在行駛途中模型參數的時變性以及狀態變量的不確定性,增加了電池管理系統準確估計SOC的難度[4]。想要很好地解決上述問題,首先得建立精確的電池模型[5]。
對于電池模型的參數辨識,常用的方法有遺傳算法(GA)[6]、粒子群優化(PSO)[7]、最小二乘法(LS)[8]和卡爾曼濾波算法(KF)[9-10]。KF算法應用廣泛,不僅可以實現電池模型的參數辨識,而且可以用于在線SOC估計[11-13]。
本文在分析鋰離子電池模塊極化特性的基礎上,采用了一種改進的Thevenin電池模型,并用遺傳算法優化卡爾曼濾波(KF)算法對其參數進行了辨識,在得到較高精度模型的基礎上進行SOC估計,進一步驗證所提算法的有效性。
目前常見的等效電路模型中Thevenin模型[14]是運用最為廣泛的1種模型,為了提高模型精度,特別考慮了鋰離子電池的極化特性,通過增加1個RC環節來改進模型,如圖1所示。

圖1 鋰離子電池二階RC模型
二階RC模型包括開路電壓、內阻和等效電容3部分。用電化學極化電容和濃度差極化電容來描述充放電過渡過程的瞬態響應。iL和UL分別是充放電電流和終端電壓。電路的狀態方程可以表示為:
(1)
式中:η為放電效率;Q為電池容量;Upa、Upc分別為電化學極化電容壓降和濃度差極化壓降。
觀測方程:
UL=UOC-Upa-Upc-iLR0
(2)
依據文獻[15],開路電壓與SOC的關系可以描述為:
OCV=a1+a2/SOC+a3SOC+
a4lnSOC+a5ln(1-SOC)
(3)
式中:a1~a5為待辨識的參數。
卡爾曼濾波器就是一種數字濾波的方法,即通過一步預測、一步校正的循環往復的迭代得到最優值[16-17]。經典的KF算法介紹如下:
系統的狀態方程和量測方程如式(4)所示:

(4)
式中:k為變量在第k個采樣時刻的值;x為系統狀態變量;u為系統輸入觀測量;y為系統輸出觀測量;w為系統激勵噪聲序列;v為系統量測噪聲序列;A為狀態轉移矩陣;B為系統輸入控制矩陣;C為系統的輸出矩陣;D為系統的前饋矩陣。
KF算法基本流程如圖2所示。

圖2 KF算法基本流程框圖
當采樣周期為T時,式(2)可以改寫為:
Uoc,k-UL,k=p1[UL,k-1-UL,k]+
p2[UL,k-2-UL,k-1]+
p3iL,k+p4iL,k-1+p5iL,k-2
(5)
各個參數的關系如下式所示:
(6)
假設xk=[p1,k2,kp3,kp4,kp5,k]T,
對式(5)采用卡爾曼濾波算法進行辨識,等效電路參數的狀態方程可以表示為:
(7)
式中:wk為隨機噪聲;vk為觀測噪聲。
通過觀察卡爾曼濾波算法的遞推迭代方程可知,系統狀態變量更新值是由狀態預測值加上卡爾曼增益與模型誤差值的乘積。由此可見,卡爾曼增益對于系統狀態變量更新值至關重要。而實際上卡爾曼增益是一種信噪比的概念,通過誤差矩陣初始值、系統噪聲和觀測噪聲協方差矩陣就可以隨迭代過程更新。由于噪聲協方差矩陣不會隨著算法的迭代而更新,而是通過外界隨機給出的,因此,獲得準確的噪聲矩陣值對于得到卡爾曼增益來說很重要,也決定了KF算法得到狀態向量輸出值的精確性。因此,采用遺傳算法(GA)得到噪聲協方差矩陣的最優解。
遺傳算法(GA)通過類比達爾文發現的自然界適者生存的原則,在解空間范圍內選擇出最優的個體,被廣泛應用于系統優化、自適應控制、模式識別以及參數識別中[18]。
基于遺傳算法即可隨機對代表濾波參數的數字串進行全局尋優[19],達到獲得最優系統噪聲矩陣和觀測噪聲矩陣的目的。
確定待優化的量為誤差協方差矩陣,將其中的參數組合構成矢量,如式(8)所示,繼而進行遺傳算法,搜索尋找最優解。
ε=(q1,q2,q3,q4,q5,r)T
(8)
將ε中的6個元素分別進行二進制編碼,將得到的二進制數組合在一起合成一條染色體,為一個個體εb。通過隨機產生一定數目的個體組成種群,該種群是由N個二進制編碼串組成的向量,如式(9)所示:
(9)
該向量構成初始群體,作為遺傳算法優勝劣汰開始的第一代。上標的(0)代表第0代,上標有^的參數表示辨識值。每代的每個個體中元素的辨識值都應該滿足式(10)的條件。
g=1,2,…,gmax
(10)


(11)
式中:N為估計長度。
根據式(11)所示的適應度函數計算出每個個體的適應度值,然后按照大小將種群依次排列,把排在前面的一部分染色體的基因直接遺傳給下一代。在比例選擇過程中,若存在某些個體滿足式(12)的條件即誤差過大,則應該將這些個體及時拋棄。
(12)
將剩余的個體繼續進行下面的操作。包括在匹配池中進行交叉、變異,最終形成下一代的新種群。依次循環往復的操作直到種群收斂得到最優結果或者達到最大的迭代步數。通過遺傳算法最終得到最優的噪聲矩陣值,并結合KF最終得到GA-KF算法辨識模型,其參數流程如圖3所示。

圖3 GA優化KF算法流程框圖
針對電池在不同充放電倍率下的不同SOC值進行參數辨識,對其中的噪聲矩陣運用GA算法優化。在電池SOC=0.95時,0.2 C放電狀態下用基于遺傳算法對噪聲矩陣進行優化。算法參數設置為初始種群規模為60;最大迭代次數為40,選擇概率為0.1;交叉概率、變異概率分別為0.8和0.015。最終遺傳算法優化KF噪聲矩陣的結果如圖4所示。

圖4 目標函數值變化曲線
分析可知,迭代初期平均目標函數值與迭代次數呈反比趨勢,但當迭代次數足夠大時,平均適應度值下降緩慢,并且在30代之后目標函數值不再變化,算法收斂,即得到噪聲矩陣的最優值。
當電池初始 SOC為 95%時,分別以恒流放電倍率(用DR表示,單位為C)0.2 C、0.35 C、0.5 C、1 C、1.5 C、2 C放電,輸入為電池端電壓和放電電流,并根據優化的系統噪聲和觀測噪聲矩陣進行參數辨識。得到模型參數后,以DR和SOC為自變量,模型參數為因變量繪制成三維圖,結果如圖5所示。
分析辨識結果可以看出:當電池放電倍率一定時,隨著電池逐漸放電,即SOC逐漸降低時,歐姆內阻變化較為平緩,而雙極化內阻和電容在SOC較低時,變化劇烈;當電池的SOC值恒定時,隨著放電倍率的增加,歐姆內阻、電化學極化內阻、濃度差內阻逐漸增加,而電化學極化電容、濃度差電容逐漸減小。這是因為當電池放電倍率增加時,電容兩側的壓降將會增加,從而導致電池模型參數發生相應的變化,這與鋰電池在實際工作過程中內阻特性相一致。

圖5 電池模型參數辨識結果
4.2.1電池測試實驗平臺
本課題采用的實驗對象是某款18650三元鋰離子電池,表1是實驗所用鋰離子電池的基本特性參數。

表1 鋰電池的主要參數
基于電池測試實驗平臺對電池進行電池脈沖特性測試、不同倍率充放電實驗以及復雜工況測試等,深入研究分析電池性能參數變化規律,為電池建模提供理論支撐;搭建的電池測試系統平臺結構如圖6所示。該測試系統平臺由4個部分組成,一是高性能電池測試系統,二是溫控箱,三是個人計算機,四是待測試電池模塊。

圖6 電池測試系統平臺結構示意圖
圖7為本課題使用的電池測試設備實物圖。

圖7 實驗設備
依據GA-KF參數辨識的結果建立電池等效電路模型,然后將實際測量數據與仿真結果進行對比。
4.2.2脈沖放電測試
當電池初始SOC為95%時,以0.5 C脈沖進行放電測試,結果對比如圖8所示。

圖8 電池脈沖放電曲線
通過圖示的仿真值與試驗值曲線對比可知,模型電壓和實測電壓在恒流放電時較為接近。在電流發生突變時會出現最大的電壓差值,最大電壓差值在 ± 0.05 V。
4.2.3DST工況測試
為了進一步評價基于GA-KF辨識參數模型的性能效果,用基于非線性最小二乘法(LS)對電池模型來離線辨識參數。在DST工況下,分別用LS和GA-KF辨識電壓與實測電壓進行比較。圖9為DST工況下2種辨識模型電壓與實測電壓曲線。圖10為截選2 300~2 420 s的電壓及電壓誤差曲線。
通過式(13)和式(14)分別計算平均絕對誤差(MAE)和均方根誤差(RMSE),可以定量評價所提模型的有效性。
(13)
(14)


圖9 DST工況電壓曲線

圖10 局部電壓及誤差曲線
由圖9和圖10可知,DST工況下,2種辨識方式的模型的輸出電壓曲線基本能與電壓測量值重合。經過計算基于在線GA-KF辨識模型的最大電壓誤差為0.064 V,是額定電壓的1.5%,而基于LS離線辨識模型的電壓最大誤差為0.095 V,是額定電壓的2.3%;在線MAE和RMSE分別為11.89 mV和16.21 mV,小于離線模型的21.35 mV和27.04 mV。
不同溫度點下2種電池模型辨識結果的MAE和RMSE總結如表2和表3所示。

表2 LS離線模型電壓估計誤差

表3 GA-KF在線模型電壓估計誤差
通過對比上述2個表格內的數據可以得出:隨著溫度的升高,2種模型都表現出更好地擬合精度;在不同溫度下,GA-KF在線模型的誤差相比于離線模型更小,能夠更好地擬合實際電池工作特點,大多數溫度點下在線模型的絕對誤差不超過20 mV,在0 ℃的低溫情況下在線模型的最大絕對誤差也不超過40 mV。由此可見,GA-KF辨識的模型具有良好的精度,能夠表現出更好的仿真性能。
由于實際工況下,電池模型參數的時變性,離線參數辨識的模型往往隨著時間的積累,誤差越來越大。因此,本文提出一種雙卡爾曼濾波(DKF)進行SOC估計的方法,將上述KF算法動態辨識模型參數與UKF算法估計SOC結合起來。通過DKF算法,可以分別使用KF算法在線辨識模型參數和STF算法估計SOC,同時進行一步預測和一步校正,2種算法在迭代過程中交替進行。結合GA對KF算法的優化,采用GA優化UKF,構成遺傳算法優化雙卡爾曼濾波(GA-DKF)算法。得到如圖11的GA-DKF 算法邏輯框圖。

圖11 GA-DKF 算法邏輯框圖
由圖11可知,根據電池測試實驗測得電池的電流與電壓響應,輸入所建立的電池等效電路模型中,啟動算法,GA-KF和GA-UKF交替迭代。根據模型的初始參數、殘差值經過GA-KF算法辨識更新模型參數;根據初始狀態、殘差值經過GA-UKF算法可以更新SOC值。
選取25 ℃時的電池FUDS工況下充電放電的數據,初始SOC0為100%,由經最小二乘法離線參數辨識的EKF算法為對照組,與所提的GA-DKF算法對比,所得SOC估計結果如圖12所示。

圖12 2種算法 SOC 估計曲線
由圖12(a)可知,整體上2種算法均可以實現對測試值的估計。FUDS工況同時具有充電與放電的過程,然而整體上電池電壓呈現遞減的趨勢,這與圖12(a)中所顯示的SOC趨勢吻合。由圖12(b)可知,相比于LS-EKF的誤差曲線,GA-DKF的誤差曲線顯得更為平滑,抖動較小,這表明GA-DKF 算法不僅在估計精度上優于LS-EKF,在對因充放電的轉換引起的波動的抑制能力也是優異的。
在實際的電池管理系統中,幾乎不太可能獲得準確的初始SOC0值,因此對未知初始SOC0的魯棒性也是算法的一項重要評價指標。選取25 ℃時的FUDS 工況,將初始SOC0值分別設置為80%、50%、30%,結果如圖13所示。
圖13表明,算法經過一段時間的迭代運算后,在不同的初始SOC0下均能很好地收斂至真值附近。無論初始值與真實值偏差多少,曲線都在近似相同的時間點(700 s)處收斂,在該收斂點之后,曲線與測量值很好地重合。這證明了所提的GA-DKF算法對不同程度的初始 SOC0誤差并不敏感,具備良好的魯棒性。

圖13 不同初始SOC0下的SOC結果
建立準確的電池模型,提高SOC估算的精度對電動汽車的發展意義重大。在實車運行中由于鋰離子電池內部電化學反應造成系統狀態變量非線性化嚴重,離線參數辨識的方法隨著時間的累積,誤差會越來越多。傳統的KF在線辨識模型參數由于對誤差協方差矩陣的不確定性,往往收斂時間很長。因此本文提出了基于遺傳算法優化卡爾曼濾波(GA-KF)算法在線動態辨識模型參數,利用遺傳算法全局收斂效果好,并且能夠收斂到全局最優解,得到KF算法的最優誤差協方差矩陣,然后利用GA-KF進行參數辨識。在得到了準確電池等效電路模型后,對UKF算法也采用GA 優化,結合GA-KF構成遺傳算法優化雙卡爾曼濾波算法(GA-DKF)進行鋰離子電池的SOC估計。結合仿真分析可以得到以下結論:
1) 在DST工況下,不同溫度的GA-KF在線模型的誤差相比于離線模型更小,能夠更好地擬合實際電池工作特點,大多數溫度點下在線模型的絕對誤差不超過20 mV,在0 ℃的低溫情況下在線模型的最大絕對誤差也不超過40 mV。
2) 分別用基于GA-DKF算法和傳統基于離線參數辨識的EKF算法進行FUDS工況下SOC估計,對比分析可知,GA-DKF不僅在估計精度上具有很好的表現,而且在對因充放電的轉換引起的波動的抑制也最為突出。
3) FUDS工況下,進行不同SOC初始值下的估計,結果表明:算法對不同程度的初始SOC0誤差并不敏感,具備良好的魯棒性。