程江洲,李君豪,唐 陽,謝詩雨,王勁峰
(三峽大學 電氣與新能源學院,宜昌 443002)
電池的荷電狀態SOC對于鋰電池的能量管理,防止鋰電池過充電和過放電,改善電池壽命和制定控制策略有一定的影響。估計鋰電池SOC的方法主要有:放電法[1-2]、負載電壓法、安時積分法、開路電壓法、內阻法[3]、神經網絡法[4]和卡爾曼濾波法等[5-6]。其中,放電法、開路電壓法、安時積分法及內阻法的估算結果誤差較大;開路電壓法及神經網絡法實現的條件較為苛刻。
針對估算誤差較大這一重大缺陷,學者們提出結合安時法與EKF算法[7]估算鋰電池的SOC。EKF采用泰勒級數展開方法求解系統線性方程,將系統變為線性系統并在線性系統中估算當前系統狀態。在對方程線性化處理時,通常只保留非線性函數的一階項,并除去其二階項及后續項。在鋰電池系統采用EKF算法估算SOC時,由于鋰電池系統為強非線性系統,被忽略的二階項及后續項會影響估算結果,導致估算SOC值發散,使得估算SOC遠偏離于真實SOC。
為提高EKF算法的穩定性和精度,在此改進了EKF算法,并在MatLab/Simulink上進行模型仿真,結果證明改進是有效的。
放電法采用恒流放電,工作電流和時間的乘積即為鋰電池荷電狀態。它是一種精度較高的SOC估算方法,但需要大量時間來獲取樣本,以及需要切斷正在工作的電池來試驗,無法一邊試驗一邊工作。
開路電壓法[8]精確測量開路電壓OCV(open circuit voltage),并根據OCV與SOC之間存在的函數聯系來估算SOC。該方法較放電實驗法更準確,但只能在鋰電池停止工作時進行測量。
內阻法[9-10]是用于測量鋰電池內阻并基于測量內阻與SOC間的函數關系估算SOC的方法,由于內部電阻隨電池狀態的變化而變化,因此無法精準測出內阻的具體值。若測量結果存在較大的誤差,則會導致估算不準甚至錯誤。
神經網絡法[11-12]是一種非線性特征的訓練方法,它需要大量的數據來訓練網絡和適當的輸入,輸入條件更加嚴格。
安時積分法[13-14]是一種廣泛使用的鋰電池SOC測量方法,因未考慮鋰電池內部產生的化學反應,且儀器采集電流也存在誤差,時間越久則誤差累積越多,會極大地影響SOC估計結果。
建立系統方程首先需建立鋰電池等效模型,目前運用廣泛的經典等效電路模型主要有內阻(Rint)模型、戴維南(Thevenin)模型及PNGV模型。
在此使用二階Thevenin電路模型來模擬電池正常工作狀態。相較一階Thevenin電路,二階電路精確度更高,能更實際還原鋰電池特性;相較于三階及更高階數模型,雖精確度相差不大,但計算量遠低于更高階的模型。
二階Thevenin等效電路模型如圖1所示。圖中,R0為直流內阻;R1,R2為鋰電池電化學和濃差極化內阻;C1,C2為鋰電池極化電容;I為放電電流;U1,U2分別為R1,R2兩端電壓;Ub為端電壓;Uoc為開路電壓。

圖1 二階戴維南等效電池模型Fig.1 Thenenin second-order equivalent circuit cell model
在二階Thevenin等效電路電池模型中,根據基本電路定律,可列出以下基本方程:

根據安時積分法,鋰電池SOC為
式中:k0為開始時間;k為截止時間;CN為額定容量;I為放電電流。
對方程(1)(2)(3)進行離散化處理,可得
其中 τq=RqCq,q=1,2
式中:Ts為采樣時刻;τq為RqCq網絡時間常數。
通過以上推導,并將電池SOC作為系統狀態量,得到的系統狀態方程和觀測方程為



式中:ωp,k為過程噪聲,p=1,2,3;φk+1為觀測噪聲。
傳統EKF算法的計算步驟如圖2所示,其主要有預測過程和校正過程。

圖2 EKF算法流程Fig.2 Flow chart of EKF algorithm
預測過程步驟 確定系統在k-1時的初始值,預測出系統在k時的值;根據初始協方差矩陣,預測出k時刻的協方差預測矩陣pk。
校正過程步驟 利用協方差預測矩陣得到系統濾波增益Kk;對系統進行狀態方程更新及誤差協方差方程更新,完成校正。
因為EKF算法對線性動態系統的建模效果很好,而鋰電池系統為非線性系統,SOC與實際容量、內阻、溫度等很多元素都不是線性關系,從而導致誤差積累。因此,需對EKF算法擴展,使其改變為含有非線性狀態函數的狀態空間方程,使計算結果更為精確。
改進的EKF算法,在協方差預測步驟中引入了溫度補償系數T0:

