陳賜陽,陳德旺
(福州大學數學與計算機科學學院,福建福州 350000)
鋰離子電池在新能源中占有重要地位。新能源交通工具、5G 智能時代的通訊設備和電子設備等大多使用鋰離子電池。鋰離子電池在使用過程中隨著充放電循環的反復進行,電池組的性能會不斷降低,直至下降到不能正常使用(容量低于標稱容量的70%)。準確預測鋰電池剩余使用壽命(remaining useful life,RUL)與事故風險的規避、故障的檢測、效益最大化息息相關。
國內外學者重視動力鋰離子電池RUL 預測技術研究,很多文獻報道了此領域研究成果。李練兵等[1]通過分析不同循環時間下等效特征點處導數函數的斜率變化規律,建立了鋰離子電池在等效循環條件下的壽命退化曲線,但預測精度仍有較大提升空間;劉中財等[2]利用最小二乘法建立電池內阻和電池容量的對應關系,提出新的電池健康狀態預測模型,由于是基于模型的算法,需要進行多階段的分析,使得該模型擬合過程較復雜,難以實現在線預測;Phattara Khumprom等[3]使用深度神經網絡(DNN)方法預測鋰電池RUL,將DNN與其他傳統機器學習算法進行比較,結果表明DNN 算法的性能可以匹配或勝過其他算法;姜媛媛等[4]利用ELM 神經網絡構建鋰電池RUL 預測模型,但是鋰電池充放數據是具有時序性的,上述的DNN 模型和ELM 模型都沒有充分利用這一特性更好地學習數據特征,RUL 預測精度有進一步提高的希望。Lei Cai 等[5]提出一種基于非支配排序遺傳算法(nsga-II)的優化過程,利用支持向量回歸(SVR)和電流脈沖檢驗的短期特征進行預測,但是模型較為簡單,潛力有限,限制了預測精度。
上述文獻表明基于模型和數據驅動的鋰電池RUL 預測算法均取得一定研究進展,但是相關模型的預測精度和魯棒性仍有較大上升空間。本論文研究數據驅動的鋰電池剩余使用壽命間接預測方法,提取鋰電池等壓降放電時間[6]作為健康因子,利用深度學習的特性,結合卷積神經網絡快速提取特征的優勢和長短時記憶網絡解決時序數據長依賴的優勢,提出卷積神經網絡與長短時記憶網絡融合的CNN-LSTM模型以進行鋰電池RUL 的間接預測。
隨著充放電循環進行,鋰離子電池性能不斷下降,達到一定閾值后將與電池標稱容量產生較大差異。這個過程伴隨著內阻增大、充放電效率降低、發熱增多等現象,到一定程度將影響正常使用甚至引發危險事故。鋰電池容量是監測鋰電池健康狀況(state of health,SOH)、估算鋰電池RUL 的重要參數。電池容量難以直接在線測量,解決方案是提取與鋰電池容量高度相關的健康因子(health index,HI),通過HI 構建電池容量預測模型,來實現對電池SOH 的監測。
本文使用等壓降放電時間作為健康因子。等壓降放電時間是鋰電池放電循環時電壓從Vmax降到Vmin所需要的時間,其中Vmax、Vmin是人為設置的高位電壓和低位電壓。模型中對這兩個物理量分別賦值為3.8 和3.5 V。等壓降放電時間Ti見式(1):

式中:i為第i個放電循環;Ti為第i個放電循環對應的等壓降放電時間;TiVmax、TiVmin分別為第i個放電循環中電池放電電壓達到設置的高、低位電壓所對應的時間。
文獻[6]提出利用灰色關聯法檢驗健康因子與電池容量的相關性,灰色關聯分析法是根據各因素之間發展趨勢的相似程度作為衡量待評估因素間關聯程度的分析方法。本文將電池的容量序列當作反應系統行為特征的參考序列Y={y(k)|k=1,2,…,n},將放電電壓在3.8~3.5 V 區間內的等壓降放電時間序列當作影響系統行為的因素組成的比較數列Xi={xi(k)|k=1,2,…,n},k表示序列長度,i表示比較序列個數,灰色系數的具體公式為:

