王海龍,左付山,張 營(yíng)
(南京林業(yè)大學(xué)汽車(chē)與交通工程學(xué)院,江蘇 南京 210037)
荷電狀態(tài)(state of charge,SOC)反映電池的剩余容量,是電池的剩余容量與電池容量的比值。對(duì)于純電動(dòng)汽車(chē)的電池管理系統(tǒng)(battey management system,BMS)來(lái)說(shuō),SOC 是重要的參數(shù)之一。對(duì)電池SOC 進(jìn)行準(zhǔn)確的估算,不僅可以提高電池系統(tǒng)的安全性,避免電池過(guò)充、過(guò)放,也有利于優(yōu)化后續(xù)的管理與控制。同時(shí),SOC 的實(shí)時(shí)估算也直接影響到電動(dòng)汽車(chē)的整車(chē)控制與性能。然而,電池SOC 受溫度、充放電率、自放電、老化等影響,很難直接通過(guò)傳感器測(cè)量得到。其需要通過(guò)采集到電池的電壓、電流作為基礎(chǔ)參數(shù),然后使用一些算法間接計(jì)算。SOC 估計(jì)必須快速、可靠、準(zhǔn)確,以保證BMS 的高性能。但是由于電池復(fù)雜的內(nèi)部化學(xué)反應(yīng),使得電池SOC 的準(zhǔn)確估計(jì)具有一定的困難和挑戰(zhàn)。
目前,常用的SOC 估算方法[1-2]主要有安時(shí)積分法[3]、開(kāi)路電壓法[4]、卡爾曼濾波(Kalman filter,KF)法、機(jī)器學(xué)習(xí)方法[5-6]以及組合算法[7-8]。在這些算法中,卡爾曼濾波法不僅可以給出SOC 的估計(jì)值,還能給出SOC 的估計(jì)誤差。同時(shí),它具有收斂快、估算精度高、對(duì)SOC 初值不敏感等優(yōu)點(diǎn),因而得到廣泛研究。
利用卡爾曼濾波法進(jìn)行電池SOC 估算[9],主要包括3 個(gè)步驟:電池模型的建立、狀態(tài)空間方程的離散化及參數(shù)辨識(shí)、卡爾曼濾波算法估算。電池模型的建立是卡爾曼濾波估算SOC 的首要步驟,可以模擬復(fù)制電池各種復(fù)雜的性能并輸出相應(yīng)的物理參數(shù)。因此,具有高可靠性和精度的電池模型是SOC 估算的基礎(chǔ)和關(guān)鍵。
在電池的SOC 估算中,電池模型主要可以分為[10]:電化學(xué)模型(electrochemical model,ECM)、電等效電路模型(electrical equivalent circuit model,EECM)[11]、電化學(xué)阻抗模型(electrochemical impedance model,ECIM) 和數(shù)據(jù)驅(qū)動(dòng)模型(data-driven model,DDM)[12-13]。其中,EECM 應(yīng)用較多,更適合卡爾曼濾波算法SOC 估算,并且可實(shí)現(xiàn)電池模型精度與復(fù)雜度之間的平衡。
EECM 利用電感、電阻及電容等等效電器元件模擬電池的輸出特征,不僅能較好地體現(xiàn)電池靜態(tài)和動(dòng)態(tài)特性,而且便于分析應(yīng)用,通用性好。電等效電路模型包括Rint 模型、Randles 模型和nRC 模型3 種[10]。
Rint 模型是一種簡(jiǎn)單的EECM,如圖1 所示。

圖1 Rint 模型Fig.1 Rint Model
Rint 模型通過(guò)用一個(gè)理想的電壓源UOC和電池直流內(nèi)阻RO串聯(lián)在一起,描述動(dòng)力電池的動(dòng)態(tài)特性。此模型結(jié)構(gòu)比較簡(jiǎn)單、易于實(shí)現(xiàn),但模型精度低,且不能描述動(dòng)力電池內(nèi)部的極化現(xiàn)象,同時(shí)也忽視了鋰離子電池的遲滯效應(yīng)。
Randles 模型最初被用于模擬鉛酸蓄電池的各種特性,而后也應(yīng)用于鋰電池。Randles 模型如圖2 所示。圖2 中,CP為電池的儲(chǔ)能電容,并行組合的Cn和Rn模擬電池的電化學(xué)極化反應(yīng);RO為內(nèi)部電阻,RP為自放電電阻,模擬自放電特性。在此模型的基礎(chǔ)上,可以加入n個(gè)平行RC 支路來(lái)分析更多的瞬態(tài)響應(yīng)[14]。

