趙顯赫,耿光超,龔裕仲,江全元,林 達
(1.浙江大學 電氣工程學院,浙江 杭州310027;2.國網浙江省電力有限公司 電力科學研究院,浙江 杭州310014)
電網側儲能系統是促進大規模清潔能源并網的重要手段,也是提高電網運行靈活性的關鍵技術[1]。 隨著材料科學的不斷發展,以鋰電池為代表的電化學儲能已成為目前電力系統中的重要儲能方式之一[2]。 相比于其他儲能方式,鋰電池具有能量密度高、循環壽命長、能量轉化率高等優點,因此被廣泛應用于電網側儲能系統[3]。 在儲能鋰離子電池運行過程中,其內部儲能單元的性能會隨鋰電池電化學成分改變而發生不可逆退化[4],導致儲能系統性能下降或系統故障,甚至可能引發起火災或爆等事故。 為確保儲能鋰離子電池運行的安全性與可靠性,儲能系統健康管理技術開始不斷發展[5]。 作為儲能系統健康管理的重要組成部分之一,電池管理系統(battery management system, BMS)通過對儲能電池及電池組溫度、電壓、電流、容量等信息的采集,實現對儲能電池的實時狀態監測和故障分析[6]。 然而,目前已有的BMS 技術難以捕捉檢測狀態量在一段時間內的異常變化,不能提前預判故障的發生,因此有必要進一步研究更高效的儲能鋰離子電池健康狀態評估方法。
電池及電池組的健康狀態(state of health,SOH) 及 剩 余 使 用 壽 命(remaining useful life,RUL)是衡量儲能系統健康狀態的兩個重要評價指標[7]。 目前對電池SOH估計與RUL預測的主要方法有基于物理模型的分析方法和數據驅動建模方法兩類[8-10]。 相比于基于物理模型的分析方法,數據驅動技術無需對電池內部的復雜電化學機理進行建模,具有較高的可遷移性、魯棒性與自適應性[11]。 目前電池健康狀態評估的數據驅動建模方法主要包括人工神經網絡(artificial neural networks,ANN)[12]、支持向量機(support vector machine,SVM)[13]、 高 斯 過 程 回 歸( gaussian process regression,GPR)[14]等方法。 文獻[15]利用門控循環神經網絡(recurrent neural networks with gated recurrent unit, GRU-RNN)建立電壓時序特征與電池SOH的映射規律,但所采用的輸入特征較少,忽略了電池其他參數對電池SOH的影響。 文獻[16]通過長短期神經網絡(long shortterm memory,LSTM)對磷酸鐵鋰電池進行SOH估計和RUL預測,但該方法依賴實驗室較理想條件下的測試數據,所使用的數據樣本較少,魯棒性及可遷移性較弱。 文獻[17]從海量車輛運行數據中提取容量增量曲線的特征,實現了基于GPR的車載電池在線SOH估計,文獻[18]從充電曲線中提取5 種特征,通過SVM 進行電池SOH 預測。文獻[19]使用深度卷積神經網絡(deep convolutional neural networks,DCNN)對電池電壓、電流、溫度曲線進行切分作為模型特征,對電池SOH進行估計。
目前對儲能電池健康狀態估計的研究主要存在以下問題:首先,多數研究僅通過電池少量外部參數獲取健康狀態特征,缺乏對電池多維退化影響因素的分析研究;其次,對電池健康狀態的研究多局限于單體,而對電池組及電池簇的健康分析研究較少;此外,多數文獻提出的模型缺乏在實際儲能系統中的驗證。
為此,本文提出一種基于深度學習的儲能鋰離子電池健康狀態估計方法,采用注意力機制的LSTM模型,分析儲能電池的多維外部參數特征,強化參數敏感性較高的特征在模型訓練時的作用,實現儲能電池健康狀態高精度估計。 利用斯坦福電池單體測試集及實際儲能示范工程數據,分別對電池單體及電池簇進行健康狀態估計,驗證了模型的有效性。
儲能鋰離子電池健康情況可通過站內電池單體及電池簇的健康狀態(state of health,SOH)進行描述,通常定義為儲能單元當前額定容量和初始額定容量的比值[20],即

