丁羿茗,呂瑞強(qiáng),蔣 超
(空軍勤務(wù)學(xué)院,江蘇徐州221000)
鋰電池在使用的過程中,SOC是一個(gè)重要的參數(shù)。SOC是指在相同的放電倍率下,電池剩余容量與在相同條件下總?cè)萘康谋戎?。如果電池的SOC計(jì)算不準(zhǔn)確,會(huì)導(dǎo)致過充電和過放電的發(fā)生,嚴(yán)重時(shí)還會(huì)導(dǎo)致鋰電池內(nèi)部結(jié)構(gòu)的損壞。
目前估算SOC使用較多的方法有安時(shí)積分法、神經(jīng)網(wǎng)絡(luò)法、卡爾曼濾波法等。文獻(xiàn)[1]通過修正容量,提高了安時(shí)積分法的精度。文獻(xiàn)[2]運(yùn)用BP 神經(jīng)網(wǎng)絡(luò)估算SOC,同時(shí)根據(jù)鉛酸蓄電池特性,建立了電池模型。文獻(xiàn)[3]以一階RC 等效電路模型為基礎(chǔ),運(yùn)用擴(kuò)展卡爾曼濾波,對(duì)鋰電池SOC進(jìn)行估算。鋰電池作為非線性時(shí)變的系統(tǒng),我們很難建立精確的數(shù)學(xué)模型,估算的精度會(huì)因?yàn)槟P偷木榷艿接绊?。神?jīng)網(wǎng)絡(luò)算法可以擺脫數(shù)學(xué)模型的束縛,通過訓(xùn)練輸入輸出實(shí)驗(yàn)數(shù)據(jù),即可得到準(zhǔn)確的SOC估計(jì)值,傳統(tǒng)的BP 神經(jīng)網(wǎng)絡(luò)因?yàn)樗惴ǖ那蠼馓匦?,容易陷入局部最?yōu),從而影響估算的精度,針對(duì)這個(gè)問題,本文將擴(kuò)展卡爾曼濾波(EKF)和神經(jīng)網(wǎng)絡(luò)結(jié)合,使系統(tǒng)具有非線性動(dòng)態(tài)跟蹤特性,使用遺傳算法對(duì)EKF神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化,減小了誤差的波動(dòng)范圍。
Thevenin 電路模型符合鋰電池非線性的特性,同時(shí)RC 等效電路可以體現(xiàn)電池內(nèi)部化學(xué)變化對(duì)外部參數(shù)的影響。圖1是Thevenin 等效電路模型,二階RC 等效電路模型狀態(tài)方程見式(1)[4]。
圖1 鋰電池二階RC 模型
式中:UOCV為電池的開路電壓,R0為電池的歐姆內(nèi)阻,RC1、RC2、C1、C2代表電池內(nèi)部發(fā)生化學(xué)反應(yīng)的極化內(nèi)阻,U0為電池的端電壓,R、C構(gòu)成了阻容電路。U1和U2表示電化學(xué)電容C1和濃差極化電容C2的電壓。
模型建立好后要對(duì)鋰電池參數(shù)進(jìn)行辨識(shí),鋰電池二階RC模型參數(shù)主要有電池開路電壓UOC,二階等效電阻電容R1、C1、R2、C2,以及歐姆內(nèi)阻R0。開路電壓的值和SOC的值可以建立起具有實(shí)際意義的關(guān)系,選用18650 磷酸鐵鋰電池作為實(shí)驗(yàn)對(duì)象,進(jìn)行反復(fù)的充放電試驗(yàn),每次充電完成后靜置2 min,放電完成后靜置3 h。通過實(shí)驗(yàn)得到鋰電池開路電壓與SOC關(guān)系如表1所示,其中UOC(c)是鋰電池充電過程中的開路電壓,UOC(d)是鋰電池放電過程中的開路電壓。
表1 UOC 與SOC 關(guān)系表
調(diào)用Matlab 軟件中的polyfit 函數(shù)對(duì)鋰電池開路電壓和SOC進(jìn)行最小二乘擬合,考慮到精度要求,選擇5 次多項(xiàng)式進(jìn)行擬合,擬合結(jié)果如式(2)所示。
在這一部分中,要辨識(shí)的參數(shù)有R0、R1、R2、C1、C2,為了準(zhǔn)確地獲取參數(shù),本文使用了脈沖放電電流[5]工況,其局部示意圖如圖2所示。當(dāng)時(shí)間t≤ta時(shí),鋰電池處于靜置狀態(tài),在t∈[ta,tc]之間,鋰電池以20 A 電流持續(xù)放電,當(dāng)t 圖2 脈沖放電局部放大圖 (1)辨識(shí)參數(shù)R0:對(duì)于二階RC 模型,一旦放電電流開始或停止,端電壓會(huì)立刻下降。電容器C1、C2的電壓值分別為U1和U2,U1和U2的值不會(huì)因?yàn)殡姵亻_始放電而發(fā)生突變。因此在時(shí)間[a,b]和[c,d],端電壓的變化是由歐姆內(nèi)阻R0引起的,R0的計(jì)算公式如式(3)示: (2)辨識(shí)參數(shù)R1、R2、C1、C2:在辨識(shí)前先對(duì)時(shí)間常數(shù)τ1、τ2進(jìn)行辨識(shí),對(duì)于一階RC 電路來說,鋰電池在某一時(shí)刻的極化電壓可以用下式表示: 式中:τ=RC,是電容C的時(shí)間常數(shù),t0是初始時(shí)間。 可以在c-d-e 階段辨識(shí)二階RC 等效電路時(shí)間常數(shù)τ1、τ2,根據(jù)公式(6),該階段電流I為0,電壓U1、U2可以用式(5)表示: 這個(gè)階段開路電壓為: 式中:α1、α2、α3、β1、β2是未知系數(shù),將在后面進(jìn)行識(shí)別;α1代表電池開路電壓,可以在靜置階段測(cè)量,而在e點(diǎn),電池經(jīng)過了長(zhǎng)時(shí)間的靜置,可以在此時(shí)測(cè)得α1。通過使用Matlab 擬合工具箱的函數(shù)lsqcurvefit,可以得到最優(yōu)解α2、α3、β1、β2,此時(shí)將時(shí)間常數(shù)(τ1、τ2)和電壓[U1(tc)、U2(tc)]辨識(shí)了出來。 在a-b-c 階段,U1(ta)、U2(ta)都是0,極化電壓可以用下式表示: 那么R1、R2可以被計(jì)算出來,如下式所示: 其中,τ1、τ2、U1(tc)、U2(tc)已經(jīng)在之前被計(jì)算了出來,τ1=R1C1,τ2=R2C2,因此可以得到C1=τ1/R1,C2=τ2/R2,依據(jù)上述原理,鋰電池內(nèi)部參數(shù)辨識(shí)結(jié)果如表2 和表3所示。 表2 鋰電池內(nèi)部參數(shù)辨識(shí)(充電過程) 表3 鋰電池內(nèi)部參數(shù)辨識(shí)(放電過程) 擴(kuò)展卡爾曼濾波法可以通過轉(zhuǎn)換將非線性系統(tǒng)近似為線性系統(tǒng),做法是以X?k為基準(zhǔn),將非線性函數(shù)f(*)、h(*)用泰勒級(jí)數(shù)展開,只保留一階項(xiàng),最后用卡爾曼濾波方法完成線性系統(tǒng)濾波任務(wù)[6-7]。 當(dāng)非線性系統(tǒng)為離散的情況時(shí): 式中:W(k)是過程噪聲;V(k)是觀測(cè)噪聲。 第一步將非線性系統(tǒng)的模型局部線性化,隨后將非線性函數(shù)f(*)圍繞濾波值用泰勒級(jí)數(shù)展開,保留一階項(xiàng),得到如下方程式。 初始值為X(0)=E[X(0)]。 式(10)、式(11)是經(jīng)過線性化后的模型,代入卡爾曼濾波方程可以得到擴(kuò)展卡爾曼濾波方程,具體的代入過程這里不贅述。 用EKF 算法訓(xùn)練神經(jīng)網(wǎng)絡(luò)的基本思想是把神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值作為EKF 濾波器的狀態(tài)量,EKF 的觀測(cè)量為神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)值[8]。這里以三層神經(jīng)網(wǎng)絡(luò)為例,將神經(jīng)網(wǎng)絡(luò)中的所有參數(shù)W kij(第i層到第j層的第k個(gè)神經(jīng)元連接權(quán)值)組成狀態(tài)向量[9],如式(13)所示。 系統(tǒng)的狀態(tài)方程和觀測(cè)方程可表示為: 式中:Yd是期望輸出;Xk是為輸入向量;Y是系統(tǒng)的預(yù)測(cè)輸出。 我們可以任意設(shè)置網(wǎng)絡(luò)的初始權(quán)值為W?k,初始誤差協(xié)方差為P1,Hk為h(X)對(duì)X的雅各比偏導(dǎo)矩陣,濾波器的狀態(tài)估計(jì)和更新方程式如下所示: 用Matlab 軟件進(jìn)行仿真驗(yàn)證,圖3 是EKF 神經(jīng)網(wǎng)絡(luò)算法SOC估算曲線。圖4 是誤差對(duì)比圖,從圖中可以看出,EKF神經(jīng)網(wǎng)絡(luò)估算的誤差在零值附近波動(dòng)更小,精度更高。圖5是EKF 神經(jīng)網(wǎng)絡(luò)訓(xùn)練收斂圖,雖然估算精度較高,但是需要經(jīng)過161 次訓(xùn)練,訓(xùn)練時(shí)間較長(zhǎng),需要進(jìn)一步改進(jìn)。 圖3 EKF神經(jīng)網(wǎng)絡(luò)估算SOC 圖4 BP算法和EKF算法誤差對(duì)比圖 圖5 EKF神經(jīng)網(wǎng)絡(luò)訓(xùn)練收斂圖 遺傳算法是一種仿生的搜索型算法,它可以使問題在一定的約束下接近最優(yōu)解[10]。訓(xùn)練時(shí)間過長(zhǎng),訓(xùn)練的結(jié)果不收斂是神經(jīng)網(wǎng)絡(luò)常見的問題,基于EKF 算法的神經(jīng)網(wǎng)絡(luò)在訓(xùn)練的過程中有時(shí)也會(huì)陷入局部最優(yōu)的情況。遺傳算法可以在全局范圍內(nèi)尋優(yōu)[11],達(dá)到在網(wǎng)絡(luò)訓(xùn)練前權(quán)值和閾值向量接近最優(yōu)值的效果,本文將SOC真實(shí)值與神經(jīng)網(wǎng)絡(luò)估算值差值的絕對(duì)值作為適應(yīng)度函數(shù),如下式所示: 式中:Sreal是SOC的真實(shí)測(cè)量值,Spre是神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)值。遺傳算法優(yōu)化流程圖如圖6所示。 圖6 遺傳算法優(yōu)化流程圖 圖7是GA算法優(yōu)化后訓(xùn)練收斂圖,從圖中可以看出,在遺傳算法優(yōu)化下,對(duì)閾值和權(quán)值進(jìn)行快速尋優(yōu)[11-12],可以提高訓(xùn)練速度,提升訓(xùn)練精度,經(jīng)過17 次訓(xùn)練,神經(jīng)網(wǎng)絡(luò)的誤差就達(dá)到了最小值。最終訓(xùn)練結(jié)果如表4所示,可以看到EKF神經(jīng)網(wǎng)絡(luò)估算的平均絕對(duì)誤差為0.004 2,均方根誤差為0.005 4,比BP 神經(jīng)網(wǎng)絡(luò)精度更高,經(jīng)過遺傳算法優(yōu)化后,EKF 神經(jīng)網(wǎng)絡(luò)估算的平均絕對(duì)誤差為0.003 9,均方根誤差為0.004 9,精度得到了進(jìn)一步的提高。 圖7 GA優(yōu)化后訓(xùn)練收斂圖 表4 訓(xùn)練結(jié)果 本文基于Matlab/Simulink 平臺(tái)搭建了鋰電池二階RC 仿真計(jì)算模型[13],鋰電池模型如圖8所示,將辨識(shí)出來鋰電池參數(shù)用查表法導(dǎo)入模型中,以R1為例,如圖9所示。 圖8 鋰電池二階RC 模型圖 圖9 R1查表法示意圖 利用HPPC 工況驗(yàn)證模型的精度,將該工況下的實(shí)驗(yàn)數(shù)據(jù)和模型仿真數(shù)據(jù)進(jìn)行對(duì)比,如圖10所示,在m 點(diǎn)處進(jìn)行3C大電流充電,在n 點(diǎn)處進(jìn)行5C大電流放電,較大倍率的電流會(huì)影響模型參數(shù)辨識(shí)的準(zhǔn)確性,導(dǎo)致模型仿真值出現(xiàn)突變,誤差出現(xiàn)較大波動(dòng),但是如圖11所示,HPPC 工況下模型仿真誤差始終在2%之內(nèi),精度滿足要求。 圖10 HPPC工況下端電壓仿真值與測(cè)量值曲線 圖11 HPPC工況模型仿真誤差 為了進(jìn)一步驗(yàn)證模型的精度,本文運(yùn)用UDDS 工況進(jìn)行驗(yàn)證。圖12 是UDDS 工況下端電壓仿真值與測(cè)量值曲線圖,圖13 是UDDS 工況模型仿真誤差圖。從圖中可以看出,在該工況下,模型的端電壓仿真誤差在3.3%之內(nèi),精度滿足要求。 圖12 UDDS工況下端電壓仿真值與測(cè)量值曲線 圖13 UDDS 工況模型仿真誤差 本文通過大量的充放電試驗(yàn),對(duì)鋰電池進(jìn)行了參數(shù)辨識(shí),使用辨識(shí)出來的參數(shù)在Matlab/Simulink 平臺(tái)搭建了二階RC 等效電路模型,通過HPPC 工況和UDDS 工況實(shí)驗(yàn)數(shù)據(jù)檢驗(yàn),二階RC 等效電路模型可以真實(shí)反映鋰電池特性。用EKF 算法更新神經(jīng)網(wǎng)絡(luò)閾值和權(quán)值,對(duì)SOC進(jìn)行預(yù)測(cè),通過仿真驗(yàn)證EKF 神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)精度優(yōu)于BP 神經(jīng)網(wǎng)絡(luò)。用遺傳算法對(duì)神經(jīng)網(wǎng)絡(luò)閾值和權(quán)值進(jìn)行尋優(yōu),減小陷入局部最優(yōu)解的概率,仿真驗(yàn)證得出遺傳算法優(yōu)化后的EKF 神經(jīng)網(wǎng)絡(luò)收斂速度更快,估算精度更高。2 基于擴(kuò)展卡爾曼濾波算法的神經(jīng)網(wǎng)絡(luò)
2.1 擴(kuò)展卡爾曼濾波器
2.2 基于EKF 算法的神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)
3 遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)初值
4 鋰電池模型工況分析
4.1 HPPC 工況模型精度驗(yàn)證
4.2 UDDS 工況模型精度驗(yàn)證
5 結(jié)論