俞志駿 安斯光 汪 偉
(中國計(jì)量大學(xué)機(jī)電工程學(xué)院 浙江 杭州 310018)
由于鋰電池在電動(dòng)汽車中的廣泛應(yīng)用,電池管理系統(tǒng)(Battery Management System,BMS)作為監(jiān)控電池狀態(tài)并為用戶提供指導(dǎo)信息的關(guān)鍵部件,已成為電動(dòng)汽車控制系統(tǒng)中必不可少的部分。荷電狀態(tài)(SOC)和健康狀態(tài)(SOH)是BMS中的兩個(gè)基本指標(biāo)[1],其中:SOC是剩余電池容量與可用電池容量之比,用來描述電池的荷電狀態(tài);SOH被定義為電池的老化程度,并為用戶及時(shí)更換電池提供參考。SOC的估算是為BMS控制電池的充電和放電過程提供了數(shù)據(jù)支持,從而確保電池在每個(gè)充放電循環(huán)中都處于最佳工作狀態(tài)[2]。SOH的估算是為了確保電池性能在設(shè)計(jì)的有效壽命內(nèi),可以根據(jù)SOH有效地調(diào)控電池充電方式,從而延長(zhǎng)電池的剩余使用壽命[3]。由于系統(tǒng)硬件的限制,SOC和SOH的估算總是耗時(shí)較長(zhǎng),不能滿足車輛運(yùn)行時(shí)實(shí)時(shí)響應(yīng)的需求。而且,估算精度隨著電池的老化而降低。因此,開發(fā)一種準(zhǔn)確快速地估算電池SOC和SOH的方法至關(guān)重要。
SOC和SOH都無法直接測(cè)量得到,其中SOC可以基于電池開路電壓來計(jì)算得到,但是SOH估算比較復(fù)雜。在電池的SOH估算方法中,三項(xiàng)指標(biāo)常用于估算SOH:充放電行為、容量和內(nèi)部電阻[4]。(1) 充放電行為通常需要大量的電池充電和放電循環(huán)測(cè)試以及昂貴的實(shí)驗(yàn)設(shè)備[5],通常用于實(shí)驗(yàn)室研究。(2) 容量最常用于SOH預(yù)測(cè)[6-7],通過數(shù)據(jù)驅(qū)動(dòng)算法,例如支持向量機(jī)[8]、神經(jīng)網(wǎng)絡(luò)[9]和深度學(xué)習(xí)[10]等。然而,數(shù)據(jù)驅(qū)動(dòng)算法需要大量的計(jì)算資源,不適合在線估算。(3) 電池的內(nèi)阻可以直接從等效電路模型獲得,無須進(jìn)行復(fù)雜的計(jì)算。通常通過基于等效電路模型的方法,運(yùn)用無跡卡爾曼濾波器[11]和雙卡爾曼濾波器[12]等預(yù)測(cè)算法跟蹤電池狀態(tài)。電池內(nèi)阻與充放電行為密切相關(guān),快速響應(yīng)的充放電行為降低了壽命估算的準(zhǔn)確性。為了跟蹤SOH的動(dòng)態(tài)變化,學(xué)者們將內(nèi)阻作為SOH的指標(biāo)[13],并給出了SOH的明確定義[14-15]。為了實(shí)現(xiàn)在線估算效果,本文將電池電阻作為電池SOH的指標(biāo)。
在基于等效電路模型的算法中,模型參數(shù)的準(zhǔn)確性直接影響SOC和SOH的估算。遞歸最小二乘(Recursive Least Squares,RLS)算法結(jié)構(gòu)簡(jiǎn)單,穩(wěn)定性高,最常用于系統(tǒng)參數(shù)識(shí)別[16]。但是,隨著系統(tǒng)的迭代,前一個(gè)數(shù)據(jù)對(duì)后一個(gè)數(shù)據(jù)的影響將變得更大。為了減少舊數(shù)據(jù)對(duì)新數(shù)據(jù)的影響,學(xué)者們?cè)赗LS中添加了遺忘因子,構(gòu)成了遺忘因子遞歸最小二乘算法(Forgetting Factor Recursive Least Square,FFRLS)。通過加強(qiáng)新數(shù)據(jù),由新數(shù)據(jù)提供的信息量會(huì)逐漸削弱舊數(shù)據(jù),防止數(shù)據(jù)飽和并迅速收斂到實(shí)際值[17]。然而,由于電池內(nèi)部參數(shù)的快速變化特性,固定遺忘因子不足以滿足快速收斂的需求。針對(duì)固定遺忘因子遞歸最小二乘法在在線識(shí)別中的不足,提出一種自適應(yīng)遺忘因子策略,以提高模型參數(shù)識(shí)別的性能。
隨著電池的老化,電池SOH可能會(huì)導(dǎo)致SOC的估算出現(xiàn)較大誤差[18]。為了加強(qiáng)SOC與SOH之間的耦合,文獻(xiàn)[14]中應(yīng)用雙重?cái)U(kuò)展卡爾曼濾波器(Dual Extended Kalman Filter,DEKF)來實(shí)現(xiàn)SOC和SOH的聯(lián)合估計(jì)。Plett[19-20]最早提出了雙重?cái)U(kuò)展卡爾曼濾波器以同時(shí)估算SOC和SOH,并使用電池容量和內(nèi)阻同時(shí)作為SOH的指標(biāo)。但是,隨著雙重估算框架的發(fā)展,研究人員發(fā)現(xiàn)電池SOH的變化特性通常比電池SOC的變化特性要慢得多,因此構(gòu)造了多時(shí)間尺度擴(kuò)展卡爾曼濾波器(Multi-time scale Extended Kalman Filter,MEKF),在較小的時(shí)間尺度上估算SOC,在較大的時(shí)間尺度上估算SOH,從而提高聯(lián)合估算的計(jì)算效率[21],但是兩個(gè)時(shí)間尺度的確定很大程度上取決于充電方式和標(biāo)定校準(zhǔn)。為了追蹤在不同狀態(tài)下鋰電池內(nèi)部發(fā)生的復(fù)雜動(dòng)態(tài),學(xué)者們提出了一種多尺度自適應(yīng)參數(shù)識(shí)別方案,通過增加開路電壓的估計(jì)精度,在不同的尺度上用DEKF來估計(jì)所有電池參數(shù)和SOC[22-23]。由于實(shí)際工作條件通常比實(shí)驗(yàn)室模擬要復(fù)雜得多,離線確定的固定時(shí)間尺度無法直接反映汽車在運(yùn)行過程中的實(shí)際電池狀態(tài)。因此,本文在固定時(shí)間尺度的基礎(chǔ)上,根據(jù)在線測(cè)量得到的SOC來改變時(shí)間尺度,以進(jìn)一步提高算法估算的準(zhǔn)確性和效率。
為了準(zhǔn)確、快速地跟蹤電池壽命,由于電池內(nèi)阻與SOH之間存在很強(qiáng)的相關(guān)性,本文把電池內(nèi)阻作為電池SOH的指標(biāo),參考[24]定義為:
(1)
式中:REOL為電池的實(shí)際最大容量降至標(biāo)稱容量的80%時(shí)的內(nèi)阻,當(dāng)實(shí)際最大容量下降到標(biāo)稱容量的80%時(shí),該電池將被視為壽命終止;RBOL是電池出廠時(shí)的標(biāo)稱內(nèi)阻,RNOW是電池當(dāng)前內(nèi)阻;本文定義的SOH范圍是0%至100%。當(dāng)SOH為0%時(shí),意味著電池的實(shí)際最大容量已降至標(biāo)稱容量的80%,需要更換電池。根據(jù)傳統(tǒng)的汽車壽命終止標(biāo)準(zhǔn),設(shè)置REOL=2×RBOL,本文取RBOL=0.03 Ω。
我們?cè)趫D1中提出一個(gè)可變時(shí)間尺度框架。首先,電池模型由自適應(yīng)遺忘因子遞歸最小二乘(AFFRLS)方法確定。根據(jù)識(shí)別結(jié)果對(duì)遺忘因子進(jìn)行自適應(yīng)調(diào)整,以加快收斂速度,從而提高模型的準(zhǔn)確性。為了平衡電池SOC和SOH之間的變化特性,分別在兩個(gè)分離的時(shí)間尺度上執(zhí)行參數(shù)識(shí)別和狀態(tài)估算。在微觀尺度上執(zhí)行模型參數(shù)識(shí)別和SOC估算,而在宏觀尺度上執(zhí)行SOH估算。
圖1 SOC和SOH在線估算框架
分離時(shí)間尺度的算法的困難之一是確定時(shí)間尺度。有兩種常用方法:(1) 使用固定的時(shí)間尺度,即在固定的時(shí)間范圍內(nèi)在微觀尺度上執(zhí)行算法,然后在宏觀尺度上執(zhí)行一次宏觀算法,再返回微觀尺度。(2) 使用變化的時(shí)間尺度,即默認(rèn)在微觀尺度上執(zhí)行算法,當(dāng)滿足某些條件時(shí),在宏觀尺度上執(zhí)行算法,如此循環(huán)。
兩種算法各有優(yōu)缺點(diǎn)。方法一通過離線測(cè)試確定時(shí)間尺度。該方法易于執(zhí)行,但是在實(shí)際汽車行駛時(shí)會(huì)忽略電池的快速動(dòng)態(tài)變化,因此無法反映真實(shí)的電池狀態(tài)。方法二根據(jù)電池狀態(tài)的變化來改變時(shí)間標(biāo)度,以跟蹤電池的動(dòng)態(tài)響應(yīng)。但是,真正的汽車并不總是保持高功率狀態(tài)。在慢速動(dòng)態(tài)下,此方法對(duì)電池狀態(tài)的響應(yīng)不佳。
為了減少離線數(shù)據(jù)對(duì)狀態(tài)估算的影響,本文提出一種可變時(shí)間尺度擴(kuò)展卡爾曼濾波器(VEKF)。VEKF結(jié)合了以上兩種方法的優(yōu)點(diǎn),在固定的時(shí)間刻度上添加了時(shí)間尺度觀測(cè)器。由于電池的SOC在電池運(yùn)行時(shí)會(huì)發(fā)生明顯變化,因此SOC被用作可變時(shí)間尺度的判斷條件。具體方法是在離線確定的固定時(shí)間范圍內(nèi),如果SOC變化量達(dá)到閾值,則改變時(shí)間尺度。
基于二階RC模型和FFRLS方法,提出一種新型自適應(yīng)遺忘因子策略。BMS在線測(cè)量的端電壓和端電流視為電池模型的已知量,作為識(shí)別算法的輸入,同時(shí),遺忘因子根據(jù)當(dāng)前周期和先前周期的輸入之間的誤差進(jìn)行調(diào)整?;谧赃m應(yīng)識(shí)別算法,算法更快的收斂速度可以實(shí)現(xiàn)在線更新電池內(nèi)阻R0,以提高模型精度,并為下一次電池狀態(tài)估算提供依據(jù)。
二階RC模型常用于鋰電池的建模,與一階RC模型相比,二階RC模型更符合估算算法對(duì)模型高精度的要求,本文中不再贅述。如圖2所示,其中:i為負(fù)載電流;u為端電壓;R0為內(nèi)阻;R1、C1和R2、C2代表電池單元擴(kuò)散過程和電荷轉(zhuǎn)移過程;u1和u2代表R1、C1和R2、C2分支電壓,電壓源Uoc用于描述與SOC直接相關(guān)的開路電壓(Open Circuit Voltage,OCV)。
圖2 二階RC模型
根據(jù)基爾霍夫電壓和電流定律,二階RC模型的電氣特性方程由表示為:
u(k)=Uoc[SOC(k)]-u1-u2-i(k)·R0
(2)
式中:Uoc[SOC(k)]表示根據(jù)OCV-SOC曲線擬合獲得的開路電壓。
電池等效電路模型的參數(shù)辨識(shí)通過自適應(yīng)遺忘因子遞歸最小二乘法實(shí)現(xiàn)。采用遞推最小二乘方法建立電池模型狀態(tài)空間方程,參數(shù)辨識(shí)公式如下:
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是采樣時(shí)間。在FFRLS中,遺忘因子是固定的,很難適應(yīng)在線參數(shù)識(shí)別的動(dòng)態(tài)過程。當(dāng)參數(shù)誤差較大時(shí),遺忘因子會(huì)增強(qiáng)新數(shù)據(jù),導(dǎo)致無法盡快收斂以減小誤差;當(dāng)參數(shù)誤差較小時(shí),舊數(shù)據(jù)的大權(quán)重導(dǎo)致無法快速地跟蹤動(dòng)態(tài)響應(yīng)。在電池模型辨識(shí)中,遺忘因子通常取值范圍為0.95~1.00。較小的遺忘因子收斂速度較快,但在快速動(dòng)態(tài)變化下辨識(shí)結(jié)果會(huì)失真;如果遺忘因子接近1,FFRLS退化為普通的RLS,具有較高的穩(wěn)定性,但收斂速度較慢,無法快速跟蹤實(shí)際值。因此,需要根據(jù)參數(shù)誤差來自適應(yīng)地改變遺忘因子,在電池參數(shù)快速變化的情況下實(shí)現(xiàn)更快的收斂速度和較小的識(shí)別誤差。
基于以上分析,本文對(duì)FFRLS進(jìn)行了改良。改進(jìn)后的AFFRLS算法過程如下:
步驟1參數(shù)初始化,k=1,設(shè)定λmin、eN、E-1、E-2、θ0、P0初值。
步驟2數(shù)據(jù)輸入矩陣:
(6)
計(jì)算增益K:
(7)
計(jì)算輸出預(yù)測(cè)和誤差:
(8)
ek=uk-Ek
(9)
更新估計(jì)參數(shù)θ(k):
θk=θk-1+Kkek
(10)
更新協(xié)方差矩陣:
(11)
步驟3更新遺忘因子:
(12)
計(jì)算參數(shù)模型:R0、R1、C1、R2、C2
返回步驟2。
在每個(gè)算法周期中,BMS都會(huì)測(cè)量端電壓u和端電流i。根據(jù)離線擬合得到的OCV-SOC曲線,可以獲得模型開路電壓OCV。基于模型Uoc以及測(cè)得的u和i,在執(zhí)行AFFRLS之后,可以計(jì)算得到模型的R0、R1、C1、R2和C2等參數(shù)。
其中:λmin表示遺忘因子的最小值;eN表示允許的預(yù)期誤差,兩者均為固定值。當(dāng)e(k)接近eN時(shí),為了保持算法的穩(wěn)定性,λ實(shí)現(xiàn)了普通FFRLS的功能;當(dāng)e(k)接近0時(shí),μ(k)接近1,λ(k)大約為1,此時(shí),系統(tǒng)誤差很小,而較大的遺忘因子可以有效地防止誤差增加;當(dāng)e(k)接近無窮大時(shí),μ(k)接近無窮大,而λ(k)接近λmin。此時(shí),系統(tǒng)誤差較大,遺忘因子越小,收斂速度越快,誤差快速減小。
根據(jù)二階RC等效電路模型,建立離散狀態(tài)空間方程,以估算電池SOC和SOH。公式如下:
(13)
R0(k)=R0(k-1)+v(k-1)
(14)
式中:u1和u2代表R1、C1和R2、C2分支電壓;i為負(fù)載電流;QN表示電池的當(dāng)前最大容量,并且電池的最大容量會(huì)隨著電池的老化而減小;η表示電池的充放電效率;w(k-1)和v(k-1)分別表示SOC和R0的觀測(cè)誤差。用兩個(gè)離散狀態(tài)空間方程式分別估算電池的SOC和SOH。
輸出觀測(cè)模型表示為:
y(k)=Uoc[SOC(k)]-u1(k)-
u2(k)-i(k)·R0(k)
(15)
為了實(shí)現(xiàn)SOC和SOH的聯(lián)合在線估算對(duì)于鋰電池,可變時(shí)間尺度擴(kuò)展卡爾曼濾波器(VEKF)的構(gòu)造如下。
步驟2宏觀尺度EKFθ賦值。
觀測(cè)矩陣:
(16)
誤差協(xié)方差矩陣:
(17)
步驟3宏觀尺度EKFθ參數(shù)更新。
卡爾曼增益矩陣更新:
(18)
觀測(cè)矩陣更新:
(19)
誤差協(xié)方差矩陣更新:
(20)
循環(huán)l∈{1,2,…,L},計(jì)算:
步驟4微觀尺度EKFX賦值。
觀測(cè)矩陣:
(21)
誤差協(xié)方差矩陣:
(22)
步驟5微觀尺度EKFX參數(shù)更新。
卡爾曼增益矩陣更新:
(23)
觀測(cè)矩陣更新:
(24)
誤差協(xié)方差矩陣更新:
(25)
步驟6自適應(yīng)時(shí)間尺度觀察器。
If |SOCl-SOC1|≥0.3%
Break
(26)
其中:
θk=R0,k
(27)
Xk=[SOCku1,ku2,k]T
(28)
(29)
(30)
(31)
在每個(gè)算法周期中,在宏觀尺度上執(zhí)行EKFθ以實(shí)現(xiàn)電池內(nèi)阻R0的動(dòng)態(tài)更新,然后在微觀尺度上執(zhí)行AFFRLS以獲得模型參數(shù),并執(zhí)行EKFX來實(shí)現(xiàn)SOC的估算。在每次迭代中,EKFX都會(huì)檢查SOC變化是否超出閾值(本文中為0.3%),以確定是否需要執(zhí)行SOH估算。
通過實(shí)驗(yàn)數(shù)據(jù)評(píng)估了自適應(yīng)聯(lián)合在線估算方法的性能。首先,基于二階RC等效電路模型,通過動(dòng)態(tài)應(yīng)力測(cè)試(DST)條件循環(huán)數(shù)據(jù)演示并比較了FFRLS和AFFRLS的性能。最后,比較了電池SOC和SOH的三種估算算法,以評(píng)估本文提出的可變時(shí)間尺度下聯(lián)合估算算法的性能。
本文以美國DST工況為標(biāo)準(zhǔn),應(yīng)用馬里蘭大學(xué)CALCE電池研究小組的數(shù)據(jù)庫[25],獲得了電池的電壓和電流循環(huán)數(shù)據(jù)。電池的初始容量為2.45 Ah,加速老化實(shí)驗(yàn)后的電池容量為2.38 Ah,SOH約為87%。老化電池在DST循環(huán)工況下的工作電壓和電流數(shù)據(jù)如圖3所示。圖4中電池的OCV-SOC曲線通過離線擬合獲得,其他參數(shù)通過在線識(shí)別獲得。
(a)
圖4 OCV-SOC擬合曲線
根據(jù)DST工況數(shù)據(jù),分別用FFRLS和提出的AFFRLS識(shí)別模型參數(shù)。FFRLS中的遺忘因子設(shè)定為λ=0.99??紤]遺忘因子的取值范圍,通過實(shí)驗(yàn)和驗(yàn)證,在AFFRLS算法中設(shè)置λmin=0.95,eN=0.05。
圖5顯示了相對(duì)誤差分布的統(tǒng)計(jì)數(shù)據(jù),將FFLSR和AFFRLF算法獲得的端電壓的相對(duì)誤差分為十個(gè)區(qū)間,并記錄每個(gè)區(qū)間內(nèi)的點(diǎn)數(shù)??梢钥闯?在-0.5%到0.5%范圍內(nèi),AFFRLF算法記錄的點(diǎn)數(shù)比FFRLF方法要多,這意味著AFFRLF算法比原始FFRLF算法更有利于建立高精確的模型。
表1總結(jié)了兩種算法的均方根誤差(RMSE)。綜合圖5和表1可以看出,本文提出的AFFRLS算法識(shí)別的結(jié)果比原始FFRLS的結(jié)果更加精確。
表1
為了評(píng)估聯(lián)合估算算法的性能,選擇了兩種常用算法:文獻(xiàn)[21]中的FFRLS-MEKF和文獻(xiàn)[14]中的AFFRLS-DEKF,并與本文算法進(jìn)行了比較。表2總結(jié)了這項(xiàng)工作中使用的算法參數(shù),為確??杀刃?所有卡爾曼濾波器均使用相同的一組固定參數(shù)。
表2 卡爾曼濾波器的初始參數(shù)
根據(jù)三元鋰電池的特性,確定離線的固定時(shí)間尺度L=60 s,并將時(shí)間尺度閾值設(shè)置為ΔSOC=0.3%。初始SOC設(shè)置為80%,通過設(shè)定錯(cuò)誤的初始值,可以模擬現(xiàn)實(shí)情況下BMS在線獲得數(shù)據(jù)后算法的精確度和魯棒性。
圖6和圖7顯示了SOC和SOH在DST工況下的估算結(jié)果。顯然,與其他兩種聯(lián)合估算算法相比,本文提出的AFFRLS-VEKF聯(lián)合算法估算的SOC和SOH估算與參考曲線基本一致,SOC估算誤差小于0.3%,SOH估算誤差小于1.1%。FFRLS-MEKF與AFFRLS-VEKF相比,自適應(yīng)參數(shù)識(shí)別策略在微觀尺度上提高了模型參數(shù)的識(shí)別精度,從而提高了SOC的估算精度,減小了在宏觀尺度上SOC對(duì)SOH估算的影響。AFFRLS-DEKF和AFFRLS-VEKF相比,由于增加了可變時(shí)間尺度觀測(cè)器,允許SOH的估算在宏觀上保持相對(duì)穩(wěn)定的值,從而提高了算法的魯棒性。綜上所述,本文提出的自適應(yīng)聯(lián)合估計(jì)算法在高度動(dòng)態(tài)變化的復(fù)雜工況可以較快地跟蹤到真實(shí)值,并維持較高的精確度,滿足現(xiàn)實(shí)情況下對(duì)電池復(fù)雜充放電行為進(jìn)行在線估計(jì)的要求。
(a) SOC估計(jì)值
(a) SOH估計(jì)值
鋰電池在線狀態(tài)估算的仿真運(yùn)行在配置有Intel i7-8700 CPU@3.20 GHz和16 GB RAM的Windows 10計(jì)算機(jī)上。以上三種算法均在MATLAB環(huán)境下運(yùn)行。為了比較計(jì)算復(fù)雜度,每種算法執(zhí)行了100次仿真并計(jì)算了平均執(zhí)行時(shí)間。在DST工況下,如表3所示,AFFRLS-DEKF算法需要最長(zhǎng)的計(jì)算時(shí)間,而FFRLS-MEKF需要最少的計(jì)算時(shí)間。本文的自適應(yīng)聯(lián)合估計(jì)算法運(yùn)行15 000組數(shù)據(jù)點(diǎn)的平均計(jì)算時(shí)間為1.22 s,平均每組計(jì)算時(shí)間小于0.000 1 s,應(yīng)用于BMS中可以實(shí)現(xiàn)電池狀態(tài)在線估計(jì)。本文算法不僅提高了計(jì)算精度,而且提高了計(jì)算效率。這對(duì)減輕BMS硬件的計(jì)算負(fù)擔(dān)并更好地進(jìn)行電池狀態(tài)的在線估算非常重要。
表3 SOC和SOH估算結(jié)果比較
本文提出一種基于遺忘因子最小二乘和可變時(shí)間尺度擴(kuò)展卡爾曼濾波器的自適應(yīng)聯(lián)合估算算法,以在線估算鋰電池SOC和SOH。與傳統(tǒng)方法相比,本文方法可以在模型識(shí)別中獲得更好的準(zhǔn)確性,并且在狀態(tài)估算中可以更快地匹配復(fù)雜的動(dòng)態(tài)響應(yīng)?;贒ST工況數(shù)據(jù)的仿真驗(yàn)證了自適應(yīng)聯(lián)合估算算法的精確度和效率,SOC估算誤差小于0.3%,SOH估算誤差小于1.1%。下一步工作是設(shè)計(jì)電池充放電和均衡裝置,將本文算法應(yīng)用于BMS中,實(shí)現(xiàn)鋰電池充放電狀態(tài)下的電池狀態(tài)實(shí)時(shí)在線估計(jì)。