徐 鵬,王 潺,萬世斌,但遠宏
(1.重慶理工大學電氣與電子工程學院,重慶 400054;2.重慶理工大學計算機科學與工程學院,重慶 400054)
鋰離子電池可作為新能源汽車的動力能源,也可作為發電站的儲能設備。鋰離子電池過充或者過放,容易出現諸如殼體鼓脹、電池短路燃燒或爆炸等安全問題。準確估計鋰離子電池荷電狀態(SOC)是保證鋰離子電池安全使用的基礎。
鋰離子電池SOC估計方法,國內外已經做了大量的研究。估計方法主要基于物理模型和基于機器學習。物理模型包括等效電路模型、電化學模型等。物理模型結合卡爾曼濾波、粒子濾波等算法,可進一步提高SOC估計精度[1-3]。這類方法存在建模效率低的問題,模型中元件代表電池內部特性,不能直接測量,需要實驗來獲取準確的模型參數;另外,濾波算法雖有較高精度,但計算復雜,運算量大。
基于機器學習方法具有擬合任意非線性系統的特點,可以找到多輸入多輸出參數的映射關系。神經網絡可以進行高精度鋰離子電池荷電狀態估計,通過遷移學習,可快速適應新的溫度環境,保持較高估計精度[4-6]。神經網絡均為直接SOC估計,估計精度依賴于模型精度。模型建立與訓練數據集直接相關。在使用非訓練數據集進行測試時,其輸入輸出的映射關系會發生改變,這會降低SOC估計精度。所以,神經網絡直接估計的變工況自適應能力不足。
電池內部極化電壓在不同工況下變化趨勢相對簡單,因此,可通過神經網絡估計極化電壓,進而根據等效電路模型,間接估算鋰離子電池荷電狀態。考慮到極化電壓的估計需結合其歷史信息,常規神經網絡難以準確估計。因此,本文提出基于NARX 神經網絡的變工況鋰離子電池荷電狀態間接估計方法。
首先,基于等效電路模型,研究了鋰離子電池歐姆內阻、開路電壓和極化電壓,搭建了鋰離子電池充放電實驗平臺,設計了NARX 神經網絡的訓練和測試工況,然后設計兩種不同輸入類型NARX 神經網絡,在DST 和UN/ECE (Elementary Urban Cycle)兩種測試工況下,進行了極化電壓和SOC估計,并將估計數據與前饋神經網絡直接估計數據進行比較。
采用一階等效電路模型用于研究鋰離子電池荷電狀態。電路模型見圖1。

圖1 一階等效電路模型

式中:Uoc為電池開路電壓;Ut為端電壓;U1為電池極化電壓;UR0為歐姆壓降。
因為開路電壓與電池荷電狀態呈映射關系,通過式(2)可求得電池SOC。
電池內阻由歐姆內阻和極化內阻組成,歐姆內阻與電極材料、電解液以及隔膜的電子電阻、離子導電率相關。鋰離子電池內阻隨SOC變化的實測曲線見圖2。圖中,放電初期和末期,電池歐姆內阻變化較大,變化了16.4%。在SOC計算中需要考慮歐姆壓降影響。

圖2 歐姆內阻與荷電狀態的關系曲線圖
電池開路電壓與荷電狀態存在映射關系。理論上,依據當前時刻電池開路電壓就可以計算當前時刻電池荷電狀態。當前時刻電池開路電壓可以通過恒流放電實驗獲得。實驗時一般都獲取不同SOC對應的電池開路電壓。使用Matlab可以擬合開路電壓與荷電狀態。擬合公式見式(3)。

開路電壓與荷電狀態擬合曲線見圖3。

圖3 荷電狀態與開路電壓擬合曲線圖
電池極化是電池電極表面化學反應速率與內部反應物擴散速率不一致,導致的電化學極化以及濃差極化效應。圖4為不同放電倍率下電池內部極化電壓的變化曲線。在放電中間階段,電化學反應建立了基本平衡,所以,極化電壓變化相對平緩。放電初期和末期反應速率與擴散速率不一致,導致極化電壓劇烈變化。

圖4 不同倍率恒流放電的極化電壓
NARX 神經網絡(Based on the nonlinear autoregressive with exogeneous inputs neural network)是一種用于描述非線性離散系統的模型。它可以表示為:

