宋俊輝,沈 峘,閆志偉,丁鑫權(quán)
(南京航空航天大學(xué) 能源與動力學(xué)院,南京 210016)
電池作為現(xiàn)代各種可移動式設(shè)備或機(jī)械的供能裝置得到了極為廣泛的應(yīng)用,但是在電池的使用過程中需要時刻關(guān)注其狀態(tài)變化以達(dá)到更好的使用效果,而其中最需要關(guān)注的一項內(nèi)容為電池的SOC(state of charge),即荷電狀態(tài)[1-2]。
目前電池SOC估計的主要方法有安時積分法、開路電壓法、內(nèi)阻法、神經(jīng)網(wǎng)絡(luò)法、卡爾曼濾波法、粒子濾波法、模糊規(guī)則法等[3]。開路電壓法、安時積分法與內(nèi)阻法作為早期方法其結(jié)果精確度較低。劉東等[4]基于安時積分法加入電池開路電壓曲線的拐點因素進(jìn)行研究,但是拐點的選取與相關(guān)參數(shù)需要大量試驗獲取經(jīng)驗值。神經(jīng)網(wǎng)絡(luò)法所需數(shù)據(jù)樣本較大不易實現(xiàn),而粒子濾波法與模糊規(guī)則法的相關(guān)研究相對較少,尚未成熟。由于電池電壓呈非線性,目前多采用擴(kuò)展卡爾曼濾波法(extended kalman filter)將系統(tǒng)近似線性化后進(jìn)行分析[5-6]。
電池數(shù)學(xué)模型相關(guān)參數(shù)的辨識主要有2種[7]:離線辨識與在線辨識。電池的實際相關(guān)參數(shù)會隨著電池使用后老化發(fā)生一些無法用準(zhǔn)確公式表達(dá)的變化,離線辨識的辨識結(jié)果是固定的,其精確度會隨著電池的循環(huán)老化而降低。在線辨識的方法可以在電池循環(huán)中實時計算電池模型的參數(shù),并通過SOC估計的結(jié)果參與閉環(huán)反饋,有效提升估計結(jié)果的準(zhǔn)確性。
徐勁力等[8]采用在線參數(shù)辨識的方法對電池SOC估計進(jìn)行研究,結(jié)果較離線參數(shù)辨識方法有所提升,將誤差縮小至1.5%。彭湃等[9-10]采用自適應(yīng)卡爾曼濾波法(adaptive kalman filter)彌補(bǔ)了常規(guī)卡爾曼濾波算法在未知干擾噪聲環(huán)境下無法得到準(zhǔn)確電池SOC估計結(jié)果的不足。王志福等[11]基于一階RC電路模型,利用偏差補(bǔ)償遞推最小二乘法與自適應(yīng)擴(kuò)展卡爾曼濾波法(adapted extended kalman filter)結(jié)合進(jìn)行電池的SOC估計,可以將誤差抑制在1%以內(nèi)。
基于上述分析,構(gòu)建鋰離子電池的二階戴維寧模型并通過在線辨識法完成模型參數(shù)的實時修正,采用AEKF對鋰離子電池進(jìn)行SOC估計,目標(biāo)為進(jìn)一步提高電池SOC估計的精確性,結(jié)合試驗與擴(kuò)展卡爾曼濾波法的結(jié)果進(jìn)行對比,驗證算法優(yōu)勢。
鋰離子電池的模型為后續(xù)計算與分析的基礎(chǔ),選擇較為合適的模型建立方法對電池SOC估計結(jié)果有較大影響。分析現(xiàn)有研究,電池模型主要有:黑箱模型、電化學(xué)模型、等效電路模型和神經(jīng)網(wǎng)絡(luò)模型。黑箱模型只能反映試驗獲取數(shù)據(jù)的簡單對應(yīng)關(guān)系,簡單的經(jīng)驗?zāi)P涂赡軣o法涵蓋所有工況,對于電池的特性無法充分體現(xiàn),不滿足要求。電化學(xué)模型能反映電池內(nèi)部的電化學(xué)反應(yīng),但是過于復(fù)雜,造成計算量太大。神經(jīng)網(wǎng)絡(luò)模型的建立需要大量的實驗數(shù)據(jù)與數(shù)據(jù)訓(xùn)練,條件較難到達(dá),不予考慮。等效電路模型既可以有效地反映電池內(nèi)部機(jī)理,且結(jié)構(gòu)簡單,方便計算。
鋰離子電池的等效電路模型主要有:內(nèi)阻(Rint)模型、一階阻容(RC)模型、戴維寧(Thevenin)模型、PNGV模型等。結(jié)合模型精度、計算量、可行性分析后,采用二階戴維寧模型,即在Thevenin模型基礎(chǔ)上增加一路RC并聯(lián)回路,兩路RC可以模擬電池的電化學(xué)極化與濃差極化,相較于一階戴維寧模型能更準(zhǔn)確地描述電池的實際特性。圖1所示為二階戴維寧等效電路,其中UOCV為電池開路電壓;Cb表示電池的儲能容量;R0為電池歐姆內(nèi)阻;Re、Ce為電池電化學(xué)極化電阻與電容;Rd、Cd為電池濃差極化電阻與電容。
圖1 2階戴維寧等效電路
電路中的端電壓Ut表達(dá)式為
式中:Ut為電池端電壓;UOCV為電池開路電壓;I為電流;Ue為電化學(xué)極化ReCe上的電壓;Ud為濃差極化RdCd上的電壓。
根據(jù)基爾霍夫電壓定律,構(gòu)建鋰離子電池的SOC估計的狀態(tài)空間方程如下[12]:
式中:UOCV(SOC)表示開路電壓與SOC之間的關(guān)系;η為鋰電池充放電效率,在鋰電池中近似認(rèn)為1[3];τe=ReCe為電化學(xué)極化回路的時間常數(shù);τd=RdCd為濃差極化回路的時間常數(shù)。
1.2.1 OCV-SOC關(guān)系曲線辨識
利用試驗儀器對鋰電池進(jìn)行3次標(biāo)準(zhǔn)充電與放電,對其實際容量取均值為2 650 mAh,并以此數(shù)據(jù)作為后續(xù)研究的SOC為1時的電池電量。
對OCV-SOC關(guān)系的獲取通過以下方式完成:對電池進(jìn)行多次恒流放電,直至電池達(dá)到截止電壓。每次放出等額電量,在每次放電結(jié)束后靜置一段時間,以此時電池的端電壓作為該SOC對應(yīng)的開路電壓??衫迷囼灚@得的OCV值與對應(yīng)SOC值進(jìn)行多項式擬合,選擇合適的擬合階數(shù)使擬合結(jié)果較優(yōu),獲得UOCV與SOC的關(guān)系曲線如圖2所示。
圖2 OCV-SOC曲線
根據(jù)試驗數(shù)據(jù)對UOCV與SOC關(guān)系進(jìn)行擬合時,擬合精度隨著擬合階數(shù)的增大而提升,分析后7階的精度提升幅度變小,同時考慮到階數(shù)增大會增加計算復(fù)雜度,選擇6階擬合較為合適:
式中:a表示開路電壓UOCV;b表示SOC。
1.2.2 模型參數(shù)在線辨識
通過HPPC(hybrid pulse power characteristic)試驗完成對其余未知參數(shù)R0、Re、Ce、Rd、Cd的辨識。在SOC估計過程中結(jié)合獲取數(shù)據(jù)對參數(shù)辨識數(shù)值進(jìn)行估計并結(jié)合上一時刻結(jié)果進(jìn)行修正,使得每一時刻參數(shù)辨識結(jié)果與實際模型符合度較高。
設(shè)定Ud=UOCV-Ut,可得到輸出Ud關(guān)于輸入I的傳遞函數(shù):
經(jīng)過變換與計算后可以得到各未知參數(shù)與模型參數(shù)的關(guān)系:
方程(4)離散化為
式中,ξ(k)為零均值高斯噪聲;θ設(shè)為[α1α2α3
卡爾曼濾波法只適用于線性系統(tǒng)分析中,因此采用自適應(yīng)擴(kuò)展卡爾曼濾波的方法完成電池SOC的估計。擴(kuò)展卡爾曼濾波在卡爾曼濾波的基礎(chǔ)上,針對表現(xiàn)為弱非線性關(guān)系的OCV-SOC曲線,在每個步進(jìn)對其進(jìn)行線性化,使其可以應(yīng)用卡爾曼濾波算法[9-10]。
選取狀態(tài)向量為x=[SOCUeUd]T,輸入變量為u=I,輸出變量為y=Ut,式(2)可以改寫為
在EKF的方法中將f(x,u)和g(x,u)的每個當(dāng)前工作點的步進(jìn)進(jìn)行一階泰勒級數(shù)展開將其線性化,得到線性化模型后對其進(jìn)行離散化:
式中的w和v分別代表過程噪聲和測量噪聲,假設(shè)其為互不相關(guān)的高斯噪聲。假設(shè)過程噪聲的均值為E[wk]=qk,協(xié)方差為Qk,測量噪聲的均值為E[vk]=rk,協(xié)方差為Rk,通過自適應(yīng)卡爾曼濾波法對其進(jìn)行估計。
根據(jù)自適應(yīng)卡爾曼濾波[13]對電池SOC進(jìn)行估計的流程如圖3。
圖3 卡爾曼濾波流程框圖
在SOC估計進(jìn)程中,根據(jù)關(guān)系式估計噪聲的均值及協(xié)方差,使用更新值迭代替換上一步估計值,完成噪聲的交替更新,使結(jié)果快速收斂:
式中dk=(1-b)/(1-bk)表示前一數(shù)據(jù)與更新數(shù)據(jù)的權(quán)重分配,式中b為遺忘因子,本文取0.97;ek=yk-^yk表示輸出的測量值與估計值之間的誤差。采用上述公式對誤差與其協(xié)方差矩陣的實時更新來完成對SOC狀態(tài)量的修正以達(dá)到自適應(yīng)的目的。
將目標(biāo)研究結(jié)果應(yīng)用于混合動力無人機(jī)系統(tǒng)中,鋰電池的工作環(huán)境通風(fēng)良好,可認(rèn)為其工作溫度穩(wěn)定,故不考慮溫度對研究結(jié)果的影響。試驗采用型號為BTS4000-5V12A的電池充放電測試儀,可對電池進(jìn)行各種性能測試并記錄電池電壓、電流與充放電容量等數(shù)據(jù),測量誤差可控制在滿量程的0.05%以內(nèi)。研究中利用該設(shè)備進(jìn)行完全充放電測試、脈沖測試等試驗,圖4為上位機(jī)數(shù)據(jù)采集界面。
圖4 上位機(jī)數(shù)據(jù)采集界面
通過HPPC試驗結(jié)果得到各SOC值對應(yīng)的初始參數(shù),圖5為SOC為0.6時的HPPC試驗數(shù)據(jù)曲線。
在圖5中電流為負(fù)數(shù)時表示電池放電,為正數(shù)時表示電池充電。在電池放電結(jié)束后電池電壓緩慢上升,此階段可以作為電池模型的零輸入響應(yīng)[3]:
式(12)中U0e、U0d表示2個RC回路上初始電壓;并與時間常數(shù)τe、τd一起作為未知參數(shù)進(jìn)行最小二乘法擬合后得到結(jié)果。
圖5 HPPC試驗數(shù)據(jù)曲線
在電池放電開始期間電壓的陡降可視作由歐姆內(nèi)阻引起,內(nèi)阻的計算可由電壓壓降除以放電電流得到。放電過程中電池電壓逐步下降,可將此階段作為電池模型的零狀態(tài)響應(yīng)[3]:
式(13)中以Re、Rd作為未知參數(shù)進(jìn)行最小二乘法擬合,由前一步可得時間常數(shù)值,代入后可得Re、Rd的值,進(jìn)一步可獲得Ce、Cd。可將上述步驟獲取的辨識結(jié)果作為參數(shù)辨識的初始值與各SOC對應(yīng)點的修正經(jīng)驗。
根據(jù)上述研究結(jié)果在Matlab中完成算法編寫,并進(jìn)行仿真與對比,驗證利用該算法得到的電池SOC估計值與實際SOC的重合度,并對兩者之間的偏差進(jìn)行分析。
由于電池接近能量耗盡狀態(tài)會對電池產(chǎn)生不可恢復(fù)的損壞,且研究對象使用條件限制在低電量時無人機(jī)報警返航,因此研究工況在SOC為10%以上,對較低電量不予考慮。
3.2.1 恒流放電工況仿真
下文對電池恒流放電工況進(jìn)行仿真分析設(shè)定放電電流恒定為1C(2.65 A),分別用EKF算法與研究的AEKF算法進(jìn)行SOC估計并與實際值對比,圖6為三者關(guān)系曲線,圖7為2種算法估計結(jié)果與實際SOC值之間的誤差曲線。
圖6 SOC估計結(jié)果與實際值曲線
圖7 SOC估計結(jié)果誤差曲線
從圖6、7可以看出:采用的自適應(yīng)卡爾曼濾波得到的SOC估計結(jié)果在起始期間有一段相對較大的誤差達(dá)到2%,但很快可以收斂至實際SOC值,且可以維持估計結(jié)果的誤差在0.5%以內(nèi)。雖然一般EKF的估計結(jié)果與實際值重合度也較高,但顯然精確度比前者要低。
一般EKF對于位置干擾噪聲環(huán)境的電池SOC估計結(jié)果會有較大的誤差,需要驗證采用的算法對于噪聲的抗干擾性,對試驗數(shù)據(jù)添加100 mA的噪聲后再進(jìn)行仿真,與實際狀態(tài)進(jìn)行對比分析。圖8為加入噪聲后電池SOC估計結(jié)果誤差曲線。
從圖8可以看出:在加入干擾噪聲后,一般EKF的SOC估計結(jié)果會隨著時間逐漸偏離實際SOC,誤差逐漸加大。AEKF算法估計結(jié)果的誤差在起始階段會有一段跳變,這是由于試驗起始階段設(shè)定的電池內(nèi)部參數(shù)與實際值不同,在對參數(shù)數(shù)值自動識別過程中卡爾曼濾波算法的前期迭代數(shù)據(jù)較少,對估計結(jié)果影響權(quán)重較大,后期的估計結(jié)果會更加平穩(wěn),很快收斂至零誤差附近,之后也可以維持在0.6%以內(nèi),驗證了該方法對于未知干擾噪聲有較大的抗干擾性。
圖8 加入噪聲后SOC估計結(jié)果誤差曲線
3.2.2 變化電流脈沖工況仿真
在電池實際使用過程中,無法保證電池一直以恒定電流工況工作,所以進(jìn)行變化電流脈沖試驗與該工況下仿真結(jié)果進(jìn)行對比分析。設(shè)計脈沖工況如圖9所示,電池先以電池1 C倍率的電流進(jìn)行放電120 s,再以電池0.5 C倍率的電流繼續(xù)放電120 s,再以電池1C倍率的電流進(jìn)行充電1 min,中間間歇1 min,以上述工況循環(huán),該工況中包含了電池各工作狀態(tài)。
圖9 脈沖工況電流變化曲線
以脈沖工況對電池進(jìn)行SOC估計,與試驗所得數(shù)據(jù)進(jìn)行比對,如圖10所示,仿真結(jié)果與實際結(jié)果的誤差如圖11所示。
圖10 脈沖工況SOC估計結(jié)果曲線
圖11 脈沖工況SOC估計誤差曲線
從圖10、11可以看出:采用的自適應(yīng)卡爾曼濾波算法的SOC估計在變電流工況下的跟隨效果也很好,估計值與實際值之間的誤差可以保持在0.8%以內(nèi),可以有效地反映電池實時剩余容量,以幫助后續(xù)對電池工作狀態(tài)進(jìn)行控制。
結(jié)合不同試驗工況試驗與仿真結(jié)果的對比分析,分析研究了EKF算法與采用的AEKF算法的SOC估計結(jié)果與誤差。結(jié)果表明:EKF在恒流工況下誤差在穩(wěn)定后只能保持在4%以內(nèi),而研究采用的方法在放電電流穩(wěn)定時與電流變化時SOC估計結(jié)果均可以有效收斂至實際值附近,誤差可以控制在0.5%以內(nèi),電流變化的結(jié)果誤差在0.8%以內(nèi),SOC估計精度得到極大提升,且對于未知的干擾環(huán)境噪聲有著較強(qiáng)的魯棒性。
但是由于使用環(huán)境的局限性,未考慮溫度對電池SOC估計的影響,較大的溫度變化會使電池容量及電池部分特性產(chǎn)生變化,若擴(kuò)展至一般環(huán)境使用,還需加入溫度變量進(jìn)行分析。