吳鐵洲,劉思哲,張曉星,吳麟章
(湖北工業大學太陽能高效利用及儲能運行控制湖北省重點實驗室,湖北武漢 430068)
鋰離子電池在使用中會出現老化和故障等問題。一般認為,當健康狀態(SOH)低于80%時,電池已完全老化且無法使用。為確保高效安全的操作,防止過充電和過放電,并延長鋰離子電池的使用壽命,對SOH進行估算十分必要[1]。
估算鋰離子電池SOH的方法一般分為基于模型的方法和基于數據驅動的方法[2]。A.Guha等[3]結合容量衰減和內阻增長模型,提出估算鋰離子電池SOH方法,基于第30次、第100次和第170次循環對應的融合退化模型進行預測,誤差在2.5%以內。鄧濤等[4]采用戴維南等效電路模型,基于雙卡爾曼濾波法估計電動汽車電池的SOH,平均誤差在1%以內。X.Y.Li等[5]通過研究電池退化過程,引入了充電過程中端電壓的升高和電壓導數(DV)的變化特性,提出使用支持向量機(SVM)算法在線估算電池剩余壽命的方法。驗證結果表明,SVM電池回歸模型可以確保電池壽命估計的精度,但最大誤差為5%。張少宇等[6]根據充電電壓與老化過程中的關聯性,采用門控循環神經網絡估計鋰離子電池SOH,達到了1.25%的均方絕對誤差和低于5.62%的最大誤差,但只選取了單一的電壓曲線數據作為輸入。申江衛等[7]將BP神經網絡模型帶入K-均值算法中,使用混合算法,估算鋰離子電池SOH。K-均值算法可以降低電池模型產生的累計誤差,但BP神經網絡易陷入局部最優。
基于模型驅動的方法過于依賴系統的非線性程度,對于鋰離子電池這樣的強非線性系統可能難得到好的收斂結果;數據驅動的方法無需關注鋰離子電池內部復雜的退化機理,因此向量機、神經網絡等方法得到廣泛應用。其中,BP神經網絡具有良好的自學習性、自適應性、魯棒性和泛化能力,適用于鋰離子電池SOH估算。但BP神經網絡也存在收斂速度慢且容易陷入局部最小值的缺點。
綜上所述,本文作者使用基于螢火蟲算法(FA)-BP神經網絡的鋰離子電池SOH估算方法,利用FA的全局尋優能力和收斂速度快的特點,優化BP神經網絡的權值和閾值,以克服BP神經網絡的缺陷。結合一階RC電路模型,用遞推最小二乘法在線辨識電池參數,采用三層BP神經網絡,以電池的歐姆內阻、極化內阻和極化電容作為輸入,估算鋰離子電池的SOH。
鋰離子電池的工作過程伴隨著復雜的物理化學變化,是非線性過程,因此,神經網絡需要選取合適的電池特征參數作為輸入。僅用單因子作為評判標準,存在誤差大的缺點,選用多因子作為BP神經網絡的輸入,會使估算結果更精確[8]。在保證計算精度的同時降低復雜度,選用圖1所示的一階RC等效電路模型進行分析。

圖1 一階RC等效電路模型Fig.1 First-order RC equivalent circuitmodel
圖1中:U為電池的端電壓;I為工作電流;R0為歐姆內阻;Rd為極化內阻;Cd為極化電容;Id為通過極化電阻的電流;Uoc為開路電壓。
根據RC等效電路模型,即可得到U。

在電池不斷循環老化的過程中,可將歐姆內阻R0視為電流突然變化時電壓差與電流差之比,用式(2)表示。

極化內阻Rd和極化電容Cd可由電壓跳躍后的連續電壓變化反映,并通過最小二乘法擬合來估計,見式(3)。

式(3)中:Δt為采樣時間;Uc為并聯電路電壓;Uc(k+1)、Uc(k)和I(k)分別為通過離散化處理的初始數據。
隨著循環次數的增加,電池壽命不斷衰減,歐姆內阻R0和極化內阻Rd上升,極化電容Cd下降[9]。由上述分析可知,歐姆內阻R0、極化內阻Rd和極化電容Cd都與電池的SOH存在著確定的關系,因此,選取這3個電池SOH的健康因子作為神經網絡的輸入參數。
BP神經網絡是根據誤差反向傳播算法訓練的多層前饋網絡,利用梯度下降和均方誤差的方法實現對網絡連接權重的修改,應用廣泛,是研究成熟的神經網絡算法之一。三層BP神經網絡可滿足設計的精度要求,實現對任意非線性函數的逼近,因此,實驗選擇三層BP神經網絡。三層BP神經網絡由輸入層、隱藏層和輸出層構成,如圖2所示。

圖2 BP神經網絡的結構圖Fig.2 Structure diagram of BP neural network
神經網絡的隱藏節點數可由常用經驗公式判斷,見式(4):

