丁羿茗,呂瑞強,蔣 超
(空軍勤務(wù)學(xué)院,江蘇徐州 221000)
荷電狀態(tài)(SOC)作為鋰電池特性的一個重要參數(shù),它的精確估計對鋰電池正常工作十分重要。傳統(tǒng)的SOC計算方法依賴于電池自身特性,如開路電壓法和安時積分法,智能估計算法有神經(jīng)網(wǎng)絡(luò)算法和擴展卡爾曼濾波算法。文獻[1]采用基于數(shù)值優(yōu)化的BP 神經(jīng)網(wǎng)絡(luò)(LM-BP)算法對SOC進行估算,提高了收斂速度。神經(jīng)網(wǎng)絡(luò)算法可以不需要鋰電池模型進行估計,但是估算精度和樣本的質(zhì)量關(guān)系密切。文獻[2]運用擴展卡爾爾曼濾波(EKF)估算鋰電池SOC,減小了安時積分法的累積誤差,但是它的近似非線性以及恒定的過程噪聲會帶來誤差影響。文獻[3]運用雙卡爾曼濾波提高了估算SOC的精度,但是沒有減小擴展卡爾曼濾波器近似非線性誤差。文獻[4]運用自適應(yīng)擴展卡爾曼濾波算法修正了噪聲恒定帶來的誤差,但是對歷史新息數(shù)據(jù)沒有充分利用。
本文在分數(shù)階鋰電池模型基礎(chǔ)上,提出了多新息自適應(yīng)EKF 算法,改進了EKF 濾波器過程噪聲與觀測噪聲恒定所帶來的的誤差,充分利用了歷史新息,通過聯(lián)合估計實時修正模型參數(shù)。Matlab 仿真驗證表明該方法可以有效提高SOC估算精度和跟蹤速度。
關(guān)于分數(shù)階微積分的定義有很多,本文用G-L 定義直接離散化分數(shù)階微分方程,G-L 定義[5]如下:
式中:α 代表方程的階數(shù),階數(shù)的范圍在(0,1)之間;h表示采樣時間;k是整數(shù)。
使用分數(shù)階理論進行鋰電池建模[6],可以反映極化、擴散和非線性因素帶來的影響,提高模型的精度,鋰電池的分數(shù)階等效電路模型如圖1 所示。VOCV是電池的開路電壓,R0為電池內(nèi)阻,R1、R2為純阻性內(nèi)阻,分數(shù)階元件用CPE 表示,系數(shù)分別為C1、C2,分數(shù)階階次表示為α、β,取值范圍是(0,1),將理想電容元件用分數(shù)階電容CPE 代替,可以更好地反映電極表面的彌散效應(yīng)。
圖1 分數(shù)階等效電路模型
將VCPE1(t)、VCPE2(t)作為系統(tǒng)的狀態(tài),I0(t)作為系統(tǒng)的輸入,系統(tǒng)的輸出為VO(t),分數(shù)階電池模型的狀態(tài)方程如下:
電容CPEI、電容CPE2用分數(shù)階表示如下:
遺傳算法步驟如下:隨機產(chǎn)生初值并轉(zhuǎn)換為二進制代碼,代表不同個體的二進制代碼可以通過相互交換、獨自變異[7]產(chǎn)生新個體。將二進制碼解碼后代入適應(yīng)度函數(shù),判斷是否滿足要求,當滿足設(shè)定條件時停止[8],適應(yīng)性條件如式(4)所示:
式中:Ye(j)是預(yù)測輸出;Yr(j)是期望輸出;M是被測數(shù)據(jù)組的長度。
遺傳算法流程圖如圖2 所示。
圖2 遺傳算法流程圖
一代種群中,個體的不同會導(dǎo)致適應(yīng)度和遺傳概率的不同,不同個體的交叉概率和變異概率可以表示如下:
式中:Jmin表示適應(yīng)性條件的最小值,可以看出最優(yōu)的個體概率均為0,J(i)的值越大,獲得進化的機會越多。
自適應(yīng)遺傳算法(AGA)辨識出來的分數(shù)階模型參數(shù)(R0、R1、R2、C1、C2)是整個脈沖放電過程的最優(yōu)解,參數(shù)辨識結(jié)果如表1 所示。分數(shù)階模型與整數(shù)解模型的誤差對比如圖3 所示,誤差數(shù)據(jù)如表2 所示,分數(shù)階模型的最大誤差為0.037 5 V,平均誤差為0.004 6 V,均優(yōu)于整數(shù)階模型。
表1 AGA 算法參數(shù)辨識結(jié)果
圖3 分數(shù)階模型與整數(shù)解模型誤差對比
表2 模型誤差對比 V
EKF 算法可以處理非線性系統(tǒng)的問題,原理是將非線性系統(tǒng)的空間方程在xk處進行泰勒級數(shù)展開,只保留一階項,得到近似的線性空間方程,對EKF 的狀態(tài)變量,用G-L 定義求分數(shù)階導(dǎo)數(shù)[9-10],采樣時間h取為1,得到如下表達式:
式中:Δ 是差分算子;n是階數(shù)。
將式(2)分數(shù)階模型表達式離散化,可得離散化分數(shù)階鋰電池模型表達式[11-12]:
基于分數(shù)階模型,用EKF 算法估算鋰電池SOC,運用Matlab 軟件在城市循環(huán)工況(UDDS)下對算法進行仿真驗證,結(jié)果如圖4~5 所示,分數(shù)階模型的引入使算法的精度得到了提高,整數(shù)階EKF 算法因為模型精度問題,誤差始終向一側(cè)偏移,將模型更改為分數(shù)階后,模型的精度提高,雖然在初始階段,EKF 算法誤差較小,但是隨著時間的累計,分數(shù)階擴展卡爾曼濾波(FOEKF)算法精度逐漸提高。經(jīng)計算,EKF 算法估算SOC誤差平均值為0.015 3,最大誤差為0.033 3,F(xiàn)OEKF算法估算SOC誤差平均值為0.011 2,最大誤差為0.032 5。
圖4 FOEKF和EKF算法估算SOC曲線圖
圖5 FOEKF和EKF算法估算SOC誤差對比圖
EKF 算法的狀態(tài)噪聲和觀測噪聲是恒定值,這會導(dǎo)致估計誤差變大。自適應(yīng)擴展卡爾曼濾波(AEKF)算法可以對新息或者殘差進行實時監(jiān)測,修正狀態(tài)噪聲和觀測噪聲。AEKF 算法過程如下:
式中:ek代表新息,若為則表示殘差。
觀測噪聲方差Rk和狀態(tài)噪聲方差Qk的自適應(yīng)過程如下:
式中:Fk為新息的實時估計方差;M為滑動數(shù)據(jù)窗口長度[13]。
將多新息和EKF 算法結(jié)合,計算量會略有增大,但是精度得到了提高。將單新息ek擴展到新息矩陣,如下所示[14]:
同時,將增益Kk也擴展成為增益矩陣,那么,狀態(tài)向量的更新如下所示:
式中:Ki,k是k時刻的增益;Ep,k是新息矩陣;p是新息長度。
在UDDS 工況下,運用Matlab 軟件對算法進行仿真驗證,將AGA 算法辨識出來的參數(shù)代入模型中,仿真結(jié)果如圖6~7 所示,仿真數(shù)據(jù)如表3 所示,分數(shù)階多新息自適應(yīng)擴展卡爾曼濾波(FOMIAEKF)算法估計誤差的平均值和最大值都有所減小,說明該算法可以有效提高SOC估計精度。
圖6 FOMIAEKF和FOEKF算法估算SOC曲線圖
圖7 FOMIAEKF和FOEKF算法估算SOC誤差對比圖
表3 FOEKF 與FOMIAEKF 算法估計SOC 誤差對比
用UKF 算法估算鋰電池健康狀態(tài)(SOH),將電池容量C和電池內(nèi)阻R0作為健康狀態(tài)的估計量,UKF 算法估計流程首先確定狀態(tài)值初始值x0和后驗狀態(tài)誤差協(xié)方差初始值P0,計算采樣點:
式中:L為狀態(tài)向量的長度。
UKF 算法增益矩陣的更新如式(14)所示:
鋰電池在使用過程中會不斷老化,它的內(nèi)阻會變化,容量會降低。但是辨識出來的模型參數(shù)是根據(jù)實驗結(jié)果得到的定值。將SOC和SOH聯(lián)合估計,根據(jù)SOH估計出來的內(nèi)阻值和容量值實時修正SOC估計的參數(shù)[15],從而提升SOC估計的精度。圖8 是聯(lián)合估計算法估算SOC的曲線圖,圖9 是聯(lián)合估計算法估算SOC的誤差圖,聯(lián)合估計算法誤差在2.5%之內(nèi)。圖10 為不同算法估算SOC誤差對比圖,聯(lián)合估計算法比FOMIAEKF 算法精度更高,說明聯(lián)合估計算法可以有效提高SOC估算精度。表4 為不同算法估算SOC 誤差對比。
圖8 聯(lián)合估計算法SOC估計值
圖9 聯(lián)合估計算法估算SOC誤差圖
圖10 不同算法估算SOC誤差對比圖
由表4 可知,普通EKF 算法估算SOC的平均誤差為0.015 3,用分數(shù)階理論提高模型精度后,F(xiàn)OEKF 算法估算平均誤差為0.011 2。針對EKF 算法濾波過程中狀態(tài)噪聲和預(yù)測噪聲恒定不變的情況,提出一種自適應(yīng)EKF 算法,可以實時更新噪聲方差矩陣,F(xiàn)OAEKF 算法估算SOC的平均誤差為0.010 1,精度得到了提高,但是沒有充分利用歷史新息數(shù)據(jù)。針對這種情況,將單新息變?yōu)槎嘈孪⒕仃?,充分利用了之前未被利用的新息?shù)據(jù),F(xiàn)OMIAEKF 算法估算SOC的平均誤差為0.009 1,精度相比于普通的EKF 算法有了明顯提高。針對隨著鋰電池不斷老化,模型參數(shù)會發(fā)生變化的情況,提出了聯(lián)合估計算法,用UKF 算法估算SOH,實時更新分數(shù)階模型參數(shù),聯(lián)合估計算法估算SOC的平均誤差為0.007 6,精度有了進一步的提高。
表4 不同算法估算SOC 誤差對比
本文引入分數(shù)階思想建立鋰電池等效電路模型,用AGA算法離線辨識模型參數(shù),通過脈沖放電實驗對模型精度進行驗證,結(jié)果表明,分數(shù)階的引入有效地提高了模型的精度。在UDDS 工況下,運用EKF 算法對整數(shù)階模型和分數(shù)階模型的SOC值進行估算,仿真結(jié)果進一步證明了分數(shù)階模型的精度更高。隨后,針對EKF 算法的不足進行改進,提出了多新息自適應(yīng)EKF 算法,解決了EKF 算法噪聲恒定以及未充分利用新息數(shù)據(jù)的問題,并通過與SOH聯(lián)合估計實時修正分數(shù)階模型參數(shù),減少模型老化帶來的影響。仿真結(jié)果表明,F(xiàn)OMIAEKF 算法和聯(lián)合估計算法可以有效地提高SOC估算精度和跟蹤速度。