式中,Ct為儲能單元在第t個周期的容量;C0為初始容量。
在儲能鋰離子電池實際運行過程中,儲能單元的荷電狀態(state of charge,SOC)運行上下限設定會留有一定裕度,難以直接獲取準確的額定容量。 此時SOH可按SOC上下限間總放電量進行替代計算。
設Q為儲能單元從SOC上限放電至SOC下限所放出的電量,則

式中,Qt為當前儲能單元從SOC上限放電至SOC下限所放出的電量,Q0為初始儲能單元從SOC上限放電至SOC下限所放出的電量。
為確保儲能鋰離子電池健康狀態估計的時效性,本文采用滑動窗口的方式,利用一定時間范圍內的數據對儲能鋰離子電池健康狀況進行在線實時估計。 在該問題中,時刻t對應電池單體或電池簇的充放電循環次數。 電池單體或簇的SOH歷史觀測值(y1,y2,…,yt-1)、以及對應歷史輸入特征(x1,x2,…,xn-1),則未來第Δ循環后SOH的估計值為:

式中:φΔ為儲能鋰離子電池健康狀態估計的預測模型,w為滑動窗口的觀測長度,當Δ=0 時,表示在當前循環下對電池單體或電池集群SOH的估計。
本文提出的基于深度學習的儲能鋰離子電池實時健康狀態估計框架如圖1 所示,利用儲能鋰離子電池歷史數據及運行過程中的實時數據對儲能鋰離子電池單體及電池簇的實時SOH進行估計。

圖1 儲能鋰離子電池健康狀態評估框架
其主要流程為:
1)數據清洗:對儲能鋰離子電池運行過程中產生的實時數據進行清洗及預處理,去除掉明顯錯誤的數據,同時對缺失數據進行插值補充。
2)特征工程:特征工程是數據驅動建模過程中的重要一環,從儲能鋰離子電池歷史數據中提取反映電池單體或電池簇老化信息的特征參數,作為模型輸入參與模型訓練。 根據儲能電池SOH的定義,電池單體及電池簇的最大容量、內阻等參數可直接作為表征儲能系統健康狀況的特征。 但由于這些參數所包含的儲能系統健康狀態信息有限,且部分儲能鋰離子電池的BMS 對電池內阻無法直接測量。 因此,仍需通過特征工程豐富模型訓練所需的輸入特征,以提高模型的精度與可靠性。
3)模型訓練:本文以注意力機制的LSTM 神經網絡作為深度學習模型,利用特征工程生成的特征向量進行模型訓練,建立輸入特征與儲能鋰離子電池健康狀態的映射關系。 在模型訓練前,通過網格搜索對模型的關鍵參數進行優化,進而得到最佳的模型超參數。
4)健康狀態估計:利用儲能鋰離子電池實時數據在線生成多維特征,并輸入訓練好的模型中,估計當前或未來儲能鋰離子電池單體或電池集群的健康狀態。
5)模型更新:對預測結果進行性能評估,根據評估結果對模型參數進行適當調整;同時利用儲能鋰離子電池實時輸入在線數據對模型進行增量學習,更新已訓練的模型,進而提高模型的估計精度,形成完整的閉環估計系統。
儲能鋰離子電池的健康狀態估計可以簡化為非線性數值型多元時間序列的回歸預測問題。 循環神經網絡(recurrent neural network,RNN)可有效解決該類問題,但傳統RNN模型在訓練過程中,隨著時間步的推移,會發生梯度下降或梯度爆炸現象,使得歷史輸入信息丟失或者產生無效信息,進而導致預測結果精度急劇降低[21]。 為解決上述問題,Jurgen Schmidhuber在傳統RNN的基礎上提出了LSTM算法,解決了傳統RNN在訓練過程中無法處理的長期依賴問題及梯度爆炸問題。
LSTM單元可使用有效信息填充狀態單元,也可刪除無效信息,這個過程中使用的結構稱為門限。 門限由一個sigmoid 函數點乘一個矩陣組成。 sigmoid 函數輸出一個0 到1 之間的數字來描述每個信息通過門限的程度,其中0 表示所有信息禁止通過,1 表示所有信息通過。 LTSM的單元結構如圖2 所示,整個LSTM 單元包括3 個門限,即輸入門it、遺忘門ft和輸出門ot。