式(4)中:s為隱藏層節點;m為輸出層節點;n為輸入層節點;a為1~10的整數。
根據式(4)判斷,s為7。
設隱藏層的輸出為Yj;隱藏層的閾值為θj;輸出層的閾值為θk;隱藏層的傳遞函數為f1;輸出層的傳遞函數為f2;從輸入層到隱藏層的權重為wij;從隱藏層到輸出層的權重為wjk。輸入一個學習樣本(xk,bk),其中k∈{1,2…N},N為樣本數,得到隱藏層的第j個神經元的輸出Yj、網絡輸出Yk,Tk為期望的輸出:

計算輸出層節點的誤差δk:

計算隱藏層節點誤差δj:

通過網絡實際輸出定義誤差函數E:

根據動態反向誤差傳遞算法原理,采用最速下降法調整連接權值,使誤差函數E以最快速度達到最小值。權值修正基本公式為:

式(10)中:η為學習率;w為權重。網絡訓練是權重和閾值之間不斷進行重新調整的過程,目的是使網絡錯誤減少到預設的最小值,或在預設的訓練步驟停止。
最后,將測試樣本輸入到經過訓練的網絡中,獲得電池SOH估算結果。
FA與其他群智能算法,如粒子群優化、人工蜂群優化等相比,有很多相似之處,但在概念和實現上都更簡單[10]。FA的原理是:將空間中的各點視為螢火蟲,利用發光強的蟲吸引發光弱的。發光弱的螢火蟲移動到發光強的過程,完成了位置迭代,從而找到最優位置。
在FA中,有3個理想化的規則:①任何螢火蟲都會被更亮的螢火蟲吸引,無論性別如何;②吸引力與亮度成正比,且隨著距離的增加而降低;③目標函數的狀態決定了螢火蟲的亮度。
FA的流程步驟如下。
①在FA中,存在兩個重要因素,即光強度的變化和吸引力的表述。光強度隨平方反比定律而變化。

式(11)中:I(r)為距離r處的光強度;Is為光源處的光強度。
為了避免式(11)中r=0的情況,可用高斯形式來近似式(12),γ為吸引度衰減函數。

螢火蟲的吸引力與相鄰螢火蟲看到的光強度成正比,因此,螢火蟲的吸引力β由式(13)確定。

式(13)中:β0為r=0時的吸引力;m為最優化問題的局部最優值。
②確定各螢火蟲間的位置距離。任意兩個螢火蟲a、b分別在xa和xb的距離,笛卡爾距離rab由式(14)確定。

式(14)中:xad為第a個螢火蟲空間坐標xa的第d個分量;D為問題維數。
③螢火蟲移動進行位置迭代。螢火蟲i的運動被另一種更吸引(更亮)的螢火蟲j吸引,取決于:

式(15)中:β(rab)·[xbd(t)-xad(t)]為吸引力;αε隨機化得到,α為隨機參數,ε是從高斯分布中得出的隨機數向量;t為迭代次數。
④螢火蟲收斂于全局最優位置。對于任何數量的螢火蟲n,如果n>>m,則可以實現算法的收斂性。在這里,n個螢火蟲的初始位置均勻分布在整個搜索空間中,并且隨著算法的不斷迭代,螢火蟲會收斂到所有局部最優值。通過調整參數γ和α,比較所有最優方案中的最佳解決方案,實現全局最優方案。FA的框架見圖3,tmax為最大迭代次數。

圖3 FA的框架Fig.3 Framework of firefly algorithm(FA)
利用FA優化BP神經網絡,主要是利用FA快速迭代和全局尋優的能力,優化BP網絡的初始權值和閾值,提高網絡學習性能,避免陷入局部最優解。FA優化BP神經網絡(FABP)算法的流程如圖4所示。

圖4 FA-BP算法流程圖Fig.4 Flow chart of FA-BP algorithm
①已知神經網絡輸入層、隱藏層及輸出層每層的神經元個數為3、7和1,因此,螢火蟲參數個體實數編碼L=3×7+7+7×1+1=36,網絡中的權值和閾值分別為wij、wjk和θj、θk,螢火蟲位置向量可表示為:

②構建BP神經網絡初始參數,包括初始閾值、訓練次數等。設置螢火蟲散發的初始值包括數目n、最大迭代次數tmax和最大吸引度因子β0等,隨機初始化所有個體位置。
③計算目標函數,也就是計算螢火蟲適應度函數。在FA-BP神經網絡中,訓練精度由均方誤差函數E確定。
螢火蟲的個體適應度函數f為:

④確定螢火蟲個體之間吸引度和相對亮度,吸引度β由式(13),任意兩螢火蟲的距離由式(14)確定。
⑤根據適應度函數進行位置移動更新式(17),為避免螢火蟲的不規則移動導致吸引的有效距離擴大,加入吸引度下限βmin,提高FA的搜索能力。