式中:x(t)、y(t)分別是該網絡在t時刻的輸入和輸出;Du為輸入時延的最大階數;Dy為輸出時延的最大階數;x(t-Du),…,x(t-1)為相對于t時刻的歷史輸入;y(t-Dy),...,y(t-1)為相對于t時刻的歷史輸出;f為網絡擬合得到的非線性函數。
NARX 神經網絡的結構圖見圖5。

圖5 NARX神經網絡結構圖
NARX 神經網絡的隱藏層激活函數為雙曲正切函數:

其輸出層為線性函數:

NARX 神經網絡測試時是閉環,即神經網絡的輸出會反饋到輸入,作為該信號的歷史信息。
NARX 網絡訓練時是開環,其優勢在于兩各方面。首先,訓練時使用開環結構可使前饋神經網絡的輸入更準確,更易收斂;其二,開環神經網絡為純前饋結構,可以使用靜態反向來更新隱藏層和輸出層的權重。
估計極化電壓不能只依靠檢測得到的端電壓、電流等數據,還要結合極化電壓歷史信息,這樣,才能準確估計下一時刻值。選擇NARX 神經網絡進行實驗,首先要進行神經網絡訓練。訓練時,對輸入數據要有選擇,還應調整網絡參數。調整的參數包括隱藏層神經元數、輸入延遲、輸出延遲等。訓練時,使用Levenberg-Marquardt(L-M)算法優化神經網絡。網絡各層權重系數更新公式如下:

式中:En-1為n-1 時刻的誤差函數;et(x)為訓練誤差;Jn-1為En-1的雅可比矩陣;m為比例系數;wn和wn-1分別為第n次和第n-1次迭代時網絡各層的權重系數值。
該L-M 算法在更新網絡參數時包含了誤差函數的二階導數,所以需要占用較大的內存。
每輪訓練結束后,使用均方差(MSE)來評估神經網絡的性能,如下所示:

式中:yn表示k時刻理論的極化電壓值;yn表示k時刻網絡的輸出值。
圖6 為使用神經網絡估計極化電壓,再間接預測電池SOC的流程圖。使用NARX 神經網絡估計電池極化電壓后,計算電池當前時刻開路電壓,根據映射關系得到SOC。通過電池SOC更新電池的歐姆內阻,用于下一次計算。

圖6 間接預測荷電狀態方法流程圖
實驗用松下18650B 電池。電池額定容量3.2 Ah。在恒溫箱中設定溫度20 ℃,使用鋰離子電池充放電儀對電池進行測試,用獲得的數據進行網絡訓練。測試時使用STM32F103ZET6 單片機和AD7606 模塊以5 Hz 頻率對數據采樣,并將得到的電流電壓數據傳至上位機。圖7 為鋰離子電池充放電實驗平臺。

圖7 鋰離子電池充放電實驗平臺
(1)訓練工況
設計訓練工況,使神經網絡學習電池不同狀態切換時極化電壓的變化趨勢。其目的是降低神經網絡輸入輸出映射關系和訓練工況的復雜度。
電池狀態分為三種,分別是靜置、放電和充電。上一時刻至下一時刻,電池狀態變化可分為九類,分類情況見表1。

表1 電池狀態切換表
基于電池九種狀態切換,設計混合充放電和連續充放電訓練工況,不同工況電流變化見圖8。

圖8 不同工況電流
(2)測試工況
訓練神經網絡后,使用動態應力測試工況(DST)和聯合國/歐洲經委會初級城市循環工況UN/ECE (Elementary Urban Cycle)對神經網絡的變工況SOC預測性能進行測試。圖9 為DST 和UN/ECE 測試工況的放電電流。

圖9 不同測試工況放電電流
表2 是設計的兩種不同輸入類型的NARX 網絡,要分別進行訓練。A 類型網絡輸入為電流I、端電壓Us、采樣時間t以及開路電壓Uoc。B 類型網絡輸入為電流I、端電壓Us和采樣時間t。為了確定神經網絡參數,神經網絡延遲依次設定為5、10 和20,神經元個數依次設定為20、50 和100。訓練完成后,基于均方差選取最合適神經網絡結構。訓練后,A 類型與B 類型的最優結構,延遲均設定為5,隱藏層神經元個數設定為20。NARX 神經網絡層數為1 以及神經網絡結構過于復雜,都會消耗大量計算資源。

