?

鋰電池SOC和SOH的自適應聯合在線估算方法

2023-11-02 12:34俞志駿安斯光
計算機應用與軟件 2023年10期
關鍵詞:時間尺度卡爾曼濾波尺度

俞志駿 安斯光 汪 偉

(中國計量大學機電工程學院 浙江 杭州 310018)

0 引 言

由于鋰電池在電動汽車中的廣泛應用,電池管理系統(Battery Management System,BMS)作為監控電池狀態并為用戶提供指導信息的關鍵部件,已成為電動汽車控制系統中必不可少的部分。荷電狀態(SOC)和健康狀態(SOH)是BMS中的兩個基本指標[1],其中:SOC是剩余電池容量與可用電池容量之比,用來描述電池的荷電狀態;SOH被定義為電池的老化程度,并為用戶及時更換電池提供參考。SOC的估算是為BMS控制電池的充電和放電過程提供了數據支持,從而確保電池在每個充放電循環中都處于最佳工作狀態[2]。SOH的估算是為了確保電池性能在設計的有效壽命內,可以根據SOH有效地調控電池充電方式,從而延長電池的剩余使用壽命[3]。由于系統硬件的限制,SOC和SOH的估算總是耗時較長,不能滿足車輛運行時實時響應的需求。而且,估算精度隨著電池的老化而降低。因此,開發一種準確快速地估算電池SOC和SOH的方法至關重要。

SOC和SOH都無法直接測量得到,其中SOC可以基于電池開路電壓來計算得到,但是SOH估算比較復雜。在電池的SOH估算方法中,三項指標常用于估算SOH:充放電行為、容量和內部電阻[4]。(1) 充放電行為通常需要大量的電池充電和放電循環測試以及昂貴的實驗設備[5],通常用于實驗室研究。(2) 容量最常用于SOH預測[6-7],通過數據驅動算法,例如支持向量機[8]、神經網絡[9]和深度學習[10]等。然而,數據驅動算法需要大量的計算資源,不適合在線估算。(3) 電池的內阻可以直接從等效電路模型獲得,無須進行復雜的計算。通常通過基于等效電路模型的方法,運用無跡卡爾曼濾波器[11]和雙卡爾曼濾波器[12]等預測算法跟蹤電池狀態。電池內阻與充放電行為密切相關,快速響應的充放電行為降低了壽命估算的準確性。為了跟蹤SOH的動態變化,學者們將內阻作為SOH的指標[13],并給出了SOH的明確定義[14-15]。為了實現在線估算效果,本文將電池電阻作為電池SOH的指標。

在基于等效電路模型的算法中,模型參數的準確性直接影響SOC和SOH的估算。遞歸最小二乘(Recursive Least Squares,RLS)算法結構簡單,穩定性高,最常用于系統參數識別[16]。但是,隨著系統的迭代,前一個數據對后一個數據的影響將變得更大。為了減少舊數據對新數據的影響,學者們在RLS中添加了遺忘因子,構成了遺忘因子遞歸最小二乘算法(Forgetting Factor Recursive Least Square,FFRLS)。通過加強新數據,由新數據提供的信息量會逐漸削弱舊數據,防止數據飽和并迅速收斂到實際值[17]。然而,由于電池內部參數的快速變化特性,固定遺忘因子不足以滿足快速收斂的需求。針對固定遺忘因子遞歸最小二乘法在在線識別中的不足,提出一種自適應遺忘因子策略,以提高模型參數識別的性能。

隨著電池的老化,電池SOH可能會導致SOC的估算出現較大誤差[18]。為了加強SOC與SOH之間的耦合,文獻[14]中應用雙重擴展卡爾曼濾波器(Dual Extended Kalman Filter,DEKF)來實現SOC和SOH的聯合估計。Plett[19-20]最早提出了雙重擴展卡爾曼濾波器以同時估算SOC和SOH,并使用電池容量和內阻同時作為SOH的指標。但是,隨著雙重估算框架的發展,研究人員發現電池SOH的變化特性通常比電池SOC的變化特性要慢得多,因此構造了多時間尺度擴展卡爾曼濾波器(Multi-time scale Extended Kalman Filter,MEKF),在較小的時間尺度上估算SOC,在較大的時間尺度上估算SOH,從而提高聯合估算的計算效率[21],但是兩個時間尺度的確定很大程度上取決于充電方式和標定校準。為了追蹤在不同狀態下鋰電池內部發生的復雜動態,學者們提出了一種多尺度自適應參數識別方案,通過增加開路電壓的估計精度,在不同的尺度上用DEKF來估計所有電池參數和SOC[22-23]。由于實際工作條件通常比實驗室模擬要復雜得多,離線確定的固定時間尺度無法直接反映汽車在運行過程中的實際電池狀態。因此,本文在固定時間尺度的基礎上,根據在線測量得到的SOC來改變時間尺度,以進一步提高算法估算的準確性和效率。

