潘濤濤, 王友仁, 彭 晨
(南京航空航天大學 自動化學院,江蘇 南京 210016)
在國家相關政策下,新能源技術及其應用得到了快速發展[1],鋰電池憑借其效率高、能量大、壽命長等優點[2],在航空航天、儲能系統以及電動汽車等領域中應用廣泛[3]。鋰電池作為飛機以及電動汽車的動力來源和輔助電源,對飛機和汽車的安全運行至關重要,因此需要評估鋰電池的工作狀況[4]、監測電池容量大小[5]、進行故障提前報警以及改善電池組中各單體電池不一致性等[6-7]。鋰電池的荷電狀態(SOC)是其剩余電量的衡量指標,精準的SOC估計是實現其他功能的前提[8-9]。
鋰電池SOC估計方法可分為開路電壓法[10]、安時積分法[11]、卡爾曼濾波法[12]以及神經網絡算法[13]等。文獻[14]通過遞推更新方式改進了門控循環單元(GRU)網絡輸出結構,減少了基于GRU估算SOC的計算復雜度,但改進后的計算復雜度依舊比卡爾曼濾波系列算法大。文獻[15]使用基于多種神經網絡與卡爾曼濾波算法組合而成的集成學習SOC估計方法,但該算法的高度耦合使其復雜性過高,難以在BMS系統中實際應用。文獻[16]根據不同時間尺度將電池模型分為兩個子模型分別使用最小二乘法,取得了較好的參數估計效果。文獻[17]使用Sigma點卡爾曼濾波(SPKF)算法,在MATLAB中與擴展卡爾曼濾波(EKF)進行對比,得出SPKF算法精度更高,但該算法未對鋰電池模型參數進行動態調整,其估計誤差較大。文獻[18]使用帶遺忘因子最小二乘法(FFRLS)進行參數辨識結合自適應無跡卡爾曼濾波(AUKF)算法在線辨識SOC,取得了更高的SOC估計精度,但無跡卡爾曼濾波(UKF)算法本身存在協方差矩陣非正定的問題,在復雜工況下表現不穩定,容易導致估計結果發散。文獻[19]通過使用FFRLS與EKF相結合的算法,能夠減少因模型參數變化導致的SOC估計誤差,但該算法未考慮到復雜工況下系統噪聲變化較大對SOC估計的影響,估計精度有待進一步提高。
綜上,現有的鋰電池SOC估計研究中存在以下幾點問題[20]:
(1) 使用算法過于復雜時,雖然SOC估計精度得到提高,但其計算量較大,難以在嵌入式系統中成功應用;
(2) 神經網絡算法估計SOC需要龐大的數據作為支撐,當數據量不夠時,SOC估計精度較低;
(3) 鋰電池內部存在復雜化學反應,模型參數辨識不準確以及系統噪聲變化大對SOC估計效果影響較大。
考慮現有估計方法的優缺點和嵌入式系統實現的難易程度,本文使用一種基于自適應擴展卡爾曼濾波融合帶遺忘因子最小二乘法(FFRLS-AEKF)的SOC估計算法,該方法不需要龐大的數據量支撐,避免了UKF算法存在的協方差矩陣非正定導致估計結果發散和不穩定的問題,通過實時辨識更新模型參數,增加模型精確度,并且在復雜工況下通過實時修正系統噪聲,從而減少噪聲變化較大時對SOC估計帶來的不利影響,能夠進一步提高SOC估計精確度,并通過試驗驗證了該算法的可行性。
Thevenin等效電路模型由歐姆內阻及串聯的RC環節組成,根據串聯的RC環節數量又可分為一階RC模型和多階RC模型。一階RC模型電路簡單、計算復雜度低、易于實現、并且能夠有效表達鋰電池工作狀態,在工程中應用較多,其電路結構如圖1所示。圖1中,E為電動勢;V為端電壓;I為工作電流;Ro為歐姆內阻;Rp為極化內阻;Cp為極化電容;Vp為極化電壓。

圖1 一階RC等效電路模型
為了得到鋰電池的開路電壓(OCV)-SOC曲線,需要在參數辨識以及SOC估計之前對鋰電池進行脈沖充放電試驗。本文中所使用的鋰電池型號為三星INR18650-22FM,其參數如表1所示。為減少誤差,將多次試驗中不同SOC值處測量的OCV取平均值。圖2為鋰電池在脈沖充放電試驗測得的OCV與SOC數據以及經過4次多項式擬合的OCV-SOC曲線。