式中:ρ∈(0,∞),為分辨系數,計算關聯度的公式為:

關聯度ri取值在(0,1)之間,越靠近1 說明參考序列與比較序列相關程度越大,取分辨率ρ=0.5,計算得出電池容量與等壓降時間的關聯度為0.723 5,具有很高相似性。NASA 數據集中B0005 號鋰電池的容量退化曲線和等壓降放電時間變化曲線如圖1 所示。從圖中也可以看出兩者變化趨勢高度相似,能夠較好捕捉到電池容量變化特性,因此選取等壓降放電時間作為健康因子。

圖1 B0005號鋰電池容量與等壓降放電時間變化
人類在觀察某種事物時能夠快速捕捉到事物的特征,卷積神經網絡(CNN)是以此為靈感通過模擬人類視覺創造出的算法。CNN 具有輸入層、卷積層、池化層、全連接層、輸出層等結構,其中卷積層與池化層是CNN 的核心層,最具有代表性。CNN 最熱門的使用是圖像處理中2D-CNN 或3D-CNN 對高維圖像數據的特征提取,近期利用CNN 對一維數據的快速特征提取開始進入人們的視野。
卷積層將輸入數據與卷積核進行卷積運算以提取數據潛在的特征,固定大小的卷積核感受也像人的眼睛一樣掃描整個數據域,不同權值的多個卷積核通過卷積運算評估數據中各個方面的不同特征并提取出來,卷積層的具體運算如下:


圖像處理中的高維圖像數據含有更巨大的信息量,多采用多維卷積神經網絡,而鋰電池數據是一維時序數據,故本實驗設計1D-CNN 對電池數據進行特征提取,一維卷積層結構如圖2 所示。

圖2 一維卷積層結構
在數據經過卷積層的特征提取后,依據不同卷積核得到多個特征矩陣,為了提取到足夠的隱藏信息,卷積層的輸出維度一般比較大。池化層的作用就是對輸入特征進行降采樣,同時對眾多特征進行過濾篩選,強化部分顯著特征,相當于人類視覺對觀察事物的有效信息過濾。池化層的算子稱為池化核,它通過遍歷的方式掃描卷積層輸出的特征矩陣,具體公式如下:

涉及到時序數據的處理,最常使用的就是遞歸神經網絡(RNN),但當處理的數據中有用的信息與需要該信息的位置距離較遠,RNN 沒法很好地學習到數據的特征信息。長短時記憶神經網絡(LSTM)是RNN 的一種改進算法[7],LSTM 通過在神經元中引入三個“門”來控制前后數據所保留的信息量大小,以解決數據中長期性依賴特征的問題,這三個門分別是輸入門、遺忘門、輸出門。LSTM 神經元細胞結構如圖3所示。

圖3 LSTM神經元細胞結構
圖3 中的σ是sigmoid 激活函數,輸出范圍是(0,1),tanh的輸出范圍是(-1,1),將數值限定在一定范圍之內,LSTM 是RNN 的變種,通過圖3 中所示的三個門來控制神經元的狀態。
遺忘門(forget gate)的作用是決定多少歷史信息被細胞狀態丟棄。

式中:ht-1為上一時刻的輸出狀態;xt為當前時刻的輸入狀態;Wf為遺忘門的權重矩陣;bf為遺忘門的偏置值;ft為遺忘門的輸出。
輸入門(input gate)的作用是決定當前時刻有多少新信息保存到細胞狀態。

式中:ht-1為上一時刻的輸出狀態;xt為當前時刻的輸入狀態;Wi為輸入門的權重矩陣;bi為輸入門的偏置值;it為輸入門的輸出值;WC為細胞狀態的權重矩陣;bC為細胞狀態的偏置值;是候選細胞狀態。
更新細胞狀態的過程為:

式中:ft、it分別為遺忘門和輸入門的輸出值;Ct-1為上一時刻細胞狀態;?t為候選細胞狀態;Ct為當前時刻細胞狀態。

式中:ht-1為上一時刻的輸出狀態;xt為當前時刻的輸入狀態;Wo為輸出門的權重矩陣;bo為輸出門的偏置值;ot為輸出門的輸出值;Ct為當前時刻的細胞狀態;ht為單個LSTM 神經元細胞最終的輸出信息。
卷積神經網絡可以對一維時序數據進行快速的特征提取,挖掘潛在的隱藏信息,但是無法學習到數據中的長依賴特性;長短時記憶網絡可以較好地解決時序數據中的長依賴問題,有效識別數據模式,但是對數據特征的挖掘提取不如卷積神經網絡。本文將CNN 與LSTM 兩種模型結合,令模型優勢互補,在快速充分提取特征及潛在信息的同時能夠學習到數據的長依賴特性,設計基于CNN-LSTM[8-9]的鋰電池RUL預測模型,模型的算法流程圖如圖4 所示。

圖4 基于CNN-LSTM的RUL預測算法流程圖
從圖4 中可以看出,構建RUL 間接預測模型分為幾個步驟:首先利用CNN-LSTM 神經網絡學習電池實際容量與等壓降放電時間的關系,訓練出鋰電池容量退化模型;接著利用放電循環周期與等壓降放電時間組成的時間序列訓練出等壓降放電時間預測模型,其中tc表示該電池在第c個放電周期的等壓降放電時間,由于在工程應用中人為測量計算出等壓降放電時間再預測電池容量具有滯后性,只能當作離線監測的方法,為了實現在線監測鋰電池RUL,保證RUL預測模型的實時性而訓練此模型,然后將測試集輸入等壓降放電時間預測模型,預測出等壓降放電時間序列并將該序列輸入CNN-LSTM 鋰電池容量退化模型,進一步預測出鋰電池實際容量的輸出值;最后通過當前實際容量與鋰電池失效閾值的計算得出鋰電池剩余使用壽命。
NASA 鋰電池數據集是NASA PCoE 實驗室公開的市售18650 型鋰電池數據集,數據集包含四個鋰離子電池(B0005、B0006、B0007、B0018)在室溫下的充電、放電、阻抗曲線。四個電池的充電測試過程一致,先以1.5 A 的恒定電流進行充電,直到電池電壓達到4.2 V,然后保持電壓不變繼續充電,直到充電電流降至20 mA。放電測試是以2 A 的恒定電流進行放電,直到B0005、B0006、B0007、B0018 號電池的電壓分別降至2.7、2.5、2.2 和2.5 V。
本文實驗選取B0005、B0006 電池作為實驗對象,兩個電池都經歷了168 個循環放電周期,以標稱容量的70%看作鋰電池的失效閾值,例如B5 電池標稱容量為1.89 Ah,則它的失效閾值為1.89×0.7=1.323 Ah,失效閾值就是電池的壽命終止線(end of life,EOL),RUL 預測就是計算電池當前的實際容量與EOL 之間剩余的放電周期數。
鋰電池健康狀態監測的相關研究中,多數使用剩余使用壽命的預測誤差(RULerror)、相對誤差(relative error,RE)和相對百分誤差(mean absolute percentage error,MAPE)作為評估指標評價模型的預測效果和可靠程度。
RULerror是模型預測值(RULpr)與真實值(RULtr)的誤差,可當作模型的準確性評價指標。

