李 軍,張 俊,張世義
(重慶交通大學(xué) 機(jī)電與車輛工程學(xué)院,重慶 400074)
電動汽車動力電池SOC是電池重要的指標(biāo)之一,準(zhǔn)確估計動力電池SOC對電動汽車有重要意義。鋰電池SOC估計必須通過建立準(zhǔn)確的數(shù)學(xué)模型,并精確計算才能得到。但電動汽車動力電池端電壓在使用過程中具有高度非線性,使得動力電池SOC的估計比較困難。目前動力電池SOC估計常規(guī)算法包括放電實(shí)驗(yàn)法、安時積分法、開路電壓法[1]及擴(kuò)展卡爾曼濾波法[2]。這些算法都有各自存在缺陷,算法精度需進(jìn)一步提高。楊文榮等[3]以二階鋰電池等效模型為基礎(chǔ),提出改進(jìn)的安時積分算法來估計電池SOC,結(jié)果表明改進(jìn)算法的估計誤差相比于安時積分算法進(jìn)一步減??;王笑天等[4]以Thevenin 電池模型為基礎(chǔ),提出了一種基于卡爾曼濾波算法的雙卡爾曼濾波算法對鋰電池SOC進(jìn)行估計,結(jié)果表明該算法在線估計SOC有較高精度;林程等[5]以Thevenin 電池模型為基礎(chǔ),提出了一種將傳統(tǒng)卡爾曼濾波算法與模糊控制相結(jié)合的動力電池SOC的自適應(yīng)估計方法,結(jié)果表明該算法較原有的算法對SOC估計進(jìn)一步提高。
筆者選用Thevenin等效電路模型,把電池充放電效率和溫度變化引入狀態(tài)空間方程,期望提高鋰電池模型實(shí)用性。聯(lián)合EKF算法與自適應(yīng)BP神經(jīng)網(wǎng)絡(luò)算法提出了ABP-EKF算法,用于估計鋰電池SOC,以克服擴(kuò)展卡爾曼濾波算法對電池模型精度要求高、濾波容易發(fā)散的問題。
電池狀態(tài)空間模型準(zhǔn)確建立,對電池SOC的精確估計有關(guān)鍵作用,其建立的準(zhǔn)確性將直接影響電池SOC估計的精度[7]。為了使空間狀態(tài)模型更加貼近實(shí)際的使用環(huán)境,滿足在電池管理系統(tǒng)中計算便捷和存儲占用空間小的要求,鋰電池模型必須簡單且與實(shí)際情況相符合。參考了Rint、Thevenin、PGNV及雙RC電池模型后, 筆者采用Thevenin電池模型來估算鋰電池的SOC,如圖1。
圖1 Thevenin電池模型
以Thevenin電池模型為基礎(chǔ),根據(jù)基爾霍夫電壓和電流定理可得式(1):
(1)
對式(1)求解得式(2):
(2)
式中:Ub(0)為電池模型極化的初始電壓;i為電流;S為電池SOC值;τ為時間常數(shù)且τ=RbCb。
傳統(tǒng)意義上的安時積分算法簡單方便,但由于電池內(nèi)部的各因素作用和影響,如:充放電狀態(tài)下電池內(nèi)部溫度上升,導(dǎo)致的電池內(nèi)部環(huán)境變化。在運(yùn)用安時積分法估計鋰電池SOC值時,未考慮溫度因素就會產(chǎn)生較大誤差。為進(jìn)一步提高電池SOC值的估計精度,在傳統(tǒng)安時積分法的基礎(chǔ)上引入電池溫度以及充放電效率進(jìn)行修正[8]。修正后的算法如式(3):
(3)
式中:SSOC,0為電池初始電量;SSOC,t為t時刻的SOC值。
將修正后的安時積分算法應(yīng)用于所設(shè)計的ABP-EKF算法中,把式(3)進(jìn)行離散化處理,假定采樣時間為T,可得如下方程式:
(4)
式中:Kt為t時刻的電池溫度值,Kt=[1+mT(T-20)]-1,mT為溫度修正系數(shù);T為采樣時間;Qn為電池額定容量;η為電池充放電效率。
把鋰電池S和電容Cb的電壓Ub為狀態(tài)變量,以鋰電池充放電電流I為輸入量,以及端電壓UL為輸出量,通過(2)、 (4)式聯(lián)立可推導(dǎo)出離散化的狀態(tài)空間方程和觀測輸出方程,如式(5):
(5)
式中:wt為過程噪聲;vt為系統(tǒng)噪聲。
鋰電池開路電壓Uoc與S有相互聯(lián)系,筆者采用快速法得到SOC-OCV曲線以及Uoc與S之間關(guān)系式[9]。把18650型單體鋰離子電池作為研究對象,實(shí)驗(yàn)在25 ℃的常溫下進(jìn)行,實(shí)驗(yàn)過程中用到的主要設(shè)備有超泓LK-80G恒溫恒濕試驗(yàn)箱、新威BTS-5V6A電池性能測試儀以及穩(wěn)壓恒流源等。
獲取實(shí)驗(yàn)過程中多次同時間標(biāo)定得到的充電與放電SOC、OCV數(shù)值,并求這些數(shù)值的平均值。在經(jīng)過數(shù)次標(biāo)準(zhǔn)充放電實(shí)驗(yàn)后,最終得到了一組平均充放電的Uoc、S數(shù)據(jù),并對該組數(shù)據(jù)進(jìn)行擬合,可得四階擬合式如式(6)及SOC-OCV曲線如如圖2。
圖2 SOC-OCV擬合曲線
Uoc=-9.828 1S4+21.261 4S3-15.430 6S2+4.754 5S+3.221 6
(6)
為了對電池的模型參數(shù)進(jìn)行辨識,可以對鋰電池單體進(jìn)行相應(yīng)的放電實(shí)驗(yàn),并結(jié)合使用遞推最小二乘法[10]對電池模型中的歐姆內(nèi)阻Ra、極化內(nèi)阻Rb以及極化電容Cb進(jìn)行辨識。筆者使用電池測試系統(tǒng)對電池以1 A恒流的方式進(jìn)行放電,當(dāng)放電一段時間后停止,通過電壓恢復(fù)階段數(shù)據(jù)可較容易得到需要辨識的模型參數(shù)。放電實(shí)驗(yàn)中電壓變化曲線圖如圖3。
圖3 電壓曲線變化
為驗(yàn)證模型的精確度, 筆者對所選用的實(shí)際電池與模型電池進(jìn)行脈沖放電實(shí)驗(yàn)。實(shí)驗(yàn)先用1 A電流對電池進(jìn)行恒流放電5 min后再靜置2 min,之后繼續(xù)用相同的電流放電方式重復(fù)上述步驟一次,最后可得到所示的放電電流波形如圖4。采集實(shí)際電池與模型電池數(shù)據(jù)可以得到端電壓變化曲線如圖5。
圖4 脈沖電流波形
圖5 電壓對比曲線
由圖5可以看出在整個實(shí)驗(yàn)過程中,實(shí)際測出的電壓與模型輸出電壓接近,相對誤差最大為2%,證明該模型有較高精確度。
鑒于電動汽車對動力電池SOC估計精度不斷提高, 筆者把EKF算法與自適應(yīng)BP神經(jīng)網(wǎng)絡(luò)算法聯(lián)合起來,提出了ABP-EKF算法用于提高電池SOC估計精度?;赥hevenin電池等效模型的狀態(tài)空間方程和測量方程如式(7):
(7)
式中:f(x(k),u(k)),g(x(k),u(k))是簡寫的系統(tǒng)非線性方程表達(dá)式;u(k)表示系統(tǒng)在k時刻的輸入量;Y(k)是系統(tǒng)k時刻的輸出量。
根據(jù)Thevenin等效電池模型得出的空間狀態(tài)方程和觀測方程,能夠進(jìn)一步推導(dǎo)出系統(tǒng)的狀態(tài)轉(zhuǎn)移矩陣A、噪聲矩陣B以及觀測陣C,如式(8):
(8)
EKF算法[11]是在標(biāo)準(zhǔn)卡爾曼濾波算法基礎(chǔ)上發(fā)展起來的,EKF算法估計電池SOC的中心思想為:把鋰電池的狀態(tài)空間方程與輸出方程作為研究對象,首先求出協(xié)方差估計值Pk,之后再求出卡爾曼增益矩陣Kk,采用卡爾曼增益矩陣來調(diào)節(jié)實(shí)際的觀測值UL,并重新估算出鋰電池的SOC狀態(tài)值,最后把得到的估計值放到算法中進(jìn)行更新迭代。EKF算法流程如下:
(9)
BP神經(jīng)網(wǎng)絡(luò)的非線性映射性擁有較強(qiáng)的學(xué)習(xí)能力,使該算法在鋰離子電池這種非線系統(tǒng)中具有較好的應(yīng)用,可以提高鋰離子電池SOC估計時的濾波精度,避免濾波發(fā)散[12]。
在BP神經(jīng)網(wǎng)絡(luò)算法中[13],學(xué)習(xí)速率η是一固定值,但是在實(shí)際的應(yīng)用環(huán)境中,確定一個從開始到最后都合適的學(xué)習(xí)速率是很困難的,當(dāng)訓(xùn)練處于平順區(qū)間時η過小會增加訓(xùn)練次數(shù);在誤差變化劇烈的區(qū)間η過大會讓訓(xùn)練過程極不穩(wěn)定,反而使迭代次數(shù)增加。自適應(yīng)BP神經(jīng)網(wǎng)絡(luò)的算法的具體思想為[14]:使學(xué)習(xí)速率η的值成為一個變量,隨著神經(jīng)網(wǎng)絡(luò)訓(xùn)練的具體情況而進(jìn)行相應(yīng)調(diào)整,自適應(yīng)BP神經(jīng)網(wǎng)絡(luò)具體的改進(jìn)如式(10):
(10)
式中:ka為學(xué)習(xí)速率增量因子,用于增加學(xué)習(xí)速率;kb為學(xué)習(xí)速率減量因子,用于減小學(xué)習(xí)速率;E(*)為誤差值。
(11)
式中:m為隱含層節(jié)點(diǎn)數(shù);為輸入層節(jié)點(diǎn)數(shù);l為輸出層節(jié)點(diǎn)數(shù);a為1~10之間的常數(shù);輸出層為真實(shí)的SOC值與EKF算法估計得到的SOC估計值之間的差值。BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)如圖6。
圖6 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
在ABP-EKF算法中,當(dāng)傳感器從外界獲得電壓、電流和溫度的測量值后,便把值送入EKF算法中進(jìn)行迭代,算法處于初始階段時就加入各種實(shí)驗(yàn)驗(yàn)證過的電池模型參數(shù)值;再把自適應(yīng)BP神經(jīng)網(wǎng)絡(luò)需要的輸入值計算出,并送入自適應(yīng)BP神經(jīng)網(wǎng)絡(luò)中;最后把訓(xùn)練完成的神經(jīng)網(wǎng)絡(luò)輸出值作為EKF算法估計出的SOC的補(bǔ)償值,即把EKF算法計算得到的SOC值與訓(xùn)練完成的神經(jīng)網(wǎng)絡(luò)的輸出值相加,就是ABP-EKF算法所得的鋰電池SOC值,ABP-EKF算法流程如圖7。
圖7 ABP-EKF算法流程
算法結(jié)果驗(yàn)證采用MATLAB仿真軟件進(jìn)行。以實(shí)驗(yàn)測得的電流、電壓以及溫度數(shù)據(jù)為基礎(chǔ),導(dǎo)入到設(shè)計的ABP-EKF算法中進(jìn)行驗(yàn)證。在神經(jīng)網(wǎng)絡(luò)中,使用newff函數(shù)建立一個前向型的BP神經(jīng)網(wǎng)絡(luò),將所要用到的訓(xùn)練數(shù)據(jù)導(dǎo)入網(wǎng)絡(luò),并設(shè)置網(wǎng)絡(luò)的期望輸出為1e-7,經(jīng)過2 000次的迭代完成網(wǎng)絡(luò)的訓(xùn)練。用randn函數(shù)隨機(jī)產(chǎn)生的正態(tài)分布作為系統(tǒng)的噪聲初值和觀測噪聲初值,用eye函數(shù)產(chǎn)生的單位矩陣作為協(xié)方差矩陣的初始值,初始SOC值設(shè)置為91%,總的仿真時間為500 s。最后經(jīng)過仿真得到的兩種算法估計鋰電池SOC值精度的對比結(jié)果如圖8。
圖8 ABP-EKF與EKF對比結(jié)果
經(jīng)過仿真得到的EKF算法與ABP-EKF算法估計鋰電池SOC值的誤差曲線對比如圖9。EKF算法與ABP-EKF算法估計鋰電池SOC值的誤差數(shù)據(jù)對比如表1。
圖9 ABP-EKF與EKF算法誤差對比
表1 ABP-EKF與EKF估計SOC誤差分析
由圖8可以知曉隨著仿真時間的增加,鋰電池的SOC值持續(xù)減小,ABP-EKF算法相比于EKF算法更加接近實(shí)際的鋰電池SOC值,并隨著真實(shí)的SOC值的波動而波動。由圖9可以知曉ABP- EKF算法相比于EKF算法的誤差進(jìn)一步減小。
由表1可知,在均值誤差項ABP-EKF較EKF算法的估計精度高出了3.90%,均方根誤差項提高了3.79%,由此可以看出,基于ABP-EKF算法估計電池SOC的精度高于EKF算法估計電池SOC值的精度。
筆者基于Thevenin 電池模型,結(jié)合引入電池溫度值和充放電效率修正后的安時積分算法,建立了電池空間狀態(tài)方程和觀測輸出方程。并在此基礎(chǔ)上提出了ABP-EKF算法來估計電池SOC,采集實(shí)驗(yàn)過程中的相關(guān)數(shù)據(jù)并應(yīng)用遞推最小二乘法對電池模型參數(shù)做出辨識。把相應(yīng)的數(shù)據(jù)導(dǎo)入ABP-EKF算法和EKF算法中進(jìn)行驗(yàn)證,所提出的ABP-EKF算法相比于EKF算法在均值誤差項與均方根誤差項分別減少了3.90%和3.79%。對于鋰電池這樣的非線性系統(tǒng),筆者設(shè)計的ABP-EKF算法較EKF算法有更好的估計效果。