圖2 LSTM單元基本結構
LSTM訓練過程中更新迭代過程如式(1) -式(5)所示:

式中:σ和tanh 分別表示sigmoid 激活函數和雙曲正切激活函數;Wxi、Whi、bi表示輸入門中的輸入權重矩陣、狀態權重矩陣和偏置參數;Wxf、Whf、bf表示遺忘門的輸入權重矩陣、狀態權重矩陣和偏置參數;Wxo、Who、bo表示輸出門的輸入權重矩陣、狀態權重矩陣和偏置參數;xt表示LSTM神經元在t時刻的輸入,ht表示在t時刻xt對應單元的輸出;ct表示LSTM在t時刻的細胞狀態。
由于儲能系統復雜的非線性與多因素耦合性,單獨的電壓、電流、溫度等外特性參數所包含的健康信息有限;與此同時,對于如電池簇一類規模較大的電池集合,其健康情況受到下層多個結構復雜的儲能單體共同影響。 因此,在儲能鋰離子電池健康狀態建模過程中,需依賴大量人工生成的特征進行模型訓練,以涵蓋更多健康信息。 然而,由于儲能系統個體差異性、健康估計的復雜性、先驗經驗有限等因素,特征工程所提取的部分特征可能與儲能系統健康狀態的相關性很小、甚至無明顯相關性,進而導致模型訓練效果變差,預測精度降低。 為解決這一矛盾,本文引入了注意力機制。
注意力機制是根據人對畫面關注度權重的分布不均而設計的一種新型深度學習模型。 它模擬人腦注意力在特定時刻對特定區域集中的情況,從而有選擇性地獲取更多有效信息,忽略無用信息[22]。 通過對神經網絡隱藏層單元分配不同的概率權重,以突出關鍵信息的影響,增強模型判斷的準確性,因而被廣泛應用于圖像識別、語音識別、自然語言處理等方面[23]。
注意力機制的基本原理如圖3 所示,通過時間窗內的注意力打分機制對LSTM 隱藏層的狀態進行加權,提高關鍵輸入特征對輸出的權重,使不符合注意力模型的內容弱化或者遺忘,實現儲能鋰離子電池健康狀態的準確估計。

圖3 注意力機制原理示意圖
設LSTM輸入特征維數為m,LSTM時間窗口長度為w。 首先,位于上層的LSTM 模型輸出隱藏層狀態矩陣H=[ht-w,ht-w+1,…ht-1] H∈Rm×wht∈Rm,對隱藏層矩陣H 的每個行向量Hi,使用k個一維CNN過濾器Ci∈R1×w提取特征,對Hi進行卷積操作生成時間窗狀態特征矩陣HC,HC∈Rm×k,HC中的每個元素的計算過程如下:

定義打分函數f,對LSTM隱藏層狀態ht與矩陣HC的每個行向量進行關聯性分析,f的表達式如下:

式中,Wa為行向量Hi與ht的關系矩陣,表示時間窗內行向量Hi與ht的相關性。
打分函數f經過激活函數sigmod 作用后可得到注意力權重αi:

式中,αi為H 每個的行向量Hi中各元素對應特征的注意力權重。
將每行權重αi與HC的每個行向量進行加權求和得到特征權重向量vt,代表了HC所有行對ht的綜合影響,即在時間窗內各變量對模型輸出敏感性權重。

注意力層的輸出結果h't通過式(10) 確定:

式中,Wv為權重向量vt的參數矩陣,Wh為注意力層的輸入權重矩陣
最終輸出的預測結果可由下式計算:

式中,yt+Δ注意力機制的LSTM模型輸出,Wh'為注意力輸出層的權數矩陣。
以傳統LSTM 模型作為對照,分別利用斯坦福電池單體測試集[24]和浙江省某實際儲能示范工程數據驗證本文方法在電池單體和電池簇健康狀態估計中的應用效果。
3.1.1 斯坦福電池單體數據集
該數據集包括124 個APR18650M1A磷酸鐵鋰電池單體的循環壽命測試數據,電池容量為1.1 Ah,額定電壓為3.3 V。 各電池單體在不同充電電流倍率下進行循環壽命測試,電池的充放電循環數從150 至2300 不等,有效充放電循環96700 個,是目前最大的電池單體循環壽命公開數據集。
數據集中電池采用不同的一步充電或兩步充電策略,使得電池容量按照不同速度衰減。 以恒流模式對電池進行充電直至SOC達到80%,再以1C的充電倍率繼續充電,當電壓到達電池的額定電壓3.3 V時,采用恒壓小電流充電,直至電流達到C/50 認為充電結束;放電過程均以4C倍率恒電進行,當電池電壓放電至2.0 V時,采用恒壓小電流放電,直至電池放電電流達到C/50 認為放電結束。
數據集包含了各電池單體在循環測試過程中電壓、電流、容量、溫度、時間、內阻等數據。 這些物理量與儲能系統中BMS 所采集的物理量基本一致,適用于儲能鋰離子電池單體健康狀態估計實驗。
3.1.2 特征工程
除電池單體的電壓V、電流I、溫度T等直接外特性參數外,常通過對電池放電容量電壓曲線(Qd-V曲線),增量容量曲線(d Qd/d V-V)曲線進行特征提取。 本文共提取了12 個電池單體特征作為模型輸入進行分析,如表1 所示。

表1 電池單體健康特征
完成特征提取后,由于各特征量綱不同,數量級差異較大,因此還需對模型的輸入輸出進行歸一化處理。 本文采用最大最小值歸一化,即

預測結果輸出時,需進行反歸一化,消除歸一化的影響。 反歸一化公式為:

3.1.3 實驗設置
本實驗基于CPU(AMD 3800X)、GPU(NVIDIA GeForce RTX 2070super 8GB)、RAM 內存(32G)、Linux操作系統Tensorflow-GPU 1.15 及Keras-GPU 2.1.4 環境下進行。 儲能鋰離子電池單體實時健康狀態估計模型由一個輸入層、一個隱藏層、一個注意力層、一個輸出層共同構成。 訓練過程中模型的損失函數采用平均絕對值(mean absolute error,MAE)進行計算,其數學表達式為

其余實驗參數設置如表2 所示,所選參數通過網格搜索比較后確定。 將該數據集隨機分割為7 ∶3 兩部分,即87 個電池單體數據作為訓練集,37 個電池單體數據作為測試集。 測試集數據模擬電池實際使用情況,以每個充放電循環為一個時間步逐個輸入。每進行50 次預測后,則增量更新一次模型。

表2 電池單體健康狀態評估模型參數
3.1.4 結果分析
選擇斯坦福數據集中的17 號電池(以5.4C充電至80%),20 號電池(先以5.4C充電至40%,再以3.6C充電至80%)及44 號電池(先以8C充電至15%,再以3.6C充電至80%)進行分析。 從圖4中可見,采用注意力機制的電池單體健康狀態估計效果較好。 且隨著模型的增量更新,17 號電池和20 號電池的估計誤差均有逐漸降低的趨勢。

圖4 電池單體SOH估計
為驗證注意力機制模型的有效性,在保證其他實驗參數相同的情況下,以均方根誤差(root mean square error, RMSE)及MAE作為估計結果的評價指標,分別采用注意力機制的LSTM 模型和普通LSTM模型對電池進行健康狀態估計。 如表3 所示,使用注意力機制進行的健康狀態估計,其RMSE與MAE均小于普通LSTM模型,證明了該模型在儲能電池健康狀態估計上的優越性。

