徐艷民
(1.廣東機(jī)電職業(yè)技術(shù)學(xué)院,廣州,510515;2.華南理工大學(xué),廣州,510641)
電動(dòng)汽車電池的荷電量SOC無法直接測(cè)量,只能通過電池的外部特征進(jìn)行估計(jì)。但是電動(dòng)汽車的電池端電壓在使用過程中變化很大,使得電池在工作過程中具有高度的非線性,增加了電池SOC估計(jì)的難度。當(dāng)前電池SOC的估計(jì)方法分為兩類,一是通過研究電池內(nèi)部的化學(xué)反應(yīng)和工作原理來估計(jì)電池SOC,但是此類方法成本高、研究復(fù)雜、通用性差;二是通過建立電池模型,測(cè)量電池的電壓、電流等參數(shù)來估計(jì)電池SOC,此方法成本較低,且通用性好。國(guó)內(nèi)外對(duì)電池SOC的估計(jì)問題研究較多,文獻(xiàn)[1,2]使用自適應(yīng)卡爾曼濾波算法,對(duì)電池健康程度進(jìn)行加權(quán),可以準(zhǔn)確估計(jì)出未知老化程度的電池SOC;文獻(xiàn)[3,4]使用無跡卡爾曼濾波算法,更加準(zhǔn)確地逼近了電池的非線性系統(tǒng),提高了電池SOC估計(jì)精度;文獻(xiàn)[5,6]使用QPSOBP神經(jīng)網(wǎng)絡(luò)方法對(duì)電池SOC進(jìn)行估計(jì),通過對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練實(shí)現(xiàn)對(duì)電池SOC的準(zhǔn)確估計(jì)。
對(duì)電池SOC的估計(jì)要求精度高、速度快、初始誤差大時(shí)也能快速回歸等。為了滿足這些要求,本文設(shè)計(jì)了BP-EKF算法,此算法不僅具有很高的收斂精度,而且反應(yīng)快,可以快速收斂至理論值附近,能夠滿足當(dāng)前電動(dòng)汽車的使用要求。
電池的等效模型是將電子器件連成電路,模擬電池內(nèi)部狀態(tài),其目的是通過測(cè)量電流、電壓、溫度等外部特征間接計(jì)算內(nèi)阻、SOC等內(nèi)部參數(shù)。電池的常用模型[7]有理想模型、線性模型、Thevenin模型等。理想模型是將電池等效為一個(gè)電動(dòng)勢(shì),忽略其它因素,對(duì)電動(dòng)車而言此模型與現(xiàn)實(shí)情況差距太大,無法使用;線性模型將電池等效為一個(gè)電動(dòng)勢(shì)和內(nèi)阻串聯(lián),此模型過于簡(jiǎn)單,省略了電池的動(dòng)態(tài)過程。
本文使用的電池模型為Thevenin模型,模型等效電路如圖1所示。圖中,UOC為等效電池的開路電壓,R0等效為電池的歐姆內(nèi)阻,RP等效為電池的極化電阻,CP等效為電池的極化電容,RPCP構(gòu)成的RC網(wǎng)絡(luò)可以模擬電池極化過程的動(dòng)態(tài)過程。
圖1 Thevenin模型
本文所使用電池為5 Ah的磷酸鐵鋰電池。將電池在滿電情況下,以0.5 A電流脈沖放電25 min,然后靜置,記錄整個(gè)過程中電池端電壓,結(jié)果如圖2所示。
圖2 放電過程的端電壓
圖2中,V1表示斷電瞬間由于內(nèi)阻分壓消失引起的端電壓變化,V2表示極化過程中電壓的變化,3τ為電壓升至95%平穩(wěn)電壓的時(shí)間。從圖中可以看出,Thevenin模型中內(nèi)阻R0可以模擬V1的變化過程,RPCP構(gòu)成的RC網(wǎng)絡(luò)可以模擬V2的變化過程,即Thevenin模型完全可以將電池放電過程中的主要變化模擬出來,所以本文對(duì)電池SOC估計(jì)時(shí)使用Thevenin模型。
使用連續(xù)脈沖恒流放電的方法對(duì)模型參數(shù)進(jìn)行測(cè)試,首先將5 Ah的電池充滿靜置24 h,然后以1 A的恒流放電0.45 h,靜置0.5 h后再次以1 A的恒流放電0.45 h,如此循環(huán)直至放電至截止電壓,每次放電量約為10%。試驗(yàn)結(jié)果如表1所示。
表1 Thevenin模型參數(shù)值
將實(shí)際使用的電池進(jìn)行放電試驗(yàn),與此Thevenin模型進(jìn)行比較可以看出,Thevenin模型可以準(zhǔn)確模擬出電池放電過程,相對(duì)誤差最大為2%。
選擇電池SOC、極化電容兩端電壓Up為狀態(tài)量端電壓U1為輸出量,電流i為輸入量,則可建立狀態(tài)空間方程為:
式中,Δt為采樣間隔;τ為積分時(shí)間常數(shù)且有τ=RpCp;η為庫倫效率;CN為當(dāng)前狀態(tài)下的電池最大容量。
輸出方程為:
為了確定開路電壓UOC與SOC的對(duì)應(yīng)關(guān)系,本文設(shè)計(jì)了恒流間歇放電試驗(yàn)。以0.5 A的恒流對(duì)磷酸鐵鋰電池放出一定量的電量,然后靜置1 h,測(cè)其開路電壓。為了提高擬合精度,本文選擇對(duì)UOC-SOC曲線進(jìn)行分段擬合,擬合曲線為:
測(cè)試值與擬合曲線如圖3所示,從圖3中可以看出,擬合曲線與實(shí)測(cè)值擬合程度很高。
圖3 UOC-SOC擬合曲線
擴(kuò)展卡爾曼濾波[8](Extended Kalman Filter,EKF)將卡爾曼濾波的應(yīng)用范圍擴(kuò)展到非線性系統(tǒng),此算法將非線性系統(tǒng)近似線性化,從而滿足卡爾曼濾波使用的條件。非線性系統(tǒng)空間方程為:
式中,W(k)為狀態(tài)噪聲;V(k)為觀測(cè)噪聲。
使用泰勒級(jí)數(shù)展開方法,只保留一次項(xiàng),將此非線性系統(tǒng)線性化,得:
使用上述方法對(duì)式(1)和式(2)給出的空間方程進(jìn)行線性化,得:
將電池等效模型進(jìn)行線性化后就可以使用卡爾曼基本公式進(jìn)行濾波,濾波的迭代公式為:
式中,Q(k)為狀態(tài)噪聲方差陣;R(k)為觀測(cè)噪聲方差陣。
EKF算法將非線性系統(tǒng)近似為線性系統(tǒng)的過程中,省略了泰勒展開的高階項(xiàng),對(duì)于高度非線性系統(tǒng),會(huì)產(chǎn)生巨大的非線性誤差。而磷酸鐵鋰電池在使用過程中表現(xiàn)出非常復(fù)雜的非線性,因此單獨(dú)使用EKF算法估計(jì)電池SOC會(huì)產(chǎn)生較大誤差,所以本文提出了BP-EKF算法,使用BP神經(jīng)網(wǎng)絡(luò)算法對(duì)EKF進(jìn)行補(bǔ)償和優(yōu)化,進(jìn)一步提高了SOC估計(jì)精度。
BP神經(jīng)網(wǎng)絡(luò)[9](BackPropagation Neural Network)是誤差反向傳播的前向神經(jīng)網(wǎng)絡(luò),是當(dāng)前應(yīng)用最為廣泛的一種神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)分為輸入層、隱含層和輸出層,其中隱含層可以為一層也可以為多層,最簡(jiǎn)單的BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)為三層結(jié)構(gòu),此結(jié)構(gòu)可以無限逼近任意連續(xù)函數(shù),其結(jié)構(gòu)圖如圖4所示。
圖4 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
圖4中,LA、LB、LC分別表示輸入層、隱含層和輸出層。表示輸入層LA的輸入向量,表示隱含層的輸出,{}0i表示輸出層的輸出向量,vij表示LA層的第i個(gè)神經(jīng)元到LB層的第j個(gè)神經(jīng)元的傳遞權(quán)值,wij表示LB層的第i個(gè)神經(jīng)元到LC層的第j個(gè)神經(jīng)元的傳遞權(quán)值。
BP神經(jīng)網(wǎng)絡(luò)的工作原理是,輸入經(jīng)輸入層進(jìn)入神經(jīng)網(wǎng)絡(luò),經(jīng)隱含層和輸出層處理后輸出,若輸出值與期望輸出誤差較大,則誤差反向傳播,通過調(diào)整神經(jīng)元之間的傳遞權(quán)值,使得神經(jīng)網(wǎng)絡(luò)輸出與期望輸出在誤差范圍內(nèi)。
為了實(shí)現(xiàn)對(duì)EKF算法的優(yōu)化,考慮電池等效模型,本文選用輸入層神經(jīng)元數(shù)為4、隱含層為10、輸出層為1的三層網(wǎng)絡(luò)結(jié)構(gòu)。輸入量分別為,輸出量為
BP神經(jīng)網(wǎng)絡(luò)對(duì)EKF算法的優(yōu)化,不僅彌補(bǔ)了EKF的非線性誤差,而且降低了對(duì)電池模型的精度要求,同時(shí)提高了SOC估計(jì)精度。其算法過程為:
a.BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程。對(duì)5Ah的磷酸鐵鋰電池進(jìn)行不同放電電流下的放電試驗(yàn),然后使用建立的電池模型和EKF算法處理數(shù)據(jù),得到訓(xùn)練神經(jīng)網(wǎng)絡(luò)使用的和通過訓(xùn)練確定神經(jīng)元之間的傳遞權(quán)值。
b.算法的實(shí)時(shí)估計(jì)。首先給出算法的結(jié)構(gòu)圖如圖5所示。此算法的實(shí)質(zhì)是,使用訓(xùn)練完的BP神經(jīng)網(wǎng)絡(luò)計(jì)算出SOC實(shí)際值與估計(jì)值之間的誤差,對(duì)EKF的狀態(tài)估計(jì)值進(jìn)行補(bǔ)償,從而使計(jì)算得到的SOC更加精確。精確的SOC估計(jì)值會(huì)決定下一時(shí)刻的模型參數(shù)值,所以SOC值的精確估計(jì)影響全局。
圖5 BP-EKF算法結(jié)構(gòu)圖
BP-EKF算法的優(yōu)勢(shì)表現(xiàn)在:對(duì)電池?zé)o特殊要求,因此具有普適性,容易推廣;可以補(bǔ)償EKF的非線性誤差,提高SOC估計(jì)精度;神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí)能力和對(duì)函數(shù)的逼近能力,使得此算法對(duì)電池模型精度要求不高。
首先是BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練。本文使用的BP神經(jīng)網(wǎng)絡(luò)為三層結(jié)構(gòu),從輸入層到輸出層神經(jīng)元的數(shù)量分別為4、10、1。設(shè)置訓(xùn)練的最大迭代次數(shù)為5 000,期望誤差為10-4,使用 5Ah電池在不同放電電流下的采集數(shù)據(jù)共2 500組,試驗(yàn)迭代至1 795次時(shí)達(dá)到精度要求,訓(xùn)練完畢。在不同放電電流下進(jìn)行放電試驗(yàn)重新采集500組數(shù)據(jù),對(duì)訓(xùn)練結(jié)果進(jìn)行驗(yàn)證,神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)值與實(shí)際值相對(duì)誤差在1.5%以內(nèi),說明神經(jīng)網(wǎng)絡(luò)可以以較高精度估計(jì)SOC誤差值。
對(duì)BP-EKF算法進(jìn)行驗(yàn)證。使用訓(xùn)練完的神經(jīng)網(wǎng)絡(luò)和EKF算法搭建BP-EKF算法,驗(yàn)證此算法在無初始估計(jì)誤差、有初始估計(jì)誤差、無初始估計(jì)誤差但加入噪聲、有初始估計(jì)誤差且加入噪聲4種情況下的SOC估計(jì)表現(xiàn)。根據(jù)電池實(shí)際情況,將電池初始電量真值設(shè)置為94%,初始估計(jì)誤差設(shè)置為14%,加入的噪聲為方差0.01的高斯白噪聲。使用美國(guó)城市道路循環(huán)工況電流(Ur?ban Dynamometer Driving Schedule,UDDS)[10]模擬電動(dòng)汽車使用過程中的電池電流,此電流模擬汽車的加速、減速、怠速和恒速過程,電流的一個(gè)周期為1 370 s。
將系統(tǒng)噪聲初值設(shè)置為Q=[0.1,0.1;0.1,0.1],觀測(cè)噪聲R=1,狀態(tài)誤差協(xié)方差初值,仿真時(shí)間設(shè)置為6 000 s。分別使用BP-EKF算法和EKF算法對(duì)4種情況下的電池SOC進(jìn)行估計(jì),最終收斂誤差如表2所示。
表2 BP-EKF與EKF估計(jì)誤差對(duì)比 %
由于篇幅限制,本文只以圖形方式給出了初始誤差為14%且摻入噪聲時(shí)的數(shù)據(jù)處理結(jié)果。結(jié)果如圖6所示。
圖6 有初值誤差加噪處理結(jié)果
分析圖6和表2中的數(shù)據(jù),可以得到以下結(jié)論:
a.從圖6可以看出,在初值誤差為14%時(shí),300 s后就接近理論值,說明BP-EKF算法收斂很快,可以滿足使用要求。
b.在初值誤差較大、加入噪聲的情況下,BP-EKF算法收斂精度依然很高,說明BP-EKF算法具有很好的魯棒性。
c.對(duì)比4種情況下兩種算法的SOC估計(jì)精度可以看出,BP-EKF算法相對(duì)EKF算法,SOC估計(jì)精度提高70%左右,充分說明了此算法的有效性,此算法對(duì)SOC的估計(jì)速度和精度可以滿足電動(dòng)汽車使用要求。
本文介紹了當(dāng)前常用的幾種電池等效模型,通過試驗(yàn)選取了適用于磷酸鐵鋰電池的等效模型并進(jìn)行了參數(shù)辨識(shí),建立了電池的狀態(tài)空間方程;分析了擴(kuò)展卡爾曼濾波算法和BP神經(jīng)網(wǎng)絡(luò)算法,提出了BP-EKF算法,使用此算法對(duì)4種情況下的電池SOC進(jìn)行估計(jì),與EKF算法進(jìn)行對(duì)比可以看出,本文提出的算法反應(yīng)速度快、收斂精度高、魯棒性好。
[1]魏克新,陳峭巖.基于多模型自適應(yīng)卡爾曼濾波器的電動(dòng)汽車電池荷電狀態(tài)估計(jì)[J].中國(guó)電機(jī)工程學(xué)報(bào),2012,32(31):19-26.
[2]Charkhgard M,Farrokhi M.State-of-Charge Estimation for Lithium-Ion Batteries Using Neural Networks and EKF[J].IEEE Transactions on IndustrialElectronics,2011,57(12):4178-4187.
[3]魏克新,陳峭巖.基于自適應(yīng)無跡卡爾曼濾波算法的鋰離子動(dòng)力電池狀態(tài)估計(jì)[J].中國(guó)電機(jī)工程學(xué)報(bào),2014(3):445-452.
[4]么居標(biāo),呂江毅,任小龍.基于無跡卡爾曼濾波的動(dòng)力電池荷電狀態(tài)估計(jì)[J].電源技術(shù),2014,38(9):1629-1630.
[5]Sun B X,Wang L.TheSOCEstimation of NIMH Battery Pack for HEV Based on BP Neural Network[C].IntelligentSystemsand Applications,2009.ISA 2009.International Workshop on.IEEE,2009:1-4.
[6]劉征宇,楊俊斌,張慶,等.基于QPSO-BP神經(jīng)網(wǎng)絡(luò)的鋰電池SOC預(yù)測(cè)[J].電子測(cè)量與儀器學(xué)報(bào),2013,27(3):224-228.
[7]林成濤,仇斌,陳全世.電流輸入電動(dòng)汽車電池等效電路模型的比較[J].機(jī)械工程學(xué)報(bào),2005,41(12):76-81.
[8]李高林.基于擴(kuò)展卡爾曼濾波的永磁同步電機(jī)的無位置傳感器控制[D].長(zhǎng)沙:湖南大學(xué),2011.
[9]吳冬敏,邵劍平,芮延年.基于蟻群算法和神經(jīng)網(wǎng)絡(luò)的數(shù)控機(jī)床故障診斷技術(shù)研究[J].機(jī)械設(shè)計(jì)與制造,2013,1(1):165-167.
[10]胡三麗.電動(dòng)車輛鋰離子動(dòng)力電池的SOC預(yù)測(cè)方法研究[D].廣西:廣西科技大學(xué),2015.