RE是在失效閾值處模型預測的電池容量Cpr與期望電池容量Ctr的相對誤差,可當作模型可信度的評價指標:
公式成立條件看似是很無意義的問題,比如庫侖定律 的成立條件:真空、點電荷,幾乎是不需要思考的問題。但其實認識高中的電磁學公式后,會發現對成立條件的思考是對公式理解、運用的前提。例如焦耳定律Q=I2RT。使用焦耳定律求電流的熱效應是對一切電路成立的,但使用焦耳定律求功則僅限于純電阻電路中,即當且僅當電路為純電阻電路時W=Q=I2RT成立,當電路中有電動機時W>Q=I2RT。這一點被廣泛應用于高中各類考試、測驗中。相較于焦耳定律,對其推論成立條件的探索就更為重要。日常學習中,我們對Q=UIT或的使用也很多。但這兩式也是僅在純電阻電路中適用的。但很多同學卻常常在含電動機的電路中誤用,應予以注意。

MAPE是模型多次預測結果的相對誤差均值,可當作模型穩定性的評價指標:

本實驗使用keras 搭建預測模型的深度學習框架,數據首先進入一維卷積神經網絡層Conv1D,設置Conv1D 具有10 個過濾器(filter),每個filter 的卷積核大小為1,移動步長也為1,用“same”方式填充卷積核處理的數據,選取ReLU 為卷積層激活函數;提取特征后對數據進行池化采樣篩選并強化數據特征,池化層采用最大池化策略MaxPooling1D,池大小為1;卷積層和池化層提取處理后的數據特征輸入LSTM 層,設定LSTM 層具有200 個神經元,同時為了防止過擬合,在LSTM層與Dense 層之間加入Dropout 層,設置參數為0.3,即LSTM層的神經元節點有30%概率得到保留;最后使用Flatten 層將數據壓平成一維輸入全連接層,這里設置兩層全連接層以便更快達到收斂,其中Dense1 的激活函數為ReLU,大小為5,Dense2 的激活函數為sigmoid,大小為1。CNN-LSTM 的模型架構如圖5 所示,本文所有模型均采用圖示架構。

圖5 CNN-LSTM算法架構圖
NASA 數據集的B0005、B0006 電池都包含168 個放電循環周期,本實驗選取前100 個放電周期的數據作為訓練集,后60 個周期的數據為測試集,使用等壓降放電時間作為輸入數據、鋰電池容量作為輸出數據訓練出基于CNN-LSTM 的鋰電池容量退化模型,該模型也可稱為RUL 直接預測模型。對于等壓降放電時間的提取范圍設定為每個周期放電電壓從3.8 V 降低到3.5 V 所需時間,CNN-LSTM 模型擬合出來的B0005、B0006 測試集電池容量退化曲線如圖6、圖7 所示,失效閾值與鋰電池RUL 均已在圖中注明。

圖6 B0005鋰電池容量退化曲線及相對誤差
從圖6(a)、7(a)中可以觀察到訓練出的CNN-LSTM 模型對電池容量退化的擬合程度較高,模型能夠感知到B0005 和B0006 鋰電池容量下降過程中的波動并還原真實情況,在這個直接預測模型中的真實RUL 與預測RUL 誤差不超過2 個周期,準確性較高。
從圖6(b)中可以看到該模型在8 個周期內實現將相對誤差控制在(-0.01,0)的區間內,在第53 個周期附近的波峰較之先前的波峰更陡峭,使得相對誤差發生較大變化,但仍保持在上述區間附近。圖7(b)可以看出,該模型在5 個周期內實現將相對誤差鎖定在(0,0.01)的區間內,在第36 個周期附近的波峰較之先前的波峰更平緩,并且到第46 個周期期間發生多次曲折,使得36~46 周期期間的相對誤差發生劇烈變化,但很快便得到控制,最終落在(-0.005,0.005)的區間內。

