






摘 要:針對擴展卡爾曼濾波(Extended Kalman filter,EKF)算法與長短期記憶網絡(Long Short-Term Memory,LSTM)不能準確估計鋰離子電池荷電狀態(State of Charge,SOC)的問題,本文提出了一種基于二階戴維寧(Thevenin)的等效電路模型,采用自適應擴展卡爾曼濾波(Adaptve Extended Kalman filter, AEKF)與LSTM相結合的SOC估計算法,即LSTM-AEKF算法。在二階RC等效電路模型的基礎上建立整數階模型,并采用EKF算法辨識模型參數,采用LSTM-AEKF算法估計SOC,與AEKF算法、LSTM算法進行比較。根據馬里蘭大學公開數據集進行測試,結果表明,與傳統方法相比,LSTM-AEKF算法估計SOC的平均絕對誤差(Mean Absolute Error,MAE)與均方根誤差(Root Mean Square Error,RMSE)分別下降了1.23%、1.5%,基于二階RC模型的LSTM-AEKF算法可以有效估計SOC。
關鍵詞:鋰離子電池;SOC估計;二階Thevenin等效模型;長短期記憶網絡(Long Short-Term Memory,LSTM);自適應擴展卡爾曼濾波
中圖分類號:TM 912 " " " " " " 文獻標志碼:A
鋰電池的SOC(State of Charge)即鋰電池目前的剩余電量,SOC取值為0%~100%,當SOC為100%時,表示完全充滿電;當SOC為0%時,表示電池剩余電量為0,電池的內部電量完全放空。電池SOC的測量受外界因素和電池內部因素影響,對電池進行SOC精確估計十分重要。
目前,SOC估計方法主要有3種,分別為安時積分法、長短期記憶網絡(Long Short-Term Memory,LSTM)相關算法和卡爾曼濾波相關算法[1]。安時積分法是一種計量電池電量的基礎方法,它采用安時(Ampere-Hour,AH)累積的方法,對鋰電池進行實時SOC估計[2]。LSTM算法估計非線性系統效果較好,但是在利用LSTM算法估計SOC的過程中,得到的解不一定是全局最優解[4]。在實踐中,擴展卡爾曼濾波(Extended Kalman filter,EKF)算法是一種常用算法,可以較好地估計非線性系統的SOC問題[5]。
針對在不同噪聲環境中,EKF算法對SOC估計精度不足的問題,本文將自適應擴展卡爾曼濾波(Adaptve Extended Kalman Filter,AEKF)與LSTM相結合,得到LSTM-AEKF 算法,該算法在魯棒性較高的情況下避免了得不到全局最優解的問題,提升了SOC的估計精度。
1 建立二階等效電路模型與在線參數辨識
1.1 建立等效電路模型
與低階RC電路模型相比,高階RC電路模型能夠更準確地模擬電池的動態特性。由于高階模型涉及復雜的計算,因此,為了在精度與計算復雜度之間取得平衡,本文選擇二階RC模型。二階RC等效電路模型由開路電壓、電阻和2組RC網絡組成,如圖1所示。
二階RC等效電路的狀態方程如公式(1)所示。
(1)
式中:t為當前時刻;U1、U2為2個RC回路的電壓;R1、R2為電阻器;C1、C2為極化電容;IT為負載電流;Qn為電池容量;SOC為電池SOC初始值。輸出方程如公式(2)所示。
UL=UOC(SOC)-R0IT-U1-U2 " " " " " " " " " " " (2)
式中:UL為端子電壓;R0為歐姆內阻;UOC(SOC)為鋰電池開路電壓關于SOC的擬合多項式。
二階RC模型建立完成后,須辨識鋰電池內部參數,待辨識的參數包括開路電壓 UOC,電路中的電阻R1、R2,電容 C1、C2以及歐姆內阻R0[3]。
利用曲線擬合識別 UOC(SOC)[6]。使用馬里蘭大學鋰電池試驗的公開數據集數據,放電電流脈沖為1 A,放電電流持續時間為720 s,導致SOC下降了10%。當每次電池放電時,將其靜置2 h,以保證端電壓約等于開路電壓。使用八階多項式來精確擬合測量數據,如公式(3)所示。
UOC(SOC)=-170.24SOC8+665.92SOC7-
1 048.60 SOC6+851.71SOC5-384.83SOC4+
102.49SOC3-18.66SOC2+3.07SOC+3.264 2 " " (3)
SOC-OCV擬合曲線如圖2所示。
1.2 在線參數辨識
離線參數辨識不能辨識所有電池工況,無法保證參數辨識的準確性[11]。當實際運行時,鋰電池內部化學反應十分復雜,在線參數辨識能夠精確辨識鋰電池內部參數。鋰電池在線參數辨識以電池的工況數據為基礎,利用算法實時更改電池參數,追蹤電池的實際工作狀態[12]。本文采用卡爾曼濾波算法[7]辨識電池等效電路模型參數。二階RC等效電路模型的在線參數辨識結果如圖3所示。
2 AKEF與LSTM
LSTM-AEKF算法的核心是先使用LSTM算法估計電池SOC,得到1個SOC初始值,再使用AKEF算法[8]對估計結果進行二次修正,提升了SOC的總體估計精度。
2.1 使用LSTM進行SOC估計
LSTM的隱含層在循環神經網絡(Recurrent Neural Network,RNN)的基礎上增加1個細胞狀態(Cell State)用于保存長期狀態。引入該細胞狀態可以有效解決RNN中存在的問題。
LSTM的結構如圖4所示。LSTM和RNN采用相同的鏈式結構,RNN的隱含層中只有1個簡單的tanh結構,LSTM包括4個結構,這4個結構采用特殊的方式進行交互[9]。LSTM增加的結構為門結構,包括遺忘門、輸入門和輸出門,可以選擇性通過數據信息。
安時積分法估計SOC的計算過程如公式(4)所示。
(4)
式中:SOC0為初初始值;i(t)為t時刻的電流值。本文將電池電壓、電流以及在線辨識得到的R0、R1、R2、C1和C2、作為輸入數據,并將由公式(4)計算得到的SOC真實值中的90%作為訓練集,模型訓練完成后,其余10%作為預測集,調用已訓練的LSTM完成SOC的估計,與SOC真實值進行比較,記錄由LSTM估計得到的SOC與SOC估計誤差。
2.2 使用AKEF進行SOC估計
噪聲方差會影響卡爾曼濾波估計的準確性,不準確的噪聲方差會導致估計精度降低,甚至導致濾波發散。假設過程噪聲協方差矩陣Q和測量噪聲協方差矩陣R是常數,那么對卡爾曼濾波估計SOC來說,這種根據經驗和隨機性得到的Q和R并不適用。而且,參數隨SOC的估計進程實時改變。為了獲得隨估計過程而變化的Q值和R值,本文引入自適應思想。自適應思想即實時改變Q和R的數值,使其能夠適應系統的SOC估計,得到高估計精度。本文將第2.1節估計得到的SOC值作為SOC初始值,在線辨識得到的電池參數R0、R1、R2、C1和C2,使用AEKF算法來獲得更準確的SOC估計結果[10]。AEKF算法計算過程如公式(5)~公式(12)所示。
初始化狀態向量如公式(5)所示。
x=[U1,U2,SOC]T " " " " " " " " " "(5)
式中:x為初始化系統的狀態向量。
利用電池模型進行狀態預測,如公式(6)所示。
=f(xk,uk) " " " " " " " " " (6)
式中:f(xk,uk)為狀態方程;為預測的狀態向量;xk為上一個時刻的狀態向量;uk為輸入。
狀態預測誤差協方差矩陣計算過程如公式(7)所示。
=AkPkAkT+Qk " " " " " " " (7)
式中:為更新后的狀態誤差協方差矩陣;Pk為當前時刻的狀態誤差協方差矩陣;Ak為狀態轉移矩陣;Qk為過程噪聲協方差矩陣。
觀測預測誤差協方差矩陣計算過程如公式(8)所示。
Sk=Hk+1Rk+1 " " " " " " (8)
式中:Sk為觀測誤差協方差矩陣;Hk+1為觀測矩陣;Rk+1為測量噪聲協方差矩陣。
計算卡爾曼增益,更新狀態協方差矩陣,如公式(9)、公式(10)所示。
(9)
Pk+1=(I-Kk+1Hk+1) " " " " " " (10)
式中:Kk+1為計算后的卡爾曼增益;S-1 k+1為更新后的觀測誤差協方差矩陣;Pk+1為更新后的狀態協方差矩陣;I為單位矩陣。
狀態測量與誤差協方差更新如公式(11)、公式(12)所示。
xk+1=+Kk+1(zk+1-h()) " " " " " " " " " " " "(11)
Pk+1=Pk+1-Kk+1Hk+1 " " " " " " " " " " " " (12)
式中:zk+1為測量值;h為觀測方程。SOC的估計值從更新后的狀態向量xk+1中提??;Kk+1(zk+1-h())為計算后的卡爾曼增益值乘以測量值與觀測值的差值。
3 試驗結果與分析
試驗中使用的數據為馬里蘭大學公開數據集,試驗中使用的電池型號為INR 18650-20R。電池的標稱電壓為3.6 V,容量為2 Ah,試驗溫度為25 ℃,采樣間隔為1 s。
為了驗證LSTM-AEKF算法在不同工況中的可推廣性,使用DST、FUDS 2種不同工況數據進行SOC估計,將估計結果分別與AEKF算法和LSTM算法進行比較。試驗結果和誤差分別如圖5、圖6所示。從圖5、圖6可以看出,AEKF算法、LSTM算法和LSTM-AEKF算法可以有效地估計SOC,LSTM-AEKF算法的估計結果更接近真實值。與AEKF和LSTM算法相比,LSTM-AEKF算法的估計誤差更低,在不同工況中波動更小。
不同工況的SOC估計均方根誤差(Root Mean Square Error,RMSE)和平均絕對誤差(Mean Absolute Error,MAE)如圖7所示,從圖7可以看出,使用LSTM-AEKF算法后,SOC的估計精度提高了。RMSElt;0.5%,MAE為0.48%,低于AEKF算法和LSTM算法的RMSE和MAE。 試驗結果表明,在25 ℃鋰電池的不同工況下,使用LSTM-AEKF算法估計SOC降低了試驗誤差,估計性能良好。LSTM-AEKF算法在DST、FUDS工況的RMSE分別為0.48%、0.22%,比AEKF算法低2.15%,比LSTM算法低1.5%,提高了SOC的估計精度,說明基于二階RC等效電路模型的LSTM-AEKF算法易于推廣,效果良好。
4 結論
電池的荷電狀態估計是保障電池供電系統安全可靠運行的一項不可缺少的步驟。本文研究了不同電池工況的SOC估計,開發了以LSTM作為基準,結合AEKF提高其SOC估計性能的LSTM-AEKF算法。本文在二階RC等效電路模型的基礎上在線辨識電池參數,在線參數辨識可以提升SOC估計的準確性。研究結果表明,AEKF或LSTM算法估計SOC或或LSTM算法估計SOC的結果誤差偏大,RMSE和MAE分別可達3.3%和3.15%。本文將這2種方法改進融合進行SOC估計,RMSE和MAE分別大幅降至0.22%和0.40%。與傳統的AKEF算法和LSTM算法相比,本文提出的算法提升了SOC的估計精度,能夠滿足實際生產中對鋰電池SOC的估計精度需求。
參考文獻
[1]楊文榮,朱賽飛,陳陽,等.基于改進安時積分法估計鋰離子電池組SOC[J].電源技術,2018,42(2):183-184.
[2]劉迪,李琳,姜曉健.基于安時積分法和UKF的鋰電池SOC估測[J].新型工業化,2021,11(11): 125-128.
[3]楊帆,和嘉睿,陸鳴,等.基于BP-UKF算法的鋰離子電池SOC估計[J].儲能科學與技術,2023,12(2):552-559.
[4]徐艷民.基于BP-EKF算法的電池SOC估計[J].汽車技術,2018(2): 19-23.
[5]劉興濤,李坤,武驥,等.基于EKF-SVM 算法的動力電池SOC 估計[J].汽車工程,2020,42(11): 1522-1528.
[6]李堂,黃康,毛行奎,等.基于EKF算法的動力鋰離子電池SOC估計[J].電器與能效管理技術,2023(9):62-68.
[7]來鑫,李云飛,鄭岳久,等.基于SOC-OCV優化曲線與EKF的鋰離子電池荷電狀態全局估計[J].汽車工程,2021,43(1): 19-26.
[8]張武,孫士山,張家福.基于自適應無跡卡爾曼濾波的動力電池SOC估計[J].電源技術,2021,45(1):14-17.
[9]張遠進,吳華偉,葉從進.基于AUKF-BP神經網絡的鋰電池SOC估算[J].儲能科學與技術,2021,10(1):237-241.
[10]吳小慧,張興敢.鋰電池二階RC等效電路模型參數辨識[J].南京大學學報(自然科學版),2020,56(5):754-761.
[11]劉征宇,黎盼春,朱誠誠,等.基于組合模型的鋰電池參數辨識和電池荷電狀態在線聯合估計[J].中國機械工程,2020,31(10):1162-1168.
[12]陳息坤,孫冬.鋰離子電池建模及其參數辨識方法研究[J].中國電機工程學報,2016,36(22): 6254-6261.