表1 三星INR18650-22F動力鋰電池參數

圖2 OCV-SOC擬合曲線
結合鋰電池等效電路模型和相關電路定理可得到各個參數之間有如下方程:

(1)
對式(1)進行離散化:

(2)
其中,方程參數c1、c2、c3分別為

(3)
式中:T為采樣時間。
令yk=(Ek-Vk),則傳遞函數可以表示為
yk=θkφk
(4)
式中:θk為第k時刻的參數矩陣;φk為第k時刻數據矩陣。

(5)
FFRLS算法的參數計算表達式為[21]

(6)

則可推導出:

(7)
至此,可完成鋰電池模型參數在線辨識。
假設某線性系統的系統方程表示為

(8)
式中:Xk為狀態向量;Yk是觀測向量;Uk是控制向量;Wk為過程噪聲;Mk為觀測噪聲;Ak和Bk分別為狀態矩陣和控制矩陣;Ck和Dk分別為觀測方程中的狀態矩陣和控制矩陣。
卡爾曼濾波算法的步驟為
步驟一,時間更新

(9)

步驟二,卡爾曼增益更新

(10)
式中:Hk+1為k+1時刻卡爾曼增益;R為觀測噪聲協方差矩陣。
步驟三,觀測更新

(11)

將鋰電池系統描述為

(12)
式中:f(·)、g(·)分別為狀態方程和量測方程的非線性映射函數。
AEKF算法通過將系數方程線性化,從而應用到該非線性系統中,得到線性化后的系數矩陣Ak、Bk、Ck、Dk,之后再代入標準迭代方程進行計算,并根據測量信號的變化,修正系統方程的過程噪聲和觀測噪聲[22]。
結合OCV與SOC關系,對式(12)進行離散化:

(13)
可得系統方程的矩陣形式為

(14)
由式(14)可知,鋰電池狀態空間方程的控制量輸入為試驗測得的鋰電池電流ik,輸出為鋰電池的端電壓Vk,狀態變量為Xk,系統的隨機噪聲為Wk,系統的量程噪聲為Vk,并且有:

(15)
系統噪聲根據下式進行修正:

(16)
式中:M為窗口大小;Hk為新息序列協方差矩陣;ek為誤差新息矩陣。
在每一步AEKF算法過程中,直接根據歷史以及當前的鋰電池電壓、電流信號,通過FFRLS算法對鋰電池等效電路模型中的各個參數進行實時辨識,并及時更新AEKF算法中各個方程所對應的系數矩陣和噪聲矩陣。FFRLS-AEKF算法具體流程如圖3所示。

圖3 FFRLS-AEKF算法流程圖
SOC估計具體計算步驟如下:
步驟一,確定初始時刻鋰電池的實際容量Q。
步驟二,根據電池OCV-SOC的特性,得到初始時刻條件下SOC0的值。
步驟三,確定初始時刻鋰電池模型的Ro、Rp和Cp。
步驟四,確定初始時刻狀態空間方程Ak、Bk、Ck、Dk的參數值(初始時刻k定義為0)。
步驟五,定義初始時刻的狀態量為X0=[SOC0,0]T。
步驟六,確定遺忘因子λ(0.99),根據輸入的電壓、電流信號,采用FFRLS算法遞推更新模型的各個參數。
步驟七,根據鋰電池試驗平臺測得的電壓、電流數據使用AEKF算法遞推估計SOC值。
搭建如圖4所示的動力鋰電池試驗平臺,該試驗平臺由充電電源、充放電控制電路、程控負載(IT8500+)、BMS電路板以及鋰電池組成。其中充放電控制電路由USB-4750控制4個繼電器組成,通過BMS電路板采集鋰電池的電壓及電流數據,通過上位機控制鋰電池充放電模式并實時顯示鋰電池電壓、電流以及SOC值,試驗在室溫條件下進行。