1 自適應聯合估算框架

1.1 SOH的定義

為了準確、快速地跟蹤電池壽命,由于電池內阻與SOH之間存在很強的相關性,本文把電池內阻作為電池SOH的指標,參考[24]定義為:

(1)

式中:REOL為電池的實際最大容量降至標稱容量的80%時的內阻,當實際最大容量下降到標稱容量的80%時,該電池將被視為壽命終止;RBOL是電池出廠時的標稱內阻,RNOW是電池當前內阻;本文定義的SOH范圍是0%至100%。當SOH為0%時,意味著電池的實際最大容量已降至標稱容量的80%,需要更換電池。根據傳統的汽車壽命終止標準,設置REOL=2×RBOL,本文取RBOL=0.03 Ω。

1.2 SOC和SOH在線估算框架

我們在圖1中提出一個可變時間尺度框架。首先,電池模型由自適應遺忘因子遞歸最小二乘(AFFRLS)方法確定。根據識別結果對遺忘因子進行自適應調整,以加快收斂速度,從而提高模型的準確性。為了平衡電池SOC和SOH之間的變化特性,分別在兩個分離的時間尺度上執行參數識別和狀態估算。在微觀尺度上執行模型參數識別和SOC估算,而在宏觀尺度上執行SOH估算。

圖1 SOC和SOH在線估算框架

分離時間尺度的算法的困難之一是確定時間尺度。有兩種常用方法:(1) 使用固定的時間尺度,即在固定的時間范圍內在微觀尺度上執行算法,然后在宏觀尺度上執行一次宏觀算法,再返回微觀尺度。(2) 使用變化的時間尺度,即默認在微觀尺度上執行算法,當滿足某些條件時,在宏觀尺度上執行算法,如此循環。

兩種算法各有優缺點。方法一通過離線測試確定時間尺度。該方法易于執行,但是在實際汽車行駛時會忽略電池的快速動態變化,因此無法反映真實的電池狀態。方法二根據電池狀態的變化來改變時間標度,以跟蹤電池的動態響應。但是,真正的汽車并不總是保持高功率狀態。在慢速動態下,此方法對電池狀態的響應不佳。

為了減少離線數據對狀態估算的影響,本文提出一種可變時間尺度擴展卡爾曼濾波器(VEKF)。VEKF結合了以上兩種方法的優點,在固定的時間刻度上添加了時間尺度觀測器。由于電池的SOC在電池運行時會發生明顯變化,因此SOC被用作可變時間尺度的判斷條件。具體方法是在離線確定的固定時間范圍內,如果SOC變化量達到閾值,則改變時間尺度。

2 模型參數辨識

基于二階RC模型和FFRLS方法,提出一種新型自適應遺忘因子策略。BMS在線測量的端電壓和端電流視為電池模型的已知量,作為識別算法的輸入,同時,遺忘因子根據當前周期和先前周期的輸入之間的誤差進行調整?;谧赃m應識別算法,算法更快的收斂速度可以實現在線更新電池內阻R0,以提高模型精度,并為下一次電池狀態估算提供依據。

2.1 等效電路模型

二階RC模型常用于鋰電池的建模,與一階RC模型相比,二階RC模型更符合估算算法對模型高精度的要求,本文中不再贅述。如圖2所示,其中:i為負載電流;u為端電壓;R0為內阻;R1、C1和R2、C2代表電池單元擴散過程和電荷轉移過程;u1和u2代表R1、C1和R2、C2分支電壓,電壓源Uoc用于描述與SOC直接相關的開路電壓(Open Circuit Voltage,OCV)。

圖2 二階RC模型

根據基爾霍夫電壓和電流定律,二階RC模型的電氣特性方程由表示為:

u(k)=Uoc[SOC(k)]-u1-u2-i(k)·R0

(2)

式中:Uoc[SOC(k)]表示根據OCV-SOC曲線擬合獲得的開路電壓。

2.2 自適應遺忘因子遞歸最小二乘法

電池等效電路模型的參數辨識通過自適應遺忘因子遞歸最小二乘法實現。采用遞推最小二乘方法建立電池模型狀態空間方程,參數辨識公式如下:

u(k)=θ1E(k-1)+θ2E(k-2)+θ3i(k)+

θ4i(k-1)+θ5i(k-2)

(3)

E(k)=Uoc(k)-u(k)

(4)

(5)