圖2 Randles 模型Fig.2 Randles Model
nRC 模型主要由一個(gè)內(nèi)部電阻(RO)和n個(gè)平行RC 分支組成。串聯(lián)的RC 分支的數(shù)量可以從1 到n。對(duì)SOC 進(jìn)行估算時(shí),為了既考慮模型的精度又考慮復(fù)雜度,通常取n為1 或2。1RC 模型也被稱(chēng)為T(mén)hevenin模型。1RC 模型是在Rint 模型基礎(chǔ)上,添加了一個(gè)并聯(lián)RC 分支來(lái)描述電池充放電過(guò)程中的動(dòng)態(tài)和瞬態(tài)響應(yīng)。
Thevenin 模型如圖3 所示。

圖3 Thevenin 模型Fig.3 Thevenin Model
在1RC 模型的基礎(chǔ)上,電容Cb再與電阻RO串聯(lián),就可以構(gòu)成新一代汽車(chē)合作伙伴關(guān)系(partnership for a new generation of vehicles,PNGV)模型。PNGV 模型如圖4 所示。

圖4 PNGV 模型Fig.4 PNGV Model
該模型既可以通過(guò)電阻Rp和電容CP來(lái)描述鋰離子電池的極化效應(yīng),也可以模擬SOC 變化對(duì)OCV 的影響。2RC 模型是一種用于SOC 估算的高度首選等效電路模型。與1RC 模型相比,2RC 模型精度更高。它由2 個(gè)RC 分支組成,其中:RP1和CP1用于描述鋰離子電池的電化學(xué)極化反應(yīng);RP2和CP2用于描述電池的濃差極化反應(yīng)。2RC模型如圖5 所示。

圖5 2RC 模型Fig.5 2RC Model
基于卡爾曼濾波算法估算SOC 中,考慮到電池模型的復(fù)雜程度以及精度,Thevenin 模型、PNGV 模型、2RC 模型應(yīng)用較為廣泛。文獻(xiàn)[14]以2RC 模型為基礎(chǔ),估算電池SOC。該模型對(duì)于電池的3 種特性(電化學(xué)極化反應(yīng)、歐姆極化反應(yīng)、濃差極化反應(yīng))都進(jìn)行了考慮。相比于1RC 模型,基于2RC 模型估算電池的SOC 精度更高、誤差更小。
在電池模型建立后,首先根據(jù)基爾霍夫定律建立等效電路的狀態(tài)空間方程。狀態(tài)空間方程中包括2 個(gè)方程,分別為狀態(tài)方程、觀測(cè)方程。然后需要將狀態(tài)方程和觀測(cè)方程進(jìn)行離散化處理。離散化方法主要包括解析法、有限差分、有限元、微分求積等。將狀態(tài)方程和觀測(cè)方程離散化的目的是為之后利用卡爾曼濾波算法估算SOC 作好準(zhǔn)備。
步驟二是對(duì)鋰電池的等效電路模型進(jìn)行參數(shù)辨識(shí)。參數(shù)辨識(shí)的目的是獲得電池模型的參數(shù),包括電阻(RO、RP1、RP2),電容(CP1、CP2),開(kāi)路電壓(UO)等。電池模型參數(shù)可通過(guò)在線和離線2 種方式獲取。離線的參數(shù)辨識(shí)方法通常是利用試驗(yàn)與計(jì)算的方法,獲取不同SOC 狀態(tài)下電池模型的各個(gè)參數(shù)值。試驗(yàn)的方法主要是脈沖放電方法。其計(jì)算簡(jiǎn)單、容易實(shí)現(xiàn),但只能用于離線的參數(shù)估計(jì),具有一定的局限性。同時(shí),離線的參數(shù)辨識(shí)無(wú)法對(duì)所有電池都做這樣的工作,因此辨識(shí)的電池參數(shù)應(yīng)用在其他未進(jìn)行辨識(shí)的同類(lèi)電池時(shí)并不十分準(zhǔn)確,適應(yīng)性較差。對(duì)于已經(jīng)建立的2RC 模型,文獻(xiàn)[15]采用脈沖放電法對(duì)電池模型中的參數(shù)進(jìn)行了辨識(shí),最終得到了在不同SOC 下的各個(gè)參數(shù)大小。
在線參數(shù)辨識(shí)法主要是通過(guò)動(dòng)態(tài)規(guī)劃的方法,使用實(shí)時(shí)獲取的、電池目前和過(guò)去的輸入/輸出數(shù)據(jù),求得電池模型的參數(shù)。目前常用的參數(shù)辨識(shí)方法是基于遞推最小二乘法、遺傳算法等。這些方法都采用遞推的在線參數(shù)辨識(shí)方法。由于計(jì)算機(jī)不需要存儲(chǔ)和重復(fù)計(jì)算以往的全部輸入/輸出數(shù)據(jù),因而對(duì)于計(jì)算機(jī)存儲(chǔ)及計(jì)算能力要求較低。在這些算法中,遞推最小二乘法用于使在線參數(shù)辨識(shí)更為廣泛。文獻(xiàn)[16]、文獻(xiàn)[17]在2RC 模型的基礎(chǔ)上,提出了通過(guò)遞推最小二乘法對(duì)電池模型參數(shù)進(jìn)行在線參數(shù)辨識(shí)。它無(wú)需存儲(chǔ)全部數(shù)據(jù),只需要一組觀測(cè)數(shù)據(jù),就可估計(jì)一次參數(shù)。對(duì)于參數(shù)在線實(shí)時(shí)辨識(shí),相比較離線辨識(shí)方法,遞推最小二乘法更有利于提高SOC 估算精度。
卡爾曼濾波算法的基本原理是利用先前估計(jì)的狀態(tài)和當(dāng)前測(cè)量信號(hào)遞推估計(jì)當(dāng)前狀態(tài)。最初應(yīng)用的是線性卡爾曼濾波算法。但是為了提高估算精度、解決非線性系統(tǒng)的問(wèn)題,非線性卡爾曼濾波算法被提出。
利用卡爾曼濾波算法估算SOC,首先需要根據(jù)電池模型建立狀態(tài)方程以及觀測(cè)方程,并通過(guò)變換使其離散化;然后將SOC 估算值作為內(nèi)部的系統(tǒng)狀態(tài),利用前一時(shí)刻的SOC 估算值來(lái)預(yù)測(cè)這一時(shí)刻的SOC 估算值,并結(jié)合目前觀測(cè)到的電池參數(shù)進(jìn)行最優(yōu)SOC 估算值的更新。不斷重復(fù)上述步驟,最終得到各個(gè)時(shí)刻SOC 的最優(yōu)估計(jì)值。卡爾曼濾波算法主要包括2 個(gè)部分:時(shí)間更新方程、測(cè)量更新方程。時(shí)間更新方程的主要作用是預(yù)測(cè),即通過(guò)(k-1)時(shí)刻SOC 估算值預(yù)估k時(shí)刻的SOC 值。測(cè)量更新方程的作用是根據(jù)當(dāng)前實(shí)際測(cè)量情況對(duì)上述估計(jì)值進(jìn)行更新,得到最優(yōu)估計(jì)值。
卡爾曼濾波算法流程如圖6 所示。

