王志福, 劉兆健, 李仁杰
(1.北京電動車輛協(xié)同創(chuàng)新中心,北京 100081;2.北京理工大學(xué) 電動車輛國家工程實驗室,北京 100081)
電池模型的參數(shù)辨識是SOC估計的基礎(chǔ). 目前主流的參數(shù)辨識方法可以分為兩類:離線參數(shù)辨識方法和在線參數(shù)辨識方法. 因為電池參數(shù)對電池的狀態(tài)非常敏感,所以當(dāng)電池的老化或工作狀態(tài)發(fā)生改變時,離線參數(shù)辨識方法的估計精度就會下降. 在線參數(shù)辨識方法可以利用實時測量的電壓和電流數(shù)據(jù)來計算模型的參數(shù),還可以利用荷電狀態(tài)的估計結(jié)果為荷電狀態(tài)估計算法提供反饋,從而實現(xiàn)參數(shù)辨識與狀態(tài)估計的閉環(huán)估計系統(tǒng),進(jìn)而可以針對電池不同的老化情況和工作狀態(tài),實現(xiàn)準(zhǔn)確的預(yù)測性能[1-2].
帶遺忘因子的遞推最小二乘法(RLS)是最常用的在線參數(shù)辨識方法,但是在實際使用中,帶有有色噪聲的系統(tǒng)輸入信息會導(dǎo)致RLS的辨識結(jié)果是有偏的,這會降低模型的準(zhǔn)確性[3-4],為了克服這一局限性,應(yīng)用BCRLS進(jìn)行模型的在線參數(shù)辨識,從而抑制有色噪聲對參數(shù)辨識結(jié)果的干擾.
本文在上述研究的基礎(chǔ)上,選擇3.7 V / 2.4 A·h LiB作為研究對象. 基于Thevenin模型,將BCRLS方法與AEKF算法相結(jié)合,用于估計電池的參數(shù)和SOC. 它可以根據(jù)噪聲信息自適應(yīng)修改狀態(tài)估計值. 利用仿真實驗與硬件在環(huán)實驗對算法進(jìn)行驗證,結(jié)果表明算法具有較高的精度和較強(qiáng)的魯棒性,明顯地提高了對有色噪聲數(shù)據(jù)的估計效果.
綜合考慮了電池模型精度、參數(shù)識別復(fù)雜程度、可操作性等多個因素后[5],本文選用了Thevenin模型作為電池模型,如圖1所示.
結(jié)合圖1和基爾霍夫電壓和電流定律,取放電為正,并以模型中極化電壓Up為狀態(tài)建立Thevenin模型,可得出:
(1)
式中:Ut為電池端電壓;Uoc為電池開路電壓;I為電流(取放電電流為正);RO為歐姆內(nèi)阻;Rp和Cp分別為極化內(nèi)阻和極化電容.
① 獲取SOC-OCV曲線. 選取SOC從0~100%的11個點(diǎn)作為標(biāo)定點(diǎn). 分別擬合電池充放電的SOC-OCV曲線,并擬合其求平均后的曲線. 求得平均之后SOC-OCV的關(guān)系方程為
Uoc=6.292-6.713z+7.821z2-3.412z3+
0.036 54/z+1.223lnz-0.030 88ln(1-z),
(2)
式中:Uoc為電池開路電壓;z為電池SOC.
② 將電池模型方程離散化并化簡為最小二乘法的標(biāo)準(zhǔn)形式. 使用雙線性變換法將方程離散化:
(3)
Ut(k)-Uoc(k)=
[Ut(k-1)-Uoc(k-1)I(k)I(k-1)]×
[b1b2b3]T+e(k)=
hT(k)θ(k)+e(k),
(4)
(5)
③ 算法遞推. 本文針對模型參數(shù)識別中的有色噪聲問題,對帶遺忘因子的RLS方法進(jìn)行改進(jìn),應(yīng)用BCRLS算法進(jìn)行動力電池模型的參數(shù)辨識[6-7].
考慮式(1)的模型,若e(t)是與輸出不相關(guān)的有色干擾噪聲,則其算法的遞推過程如下.
① 預(yù)測系統(tǒng)輸出和估計誤差計算:
② 增益矩陣計算:
K(k)=P(k-1)h(k)[λ+hT(k)P(k-1)h(k)]-1.
③ 未考慮噪聲干擾的參數(shù)估計:
④ 誤差準(zhǔn)則函數(shù)計算:
J(k)=λJ(k-1)-λe2(k)/
[λ+hT(k)P(k-1)h(k)].
⑤ 噪聲方差估計為
⑥ 相關(guān)矩陣D?。?/p>
⑦ 更新協(xié)方差矩陣P為
P(k)=[I-K(k)hT(k)]P(k-1)/λ.
⑧ 進(jìn)行偏差補(bǔ)償后的估計值為
首先對動力電池模型公式(1)進(jìn)行離散化,等效電路模型的離散化方程為
動力電池SOC的離散化方程為
zk=zk-1-ηIkΔt/Ca.
(7)
式中:z為電池的SOC;η為動力電池的充放電效率,本文取1;Ca為電池在當(dāng)前條件下的最大可用容量;Δt為采樣時間間隔.
將式(6)與式(7)合寫在一起,有
(8)
系數(shù)矩陣為
Dkh(xk,uk)-Ckxk=Uoc,k-
Up,k-IkRp-Ckxk.
(9)
根據(jù)AEKF算法將系數(shù)矩陣帶入得到的模型SOC估計的遞推過程.
① 先驗估計為
② 預(yù)估誤差協(xié)方差矩陣為
③ 新息矩陣為
④ 濾波增益矩陣為
⑤ 自適應(yīng)噪聲協(xié)方差匹配為
⑥ 更新誤差協(xié)方差矩陣為
⑦ 后驗估計為
在使用BCRLS進(jìn)行參數(shù)辨識時,對模型離散化后,Ur=Ut-Uoc作為輸入量參與最小二乘計算,其中Ut為測量值,Uoc與SOC的關(guān)系曲線可通過實驗測得. 可以看出Ur不僅受測量值Ut的影響,同時受到SOC的影響,在實際應(yīng)用中,電池的SOC值不斷變化,Uoc隨之變化便導(dǎo)致了計算過程中的輸入量Ur的變化,其中SOC值在BCRLS計算中無法獲得,本文中使用AEKF進(jìn)行狀態(tài)估計,為參數(shù)的在線辨識提供狀態(tài)數(shù)據(jù).
在在線辨識中,每個循環(huán)辨識過程都可以為狀態(tài)估計過程提供相對準(zhǔn)確的參數(shù),同時AEKF的估計結(jié)果SOC也可作為參數(shù)辨識的數(shù)據(jù)參考,因此采用了BCRLS-AEKF的聯(lián)合辨識方法,以適應(yīng)不同的工況,提高參數(shù)辨識和狀態(tài)估計的精度和效率. 辨識流程如圖2所示.
聯(lián)合辨識的參數(shù)初值可以利用之前離線辨識相應(yīng)的SOC點(diǎn)的辨識數(shù)據(jù),作為參數(shù)初值. 遺忘因子λ、過程噪聲協(xié)方差Q、量測噪聲協(xié)方差R以及初始協(xié)方差PO的選取根據(jù)不同的工況略有差異. 在辨識過程中,BCRLS為AEKF估計提供參數(shù)更新,AEKF為BCRLS提供相對準(zhǔn)確的SOC值. 即兩種算法的輸出值能夠作為更新彼此估計值的輸入信息,從而提高辨識和估計的精度[8].
為了對本文所提出的算法進(jìn)行真實、全面、深入的驗證,在Matlab中搭建了控制算法,并將控制算法生成代碼移植到快速開發(fā)原型里,將BMU實時測量的電池數(shù)據(jù)發(fā)送給快速開發(fā)原型,以快速開發(fā)原型為BCU,這樣就組成了一套簡單的BMS系統(tǒng). 將這套BMS放在迅湃BMS測試系統(tǒng)上進(jìn)行測試驗證,BMS測試系統(tǒng)可以模擬單體電池輸出,能夠重復(fù)輸出采集到的真實電池數(shù)據(jù),從而在重復(fù)實驗中保證每次實驗的電池輸出數(shù)據(jù)一致,排除不受控變量的干擾. BCU的計算結(jié)果通過CAN通信發(fā)送給數(shù)據(jù)接收端,完成數(shù)據(jù)的記錄,為下一步的數(shù)據(jù)分析奠定了基礎(chǔ).
利用電池的DST工況數(shù)據(jù)驗證算法的效果,并通過對工況數(shù)據(jù)做以下處理以驗證算法在有噪聲干擾特別是有色噪聲干擾時的魯棒性,對工況數(shù)據(jù)的處理方式為:不添加噪聲干擾(用作參照);添加高斯白噪聲干擾;添加有色噪聲干擾.
圖3~圖5為使用不同數(shù)據(jù)進(jìn)行參數(shù)辨識時RLS算法和BCRLS算法的端電壓誤差結(jié)果對比.
在原始DST工況數(shù)據(jù)下,BCRLS算法噪聲補(bǔ)償部分沒有發(fā)揮出太大作用,RLS算法與BCRLS的誤差相差不大,在電池SOC從10%~100%區(qū)間范圍內(nèi),BCRLS估計得到的端電壓誤差基本保持在5 mV以內(nèi). 當(dāng)電池的SOC低于10%之后,算法輸出的端電壓誤差急劇增大,這是因為當(dāng)電池SOC過低時,電池的內(nèi)部化學(xué)反應(yīng)不穩(wěn)定導(dǎo)致電池各項參數(shù)劇烈變化,這時戴維寧模型難以描繪電池的狀態(tài),因此導(dǎo)致誤差增大.
當(dāng)工況數(shù)據(jù)被添加噪聲后,相比于RLS算法,BCRLS算法更加穩(wěn)定且誤差更小,端電壓誤差均保持在50 mV以內(nèi),特別是在添加有色噪聲后,BCRLS算法的提升效果更加明顯,雖然含有待辨識參數(shù)的參數(shù)矩陣已經(jīng)得到準(zhǔn)確的辨識值,但因為數(shù)據(jù)輸入矩陣引入了較大的噪聲,所以端電壓誤差仍較大,從下文的SOC估計結(jié)果中可以更直觀地看到BCRLS算法在數(shù)據(jù)帶有噪聲的情況下表現(xiàn)更好.
本文選用DST循環(huán)工況驗證聯(lián)合估計算法的準(zhǔn)確性,實驗精度用相對誤差來評價. 圖6是在前面所述三種誤差情況下分別基于兩種辨識算法進(jìn)行SOC估計的結(jié)果對比圖. 從圖6(a)中可以發(fā)現(xiàn),在沒有噪聲干擾的情況下,基于兩種辨識算法的SOC估計誤差都較小而且非常平穩(wěn),但是基于BCRLS算法的SOC估計值穩(wěn)態(tài)誤差更小;從圖6(b)和圖6(c)中可以看出,在噪聲干擾下,基于RLS算法的SOC估計值已經(jīng)出現(xiàn)了波動,在白噪聲干擾下誤差還能保持在1%以內(nèi),但是在有色噪聲干擾下SOC估計值偏差非常大,相較而言,基于BCRLS算法的SOC估計值仍然非常穩(wěn)定,而且誤差仍能保持在0.5%以內(nèi). 這充分證明了BCRLS算法對于噪聲有著明顯的抑制效果,這一效果在有色噪聲下更加明顯.
圖7為給予AEKF算法一個錯誤初值后的SOC誤差曲線. 圖7(b)為給予初值后30s內(nèi)的SOC誤差曲線,從中可以看出,即使SOC初值設(shè)定不準(zhǔn)確,算法仍然可以基于數(shù)據(jù)反饋非??斓厥諗康絊OC準(zhǔn)確值,這證明算法對于初值設(shè)定不敏感,有較強(qiáng)的魯棒性.
圖8為在硬件在環(huán)實驗中的誤差結(jié)果,在硬件在環(huán)實驗中,由于傳感器的原因,采集得到的數(shù)據(jù)會存在采集誤差,因而導(dǎo)致辨識得到的端電壓誤差和SOC估計誤差在一定程度上上升,但SOC估計值仍具有較高的精度,SOC估計誤差保持在1%以內(nèi). 總體來看,基于Thevenin模型的BCRLS-AEKF算法估計SOC可以滿足電動汽車電池管理系統(tǒng)的要求.
為解決在有色噪聲干擾下傳統(tǒng)的RLS算法進(jìn)行電池參數(shù)辨識時有較大誤差的問題,本文提出利用BCRLS算法進(jìn)行電池的在線參數(shù)辨識,通過與傳統(tǒng)的RLS算法對比發(fā)現(xiàn),BCRLS算法可以有效抑制有色誤差,并明顯提高辨識精度. 將BCRLS算法與AEKF算法相結(jié)合,在準(zhǔn)確估計模型參數(shù)的基礎(chǔ)上實現(xiàn)對SOC的估計,在三種噪聲情況下,相比RLS-AEKF算法,BCRLS-AEKF算法的穩(wěn)定性和準(zhǔn)確度均更高. 為了驗證算法的可靠性,將控制算法寫入BMS中,借助BMS測試系統(tǒng)對算法進(jìn)行了全面真實的驗證. 在DST工況下算法輸出的SOC估計值絕對誤差在1%以內(nèi),能夠滿足電池管理系統(tǒng)的需求.