表2 NARX神經網絡類型表
為節約計算資源,將前饋神經網絡層數設定為1,隱藏層神經元分別設定為10、30、50 和70,最后基于均方差選取最合適神經元個數為50。
將訓練后的三種神經網絡從兩個方面進行比較。首先使用訓練工況進行測試,然后使用DST、UN/ECE 工況測試三種神經網絡的泛化性能。
傳統神經網絡直接估計SOC時,通常使用訓練工況進行測試,所以有必要在對訓練工況進行比較的基礎上,再對變工況進行比較。
3.2.1 訓練工況比較
圖10 是不同網絡混合充放電時估計的極化電壓和SOC數據。圖中(a)和(b)分別為A、B 類型NARX 在訓練工況下,估計的電池極化電壓及其誤差。

圖10 不同網絡混合充放電時估計的極化電壓和SOC
A 類型NARX 網絡估計極化電壓的均方差為6.6×10-6,B類型NARX 網絡均方差為1.2×10-3。圖(b)中兩個網絡都有較大的誤差尖峰,這主要是在電池電流突變瞬間,電池極化電壓估計有較大誤差。兩種網絡基于上一時刻電流及電壓值預測當前時刻的極化電壓值,而當前時刻歐姆壓降會隨電流改變,所以實際極化電壓會進一步改變。只有在下一時刻檢測到電流變化后才能矯正極化電壓的偏差。
估計極化電壓后,可以間接計算電池當前時刻的SOC。圖中(c)和(d)分別為不同網絡直接、間接估計的SOC及其誤差。三種網絡估計SOC的均方差數據見表3。

表3 訓練工況下三種神經網絡SOC 估計均方差
在訓練工況下,三種神經網絡整體上保持了較高的SOC估計精度。B 類型NARX 網絡放電前期誤差波動較大,最大達到了24.1%,之后逐漸收斂,在放電中期誤差較小;A 類型誤差大部分保持在0.5%以內,最大誤差接近20%,但是能很快收斂;前饋神經網絡在整個放電周期內誤差不大于10%,能夠保持較高穩定性。
3.2.2 DST 工況比較
圖11 是不同網絡在DST 工況下估計的極化電壓和SOC數據。兩種類型的NARX 網絡在DST 工況下估計電池極化電壓及其誤差見圖中(a)和(b)。A 類型網絡估計極化電壓均方差為9.36×10-6,B 類型網絡的均方差為7.45×10-4。相較于訓練工況誤差數據下降了一個數量級。盡管極化電壓誤差尖峰仍然存在,但整體上兩個神經網絡仍然能夠追蹤電池極化電壓的變化,這說明兩種神經網絡在一定程度上學會了電池極化電壓在DST 工況下的響應趨勢。

圖11 不同網絡在DST工況下估計的極化電壓和SOC
三種神經網絡在DST工況下估計SOC及其誤差見圖中(c)和(d)。SOC估計均方差見表4。與訓練工況下均方差相比,A類型網絡估計SOC的均方差基本沒有變化,B類型網絡誤差有所減小,前饋神經網絡的誤差增加了兩個數量級。這表明在陌生工況下,傳統的神經網絡直接估計的精度下降了。


表4 DST工況下三種神經網絡估計SOC 的均方誤差
3.2.3 UN/ECE 工況比較
圖12 是在UN/ECE 工況下不同網絡估計的極化電壓和SOC。圖中(a)和(b)為在UN/ECE 工況下NARX 網絡估計極化電壓及誤差。A 類型網絡估計極化電壓的均方差為5.4×10-5,B 類型網絡的均方差為0.3。這表明B 類型網絡的預測能力并不能包括所有變工況數據集,需要改進神經網絡結構和豐富訓練工況。

圖12 在UN/ECE工況下不同網絡估計的極化電壓和SOC

圖中(c)和(d)是三種神經網絡預測SOC及誤差。SOC估計均方差見表5。A 類型神經網絡表現出更好的變工況下SOC預測的能力。前饋神經網絡在UN/ECE 工況下SOC估計誤差很大,可能的原因是網絡結構不夠復雜和新工況下電池端電壓和電流與SOC的映射關系發生了改變。前饋神經網絡無法從簡單訓練工況中很好地學習端電壓與SOC在不同工況下的映射關系。

表5 UN/ECE工況下三種神經網絡估計SOC 的均方差
本文設計了特定的訓練工況,訓練NARX 神經網絡預測電池極化電壓,再間接估計電池荷電狀態。在DST、UN/ECE工況下,把NARX 神經網絡間接估計和前饋神經網絡直接估計數據進行比較。結果表明,當輸入類型為電流、端電壓、采樣時間和開路電壓時,NARX 神經網絡在變工況下可以得到更好的SOC估計精度。