式中:T是采樣時間。在FFRLS中,遺忘因子是固定的,很難適應在線參數識別的動態過程。當參數誤差較大時,遺忘因子會增強新數據,導致無法盡快收斂以減小誤差;當參數誤差較小時,舊數據的大權重導致無法快速地跟蹤動態響應。在電池模型辨識中,遺忘因子通常取值范圍為0.95~1.00。較小的遺忘因子收斂速度較快,但在快速動態變化下辨識結果會失真;如果遺忘因子接近1,FFRLS退化為普通的RLS,具有較高的穩定性,但收斂速度較慢,無法快速跟蹤實際值。因此,需要根據參數誤差來自適應地改變遺忘因子,在電池參數快速變化的情況下實現更快的收斂速度和較小的識別誤差。

基于以上分析,本文對FFRLS進行了改良。改進后的AFFRLS算法過程如下:

步驟1參數初始化,k=1,設定λmin、eN、E-1、E-2、θ0、P0初值。

步驟2數據輸入矩陣:

(6)

計算增益K:

(7)

計算輸出預測和誤差:

(8)

ek=uk-Ek

(9)

更新估計參數θ(k):

θk=θk-1+Kkek

(10)

更新協方差矩陣:

(11)

步驟3更新遺忘因子:

(12)

計算參數模型:R0、R1、C1、R2、C2

返回步驟2。

在每個算法周期中,BMS都會測量端電壓u和端電流i。根據離線擬合得到的OCV-SOC曲線,可以獲得模型開路電壓OCV?;谀P蚒oc以及測得的u和i,在執行AFFRLS之后,可以計算得到模型的R0、R1、C1、R2和C2等參數。

其中:λmin表示遺忘因子的最小值;eN表示允許的預期誤差,兩者均為固定值。當e(k)接近eN時,為了保持算法的穩定性,λ實現了普通FFRLS的功能;當e(k)接近0時,μ(k)接近1,λ(k)大約為1,此時,系統誤差很小,而較大的遺忘因子可以有效地防止誤差增加;當e(k)接近無窮大時,μ(k)接近無窮大,而λ(k)接近λmin。此時,系統誤差較大,遺忘因子越小,收斂速度越快,誤差快速減小。

3 基于可變時間尺度擴展卡爾曼濾波器的SOC和SOH聯合估算

根據二階RC等效電路模型,建立離散狀態空間方程,以估算電池SOC和SOH。公式如下:

(13)

R0(k)=R0(k-1)+v(k-1)

(14)

式中:u1和u2代表R1、C1和R2、C2分支電壓;i為負載電流;QN表示電池的當前最大容量,并且電池的最大容量會隨著電池的老化而減小;η表示電池的充放電效率;w(k-1)和v(k-1)分別表示SOC和R0的觀測誤差。用兩個離散狀態空間方程式分別估算電池的SOC和SOH。

輸出觀測模型表示為:

y(k)=Uoc[SOC(k)]-u1(k)-

u2(k)-i(k)·R0(k)

(15)

為了實現SOC和SOH的聯合在線估算對于鋰電池,可變時間尺度擴展卡爾曼濾波器(VEKF)的構造如下。

步驟2宏觀尺度EKFθ賦值。

觀測矩陣:

(16)

誤差協方差矩陣:

(17)

步驟3宏觀尺度EKFθ參數更新。

卡爾曼增益矩陣更新:

(18)

觀測矩陣更新:

(19)

誤差協方差矩陣更新:

(20)

循環l∈{1,2,…,L},計算:

步驟4微觀尺度EKFX賦值。

觀測矩陣:

(21)

誤差協方差矩陣:

(22)

步驟5微觀尺度EKFX參數更新。

卡爾曼增益矩陣更新:

(23)

觀測矩陣更新:

(24)

誤差協方差矩陣更新:

(25)

步驟6自適應時間尺度觀察器。

If |SOCl-SOC1|≥0.3%

Break

(26)

其中:

θk=R0,k

(27)

Xk=[SOCku1,ku2,k]T

(28)

(29)

(30)

(31)

在每個算法周期中,在宏觀尺度上執行EKFθ以實現電池內阻R0的動態更新,然后在微觀尺度上執行AFFRLS以獲得模型參數,并執行EKFX來實現SOC的估算。在每次迭代中,EKFX都會檢查SOC變化是否超出閾值(本文中為0.3%),以確定是否需要執行SOH估算。

4 實驗與結果分析

通過實驗數據評估了自適應聯合在線估算方法的性能。首先,基于二階RC等效電路模型,通過動態應力測試(DST)條件循環數據演示并比較了FFRLS和AFFRLS的性能。最后,比較了電池SOC和SOH的三種估算算法,以評估本文提出的可變時間尺度下聯合估算算法的性能。

4.1 實驗數據

本文以美國DST工況為標準,應用馬里蘭大學CALCE電池研究小組的數據庫[25],獲得了電池的電壓和電流循環數據。電池的初始容量為2.45 Ah,加速老化實驗后的電池容量為2.38 Ah,SOH約為87%。老化電池在DST循環工況下的工作電壓和電流數據如圖3所示。圖4中電池的OCV-SOC曲線通過離線擬合獲得,其他參數通過在線識別獲得。

