張 武,孫士山,張家福
(西安科技大學(xué)機(jī)械工程學(xué)院,陜西 西安 710054)
作為電力能源汽車核心部分的電池管理系統(tǒng),對(duì)鋰電池荷電狀態(tài)(state of charge,SOC)的預(yù)估具有重要作用[1]。但動(dòng)力電池的SOC值大小目前還不能直接測(cè)量,只能利用端電壓、充放電電流和內(nèi)阻等參數(shù)去估計(jì)。精準(zhǔn)的SOC估計(jì)能有效防止電池過(guò)充電或過(guò)放電,并且可以延長(zhǎng)電池壽命,以此來(lái)降低成本,進(jìn)而為整車能量管理提供依據(jù)[2]。
目前,電池SOC估算的常用方法分為兩類:一類是直接測(cè)量進(jìn)行估算,包括安時(shí)積分法[3]、開(kāi)路電壓法[4]等;另一類是基于電池模型的智能估算法,常用的方法有神經(jīng)網(wǎng)絡(luò)法[5]、擴(kuò)展卡爾曼濾波算法等[6]。上述方法都有自身的不足,如:安時(shí)積分法估算時(shí)常常忽略電池內(nèi)部結(jié)構(gòu)和特性及復(fù)雜的等效參數(shù);開(kāi)路電壓法不僅不適用于在線實(shí)時(shí)測(cè)量,而且測(cè)量前需要較長(zhǎng)時(shí)間靜置;神經(jīng)網(wǎng)絡(luò)法估算時(shí),必須要大量數(shù)據(jù)樣本,也不能保障訓(xùn)練出的神經(jīng)網(wǎng)絡(luò)的精確性;擴(kuò)展卡爾曼濾波算法進(jìn)行估算時(shí),泰勒展開(kāi)的高階項(xiàng)容易被忽略,使得估計(jì)值及量測(cè)值的誤差偏大,而這種誤差容易造成高度非線性系統(tǒng)中算法的發(fā)散。
針對(duì)以上方法的不足,為提高SOC估算精度許多學(xué)者提出了不同的改進(jìn)策略,TANTM T R等[7]在考慮溫度影響的前提下,提出了一種基于開(kāi)路電壓法的安時(shí)積分法,并且對(duì)模型進(jìn)行在線更新;XiongRui等[8]提出一種雙卡爾曼濾波算法,同時(shí)對(duì)電池參數(shù)及SOC在線估計(jì),運(yùn)用數(shù)據(jù)驅(qū)動(dòng)實(shí)時(shí)獲得電池容量和SOC的準(zhǔn)確估算,達(dá)到提高SOC估算準(zhǔn)確性的目的;張利等[9]為了實(shí)現(xiàn)模型參數(shù)的自適應(yīng)辨識(shí)與逐步更新,利用了限定記憶遞推最小二乘法,而且設(shè)計(jì)PI觀測(cè)器來(lái)實(shí)現(xiàn)SOC估算;Yu Xiaowei等[10]采用遞歸最小二乘法和擴(kuò)展卡爾曼濾波進(jìn)行參數(shù)在線辨識(shí)和粗粒度估計(jì),對(duì)電池進(jìn)SOC進(jìn)行快速追蹤,并引入粒子群算法來(lái)尋找全局最優(yōu)估算值。但以上研究均未在狀態(tài)和量測(cè)噪聲不確定分布上提出改進(jìn)。
本文針對(duì)UKF估計(jì)電池SOC時(shí)容易受到未知噪聲干擾的問(wèn)題,提出基于自適應(yīng)的無(wú)跡卡爾曼濾波算法,進(jìn)一步提高UKF估算SOC時(shí)的估計(jì)精度以及收斂速度。
由于電池系統(tǒng)是非線性的,其電化學(xué)特性由一系列關(guān)系較復(fù)雜且無(wú)法直接測(cè)量的參數(shù)決定,因此須采用一些具有特殊性質(zhì)的電路元件,來(lái)建立電池的等效模型,從而模擬電池的電氣特性。本文選用三元鋰電池進(jìn)行實(shí)驗(yàn),考慮到模型的準(zhǔn)確度和計(jì)算復(fù)雜度,選用2階RC電路模型來(lái)作為鋰電池SOC估算模型,該模型結(jié)構(gòu)比較簡(jiǎn)單,相關(guān)參數(shù)物理意義清晰,可以很好地模擬電池充放電特性,電路模型如圖1所示。
圖1 二階RC鋰電池等效模型
圖1中Uoc為開(kāi)路電壓,V為電池端電壓,R0為電池模型等效內(nèi)阻,I為鋰電池內(nèi)部的環(huán)路電流,RS可以看作是電池極化效應(yīng)產(chǎn)生的極化內(nèi)阻,RP可以看作是電池濃差極化效應(yīng)產(chǎn)生的極化內(nèi)阻,其中第一個(gè)RC網(wǎng)絡(luò)描述的是電極間傳輸?shù)淖杩梗诙€(gè)RC網(wǎng)絡(luò)表示的是鋰離子在電極材料中擴(kuò)散時(shí)的阻抗,US表示RS、CS兩端的電壓,UP表示RP、CP兩端的電壓。由基爾霍夫定律可知:
根據(jù)式(1)~(3)并結(jié)合圖1二階RC等效電路模型,可以建立連續(xù)系統(tǒng)的電池模型方程:
式中:Δt為采樣周期;tS=RSCS,tP=RPCP分別用來(lái)表示模型中兩個(gè)RC電路的時(shí)間響應(yīng)常數(shù)。
二階RC等效電路模型不能通過(guò)簡(jiǎn)單測(cè)量獲得各電子元件參數(shù),但可以用一些方法來(lái)表示模型參數(shù)。為了給SOC估計(jì)提供準(zhǔn)確的初始值,可以用混合脈沖功率特性(hybrid pulse power characterization,HPPC)充放電實(shí)驗(yàn)進(jìn)行參數(shù)辨識(shí)。本實(shí)驗(yàn)所用電池為宏森能源公司生產(chǎn)的三元鋰電池模型,其額定容量為10 Ah,工作電壓為2.75~4.25 V。實(shí)驗(yàn)基本過(guò)程:(1)首先將按要求充滿電的電池靜置1 h,使其電壓穩(wěn)定;(2)單次HPPC循環(huán)實(shí)驗(yàn):以1C恒定電流將電池進(jìn)行10 s脈沖放電,靜置40 s,再用1C恒定電流將電池進(jìn)行脈沖充電10 s;(3)為得到所有SOC值下的模型參數(shù),執(zhí)行完步驟(2)之后,以1C恒定電流放電6 min,使SOC減小10%,放電結(jié)束后靜置30 min,接著進(jìn)行下一步的HPPC循環(huán)實(shí)驗(yàn),直到SOC值降低到0。循環(huán)脈沖放電結(jié)果如圖2所示。
根據(jù)圖2采集到的數(shù)據(jù),可以提取每次放電結(jié)束并靜置30 min后,各個(gè)SOC狀態(tài)下開(kāi)路電壓的數(shù)據(jù)點(diǎn),然后用MATLAB中Plotfit工具,進(jìn)行數(shù)據(jù)集的指數(shù)擬合,得到開(kāi)路電壓與SOC的對(duì)應(yīng)關(guān)系如圖3所示,且Uoc與SOC等效方程為:
在圖2中取其中一次循環(huán),如圖4所示,在放電開(kāi)始的瞬間,23段端電壓出現(xiàn)一個(gè)驟降,這是由于歐姆內(nèi)阻瞬間出現(xiàn)導(dǎo)致的電池瞬時(shí)電壓降,因此可以通過(guò)歐姆定律來(lái)計(jì)算歐姆內(nèi)阻R0值:
圖2 循環(huán)脈沖特性曲線
圖3 開(kāi)路電壓與SOC的關(guān)系
圖4 單次脈沖放電曲線
電池在脈沖放電結(jié)束后,從點(diǎn)5到靜置時(shí)間點(diǎn)6的電壓響應(yīng)可視為電路的零輸入電壓響應(yīng),其端電壓響應(yīng)表達(dá)式為:
根據(jù)采集到的數(shù)據(jù)點(diǎn),通過(guò)電池的模型方程(4)和端電壓響應(yīng)表達(dá)式(7),并利用MATLAB中Plotfit工具對(duì)應(yīng)數(shù)據(jù)集進(jìn)行指數(shù)擬合,即可獲得模型參數(shù)RS、RP、CS和CP。模型參數(shù)辨識(shí)結(jié)果為:R0為22.3 mΩ、RS為28.7 mΩ、RP為15.4 mΩ、CS為1 768 F和CP為19 843 F。
針對(duì)圖1的2階RC等效電路模型,選取RS兩端的電壓US、RP兩端的電壓UP和電池的荷電狀態(tài)SOC組成一個(gè)三維的狀態(tài)變量,記為X=[US,UP,SOC]T,結(jié)合式(1)~(3)經(jīng)過(guò)離散化處理可以得到動(dòng)力電池SOC非線性狀態(tài)方程和量測(cè)方程:
將第一節(jié)中辨識(shí)得到的電路模型各參數(shù)數(shù)據(jù)代入式(8)和(9),從而獲得狀態(tài)方程以及量測(cè)方程表達(dá)式。
無(wú)跡卡爾曼濾波(unscented Kalman filter,UKF)是一種應(yīng)用采樣策略,來(lái)逼近非線性分布的一種濾波方法,無(wú)跡卡爾曼濾波算法的核心為U變換,U變換是通過(guò)計(jì)算非線性變換中變量的相關(guān)統(tǒng)計(jì)特性來(lái)進(jìn)行估計(jì)的計(jì)算方法,其主要思想就是通過(guò)構(gòu)造一組Sigma點(diǎn),然后采用非線性計(jì)算對(duì)各個(gè)Sigma點(diǎn)進(jìn)行計(jì)算,從而獲得計(jì)算后的點(diǎn)集。
(1)構(gòu)造Sigma點(diǎn)及相應(yīng)權(quán)值
U變換的實(shí)現(xiàn)過(guò)程如下:將輸入變量x,給出相關(guān)的Sigma點(diǎn)采樣策略,以此來(lái)構(gòu)造Sigma點(diǎn)集{xi}(其中,i=1,...,2l,l表示狀態(tài)變量的維度),利用輸出量的統(tǒng)計(jì)信息確定權(quán)重,然后再對(duì)點(diǎn)集{xi}進(jìn)行非線性變化得到點(diǎn)集{yi},以此來(lái)計(jì)算得到y(tǒng)的均值以及協(xié)方差Py。U變換原理如圖5所示。
圖5 U變換原理圖
(2)UKF算法實(shí)現(xiàn)電池SOC估計(jì)的具體過(guò)程
(b)計(jì)算Sigma點(diǎn)、狀態(tài)變量預(yù)測(cè)及協(xié)方差更新:
式中:λ為調(diào)節(jié)參數(shù),用于調(diào)節(jié)Sigma點(diǎn)到均值距離,λ=α2(l+β)-l;α稱為比例因子,一般是一個(gè)較小值;β為次級(jí)比例因子,通常取0;適當(dāng)調(diào)節(jié)α和β能夠提高估算精度。
(c)觀測(cè)變量的更新:
(d)誤差協(xié)方差與卡爾曼增益K的更新:
(e)狀態(tài)更新以及最優(yōu)協(xié)方差矩陣:
完成上述過(guò)程后會(huì)進(jìn)入到下一步循環(huán)中,直至得到理想結(jié)果。將動(dòng)力電池SOC非線性系統(tǒng)狀態(tài)方程(8)與量測(cè)方程(9),代入上述無(wú)跡卡爾曼濾波算法,隨著時(shí)間積累,算法循環(huán)次數(shù)增加,SOC估算值不斷向真實(shí)值靠近。
采用UKF對(duì)狀態(tài)變量進(jìn)行估算時(shí),通常會(huì)將測(cè)量誤差和系統(tǒng)噪聲的協(xié)方差設(shè)定為某一常數(shù)值,但是,電池SOC系統(tǒng)是非線性系統(tǒng),隨著算法迭代次數(shù)增加將產(chǎn)生誤差的累積,甚至?xí)?dǎo)致發(fā)散的結(jié)果。因此,為了在非線性程度較強(qiáng)時(shí)能夠有效地提高SOC估算精度,降低系統(tǒng)噪聲對(duì)濾波結(jié)果的影響,提高算法濾波的穩(wěn)定性,引入自適應(yīng)協(xié)方差匹配方法。
設(shè)系統(tǒng)k時(shí)刻變量真實(shí)值和誤差值之間的差值為,稱為新息序列,則自適應(yīng)匹配算法為:
式中:Hk為根據(jù)開(kāi)窗估計(jì)原理獲得的新息實(shí)時(shí)估算協(xié)方差函數(shù):M為開(kāi)窗大小,即累計(jì)新息數(shù)量,本文中選M=3;K為增益矩陣。將自適應(yīng)匹配算法中得到的Rk和Qk分別代入到式(14)和(17)中,完成UKF算法的自適應(yīng)調(diào)整。
為驗(yàn)證無(wú)跡卡爾曼濾波與自適應(yīng)調(diào)整的最優(yōu)估計(jì)結(jié)果,選用宏森能源公司生產(chǎn)的三元鋰電池,技術(shù)參數(shù)同第一節(jié)所述。根據(jù)模型方程和UKF算法程序,在MATLAB中編寫(xiě)實(shí)現(xiàn)電池SOC估計(jì)的UKF算法及自適應(yīng)調(diào)整算法,結(jié)合實(shí)驗(yàn)所得數(shù)據(jù),對(duì)算法進(jìn)行驗(yàn)證及分析。
如圖6所示,黑色曲線為SOC放電過(guò)程中的趨勢(shì);藍(lán)色曲線為經(jīng)過(guò)UKF算法濾波后的預(yù)估曲線,紅色曲線為AUKF算法濾波后的預(yù)估曲線,可以看出在初始估算階段SOC估算波動(dòng)較大,這是由于辨識(shí)參數(shù)隨著實(shí)驗(yàn)工況的變化引起的,但是,隨著仿真的進(jìn)行,SOC估算效果越來(lái)越好,同時(shí)還可以看出經(jīng)過(guò)自適應(yīng)調(diào)整后的算法估計(jì)鋰電池SOC的波動(dòng)更小,更加接近參考曲線,無(wú)論是在收斂速度上還是在估算精度上都具有更大的優(yōu)勢(shì),也說(shuō)明通過(guò)新息序列不斷更新誤差協(xié)方差和系統(tǒng)噪聲協(xié)方差,可以增強(qiáng)AUKF算法在復(fù)雜工況下的抗干擾能力。
圖6 UKF和AUKF算法估計(jì)SOC曲線
如圖7所示,綠色曲線代表UKF算法估計(jì)相對(duì)誤差,紅色曲線代表AUKF估計(jì)相對(duì)誤差。從圖可以得到,UKF算法估算偏差明顯較大,誤差最大時(shí)可達(dá)到3.89%,而AUKF算法估算效果較好,估算精準(zhǔn)度能夠保持在2.13%以內(nèi),并且隨著時(shí)間推移,AUKF算法估算誤差可以穩(wěn)定在-0.01~0.01之間,整體上驗(yàn)證了AUKF算法的精確性及對(duì)濾波發(fā)散的抑制作用。
圖7 UKF和AUKF算法估計(jì)SOC誤差曲線
本文針對(duì)在未知的噪聲統(tǒng)計(jì)特性條件下,傳統(tǒng)無(wú)跡卡爾曼濾波算法在估算動(dòng)力電池SOC時(shí),估算精度較低的問(wèn)題,在二階RC等效電路模型的基礎(chǔ)上,提出自適應(yīng)無(wú)跡卡爾曼濾波算法,分析研究了在未知干擾噪聲下兩種濾波法的SOC估計(jì)及其與參考值之間的誤差分析。實(shí)驗(yàn)結(jié)果表明,經(jīng)過(guò)自適應(yīng)調(diào)整后的無(wú)跡卡爾曼濾波算法,可以更加精確地估算動(dòng)力電池的SOC,并且將最大誤差控制在2.13%以內(nèi),基本滿足電動(dòng)汽車使用要求。