⑥當迭代次數達到最大或誤差收斂時,結束;否則,返回上一步。
⑦將螢火蟲的全局最優位置向量映射到BP神經網絡,作為FA優化后的神經網絡的初始權值、閾值。BP神經網絡訓練至達到滿足,輸出最優參數,完成訓練。
為驗證FA-BP神經網絡算法的有效性,用BP神經網絡算法和FA-BP神經網絡算法分別對非線性函數進行擬合,生成500組兩維隨機數(x1,x2),用400組數據對網絡進行構建,100組數據測試網絡,誤差(Er)對比結果見圖5。

圖5 使用FA優化前后的誤差Fig.5 Error before and after optimization with FA
從圖5可知,用FA-BP神經網絡算法,擬合非線性函數的預測結果更加精確,BP神經網絡算法預測的平均誤差為0.188,使用FA-BP神經網絡算法的平均誤差為0.011,遠小于BP神經網絡算法,說明FA-BP神經網絡解決非線性問題的能力更優。
以額定容量1 800 mAh,充放電電壓為2.7~3.6 V的18650型磷酸鐵鋰正極鋰離子電池(深圳產)為測試對象,在Arbin-BT200多功能電池測試系統(美國產)和GD-JS41型恒溫箱(上海產)搭建的實驗平臺上進行測試,由上位機保存以及讀取數據,測試溫度為25℃。用容量定義法估算鋰離子電池SOH,即電池當前最大容量與初始最大放電容量之比。
①以1.00C倍率電流恒流充電,至截止電壓3.6 V;
②轉恒壓充電至充電電流小于0.02C,靜置30 s;
③以1.00C倍率電流恒流放電,至終止電壓2.7 V,靜置60 s;
④判斷鋰離子電池壽命是否結束;未結束,則返回①。
為了獲得選定的神經網絡輸入參數,基于一階RC電路等效模型,使用遞推最小二乘法(RLS)在線辨識鋰離子電池參數。基本思想可概括為:

式(19)中:θ(k)為新參數估計值;θ(k-1)為舊參數估計值;ζ為修正項。
每進行一次遞推,就能辨識出新一時刻的電池參數,從而實現在線參數辨識。部分模型參數數據見表1。

表1 部分實驗數據Table 1 Part of the experimental data
在MATLAB上分別搭建BP神經網絡和FA-BP神經網絡的SOH估算模型。以電池的歐姆內阻、極化內阻和極化電容作為輸入參數,SOH作為輸出。對FA參數和BP神經網絡參數進行設置:螢火蟲種群數量n=50,最大迭代次數MaxGen=100,初始步長alpha=0.25,吸引力系數β=0.2,吸引度衰減函數γ=0.6;BP神經網絡的訓練次數N=100,誤差Er=0.000 1,學習率η=0.1。選取處理好的180組實驗數據,其中105組作為訓練樣本數據,75組作為測試樣本數據,將處理好的實驗數據分別輸入模型,進行仿真實驗,以神經網絡的均方誤差(Ems)作為適應度評估函數,結果見圖6。

圖6 算法優化前后的性能曲線Fig.6 Performance curves of algorithm before and after optimization
從圖6可知,BP神經網絡算法經過31次迭代,達到設定的精度要求,而FA-BP神經網絡算法經過12次迭代就達到了設定的精度要求,且迭代速度基本同步。由此可知,FABP神經網絡的收斂性更好。
算法優化前后的估算結果與誤差見圖7。

圖7 兩種算法的估算結果與誤差Fig.7 Estimated results and errors of the two algorithms
從圖7(a)可知,兩種模型都能很好地估算鋰離子電池的SOH,但是FA-BP神經網絡算法的估算結果更接近真實數據,估算效果更好。從圖7(b)可知,BP神經網絡算法的估算誤差波動范圍為[-4.50%,0.50%],最大誤差為4.50%,平均誤差為2.55%,FA-BP神經網絡算法的估算誤差范圍為[-1.50%,1.00%],最大誤差為1.50%,平均誤差為0.87%,與BP神經網絡算法相比,誤差波動范圍減小了2.50%,最大誤差減少了3.00%,平均誤差減少了1.68%,表現出更優的估算精度。
本文作者分別建立了基于FA-BP神經網絡估算模型和基于BP神經網絡的估算模型,并將與鋰離子電池SOH密切相關的影響因子歐姆內阻、極化電阻和極化電容作為模型的輸入參數。
MATLAB仿真實驗驗證表明:相比較于BP神經網絡,本文作者提出的FA-BP神經網絡估算模型的收斂性更好,且估算精度更高,平均誤差在1.00%以內,具有較高的理論價值和良好的實用性,在電動汽車鋰離子電池SOH估算中有很好的應用價值。