圖6 卡爾曼濾波算法流程圖Fig.6 Kalman filter algorithm flowchart
由于電池在實(shí)際情況下是非線性的,為了提高SOC 估算精度,有必要建立非線性的狀態(tài)空間方程。為了解決利用非線性的狀態(tài)空間方程進(jìn)行SOC 估算的問(wèn)題,研究人員提出了非線性卡爾曼濾波算法。它主要分為3 大類(lèi):擴(kuò)展卡爾曼(extended Kalman filter,EKF)、無(wú)跡卡爾曼(unscented Kalman filter,UKF)和立方卡爾曼(cubature Kalman filter,CKF)。
4.2.1 EKF 算法
上述利用線性卡爾曼濾波進(jìn)行SOC 估算的方法,其電池模型的狀態(tài)方程和觀測(cè)方程是線性的。然而動(dòng)力鋰電池在實(shí)際工況下是非線性的。電池SOC 同放電倍率、實(shí)際容量以及溫度等諸多因素成非線性的關(guān)系,會(huì)導(dǎo)致開(kāi)路電壓誤差的積累。因此,需要對(duì)KF 算法進(jìn)行擴(kuò)展。在EKF 算法中,狀態(tài)方程和觀測(cè)方程是非線性的,所以需要通過(guò)泰勒公式的一階展開(kāi):用其一階量對(duì)非線性系統(tǒng)進(jìn)行近似,將非線性的狀態(tài)方程和觀測(cè)方程線性化后,再利用卡爾曼濾波進(jìn)行SOC 估算。文獻(xiàn)[18]、文獻(xiàn)[19]在KF 算法的基礎(chǔ)上提出了EKF 算法,并且對(duì)比了KF 算法和EKF 算法估算電池荷電狀態(tài)的試驗(yàn)結(jié)果。試驗(yàn)結(jié)果表明,EKF 算法SOC估算方法能夠把誤差控制在5%以?xún)?nèi),估算精度更高。
由于在EKF 算法中,固定測(cè)量噪聲協(xié)方差(R)和過(guò)程噪聲協(xié)方差(Q)的假設(shè)降低了估計(jì)精度,所以引進(jìn)了自適應(yīng)擴(kuò)展卡爾曼濾波算法(adaptive extended Kalman filter,AEKF)[20]。AEKF 在估計(jì)方法中加入了自適應(yīng)更新協(xié)方差矩陣的特征,克服了誤差發(fā)散和有偏解的問(wèn)題。文獻(xiàn)[21]在EKF 算法中引入了Sage-Husa 自適應(yīng)算法,對(duì)噪聲進(jìn)行實(shí)時(shí)預(yù)測(cè)和修正。試驗(yàn)結(jié)果表明,相比EKF 算法估算電池SOC,應(yīng)用AEKF算法估算電池SOC 的收斂速度更快、魯棒性更好、精度更高。
4.2.2 UKF 算法
EKF 算法在線性化過(guò)程中由于忽略了高階項(xiàng),會(huì)使系統(tǒng)產(chǎn)生較大誤差,導(dǎo)致估算精度下降;同時(shí),狀態(tài)空間方程的線性化是在先驗(yàn)均值附近進(jìn)行的,那么在真實(shí)后驗(yàn)擴(kuò)展中可能會(huì)出現(xiàn)顯著的誤差。為了彌補(bǔ)EKF 算法的不足,研究人員又提出了UKF 算法。
UKF 算法[22-23]是將標(biāo)準(zhǔn)KF 算法與無(wú)損變換(unscented transform,UT)相結(jié)合的一類(lèi)非線性卡爾曼濾波算法。它通過(guò)UT 變換,使非線性系統(tǒng)方程適用于線性假設(shè)下的標(biāo)準(zhǔn)KF 算法。文獻(xiàn)[24]首先分析了EKF 算法在估算中精度不高的原因,然后提出了能克服上述缺點(diǎn)的UKF 算法。試驗(yàn)結(jié)果表明,無(wú)跡卡爾曼濾波算法估算電池SOC 能將誤差控制得更小(遠(yuǎn)遠(yuǎn)小于EKF 的4%),并且提高了估算精度。同EKF 一樣,為了克服過(guò)程噪聲和測(cè)量噪聲的均值和協(xié)方差對(duì)于SOC 估計(jì)精度的影響,也需要將Sage-Husa 濾波等算法與UKF 算法相結(jié)合,得到自適應(yīng)無(wú)跡卡爾曼濾波算法(adaptive unscented Kalman filter,AUKF)[25]。
4.2.3 CKF 算法
EKF 算法和UKF 算法具有發(fā)散性和維數(shù)性。為了解決這些問(wèn)題,研究人員又提出了CKF 算法[26-27]。該算法的核心是球面徑向容積準(zhǔn)則。采用CKF 算法進(jìn)行SOC 估計(jì),并將結(jié)果與EKF 算法和UKF 算法進(jìn)行性能比較。結(jié)果表明,與EKF 算法相比,CKF 算法具有更高的計(jì)算精度和更長(zhǎng)的計(jì)算時(shí)間。為了提高CKF 算法的性能,再次提出了一種新的自適應(yīng)容積卡爾曼濾波(adaptive cubature Kalman filter,ACKF)算法,并將其與CKF 算法、EKF 算法進(jìn)行了性能比較。對(duì)比結(jié)果表明,雖然ACKF 算法的計(jì)算時(shí)間超過(guò)了CKF 算法和EKF 算法,但ACKF 算法的精度最高、收斂速度最小,對(duì)測(cè)量誤差具有很強(qiáng)的魯棒性。
本文論述了卡爾曼濾波算法估算電池SOC 的主要步驟及原理,分析了不同電池模型以及卡爾曼濾波算法應(yīng)用的優(yōu)缺點(diǎn)。通過(guò)上述研究與分析,基于卡爾曼濾波算法進(jìn)行SOC 估算仍然有很多需要進(jìn)一步研究的問(wèn)題:第一是引進(jìn)先進(jìn)的電池模型,能更加全面、準(zhǔn)確地模擬電池各種特性以及不確定性,并降低其復(fù)雜度,使實(shí)用性更強(qiáng);第二是卡爾曼算法應(yīng)與其他算法結(jié)合使用估算SOC,不僅可以降低整體計(jì)算量,也可以起到優(yōu)勢(shì)互補(bǔ)的作用;第三就是選擇更準(zhǔn)確的適用于電池模型的在線參數(shù)辨識(shí)方法,從而減小估算誤差。