表3 電池單體SOH估計結果
3.2.1 儲能示范工程數據
為了進一步驗證本文所提出方法的有效性,采用浙江省某實際儲能示范工程數據進行儲能鋰離子電池簇實時健康狀態估計。 該儲能鋰離子電池使用國能磷酸鐵鋰電池,電池單體額定電壓為3.2 V,初始容量為60 Ah。 每個電池模組包含4并12 串共48 個電池單體,每個電池簇包含19 個電池模組,由3 個電池簇構成一個電池堆,共A、B兩個電池堆,總計1050.624 kWh,該儲能工程每個電池堆每日進行一次充放電。 儲能鋰離子電池BMS 每10 秒進行一次采樣,數據通過Kafka實時流傳輸至本地分布式文件系統中。 所采集的數據包括各電池單體的電壓和溫度,以及各模組、簇、堆的電壓、電流、溫度、功率、SOC等信息。
3.1.2 特征工程
在實際工程場景中,由于儲能鋰離子電池工況的復雜性,數據在采樣過程中存在較大誤差;同時,在數據存儲過程中,可能存在較多的缺失與遺漏,需對儲能鋰離子電池現場采集的數據進行數據清洗,去除明顯錯誤的數據,并對遺漏數據進行插值處理。
同時儲能鋰離子電池實際使用過程中,電池簇每次充放電結束后的SOC可能不同,因此,無法以完整的Q-V曲線作為電池簇的特征。 因此,本文采用特定電壓間隔下的電量變化作為電池簇的電壓容量特征。 設儲能鋰離子電池簇工作最小電壓為Vmin,最大電壓為Vmax,將該電壓范圍分割成k段較小的電壓區間,每個電壓區間的電壓范圍為(Vmin-Vmax)/k,各電壓區間下的電池Q-V曲線中提取特征。
由于電池簇中包含多個電池模組,通過分析電池簇內部各電池模組電壓及溫度的不一致性[26],也可以作為電池簇健康分析的特征。 本文將電池簇內部各模組電壓及溫度的極差與方差,作為衡量電池簇內部各模組不一致性的特征。
對實際儲能鋰離子電池簇所提取特征如表4所示。

表4 電池簇健康特征
3.1.3 結果分析
選擇電池簇A-I,電池簇A-II已積累運行數據作為訓練集參與模型訓練,電池簇A-III已積累運行數據作為測試集,對電池簇進行健康狀態估計,電池簇A-III數據模擬實時輸入逐個周期進行讀取。 每隔30 個充放電循環對儲能鋰離子電池簇健康狀態。 同時,并利用電池簇運行過程中的新增數據每30 個充放電循環對模型進行增量更新。
電池簇A-III的健康狀態估計結果如圖5所示。 從圖中可見,該模型能在一定程度上對儲能鋰離子電池簇的健康狀態進行估計。 注意力機制LSTM模型估計結果的RMSE為2.13%,MAE為1.71%,與普通LSTM模型相比精度更高,證明該模型在實際儲能鋰離子電池簇的健康狀態估計中,具有一定的有效性。

圖5 電池簇SOH估計結果

表5 電池簇SOH估計結果
本文提出了一種注意力機制的儲能鋰離子電池健康狀態估計方法,詳細介紹了該算法的原理、模型的網絡設計及特征工程過程,并通過對斯坦福電池數據集及實際儲能鋰離子電池的數據對模型進行驗證。 實驗結果表明,本文提出的學習模型在斯坦福數電池數據集電池單體和實際儲能鋰離子電池簇的健康狀態估計中實現了MAE分別小于0.314%和1.71%的估計效果,相比于傳統的LSTM模型具有更高的估計精度。 由于本文所進行的健康狀態估計均采用歷史數據,在本地模擬實時輸入進行,下一步工作考慮將該算法部署在儲能鋰離子電池的實際工程中的數據流中,在線分析實現儲能鋰離子電池實時健康狀態估計。