劉雨洋,王順利,謝滟馨,吉偉康,張一興
(西南科技大學(xué)信息工程學(xué)院,四川綿陽 621010)
鋰電池由于具有能量密度高、壽命長、質(zhì)量輕和攜帶方便等優(yōu)點,在新能源領(lǐng)域得到了廣泛的應(yīng)用與發(fā)展[1]。為滿足日常工作要求,鋰電池一般以電池組的形式使用。但由于電池個體之間的差異以及自放電效應(yīng),導(dǎo)致其在工作過程中不可避免地出現(xiàn)過充、過放與過熱的現(xiàn)象。為解決鋰電池組不均衡的問題,電池管理系統(tǒng)(battery management system, BMS)應(yīng)運而生。BMS 可以實時采集電池基本參數(shù)、估計電池荷電狀態(tài)(state of charge,SOC)。鋰電池SOC的表征是反映電池能否繼續(xù)工作的重要參數(shù),SOC 的精確估計為BMS 正常運行提供了重要保障[2-3]。但由于鋰電池在不同工況下常表現(xiàn)出強(qiáng)烈的非線性,且SOC 無法直接通過物理手段精確估計[4]。因此,精確的電池模型和合適的算法是SOC 精確估算的必要條件,是建立電池管理系統(tǒng)的關(guān)鍵,對鋰電池的高效及安全使用具有重要的意義[5]。
理論分析中常見的電池模型主要有電化學(xué)模型、等效電路模型和基于數(shù)據(jù)驅(qū)動的模型等[6]。而常用的SOC 估算方法有安時積分法、卡爾曼濾波及其擴(kuò)展算法、神經(jīng)網(wǎng)絡(luò)法等[7]。安時積分法簡單且易于實現(xiàn),但若初始值估計不準(zhǔn)會導(dǎo)致后期偏差越來越大[8],卡爾曼濾波法本質(zhì)是安時積分法,但只適用于線性模型[9]。神經(jīng)網(wǎng)絡(luò)法精度高,但復(fù)雜且難度高,難以滿足實時性。
本文綜合考慮模型復(fù)雜度和精確度,針對電池PNGV 模型進(jìn)行改進(jìn),建立2RC-PNGV 模型,使用遺忘因子最小二乘法(forgetting factor recursive least square, FFRLS)對改進(jìn)模型進(jìn)行在線參數(shù)辨識,并結(jié)合HPPC 工況驗證改進(jìn)模型的精確程度,基于FFRLS 和擴(kuò)展卡爾曼濾波(extended Kalman filter,EKF)算法對SOC進(jìn)行在線估算。
PNGV 模型考慮到了鋰電池在充放電過程中,電流隨著時間積累產(chǎn)生的誤差。由于該電路模型涵蓋了電池極化和歐姆內(nèi)阻的特性,所以PNGV等效電路模型較為精準(zhǔn)[10]。PNGV等效模型考慮了電池的開路電壓,電路模型涵蓋了電池特性的極化和內(nèi)阻,其模擬瞬態(tài)響應(yīng)過程的精度較高[11]。但是該模型中并未考慮由于充放電電流方向不同,存在歐姆內(nèi)阻與極化內(nèi)阻在充放電狀態(tài)下并不相等的問題,而歐姆內(nèi)阻遠(yuǎn)大于極化內(nèi)阻,是電池內(nèi)阻的主要組成,所以本文沒有考慮極化內(nèi)阻在充放電中的差異。為了更好地體現(xiàn)三元鋰電池在充放電過程中的動態(tài)特性,對PNGV模型進(jìn)行了改進(jìn),如圖1所示。
圖1 2RC-PNGV模型Fig.1 2RC-PNGV improved model
圖1 中,UOC表示電池的開路電壓;UL表示電池連接到外部電路后的閉路電壓;E為理想電壓源,與Cb共同表征UOC的變化,其中Cb為電池電容,代表由負(fù)載電流I的累積引起的開路電壓變化[12];R0為歐姆內(nèi)阻;R1為電池的極化電阻;C1為極化電容,代表由負(fù)載電流I引起的極化電壓U1變化,R1與C1的并聯(lián)電路描述電池的極化反應(yīng)。
由于二極管的單向?qū)щ娦?,用放電狀態(tài)的歐姆內(nèi)阻Ra和充電狀態(tài)的歐姆內(nèi)阻Rb來代替原歐姆內(nèi)阻R0。經(jīng)過實驗結(jié)果對比,二階模型的實際效果優(yōu)于一階模型,電壓誤差更小,所以使用雙RC 電路代替原本的單RC電路,其中R1和C1分別為電池的極化電阻和電容,它們并聯(lián)連接以模擬電池充放電的極化特性過程,該過程表征了電極對電池的快速反應(yīng)。R2和C2分別為電化學(xué)極化電阻和電容,其表征電極對電池的緩慢反應(yīng)。改進(jìn)的PNGV模型能夠更好地描述三元鋰電池充放電狀態(tài)時的動態(tài)特性。
遞歸最小二乘法(recursive least square,RLS)具有易于理解、收斂速度快等的特點,在系統(tǒng)辨識領(lǐng)域中得到了廣泛地應(yīng)用。但由于遞推最小二乘法存在“濾波飽和”現(xiàn)象,即隨著算法數(shù)據(jù)迭代次數(shù)的增多,增益K以及P的值會變得越來越小。這使得算法對于數(shù)據(jù)的修正能力逐漸變?nèi)?,?shù)據(jù)飽和程度越來越大,最終導(dǎo)致參數(shù)辨識的誤差越來越大。因此,考慮在最小二乘法辨識的基礎(chǔ)上加入遺忘因子,以期提高RLS算法的在線估計能力。
最小二乘法的數(shù)學(xué)描述表達(dá)式如式(1)所示
式中,φ(k)為觀測向量;θ(k)為待估計參數(shù)向量;e(k)為觀測噪聲向量。
取目標(biāo)函數(shù)J(θ),最小二乘法的目的在于尋找θ?,存在當(dāng)θ=θ?時,J(θ)取最小值。系統(tǒng)的目標(biāo)函數(shù)與估計參數(shù)值如式(2)所示
在實際的仿真計算中,需要不斷地輸入輸出最新的實驗數(shù)據(jù),在不斷的迭代過程中提高參數(shù)估計得精度,直至達(dá)到滿意的精度為止。引入遺忘因子λ(0<λ<1)后,具體的計算過程如式(3)所示
式中,λ越接近于1仿真效果越好,本文中λ取0.998。為k時刻參數(shù)的估計值,φT(k+1)?(k)為k+1時刻的系統(tǒng)觀測計算值,y(k+1)為k+1 時刻實際的觀測值。在每一次迭代中,算法采用系統(tǒng)觀測計算值和實際觀測值的差值,以及增益K來對最終的估計值進(jìn)行修正。
由于鋰電池工作時呈非線性,經(jīng)典卡爾曼濾波無法使用。于是考慮對卡爾曼濾波進(jìn)行改進(jìn),將系統(tǒng)方程進(jìn)行一階泰勒展開,舍去二階以上高階項,再對近似的線性空間方程使用經(jīng)典卡爾曼濾波算法,就能估計當(dāng)前的空間狀態(tài)。非線性系統(tǒng)狀態(tài)與測量方程如式(4)所示
式中,Xk+1為n維狀態(tài)向量;Zk為m維觀測向量;xk為狀態(tài)變量;uk為系統(tǒng)輸入;yk為觀測變量,Ak為狀態(tài)轉(zhuǎn)移矩陣;由其對系統(tǒng)變量進(jìn)行預(yù)測,Bk為系統(tǒng)控制輸入矩陣;Ck、Dk為系統(tǒng)觀測矩陣,驅(qū)動預(yù)測系統(tǒng)觀測量。wk和vk為相互獨立的高斯白噪聲。結(jié)合電池的狀態(tài)空間表達(dá)式,可得到Ak、Bk、Ck和Dk的表達(dá)式,如式(5)所示
對線性化后的模型應(yīng)用卡爾曼濾波算法便可得到擴(kuò)展卡爾曼濾波算法的遞推過程式,如式(6)所示
式中,P為均方誤差;K為卡爾曼增益;I為n×m單位矩陣;Q和R分別為過程噪聲w和觀測噪聲v的方差矩陣。
使用最小二乘法進(jìn)行在線辨識時,模型參數(shù)可以實時得到修正,即使參數(shù)初值不正確,也不影響最終的辨識結(jié)果,只會影響收斂的速度。針對鋰電池在充放電過程中所表現(xiàn)出的內(nèi)阻差異,對實驗所選鋰電池分別進(jìn)行自定義主充電過程的和主放電過程的HPPC實驗。主充電過程電池模型參數(shù)辨識結(jié)果如圖2(a)和(b)所示, 主放電過程電池模型參數(shù)辨識結(jié)果如圖2(c)和(d)所示。
圖2 主充放電過程參數(shù)辨識結(jié)果Fig.2 Parameter identification results of main charging and discharging process
在辨識初期,被辨識的參數(shù)波動很大,這是由于給定的參數(shù)初值與實際參數(shù)值相差較大,而隨著時間的增加,模型參數(shù)均收斂于一個穩(wěn)定的數(shù)值。結(jié)合辨識結(jié)果,在MATLAB 中編寫電壓仿真代碼,得到仿真電壓數(shù)據(jù),再與實際電壓數(shù)據(jù)進(jìn)行對比繪制,得到改進(jìn)PNGV模型仿真電壓與實際電壓對比曲線,如圖3(a)和(c)所示,圖3(b)和(d)為電壓誤差曲線。
圖3 HPPC端電壓實際值及仿真值對比與其誤差分布Fig.3 Comparison and error distribution of HPPC terminal voltage between real and simulated values
由圖3 分析可知,HPPC 實驗下,在電流脈沖到來的一瞬間,由于鋰電池內(nèi)部化學(xué)反應(yīng)劇烈,電壓的仿真值與實際值相差略大。而在之后的時間里,仿真電壓與實際電壓保持基本一致,主充電過程和主放電過程電壓誤差值均小于0.08 V,占標(biāo)稱電壓的2%,其中,主充電過程最大電壓誤差為0.15 V,主放電過程的最大電壓誤差為0.11 V,具有較高的精度。
為進(jìn)一步驗證改進(jìn)模型與FFRLS-EKF 算法在更為復(fù)雜工況下對SOC 估算的精度,結(jié)合自定義DST工況與改進(jìn)2RC-PNGV模型對SOC進(jìn)行在線估算。DST工況同樣分為主充電與主放電過程,其中主放電過程具體實驗步驟為:①對電池進(jìn)行恒流恒壓充電;②充電完成后對電池進(jìn)行擱置30 min;③以0.5 C倍率進(jìn)行恒流放電4 min,停止放電后靜置電池30 s;④以0.5 C 倍率進(jìn)行恒流充電2 min,停止充電后將電池靜置30 s;⑤以1 C倍率進(jìn)行恒流放電4 min。循環(huán)步驟④至⑤直至電池放電結(jié)束。主充電過程類似,即將第③步改為恒流充電4 min,第④改為恒流充電2 min,第⑤步改為恒流充電4 min。主充放電過程SOC估算值與實際值對比如圖4所示。
圖4 基于FFRLS-EKF算法的主充放電過程SOC估算效果分析Fig.4 Effect analysis of main charge-discharge process SOC estimation based on FFRLS-EKF algorithm
FFRLS-EKF對SOC進(jìn)行聯(lián)合估算可以提高估算精度,但在估算初期由于在線辨識參數(shù)的不斷迭代,導(dǎo)致SOC 估算初期會產(chǎn)生波動。隨著荷電狀態(tài)下降與系統(tǒng)噪聲的存在,估算結(jié)果也會產(chǎn)生波動。電池充電過程的SOC 估算難度相比于放電過程較大,誤差也相對較大。
本文基于電池PNGV模型進(jìn)行改進(jìn),在增加一個RC 并聯(lián)網(wǎng)絡(luò)的基礎(chǔ)上,通過二極管的單向?qū)щ娦詫︿囯姵爻浞烹娺^程的差異進(jìn)行表征。通過遺忘因子最小二乘法結(jié)合模型推導(dǎo)出電池的最小二乘形式,對改進(jìn)模型進(jìn)行在線參數(shù)辨識,并在MATLAB平臺進(jìn)行電壓仿真,結(jié)合不同工況對結(jié)果進(jìn)行仿真分析。在自定義DST工況下通過FFRLS-EKF算法對SOC 進(jìn)行估計。結(jié)果表明改進(jìn)的PNGV 模型能夠較好地反映鋰電池的工作特性,HPPC充放電實驗的平均電壓誤差均控制在0.2%以內(nèi)。主充電過程SOC估算平均誤差為0.957%,最大估算誤差為5.03%; 主放電過程SOC 估算平均誤差為0.807%,最大估算誤差為3.38%,說明FFRLSEKF算法具有較高精度,但未考慮溫度對電池的影響,需要在后續(xù)研究中進(jìn)行完善。