李 華,于少娟
(太原科技大學(xué) 電子信息工程學(xué)院,太原 030024)
為減少化石能源的消耗和溫室氣體的排放,電動汽車(EV,electric vehicle)越來越受人們的關(guān)注,并將成為交通能源轉(zhuǎn)型的新方向。目前,鋰電池各方面性能不理想很大程度上制約著EV的快速發(fā)展,因此,有必要對電池的能量管理系統(tǒng)進(jìn)行深入研究。電池管理系統(tǒng)(BMS,battery management system)被稱為電池的“安全管家”,可以優(yōu)化控制動力電池,保證其優(yōu)良性能,延長使用壽命[1]。作為BMS的一項核心技術(shù),荷電狀態(tài)(SOC,state of charge)表征電池的剩余電荷,可以為電池的均衡管理、熱管理、安全保護(hù)提供數(shù)據(jù)依據(jù),提高電池的安全性和使用效率。SOC精度是影響EV性能的重要因素之一,因此開發(fā)一種精確可靠的SOC算法,對電池乃至整車的能量管理都有重要意義[2]。
鋰電池內(nèi)部化學(xué)反應(yīng)機(jī)理復(fù)雜,SOC值大多是根據(jù)電池的外部特性間接獲得。目前主要有庫倫計數(shù)法,也稱作安時積分法(AH,ampere hour integral method),還有開路電壓法、神經(jīng)網(wǎng)絡(luò)法、數(shù)學(xué)模型法、卡爾曼濾波法等[3]。AH法可以用于各種類型的電池,是目前使用較多的方法。電流積分依賴于電流測量精度,測量誤差和噪聲會使誤差不斷積累,嚴(yán)重影響SOC的精度,所以這種方法通常用于實(shí)驗室離線計算[4]。開路電壓法(OCV,open circuit voltage)估計SOC需要對電池靜置一段時間,使電池內(nèi)部電荷基本達(dá)到平衡,所以該法不能滿足電動汽車在線實(shí)時估計的要求[5]。神經(jīng)網(wǎng)絡(luò)法需要大量實(shí)驗數(shù)據(jù)進(jìn)行訓(xùn)練,運(yùn)算量較大,且估算精度依賴于訓(xùn)練方法和訓(xùn)練數(shù)據(jù)。數(shù)學(xué)模型法受電池使用環(huán)境影響較大,當(dāng)使用工況變化時,需要不斷對SOC進(jìn)行校正。卡爾曼濾波法通過反復(fù)迭代運(yùn)算可以有效地解決SOC初值問題,降低累積誤差的影響,但是這種方法對電池模型的精確性要求較高,并且當(dāng)系統(tǒng)誤差協(xié)方差和觀測誤差協(xié)方差所設(shè)置的常值不合適時,卡爾曼濾波器的精確性也會受到嚴(yán)重的影響,甚至?xí)斐蒘OC估計結(jié)果的發(fā)散[6]。
針對以上方法對SOC估計精度不高且實(shí)用效果不理想等問題,本文在文獻(xiàn)[10]的基礎(chǔ)上,基于改進(jìn)的RC等效電路模型,采用了自適應(yīng)擴(kuò)展卡爾曼濾波器(AEKF,adaptive extend kalman filter),即在EKF原理的基礎(chǔ)上引入自適應(yīng)協(xié)方差匹配算法。AEKF有效解決了噪聲可變的問題,通過不斷迭代更新系統(tǒng)誤差協(xié)方差和測量噪聲協(xié)方差系數(shù),增強(qiáng)算法對復(fù)雜工況環(huán)境的適應(yīng)能力,使改進(jìn)的EKF算法對SOC的估計更加精確和穩(wěn)定,并且可以實(shí)現(xiàn)SOC初值的快速校正。
鋰電池本身復(fù)雜的動靜態(tài)特性給SOC估算帶來困難,并且卡爾曼濾波器是基于模型的算法,因此我們需要對鋰電池建立合適的等效模型。
SOC表示電池可用容量與標(biāo)稱容量的比值,理論上可通過安時積分法獲得,如式(1):
(1)
其中,SOC(t)表示電池在t時刻的瞬時SOC值;η是庫倫效率(通常在放電條件下,取η=1);SOC(0)表示電池在t=0時刻SOC的初始值;i(τ)表示電池的工作電流;QN=1/3600CN,CN表示電池的標(biāo)稱安時容量。SOC狀態(tài)方程通過對電流的積分值得到一個剩余容量占電池總?cè)萘康陌俜直?,再與SOC初值做差即可得到電池各時刻的SOC值。
電池管理系統(tǒng)開發(fā)過程中,通常建立電池的等效電路模型[7]。其中,戴維南等效電路模型的應(yīng)用最為廣泛,但由于模型參數(shù)會隨著電池運(yùn)行狀態(tài)的改變而變化,因此有必要進(jìn)一步增加模型的精度。本文考慮電池的極化特性,在戴維南等效電路模型的基礎(chǔ)上增加一個RC支路,則二階RC等效電池模型如圖1.
圖1 二階RC等效電路模型
Fig.1 Second-order RC equivalent circuit model
圖1中,R0是電池的歐姆內(nèi)阻;R1,R2,C1,C2分別表示與電池暫態(tài)響應(yīng)相關(guān)的極化電阻和極化電容;v1表示并聯(lián)R1C1支路的端電壓,v2表示并聯(lián)R2C2支路的端電壓;Eoc表示電池的電動勢,也可以表示為OCV,即電池的開路電壓,電池Eoc與SOC之間的關(guān)系表示如下:
Eoc(t)=f(SOC(t))
(2)
二者的函數(shù)關(guān)系可以根據(jù)實(shí)驗室測得的電池充放電數(shù)據(jù)進(jìn)行標(biāo)定。
根據(jù)圖1所示二階RC等效電路模型可以得出:
v0=Eoc-v1-v2-iR0
(3)
(4)
由式(1)-(4),選擇電容C1、C2上的電壓降落v1,v2和SOC作為狀態(tài)變量,可以得出電池的狀態(tài)空間模型:
(5)
v0=Eoc-v1-v2-iR0
(6)
式中,狀態(tài)變量為:
控制變量為u(t)=i;輸出變量為y(t)=v0.
由于Eoc與SOC具有高階非線性關(guān)系,所以使得輸出方程(6)是非線性方程。將式(5)進(jìn)行離散化可得:
其中,Δt表示采樣周期。
基于以上二階RC電池模型,通過實(shí)驗室電池充放電實(shí)測數(shù)據(jù)對電池模型的參數(shù)進(jìn)行辨識。
1.3.1 OCV與SOC的標(biāo)定
OCV-SOC是一條很重要的曲線,在以上等效電路模型的電壓輸出方程中,由式(2)可以根據(jù)瞬時SOC(t)確定開路電壓OCV(即Eoc),從而計算出電池端電壓的預(yù)測值v0.另外,電動汽車運(yùn)行一段時間后,在車輛靜置再啟動前,BMS也會調(diào)用該曲線,對SOC值進(jìn)行一次校正,并通過一定的算法和其他校正系數(shù)得到一個SOC初值的更新[8]。因此,OCV-SOC曲線的準(zhǔn)確性非常重要,可能直接關(guān)系到SOC的估計精度。
通常采用對電池進(jìn)行充放電測試的方法來確定OCV與SOC二者之間的關(guān)系。本文采用的是A123公司的26650型號磷酸鐵鋰電池模塊,標(biāo)稱容量為23 Ah,額定電壓3.3 V,充電截止電壓3.8 V,最小放電截止電壓2 V.本文通過電池充放電靜置實(shí)驗法來確定鋰離子電池OCV-SOC曲線的函數(shù)關(guān)系。首先進(jìn)行充電測試,從SOC為0開始以C/2的充電倍率充電5 min,然后靜置45 min,使電池內(nèi)部化學(xué)反應(yīng)幾乎達(dá)到穩(wěn)定狀態(tài),測量電池開路電壓,重復(fù)以上過程,直到SOC達(dá)到100%.放電測試是從SOC為100%開始,然后以1C放電倍率放電5 min,然后靜置45 min之后,測量電池開路電壓,重復(fù)以上過程,直到SOC為0.鋰電池在充放電過程中存在滯回特性,即同一SOC點(diǎn)在充電和放電過程中所測得的開路電壓有所差異,但本文忽略其影響,取二者的平均值。經(jīng)Matlab濾波處理后OCV與SOC的關(guān)系曲線如圖2所示。
圖2 OCV-SOC關(guān)系曲線
Fig.2 OCV-SOC relationship curve
基于非線性最小二乘原理,在Matlab中調(diào)用lsqcurvefit函數(shù),對實(shí)驗數(shù)據(jù)進(jìn)行非線性擬合,得OCV-SOC的多項式函數(shù)關(guān)系,如式(7):
Eoc=a2SOC2+a1SOC+a0
(7)
其中,a0=3.0627,a1=0.0202,a2=-0.005.
1.3.2 RC模型參數(shù)辨識
RC并聯(lián)支路反映電池暫態(tài)響應(yīng)特性,通常采用脈沖放電測試法,利用所測電壓電流數(shù)據(jù)對電池等效電路模型的RC參數(shù)進(jìn)行辨識。實(shí)驗脈沖電流i(t)測試工況與電池端電壓v(t)的采集數(shù)據(jù)如圖3、圖4.電池在每一個周期進(jìn)行一次脈沖放電,持續(xù)10 s,脈沖放電電流達(dá)到27 A,然后靜止2 min,以保證電池在下一個周期到來時電池內(nèi)部電荷基本達(dá)到平衡。通過這種方法,可以很好地獲取電池的動態(tài)和穩(wěn)態(tài)性能,實(shí)現(xiàn)電池參數(shù)的精確辨識。
圖3 脈沖放電電流
Fig.3 Pulse discharge current profile
圖4 電池端電壓
Fig.4 Battery terminal voltage profile
在Matlab環(huán)境下,利用最小二乘法對電池模型參數(shù)進(jìn)行辨識,使電池模型的輸出電壓匹配實(shí)驗室實(shí)測的電壓值。
二階RC模型的參數(shù)辨識結(jié)果如表1所示:
表1 二階RC鋰電池模型參數(shù)
Tab.1 Second order RC Lithium battery parameters
R0(Ω)R1(Ω)R2(Ω)C1(F)C2(F)0.02150.07360.0931681458279
為驗證電池模型的有效性,通常需要設(shè)置一電池測試工況。本文選用圖3所示已經(jīng)測試好的工況,對以上所建立的等效電路模型進(jìn)行有效性驗證。
圖5 模型輸出電壓與參考電壓的誤差
Fig.5 Voltage error between model output voltage and reference voltage
采集仿真模型的輸出電壓,并與圖4所示的電池實(shí)測電壓參考值進(jìn)行對比,通過圖5所示的電壓誤差曲線可得,模型的輸出誤差在0.2 V范圍之內(nèi),滿足實(shí)際要求,即表明上文建立的二階RC電池模型可以很好地反映真實(shí)電池的動靜態(tài)特性。
卡爾曼濾波器(KF,kalman filter)是一種基于最優(yōu)濾波原理反復(fù)迭代更新系統(tǒng)狀態(tài)變量的技術(shù),是一種是遞歸估計器,即利用前一時間步長的預(yù)測狀態(tài)和當(dāng)前傳感器測量值來計算該時刻狀態(tài)的最優(yōu)估計,被廣泛應(yīng)用于目標(biāo)跟蹤、全球定位、空間導(dǎo)航、軍事等技術(shù)領(lǐng)域[9]。擴(kuò)展卡爾曼濾波(EKF,extend kalman filter)是KF在非線性系統(tǒng)中的應(yīng)用,基于離散化的線性動態(tài)系統(tǒng),在每一個采樣區(qū)間,通過一階泰勒級數(shù)將非線性模型進(jìn)行線性化近似,此過程雖然舍棄了高階項,但實(shí)踐證明EKF可以達(dá)到很好的估計效果[10]。將EKF技術(shù)應(yīng)用到對鋰電池SOC的預(yù)測當(dāng)中,可以有效抑制測量誤差和噪聲,減輕對SOC初值的依賴。
將式(5)、(6)中電池等效電路模型的狀態(tài)空間方程寫成一般形式:
xk+1=f(xk,uk)+wk
(8)
yk=g(xk,uk)+vk
(9)
其中wk與vk是相互獨(dú)立,且滿足正態(tài)概率分布的白噪聲,即
(10)
式中,Qk,Rk分別表示系統(tǒng)噪聲協(xié)方差矩陣和測量誤差協(xié)方差矩陣。設(shè)f(xk,uk),g(xk,uk)在所有運(yùn)行點(diǎn)處都是可微的,通過泰勒級數(shù)將其進(jìn)行線性化處理,
(11)
(12)
將式(11)、(12)代入到式(8)、(9)中,即得到描述非線性系統(tǒng)的線性化方程:
(13)
EKF通過一系列反饋控制實(shí)現(xiàn)狀態(tài)的最優(yōu)估計,具體可以分成兩個過程:時間更新和量測更新。時間更新用于預(yù)測當(dāng)前狀態(tài)及其誤差協(xié)方差,以獲得最優(yōu)估計狀態(tài)的先驗估計;量測更新用于反饋校正,基于測量值獲得一個改進(jìn)的后驗估計,實(shí)現(xiàn)傳感器測量值與模型輸出值之間的最佳折中,從而獲得最好的狀態(tài)估計[11]。
定義狀態(tài)向量矩陣:
(14)
(15)
在k=0時刻進(jìn)行初始化:
(16)
(17)
以上循環(huán)迭代計算步驟分為五步:
(1)狀態(tài)估計時間更新:
(18)
(2)狀態(tài)估計誤差協(xié)方差時間更新:
(19)
(3)卡爾曼濾波增益更新:
(20)
(4)狀態(tài)估計的量測更新:
(21)
(5)誤差協(xié)方差量測更新:
在進(jìn)行EKF迭代計算時,測量誤差和系統(tǒng)噪聲的協(xié)方差很難獲得,通常預(yù)先設(shè)定為一個常數(shù),但實(shí)際應(yīng)用當(dāng)中一般均為時變的動態(tài)系統(tǒng),EKF的估計精度會受到較大影響,惡劣的工況條件甚至?xí)?dǎo)致濾波器的不收斂[12]。因此,為了改進(jìn)濾波效果,本文將自適應(yīng)協(xié)方差匹配算法與EKF結(jié)合,算法通過對系統(tǒng)噪聲協(xié)方差和測量誤差協(xié)方差的實(shí)時更新,可以有效解決Qk,Rk參數(shù)設(shè)置不合理所造成的SOC偏差。
引入自適應(yīng)協(xié)方差匹配算法(AEKF,adaptive extend kalman filter)的主要目的就是為系統(tǒng)提供最新的測量誤差協(xié)方差和系統(tǒng)噪聲協(xié)方差,從而有效地計算更新當(dāng)前的EKF濾波增益,實(shí)現(xiàn)系統(tǒng)的快速收斂以及狀態(tài)變量的最優(yōu)預(yù)測,使SOC預(yù)測值更加精確。
(23)
(24)
(25)
其中,Hk是基于開窗估計原理得到的ek的協(xié)方差函數(shù);M表示開窗的大小,即累計新息的數(shù)量,為避免計算量太大,本文取前三次的差值進(jìn)行計算,即M=3;Lk為增益矩陣。基于AEKF算法實(shí)現(xiàn)SOC估計的流程圖如6所示。
圖6 AEKF算法的實(shí)現(xiàn)
Fig.6 Implementation flowchart of the AEKF algorithm
以上AEKF算法對電池SOC的預(yù)測過程可以簡述為:利用庫倫計數(shù)法遞推SOC值,然后代入到電池模型的觀測方程中,預(yù)測電池的輸出電壓,同時計算EKF的增益Lk,它反映了殘差ek作用于狀態(tài)變量SOC的權(quán)重,最后由狀態(tài)估計觀測更新方程得到SOC的最優(yōu)估計。這種方法克服了安時積分法的累積誤差,同時在算法中考慮了噪聲和誤差的影響,改進(jìn)了EKF算法對不確定擾動的適應(yīng)能力,實(shí)現(xiàn)了對SOC狀態(tài)的閉環(huán)估計。
實(shí)驗?zāi)繕?biāo)電池采用的是A123公司的26650型號磷酸鐵鋰電池模塊,技術(shù)參數(shù)同第一節(jié)所述。在Matlab/simulink環(huán)境下建立AEKF 算法的仿真模型,以兩段恒流放電實(shí)驗數(shù)據(jù)和Advisor下UDDS測試工況的充放電數(shù)據(jù)作為輸入,對所提算法進(jìn)行相應(yīng)的仿真分析,并分別與應(yīng)用AH法和EKF法的仿真結(jié)果進(jìn)行了對比分析。其中,測量誤差協(xié)方差的初值R0設(shè)定為1000,系統(tǒng)噪聲協(xié)方差Q的初值設(shè)定:
(26)
狀態(tài)估計誤差協(xié)方差P的初值設(shè)定:
(27)
電池的恒流工況特性關(guān)系電池的倍率特性和溫度特性,是研究電池非常重要的特性之一。因此,為驗證AEKF算法是否可行有效,首先要在恒流工況下對電池的SOC進(jìn)行估計。圖7表示實(shí)驗室電池放電電流測試工況,0-1800 s期間進(jìn)行24 A恒流放電,1800-2700 s期間進(jìn)行48 A恒流放電。將實(shí)時采集的電壓電流實(shí)驗數(shù)據(jù)導(dǎo)入到Matlab中,然后分別應(yīng)用AH法和AEKF算法對SOC進(jìn)行估計,仿真結(jié)果如圖8所示。
圖7 兩段恒流放電電流工況
Fig.7 Two-stage constant discharge current profile
由圖8所示仿真結(jié)果可得,AH法的SOC估計曲線逐漸偏離參考值,估計誤差誤逐漸增大,如圖9所示。說明AH法的估算過程存在累計誤差,若不進(jìn)行校正,隨著時間得推移,SOC的估計效果會越來越差。另外,為驗證AEKF算法對SOC參考值的快速跟蹤性能,在仿真時將SOC初值設(shè)為70%(實(shí)際電池為完全充滿電的狀態(tài),即SOC初值的參考值為100%),從圖8可以看出,AEKF算法大約在200s內(nèi)就可以完成對SOC初值的校正,并且在之后的仿真過程中可以對SOC參考值準(zhǔn)確地跟蹤,克服了AH法由于累計誤差所產(chǎn)生的影響。AEKF估計誤差如圖10所示,平均誤差小于2.4%,滿足實(shí)際應(yīng)用要求,說明該算法具有可行性。
圖8 AH和AEKF算法的SOC估計曲線
Fig.8 Battery SOC estimation comparison based on AH and AEKF
圖9 AH算法的SOC估計誤差曲線
Fig.9 SOC estimation error curves with AH
圖10 AEKF算法的SOC估計誤差曲線
Fig.10 SOC estimation error curves with AEKF
為驗證復(fù)雜電流波動條件下AEKF算法對SOC的估計效果,本文采用高級汽車仿真器Advisor(Advanced Vehicle Simulator)提供的UDDS工況對AEKF算法進(jìn)行仿真驗證。UDDS工況是一種可以模擬城市道路中電動汽車頻繁啟停的城市循環(huán)工況,廣泛用于汽車整車性能測試,控制策略評估等,是一種很重要的測試工況。
圖11表示UDDS的車速工況,EV在測試過程中總停車17次,共行駛1369 s,行駛距離7.45 km,最大車速56.7 km/h,最低車速19.58 km/h,最大加速度4.84 m/s2,怠速時間259 s.圖12表示UDDS循環(huán)工況下對應(yīng)的電流工況,反映了鋰電池在不同速度工況下電流的變化情況。隨著汽車的頻繁啟停,電流值變化頻繁且變化幅度很大,加速過程中產(chǎn)生的最大放電電流可達(dá)110 A,EV在制動過程中,最大再生充電電流可達(dá)23.9 A.
圖11 UDDS工況下的速度曲線
Fig.11 Speed curve based on UDDS drive cycle test
圖12 UDDS工況下的電池電流
Fig.12 Battery current profile based on UDDS drive cycle test
將UDDS工況下電動汽車鋰電池組的電流、電壓數(shù)據(jù)導(dǎo)入到在Matlab中,分別應(yīng)用EKF和AEKF算法對電池的SOC進(jìn)行估計,最后將所得的估計結(jié)果與Advisor提供的參考SOC值進(jìn)行比較,實(shí)驗仿真對比如圖13,SOC估計誤差如圖14、15所示。
由圖13可得,由于UDDS工況下電流波動較大,EKF算法的估計誤差明顯偏大,最大時可達(dá)到5.1%.而AEKF算法的估計效果較好,估計誤差在2.1%以內(nèi)。相比EKF算法,AEKF無論是在收斂速度還是跟蹤性能上都具有很大的優(yōu)勢,估計效果明顯優(yōu)于EKF,也說明通過新息序列不斷更新測量誤差協(xié)方差和系統(tǒng)噪聲協(xié)方差,可以增強(qiáng)AEKF算法在復(fù)雜工況條件下對不確定擾動的適應(yīng)能力。
圖13 EKF和AEKF的SOC估計曲線
Fig.13 Battery SOC comparison based on EKF and AEKF
圖14 EKF算法的SOC估計誤差曲線
Fig.14 SOC estimation error curves with EKF
圖15 AEKF算法的SOC估計誤差曲線
Fig.15 SOC estimation error curves with AEKF
針對電動汽車BMS的SOC估計問題,本文提出了一種較實(shí)用的自適應(yīng)擴(kuò)展卡爾曼濾波算法。首先,建立二階RC等效電池模型,辨識模型參數(shù),并通過仿真實(shí)驗,驗證了所建立的電池模型可以很好地模擬目標(biāo)電池的動靜態(tài)工作特性。然后,介紹EKF和自適應(yīng)協(xié)方差匹配算法,對AEKF算法實(shí)現(xiàn)SOC估計的過程進(jìn)行了理論推導(dǎo)。最后,設(shè)置仿真實(shí)驗,通過對比分析,驗證以上SOC估計策略的可行性和精確性。實(shí)驗結(jié)果表明,AEKF算法可以根據(jù)誤差和噪聲的變化自動調(diào)整卡爾曼濾波增益,對白噪聲和誤差具有很強(qiáng)的抑制能力,使SOC估計更加穩(wěn)定精確,適合對工況復(fù)雜的電動汽車鋰電池進(jìn)行SOC估計。