圖4 動力鋰電池試驗平臺
該試驗平臺電壓測量分辨率為7.30 mV,精度為±10 mV,電壓測量量程為0~32 V;電流測量分辨率為3.56 mA,精度為±73 mA,電流測量量程為0~15 A;充放電控制開關響應速度為831 ms;與上位機串口通信速率為115 200 bps,滿足試驗所需條件。
FFRLS算法能夠實時估計模型參數,為了驗證其在線辨識的準確性,分別在DST工況和BBDST工況下以鋰電池電流、端電壓作為輸入,根據FFRLS算法遞推步驟實時估計鋰電池等效電路模型的各個參數,圖5為兩種工況電流變化,圖6為各個參數的辨識結果。

圖6 DST和BBDST工況下參數辨識結果
與傳統離線參數辨識方法不同,FFRLS算法通過最新檢測的電壓及電流數據作為輸入,根據鋰電池的動靜特性得到時變的模型參數,而非某個固定值,從而使模型能夠更準確的描述此刻鋰電池工作狀態。由圖6可知,在DST工況和BBDST工況下,經FFRLS算法辨識得到的參數能隨著系統狀態的變化而變化,且經過辨識的鋰電池端電壓值較為精確。在電流有較大突變時,當前系統輸入輸出與前一時刻系統輸入輸出差距較大,由于FFRLS算法無法完全削弱前面數據帶來的影響,故在電流存在較大突變時辨識效果有所下降,但隨著時間增加,辨識結果會逐漸收斂。除電流有較大突變處之外,其最大絕對誤差小于0.1 V,能夠很好地跟蹤鋰電池端電壓實測值,也進一步說明經過FFRLS算法在線辨識的鋰電池模型參數能夠更好地描述鋰電池的工作狀態。
將安時積分法所得到的SOC值作為真實參考值,以EKF作為對比算法,驗證FFRLS-AEKF算法的準確性和魯棒性。使用以上兩種算法分別在DST工況與BBDST工況下進行鋰電池SOC估計,并根據估計值做出誤差分析。圖7為在DST工況下,分別使用EKF算法與FFRELS-AEKF算法的估計結果。

圖7 DST工況下SOC估計值及估計誤差
由圖7可知,將SOC估計初始值設置為0.8,在DST工況下,FFRLS-AEKF算法能夠較好地跟蹤SOC真實值,并且伴隨一定的波動。由于FFRLS-AEKF算法能夠不斷地更新鋰電池模型參數,從而使估計結果更為準確,EKF算法的估計結果最大絕對誤差小于1.5%,而DST工況下FFRLS-AEKF算法的最大絕對誤差穩定小于0.12%。
為了進一步驗證FFRLS-AEKF算法的準確性和魯棒性,更改試驗工況為BBDST,基于EKF算法和基于FFRLS-AEKF算法的估計結果如圖8所示。

圖8 BBDST工況下SOC估計值及估計誤差
由圖8可知,在BBDST工況下,FFRLS-AEKF算法的表現比EKF更為出色,基于EKF算法的SOC估計絕對誤差在1.7%以內,且誤差上下浮動較大,而基于FFRLS-AEKF算法的SOC估計絕對誤差穩定在0.15%以內,魯棒性較好。
兩種算法的平均絕對誤差(MAE)以及均方根誤差(RMSE)如表2所示。

表2 兩種算法在不同工況下誤差指標
由表2中數據可知,在兩種工況的驗證下,FFRLS-AEKF算法比EKF算法的精確度更高、魯棒性更好。
本文在鋰電池一階RC等效電路模型的基礎上,針對鋰電池等效電路模型參數不準確以及系統噪聲不確定導致SOC估計精確度較低的問題,使用一種FFRLS-AEKF改進算法。該算法能夠在鋰電池的不同工作狀態下根據最新檢測電壓及電流數據實時辨識模型參數,使模型更加準確地描述鋰電池當前的動靜特性,改善了傳統離線辨識參數為某一固定值而導致的模型不準確的問題,并且通過實時修正系統噪聲進一步提高了算法的穩定性和SOC估計精確度。通過所設計搭建的動力鋰電池試驗平臺,在DST以及BBDST工況下,以安時積分法所得SOC值為參考真實值,以EKF作為其對比算法,分別給出兩種算法的估計結果。試驗結果表明,FFRLS-AEKF算法相較于EKF算法估計誤差更小,精確度更高,穩定性更好,表明該算法能夠更好地為動力鋰電池的安全工作提供基礎保障。本文中試驗均在室溫條件下進行,未考慮到溫度有較大變化時對鋰電池SOC估計的影響。