圖7 B0006鋰電池容量退化曲線及相對誤差
文獻[10]提出使用Elman 神經網絡預測鋰電池RUL 并與BP 神經網絡作比較,本實驗CNN-LSTM 模型的各項誤差通過公式(13)~(15)計算得出,三種模型在兩個電池的表現如表1 所示,實驗條件一致,表中各項誤差最優值均已加粗顯示。Elman 網絡在RULerror的表現略勝于另外兩種模型,但此實驗是對于電池容量的直接預測,實際應用中應先預測出等壓降時間序列再輸入模型進行間接預測,因此模型對于該誤差項的表現還需進一步驗證。對于RE和MAPE誤差項,CNNLSTM 模型在兩個電池上取得的都是最小值,特別是B0005電池數據的MAPE,相比Elman 降低了63%,說明該模型魯棒性較好,同時前面提及的短周期內控制誤差范圍說明該模型能夠快速追蹤電池數據的特征。

表1 B0005電池各項誤差分析
依照上一節實驗步驟,等壓降放電時間預測模型依然選取前100 組數據訓練,后60 組數據測試。基于CNN-LSTM 的等壓降時間預測模型的預測結果如圖8 所示。為了便于觀察將100~160 周期預測區間的結果放大置于右上角,可以看到B0005、B0006 兩個電池的預測曲線基本與期望輸出曲線重合,擬合效果很好。

在工程應用中,若人為測出等壓降放電時間,得到的是人為測量時刻的剩余使用壽命,但是等到計算完成時,電池狀態早已進入下一階段,RUL也發生了變化。這就是等壓降放電時間預測模型的存在意義,必須提前預測等壓降放電時間以保證RUL 預測的實時性。如圖8 所示,預測值具有較高的可信度,將該模型輸出的等壓降放電時間預測序列輸入4.1節的退化模型才能真正實現鋰電池RUL 的在線監測。

圖8 B0005電池與B0006電池等壓降放電時間預測
鋰電池RUL 間接預測模型就是將前兩小節的兩個模型結合在一起,先用等壓降放電時間預測模型預測出等壓降放電時間序列,再將該序列輸入電池容量退化模型預測出當前電池容量,結合失效閾值計算出剩余使用壽命。簡單來說就是將4.1 節中RUL 直接預測模型中使用的人為測量的等壓降放電時間序列更改為4.2 節模型預測所得的時間序列。不必等到人為測出等壓降放電時間才能預測當前階段的RUL,而實際上電池已經歷了后面一個甚至好幾個放電周期,所謂“當前階段”的RUL 也就失去了意義。基于CNN-LSTM 模型的RUL 預測結果如圖9 所示,圖中實線表示電池容量期望輸出,虛線表示預測輸出,下方直虛線為失效閾值,小圖中標注出了電池的RUL。

圖9 B0005電池與B0006電池RUL預測結果
本文同時與文獻[10]和文獻[4]進行對比實驗,表2 列出最終基于CNN-LSTM 的鋰電池RUL 間接預測模型的各項誤差,結合圖9 可以看出該模型預測效果較好,4.1 節直接預測模型中的B0005 電池RUL 誤差為2,而最終的間接預測模型的RUL 誤差為0,獲得了改善。同時相比文獻[10]采用的Elman 模型和文獻[4]采用的ELM 模型,基于CNN-LSTM 的鋰電池RUL 間接預測模型取得最低的RULerror和MAPE值,表現最好。

表2 電池RUL預測誤差分析
針對鋰電池RUL 的實時在線監測問題,本文提出一種基于CNN-LSTM 的RUL 間接預測模型,以等壓降放電時間為健康因子,先構建電池容量退化模型Model_Cap,再構建等壓降放電時間預測模型Model_EVT,最后將Model_EVT 預測的時間序列輸入Model_Cap 得到電池RUL,完成兩個子模型的融合,實現鋰電池剩余使用壽命的間接預測,提出的CNN-LSTM預測模型與ELM 和Elman 神經網絡模型相比,具有更高的精確度和更好的魯棒性,未來的研究可以著手結合基于數據驅動和基于模型的算法,改善算法精度的同時增強可解釋性。