孔祥創(chuàng),趙萬忠,2,王春燕,2
(1.南京航空航天大學(xué)能源與動(dòng)力學(xué)院,南京210016;2.重慶大學(xué),機(jī)械傳動(dòng)國家重點(diǎn)實(shí)驗(yàn)室,重慶400044)
基于BP-EKF算法的鋰電池SOC聯(lián)合估計(jì)*
孔祥創(chuàng)1,趙萬忠1,2,王春燕1,2
(1.南京航空航天大學(xué)能源與動(dòng)力學(xué)院,南京210016;2.重慶大學(xué),機(jī)械傳動(dòng)國家重點(diǎn)實(shí)驗(yàn)室,重慶400044)
電池荷電狀態(tài)(SOC)的準(zhǔn)確估計(jì)是電動(dòng)車輛進(jìn)行整車控制優(yōu)化的先決條件,也是合理實(shí)施電池管理的依據(jù)。本文中在確定1階RC等效電路模型的基礎(chǔ)上,采用含有遺忘因子的遞推最小二乘算法和BP-EKF算法對模型參數(shù)與SOC進(jìn)行在線聯(lián)合估計(jì),提出一種BP神經(jīng)網(wǎng)絡(luò)和擴(kuò)展卡爾曼濾波(EKF)相結(jié)合的鋰離子動(dòng)力電池SOC估計(jì)方法,使用相應(yīng)的濾波輸出參數(shù)離線訓(xùn)練BP神經(jīng)網(wǎng)絡(luò),進(jìn)而將訓(xùn)練成功的BP神經(jīng)網(wǎng)絡(luò)用于補(bǔ)償EKF算法的估計(jì)誤差。通過仿真和電池動(dòng)態(tài)工況試驗(yàn)驗(yàn)證,結(jié)果表明,與EKF算法相比,所提出的SOC估計(jì)方法具有良好的抑制發(fā)散和魯棒性能,能有效提高SOC的估計(jì)精度。
鋰電池;荷電狀態(tài);擴(kuò)展卡爾曼濾波;BP神經(jīng)網(wǎng)絡(luò);聯(lián)合估計(jì)
電動(dòng)汽車SOC是描述電池使用過程中剩余電量的重要參數(shù)[1]。然而,電池的SOC無法采用傳感器直接測得,它必須通過對一些其他物理量的測量并采用一定的數(shù)學(xué)模型和算法來估計(jì)得到[2]。同時(shí),動(dòng)力電池在使用過程中由于受到許多內(nèi)外不確定因素的影響,常常表現(xiàn)出高度的非線性,又增加了準(zhǔn)確估計(jì)SOC的難度[3]。
現(xiàn)有對動(dòng)力電池SOC估計(jì)方法的研究主要包括放電實(shí)驗(yàn)法、安時(shí)積分法、開路電壓法和卡爾曼濾波法等方法。放電實(shí)驗(yàn)法適用于所有電池,在實(shí)驗(yàn)室中經(jīng)常使用,但不適合行駛中的電動(dòng)汽車,不能在線對SOC進(jìn)行測量[4]。安時(shí)積分法隨著時(shí)間延長會(huì)產(chǎn)生累計(jì)誤差,開路電壓法無法實(shí)現(xiàn)實(shí)時(shí)估計(jì)[5]。文獻(xiàn)[6]中建立開路電壓法、安時(shí)積分法和卡爾曼濾波法的組合方法估計(jì)電池SOC,提高了SOC估計(jì)的精度。其不足在于模型參數(shù)通過離線辨識得到,導(dǎo)致模型精度不高,而擴(kuò)展卡爾曼濾波對模型精度要求高,容易受到噪聲的影響導(dǎo)致濾波發(fā)散,進(jìn)而影響SOC估計(jì)的精度。因此,如何利用電池可測參數(shù)來實(shí)現(xiàn)當(dāng)前電池剩余電量準(zhǔn)確估算一直以來是電池管理系統(tǒng)的核心問題和急需解決的技術(shù)難點(diǎn)。
本文中選用1階RC等效電路模型,將含有遺忘因子的遞推最小二乘法進(jìn)行模型參數(shù)辨識與SOC估計(jì)聯(lián)合的同時(shí),利用BP神經(jīng)網(wǎng)絡(luò)和擴(kuò)展卡爾曼濾波相結(jié)合的SOC估計(jì)算法,克服了擴(kuò)展卡爾曼濾波算法對電池模型精度依賴性強(qiáng)、濾波容易發(fā)散的問題,提高了算法的估計(jì)精度和魯棒性。
電池模型對于SOC估計(jì)算法具有重要意義,其精度直接影響SOC估計(jì)的準(zhǔn)確性??紤]到受電池管理系統(tǒng)計(jì)算和存儲能力的限制,動(dòng)力電池模型必需滿足結(jié)構(gòu)簡單、計(jì)算速度快和預(yù)測精度高等特點(diǎn)。本文中選用1階RC等效電路模型,見圖1。
圖11 階RC等效電路模型
圖中Uoc為開路電壓,Ut為端電壓,I為電池工作電流,Rp為極化電阻,Cp為極化電容,Up為Rp上的極化電壓降,R0為電池的歐姆內(nèi)阻。
由基爾霍夫定律得
開路電壓Uoc與SOC為一一對應(yīng)關(guān)系,對估計(jì)電池SOC起重要作用,以額定容量為2.3A·h的單體鋰電池為試驗(yàn)對象,利用低電流充放電方法獲得OCV-SOC曲線(圖2),為下文研究模型參數(shù)辨識和SOC估計(jì)提供基礎(chǔ)。其具體步驟如下:(1)給電池充滿電,放置12h;(2)以1/10C恒流放電直到其放電截止電壓;(3)放置12h;(4)以1/10C恒流充電直到其充電截止電壓;(5)取充電和放電電壓的平均值。
圖2OCV-SOC曲線
由于普通的最小二乘法不能實(shí)現(xiàn)模型參數(shù)的實(shí)時(shí)在線辨識,因此本文中采用含有遺忘因子的遞推最小二乘法[7],可有效實(shí)現(xiàn)模型參數(shù)的實(shí)時(shí)更新,對提高SOC估計(jì)精度有很大作用。
含有遺忘因子的遞推最小二乘法辨識步驟[8]:
式中:K(k)為遞推最小二乘增益矩陣;P(k)為協(xié)方差矩陣;h(k)為觀測矩陣;λ為遺忘因子,通常λ=[0.95,1];I為單位矩陣;θ^(k)為參數(shù)估計(jì)矩陣; y(k)為k時(shí)刻的觀測值;e(k)為輸出估計(jì)誤差矩陣。
需要辨識的模型參數(shù)有R0,Rp,Cp,設(shè)置系統(tǒng)輸入為測量電流值,輸出為電池端電壓。對式(2)求導(dǎo)得
由于采樣時(shí)間內(nèi)電阻R0變化很小,即R·0≈0。將式(1)和式(2)代入式(4)得
定義Et=Ut-Uoc,T為采樣時(shí)間,將式(5)離散化得
其中a1,a2,a3和待辨識模型參數(shù)的關(guān)系為
式中Et(k-1)=Ut(k-1)-Uoc(k-1)。Ut(k),Ut(k-1),I(k)和I(k-1)均由電壓傳感器和電流傳感器測量得到,Uoc(k-1)為k-1時(shí)刻的電池開路電壓,開路電壓不能在線測得,這里根據(jù)OCV-SOC曲線和BPEKF算法實(shí)時(shí)估計(jì)的SOC反饋值算得。運(yùn)行含遺忘因子的遞推最小二乘法,辨識出參數(shù)a1,a2和a3后,即可由式(7)估計(jì)出電池模型參數(shù)。
3.1 擴(kuò)展卡爾曼濾波(EKF)
對如圖1所示的1階RC電池模型,結(jié)合安時(shí)積分法,以SOC和電容Cp兩端的電壓Up為狀態(tài)變量,充放電電流I為輸入量,電池端電壓Ut為輸出量,可得到離散化的狀態(tài)空間模型:
式中:η為庫倫效率,可通過電池充放電試驗(yàn)得到;T為采樣周期;Qn為電池額定容量;ωk為不可測量的隨機(jī)輸入量;υk為電池端電壓的測量噪聲。
在此模型的基礎(chǔ)上,采用擴(kuò)展卡爾曼濾波算法估計(jì)電池的SOC。
擴(kuò)展卡爾曼濾波循環(huán)迭代過程為[9]
式中:P為均方估計(jì)誤差;Ak-1為k-1時(shí)刻的狀態(tài)方程矩陣;H=Ut/SOC為觀測矩陣;e為端電壓觀測輸出誤差;Utk為k時(shí)刻的端電壓觀測值;x為狀態(tài)變量;Q和R為觀測噪聲和系統(tǒng)噪聲。
3.2 利用BP神經(jīng)網(wǎng)絡(luò)改進(jìn)EKF算法
由于BP神經(jīng)網(wǎng)絡(luò)具有較強(qiáng)的學(xué)習(xí)能力和復(fù)雜映射能力,所以可對其進(jìn)行離線訓(xùn)練并用于在線補(bǔ)償EKF算法,以提高濾波精度,避免濾波發(fā)散[10]。
利用BP神經(jīng)網(wǎng)絡(luò)對EKF算法改進(jìn)的步驟:
步驟一、BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練。利用Matlab神經(jīng)網(wǎng)絡(luò)工具箱建立一個(gè)三輸入一輸出的3層BP神經(jīng)網(wǎng)絡(luò),隱含層神經(jīng)元為14個(gè),最大迭代次數(shù)5 000次,期望值為1×10-5。采集電池充放電時(shí)的電壓、電流數(shù)據(jù),利用EKF算法進(jìn)行2 000次濾波,并將端電壓觀測輸出誤差e、卡爾曼濾波增益K、狀態(tài)預(yù)測值與最優(yōu)估計(jì)值之差xk+1-x^k+1|k,作為神經(jīng)網(wǎng)絡(luò)的輸入,SOC真實(shí)值與濾波后最優(yōu)估計(jì)值之差SOC-SOC^作為神經(jīng)網(wǎng)絡(luò)的輸出。以上就是神經(jīng)網(wǎng)絡(luò)的主要數(shù)據(jù)庫。從數(shù)據(jù)庫中隨機(jī)提取樣本總數(shù)的80%為訓(xùn)練樣本,20%的樣本作為測試樣本,用于檢驗(yàn)測試精度。對所設(shè)計(jì)的神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,使網(wǎng)絡(luò)誤差逐漸貼近期望值,當(dāng)達(dá)到預(yù)期的期望值時(shí),證明所需BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練完成。
步驟二、模型參數(shù)和EKF算法的聯(lián)合估計(jì)。圖3為SOC估計(jì)總流程圖。從圖中可以看出,基于實(shí)時(shí)的電池測量數(shù)據(jù),使用帶有遺忘因子的遞推最小二乘法(FFRLS)實(shí)現(xiàn)電池模型參數(shù)的一步辨識;然后使用EKF在獲得更新的模型參數(shù)基礎(chǔ)上完成SOC的估計(jì),同時(shí)根據(jù)此時(shí)的SOC值,由OCV-SOC曲線得出更新的開路電壓值,代入到FFRLS算法中,完成模型參數(shù)的二步辨識,以此類推實(shí)現(xiàn)模型參數(shù)和EKF算法的聯(lián)合估計(jì)。
步驟三、BP網(wǎng)絡(luò)和EKF聯(lián)合估計(jì)。如圖3所示,BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練成功后,即可利用其輔助EKF進(jìn)行在線狀態(tài)估計(jì)。當(dāng)接收到端電壓觀測量Utk后,濾波器EKF將提供e,K,xk+1-x^k+1|k。然后,將它們輸入到訓(xùn)練成功的BP神經(jīng)網(wǎng)絡(luò)中,經(jīng)神經(jīng)網(wǎng)絡(luò)算得SOCBP=SOC-SOC^。最后,得到EKF濾波后的最優(yōu)估計(jì)和神經(jīng)網(wǎng)絡(luò)的輸出之和SOCf=SOCEKF+SOCBP即為基于BP神經(jīng)網(wǎng)絡(luò)聯(lián)合EKF的最優(yōu)估計(jì)值。
小伙子家很窮。姑娘的父母當(dāng)時(shí)特別反對這門婚事,但姑娘看上了小伙子的人,執(zhí)意要嫁,便在家人的反對中,毅然嫁給了小伙子。
圖3SOC估計(jì)總流程圖
為驗(yàn)證模型參數(shù)辨識的可靠性和本文中提出的SOC估計(jì)算法的準(zhǔn)確性,使用電池動(dòng)態(tài)工況試驗(yàn)數(shù)據(jù)(圖4)進(jìn)行驗(yàn)證,電池動(dòng)態(tài)工況試驗(yàn)可反映試驗(yàn)情況下電池動(dòng)態(tài)狀態(tài)。初始SOC值為0.9,試驗(yàn)溫度設(shè)置為恒溫25℃,放電電流為正,充電電流為負(fù)。
圖4 動(dòng)態(tài)工況采樣電流值
使用FFRLS在線辨識模型參數(shù)時(shí),設(shè)置算法協(xié)方差的初始值P0=105×E,其中E為單位矩陣,E= diag(1,1,1)。設(shè)置好初始值后,使用matlab/simulink仿真軟件,可得到在線的模型參數(shù)結(jié)果。將模型參數(shù)辨識值代入到建立的電池模型中估計(jì)出電池的端電壓,并與動(dòng)態(tài)工況采集的端電壓作對比,進(jìn)行誤差分析,既可驗(yàn)證聯(lián)合在線參數(shù)辨識的精確性,也可評估模型的合理性。圖5為端電壓估計(jì)值與試驗(yàn)測試值曲線對比。從圖中可以看出,所設(shè)計(jì)的在線辨識方法能夠較好地實(shí)現(xiàn)對動(dòng)力電池的動(dòng)態(tài)端電壓變化的精確模擬。端電壓估計(jì)誤差如圖6所示,誤差結(jié)果普遍在0.03V以內(nèi),最大相對誤差也低于3%,說明聯(lián)合在線參數(shù)辨識方法能獲得精準(zhǔn)的模型參數(shù),進(jìn)而提高SOC估計(jì)精度。
圖5 端電壓估計(jì)值與試驗(yàn)測試值曲線
圖6 端電壓估計(jì)值與試驗(yàn)測試值誤差
在上述分析的基礎(chǔ)上,將進(jìn)一步驗(yàn)證SOC估計(jì)的準(zhǔn)確性。圖7為SOC估計(jì)值與試驗(yàn)值的對比。從圖中可以看出,BP-EKF算法SOC仿真值基本在測量值附近細(xì)微波動(dòng),具有良好的收斂性。而EKF算法的SOC值卻有很大波動(dòng),其穩(wěn)定性不如BPEKF算法。
圖7SOC估計(jì)值與試驗(yàn)值的比較
圖8 為SOC估計(jì)誤差,表1為具體的SOC估計(jì)誤差分析。從圖8和表1中可以看出,BP-EKF算法最大誤差為2.78%,均值誤差和均方根誤差分別為0.22%和0.83%。而EKF算法的最大誤差為10.76%,均值誤差和均方根誤差分別為5.82%和3.43%。因此,基于BP-EKF算法的SOC估計(jì),優(yōu)于EKF算法,并可通過BP神經(jīng)網(wǎng)絡(luò)的修正與補(bǔ)償,得到更為精確的估計(jì)值。
圖8SOC估計(jì)誤差
表1 SOC估計(jì)誤差分析%
(1)在1階RC等效電路模型的基礎(chǔ)上使用基于遺忘因子的遞推最小二乘法實(shí)現(xiàn)模型參數(shù)和SOC估計(jì)的聯(lián)合在線辨識,這對提高模型參數(shù)估計(jì)精度有很大作用。
(2)提出了BP-EKF估計(jì)算法。利用BP神經(jīng)網(wǎng)絡(luò)辨識的補(bǔ)償誤差值優(yōu)化EKF算法,提高了EKF算法的估計(jì)精度和可靠性。
(3)基于仿真和試驗(yàn)測試完成了估計(jì)算法的驗(yàn)證。結(jié)果表明:BP-EKF算法可以達(dá)到較為精確的估計(jì)結(jié)果,估計(jì)誤差小于2%。
[1]華周發(fā),李靜.電動(dòng)汽車動(dòng)力電池SOC估算方法綜述[J].電源技術(shù),2013,37(9):1686-1689.
[2]XIONG Rui,SUN Fengchun,et al.A data-driven based adaptive state of charge estimator of lithium-ion polymer battery used in electric vehicles[J].Applied Energy,2013,63(6):1421-1433.
[3]PLETT G.Extended kalman filtering for battery management systems of LiPB-based HEV battery packs,Part 1,Background[J].J.Power Sour,2004,134(2):252-261.
[4]黃文華,韓曉東,陳全世,等.電動(dòng)汽車SOC估計(jì)算法與電池管理系統(tǒng)的研究[J].汽車工程,2007,29(3):198-202.
[5]楊世春,麻翠娟.基于PNGV改進(jìn)模型的SOC估計(jì)算法[J].汽車工程,2015,37(5):582-586.
[6]林成濤,陳全世,王軍平,等.用改進(jìn)的安時(shí)計(jì)量法估計(jì)電動(dòng)汽車動(dòng)力電池SOC[J].清華大學(xué)學(xué)報(bào)(自然科學(xué)版),2006,46 (2):247-251.
[7]XIONG Rui,HE Hongwen,ZHAO Kai.Research on an online identification algorithm for a thevenin battery model by an experimental approach[J].International Journal of Green Energy,2015,12(3):272-278.
[8]HU Xiaosong,SUN Fengchun,et al.Online estimation of an electric vehicle Lithium-Ion battery using recursive least squares with forgetting[C].Proceedings of 2011 American Control Conference,San Francisco,California,2011:935-940.
[9]張利,朱雅俊,劉征宇.鋰離子電池SOC與模型參數(shù)聯(lián)合估算研究[J].電子測量與儀器學(xué)報(bào),2012,26(4):320-324.
[10]VILA J P,WAGNER V,NEVEU P.Bayesian nonlinear model selection and neural network:A conjugate prior approach[J].IEEE Trans on Neural Networks,2000,11(2):265-278.
Co-estimation of Lithium Battery SOC Based on BP-EKF Algorithm
Kong Xiangchuang1,Zhao Wanzhong1,2&Wang Chunyan1,2
1.College of Energy and Power Engineering,Nanjing University of Aeronautics and Astronautics,Nanjing210016; 2.Chongqing University,State Key Laboratory of Mechanical Transmission,Chongqing400044
Accurate estimation of battery SOC is not only a prerequisite for control and optimization of electric vehicle,but also the basis for the reasonable implementation of battery management.In this paper,based on the first-order RC equivalent circuit model,a SOC estimation method for lithium power battery is proposed by combining BP neural network with extended Kalman filtering(EKF),in which recursive least-squares with forgetting factor and BP-EKF algorithm are adopted to conduct a co-estimation of SOC and other model parameters.Corresponding filter output parameters are used to train BP neural network off-line,and succed trained BP neural network are used to compensate the estimation error in EKF algorithm.The results of simulation and dynamic state test show that compared with EKF algorithm,the SOC estimation method proposed has good performances in divergence suppression and robustness,and can effectively enhance the estimation accuracy of battery SOC.
lithium battery;SOC;extended Kalman filtering;BP neural network;co-estimation
10.19562/j.chinasae.qcgc.2017.06.007
*國家自然科學(xué)基金(51375007)、重慶大學(xué)機(jī)械傳動(dòng)國家重點(diǎn)實(shí)驗(yàn)室開放基金(SKLMT-KFKT-2014010和SKLMT-KFKT-201507)和江蘇省普通高校研究生科研創(chuàng)新計(jì)劃項(xiàng)目(SJZZ15_0038)資助。
原稿收到日期為2016年6月7日,修改稿收到日期為2016年8月15日。
趙萬忠,教授,E-mail:zhaowanzhong@126.com。