(a)

圖4 OCV-SOC擬合曲線

4.2 AFFRLS和FFRLS在線參數識別精度分析

根據DST工況數據,分別用FFRLS和提出的AFFRLS識別模型參數。FFRLS中的遺忘因子設定為λ=0.99??紤]遺忘因子的取值范圍,通過實驗和驗證,在AFFRLS算法中設置λmin=0.95,eN=0.05。

圖5顯示了相對誤差分布的統計數據,將FFLSR和AFFRLF算法獲得的端電壓的相對誤差分為十個區間,并記錄每個區間內的點數??梢钥闯?在-0.5%到0.5%范圍內,AFFRLF算法記錄的點數比FFRLF方法要多,這意味著AFFRLF算法比原始FFRLF算法更有利于建立高精確的模型。

表1總結了兩種算法的均方根誤差(RMSE)。綜合圖5和表1可以看出,本文提出的AFFRLS算法識別的結果比原始FFRLS的結果更加精確。

表1

4.3 SOC與SOH的估算結果的分析

為了評估聯合估算算法的性能,選擇了兩種常用算法:文獻[21]中的FFRLS-MEKF和文獻[14]中的AFFRLS-DEKF,并與本文算法進行了比較。表2總結了這項工作中使用的算法參數,為確??杀刃?所有卡爾曼濾波器均使用相同的一組固定參數。

表2 卡爾曼濾波器的初始參數

根據三元鋰電池的特性,確定離線的固定時間尺度L=60 s,并將時間尺度閾值設置為ΔSOC=0.3%。初始SOC設置為80%,通過設定錯誤的初始值,可以模擬現實情況下BMS在線獲得數據后算法的精確度和魯棒性。

圖6和圖7顯示了SOC和SOH在DST工況下的估算結果。顯然,與其他兩種聯合估算算法相比,本文提出的AFFRLS-VEKF聯合算法估算的SOC和SOH估算與參考曲線基本一致,SOC估算誤差小于0.3%,SOH估算誤差小于1.1%。FFRLS-MEKF與AFFRLS-VEKF相比,自適應參數識別策略在微觀尺度上提高了模型參數的識別精度,從而提高了SOC的估算精度,減小了在宏觀尺度上SOC對SOH估算的影響。AFFRLS-DEKF和AFFRLS-VEKF相比,由于增加了可變時間尺度觀測器,允許SOH的估算在宏觀上保持相對穩定的值,從而提高了算法的魯棒性。綜上所述,本文提出的自適應聯合估計算法在高度動態變化的復雜工況可以較快地跟蹤到真實值,并維持較高的精確度,滿足現實情況下對電池復雜充放電行為進行在線估計的要求。

(a) SOC估計值

(a) SOH估計值

鋰電池在線狀態估算的仿真運行在配置有Intel i7-8700 CPU@3.20 GHz和16 GB RAM的Windows 10計算機上。以上三種算法均在MATLAB環境下運行。為了比較計算復雜度,每種算法執行了100次仿真并計算了平均執行時間。在DST工況下,如表3所示,AFFRLS-DEKF算法需要最長的計算時間,而FFRLS-MEKF需要最少的計算時間。本文的自適應聯合估計算法運行15 000組數據點的平均計算時間為1.22 s,平均每組計算時間小于0.000 1 s,應用于BMS中可以實現電池狀態在線估計。本文算法不僅提高了計算精度,而且提高了計算效率。這對減輕BMS硬件的計算負擔并更好地進行電池狀態的在線估算非常重要。

表3 SOC和SOH估算結果比較

5 結 語

本文提出一種基于遺忘因子最小二乘和可變時間尺度擴展卡爾曼濾波器的自適應聯合估算算法,以在線估算鋰電池SOC和SOH。與傳統方法相比,本文方法可以在模型識別中獲得更好的準確性,并且在狀態估算中可以更快地匹配復雜的動態響應?;贒ST工況數據的仿真驗證了自適應聯合估算算法的精確度和效率,SOC估算誤差小于0.3%,SOH估算誤差小于1.1%。下一步工作是設計電池充放電和均衡裝置,將本文算法應用于BMS中,實現鋰電池充放電狀態下的電池狀態實時在線估計。

猜你喜歡
時間尺度卡爾曼濾波尺度
時間尺度上Lagrange 系統的Hojman 守恒量1)
交直流混合微電網多時間尺度協同控制
財產的五大尺度和五重應對
時間尺度上完整非保守力學系統的Noether定理
基于遞推更新卡爾曼濾波的磁偶極子目標跟蹤
大連市暴雨多時間尺度研究分析
宇宙的尺度
基于模糊卡爾曼濾波算法的動力電池SOC估計
基于擴展卡爾曼濾波的PMSM無位置傳感器控制
9
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合