式中:CN(25℃,1C)為鋰電池在 25℃下,以 1C 電量放電測得的額定容量;CN(T,C)為在溫度T時電量以恒定值放電,直至達到終止電壓,整個放電過程放電容量當作電池的相對容量。
如以鋰電池CN(25℃,1C)的容量作為參考值1,那么根據獲得的不同溫度及放電倍率下相對可用容量大小,可計算出具體條件下的容量補償因子結果,見表1。

表1 容量補償因子結果Tab.1 Results of capacity compensation factor
初始化初值x0和協方差矩陣p0;按照運行步驟,測得輸入值完成SOC估算。改進EKF計算步驟具體如下:
步驟1 根據系統在k-1時的值xk-1,計算出在k-1時預測k時的估算值xk為

根據協方差p0,求出協方差矩陣預測pk為

式中:Q為過程噪聲協方差矩陣。
步驟2 利用式(10)求得的溫度補償系數T0,對協方差預測矩陣進行優化,得到p′k,即

用優化后的矩陣p′k,求出濾波增益Kk為

式中:Hk為觀測矩陣;R為測量協方差。
步驟3 進行狀態更新和協方差更新,即

為驗證改進EKF算法的有效性,采用BTS-2002型電池測量儀(如圖3所示),對容量為2800 mA·h,電壓3.7 V的18650型磷酸鐵鋰電池做采集試驗。采用改進的EKF算法估計SOC時,需要用到OCV與鋰電池SOC之間對應的的函數表達式,并辨別二階Thevenin電路模型模型參數。

圖3 BTS-2002型電池測量儀Fig.3 BTS-2002 battery measuring instrument
首先確定OCV與SOC之間的函數表達式,在常溫25℃下進行放電試驗,電量為1C,測試電壓為2.75~3.70 V,獲取試驗數據。根據文獻[11]所提出的方法,準確得到SOC與OCV一一對應的函數關系,并利用MatLab的數據擬合功能,求出函數表達式。SOC與OCV的關系如圖4所示。
OCV與SOC的函數關系(Voc-Sc)為

試驗用最小二乘法辨別二階Thevenin等效電池的參數 R0,R1和 C1,C2,并隨時間不斷變化、更新,在MatLab/Simulink中建立等效電池仿真模型。仿真的初始條件為

圖4 OCV與SOC的關系Fig.4 Relationship between OCV and SOC

以試驗獲得的電流和電壓數據為基礎,導入至MatLab/Simulink鋰電池仿真模型內。鋰電池SOC MatLab/Simulink仿真模塊如圖5所示。
圖5中,xk為狀態更新值,pk為估計誤差協方差矩陣,誤差協方差矩陣為系統計算的偏差程度,當計算t時刻的系統預測值時,通過系統協方差矩陣計算卡爾曼濾波增益Kk。協方差矩陣與預測精度呈線性關系,協方差矩陣越小,精度越高;反之,則精度越低。

圖5 鋰電池SOC MatLab/Simulink仿真模塊Fig.5 Lithium battery SOC MatLab/Simulink simulation module
改進EKF算法用于估算鋰電池SOC的仿真驗證如圖6所示。該試驗通過設置遠離真實值的隨機值,測試本文改進算法的靈敏度。設置其隨機初始值為72%Sc,經過短時間的迭代估算,得到SOC的測量值。自0時刻至3750 s時刻,鋰電池SOC仿真真實值從1減小到0,測量值經算法測量和迭代后逐漸與真實值靠近,并與真實值曲線重合,在真實值范圍內以極小的誤差波動。仿真模型驗證了改進算法靈敏度與精度都具有很高的可靠性。

圖6 改進EKF估算的鋰電池SOCFig.6 Improved EKF estimation of lithium battery SOC
模型的誤差及誤差率曲線如圖7所示。由圖7a可見,在初始時,經快速迭代,誤差值迅速減小,并且隨著改進EKF的不斷計算,誤差逐漸減小。由圖7b可見,由于初始值設置的誤差較大,初始的誤差率也大;經過短時間迭代后,SOC逐漸接近真實值,誤差率也逐漸變小,在2%誤差率范圍內波動。通過估算系統可以得到很高的精準度。

圖7 仿真誤差及誤差率的曲線Fig.7 Curve of simulation error value and error rate
通過建立二階Thevenin等效電路模型,通過測得鋰電池不同容量所對應開路電壓OCV值,得到OCV與SOC對應函數,使得模型估算更精確;使用MatLab/Simulink軟件,建立二階Thevenin等效電池模型,導入試驗數據進行仿真試驗,精確估計SOC。通過放電情況下實際值與測量值的對比,本文模型誤差較小,保持在2.10%誤差范圍內。因此,本文模型具有較高精確度,可適用于實際鋰電池管理系統。