翟蘇巍,李文云,周 成,汪 成,侯世璽
(1.中國南方電網(wǎng)云南電網(wǎng)有限責任公司電力科學研究院,云南昆明 650217;2.中國南方電網(wǎng)云南電力調(diào)度控制中心,云南昆明 650011;3.河海大學人工智能與自動化學院,江蘇南京 210098)
隨著雙碳戰(zhàn)略的推進,清潔能源在能源結(jié)構(gòu)中的比重越來越高,儲能系統(tǒng)作為清潔能源的重要支撐將迎來蓬勃發(fā)展。作為儲能系統(tǒng)的重要組件,鋰離子電池的運行狀態(tài)逐漸受到研究人員的重視[1-5]。荷電狀態(tài)(State of Charge,SOC)是鋰離子電池重要的狀態(tài)信息,通常被定義為電池剩余電量與最大電量之比,用來為電池管理系統(tǒng)充放電策略提供參考,防止過充或過放。SOC 不可直接測量,只能通過測量電壓、電流等進行間接估算[6-10]。
目前,學者們提出了多種鋰離子電池SOC 估計方法,可以概括為兩類:物理模型估計方法和數(shù)據(jù)驅(qū)動估計方法[11-13]。物理模型估計方法主要包括安時積分法和開路電壓法[12-13]。安時積分法計算簡單,只需將鋰離子電池充放電過程中的電流隨時間積分,進而計算鋰離子電池的荷電狀態(tài)。然而,該方法的累計誤差隨時間延長而增加,因此需要定期校準。開路電壓法具有較好的估算精度,但需要長時間將電池靜置,不適用于實時SOC 估計。數(shù)據(jù)驅(qū)動估計方法主要包括卡爾曼濾波和神經(jīng)網(wǎng)絡(Neural Network,NN)[14-17]。卡爾曼濾波具有良好的穩(wěn)定性和適應性,但其估計精度高度依賴電池模型的準確性。NN 具有強大的擬合能力,受到眾多研究人員的青睞。
NN 法無需構(gòu)建精確電池模型,已被廣泛應用于電池狀態(tài)估計[18-24]。使用神經(jīng)網(wǎng)絡估計電池狀態(tài)是一個非線性映射問題,選擇適當?shù)纳窠?jīng)網(wǎng)絡結(jié)構(gòu)非常必要。傳統(tǒng)BP 神經(jīng)網(wǎng)絡對權(quán)重變化敏感,容易陷入局部最優(yōu)解,概率神經(jīng)網(wǎng)絡(Probabilistic Neural Network,PNN)可以很好地克服BP 神經(jīng)網(wǎng)絡的缺點,實現(xiàn)全局最優(yōu)[25-26]。文獻[21]中,PNN 被應用于鋰離子電池充電,可以在負載變化時改善電壓調(diào)節(jié)的瞬態(tài)特性,使鋰離子電池充電更安全、更高效。然而PNN 也存在固有的缺陷,即推理機制相對固定。為了解決這個問題,補償神經(jīng)網(wǎng)絡通過補償學習算法為神經(jīng)網(wǎng)絡提供額外的自由度,從而優(yōu)化推理機制[27-28]。
為了更好地實現(xiàn)SOC 估計,本文提出一種融合補償機制的改進概率神經(jīng)網(wǎng)絡(Modified Probabilistic Neural Network,MPNN)。MPNN 創(chuàng)新性地結(jié)合了概率層和補償機制,同時通過閾值層加強了對數(shù)據(jù)特征的學習和處理能力,顯著提升了SOC 估計的準確性。最后通過公開數(shù)據(jù)集實驗測試驗證了MPNN在實際應用中的有效性。
常見的鋰離子電池等效電路圖如圖1 所示,其中V0表示端電壓,V1表示開路電壓,V2表示極化電壓,R1表示等效電阻,R2表示擴散電阻,C表示電容,I表示回路電流,Δd表示總擾動。
圖1 鋰離子電池等效電路圖Fig.1 Equivalent circuit diagram of Li-ion batteries
鋰離子電池的SOC 是指電池的剩余電量,可表示為SLiB。其計算方法如下:
式中:Qc為當前電量;Qmax為最大電量。
然而,通過圖1 中的等效模型估算SOC 較為復雜,往往需要建立多個微分方程并考慮未知擾動[29]。從數(shù)學角度來看,SOC 與電壓、電流等可測量物理量是非線性函數(shù)關(guān)系。為了準確獲取可測量物理量與SOC 之間的非線性映射關(guān)系,同時避免建立復雜物理模型,本文通過改進概率神經(jīng)網(wǎng)絡以數(shù)據(jù)驅(qū)動的形式實現(xiàn)SOC 估計。
本文所設(shè)計的MPNN 如圖2 所示。MPNN 共有8 層網(wǎng)絡結(jié)構(gòu)。
圖2 MPNN結(jié)構(gòu)Fig.2 Structure of MPNN
輸入層有m個網(wǎng)絡節(jié)點,用于傳輸m個可測量物理量。具體的輸入輸出定義如下:
為了消除單一樣本數(shù)據(jù)帶來的不利影響,提高網(wǎng)絡的學習速度,引入歸一化層。其計算方法如下:
概率層采用高斯徑向基函數(shù),根據(jù)實際問題設(shè)置n個分類節(jié)點,每個節(jié)點的輸入和輸出分別由式(6)和式(7)給出。引入概率層的目的是為了便于訓練,避免BP 神經(jīng)網(wǎng)絡的局部最優(yōu)問題。
需要指出的是,通過式(7)計算出的輸入概率信息會傳遞給后續(xù)層。
閾值層中的節(jié)點與概率層中的節(jié)點一一對應。通過設(shè)置閾值,可以保留相對重要的概率信息,減少次要信息的影響。設(shè)計思路如下:
在模糊規(guī)則層中,為了理解不同輸入對最終輸出的影響,制定1 條模糊規(guī)則:將1 組閾值層輸出的加權(quán)總和作為模糊規(guī)則層1 個節(jié)點的輸出。
補償層在網(wǎng)絡中引入1 組自由變量,然后優(yōu)化模糊推理機制,網(wǎng)絡性能優(yōu)于普通模糊神經(jīng)網(wǎng)絡(Fuzzy Neural Network,F(xiàn)NN)。模糊補償策略由式(14)給出,各節(jié)點設(shè)計如下:
輸出層只有1 個節(jié)點,即SOC 估計結(jié)果f7,由式(17)得到。
值得注意的是,為了加快MPNN 的學習收斂速度,對學習樣本的輸入和輸出都進行了歸一化操作。因此,此時的SOC 估計結(jié)果是歸一化的結(jié)果,需要在下一層進行反歸一化。
MPNN 的核心結(jié)構(gòu)是前7 層,虛擬層的存在意義是用于數(shù)據(jù)處理得到SOC 的估計值。計算公式如下:
式中:x8為虛擬層的輸入;Qmin為學習樣本的最小鋰離子電池電量。
在實際的鋰離子電池應用中,往往很難建立準確的電池模型。MPNN 通過大量的數(shù)據(jù)學習,建立可測數(shù)據(jù)特征與SOC 的非線性映射模型,恰好克服了電池模型難以建立的缺點。具體訓練過程可歸納如下:
式中:pre為訓練指標,本文采用絕對誤差和(Sum of Absolute Errors,SAE);N為訓練樣本數(shù);為樣本i的參考輸出值;為樣本i的估計輸出值,為參考輸出值與估計輸出值的差值。
2)進行SOC 估計。樣本i的SOC 將通過MPNN進行估計。
3)參數(shù)調(diào)整。損失函數(shù)E定義為式(21),參數(shù)通過梯度下降法調(diào)整。
圖3 為基于MPNN 的SOC 估計流程圖。由圖3 可以看出,通過采集電池充放電測試時電壓、電流和溫度等數(shù)據(jù),劃分訓練數(shù)據(jù)集和測試數(shù)據(jù)集,根據(jù)這些數(shù)據(jù)和選定的評價指標訓練MPNN。訓練完成后,將采集的電池實時運行數(shù)據(jù)輸入到MPNN中,即可得到SOC 的估計輸出。
圖3 基于MPNN的SOC估計流程圖Fig.3 Flow chart of SOC estimation based on MPNN
MPNN 的初始參數(shù)設(shè)計非常重要,本文選擇的初始參數(shù)如下:概率層中每個節(jié)點的中心是從0到1 的n截面點,對應的寬度為1/n,且n=100;閾值設(shè)計為th=0.001;cij設(shè)計為0.5;都是0 到1 之間的隨機數(shù)。用于網(wǎng)絡調(diào)整的參數(shù)和的值均取0.01。值得注意的是,這些參數(shù)都是通過反復試驗得到的,不合理的參數(shù)設(shè)計會導致網(wǎng)絡學習失敗。一般來說,概率層的中心應覆蓋整個輸入空間,相應的寬度不應超過相鄰中心之間距離的一半。補償程度由輸入變量的個數(shù)m決定,設(shè)計為0.5m。
為驗證MPNN 在SOC 估算中的可行性,選取18650-20R 鋰離子電池作為測試算例,其具體參數(shù)如表1 所示。本節(jié)進行兩項測試,即小電流測試和動態(tài)電流測試。值得注意的是,學習數(shù)據(jù)和測試數(shù)據(jù)均來自CALCE Battery Research Group 公開的電池數(shù)據(jù),是在溫度恒定的情況下獲得的。本文以電池電壓、電流、溫度為輸入變量,SOC 為輸出變量構(gòu)建數(shù)據(jù)集。為了綜合評估MPNN 在SOC 估算中的效果,引入平均絕對誤差(Mean Absolute Error,MAE)(量值為EMA)和均方根誤差(Root Mean Square Error,RMSE)(量值為ERMS)作為參考指標。
表1 18650-20R的參數(shù)Table 1 Parameters of 18650-20R
小電流測試包括充電和放電過程。充電過程中,將完全放電的電池以0.1 A 的恒定電流充電,觀察并記錄SLiB值從0 變化到0.8 的數(shù)據(jù)。圖4 和圖5 分別給出了SLiB值估計結(jié)果以及小電流充電過程中SLiB值估計相對誤差,其中紅色實線代表真實SLiB值,黑色虛線代表運用MPNN 估計的SLiB值。由圖4、圖5 可以看出估計結(jié)果較好,相對誤差穩(wěn)定在1%以內(nèi)。
圖4 小電流充電期間SLiB估計Fig.4 SLiB estimation during low current charging
圖5 小電流充電期間相對誤差Fig.5 Relative error during low current charging
同樣以0.1 A 的恒定電流進行放電測試,觀察并記錄SLiB值從0.8 到0.1 的數(shù)據(jù)。圖6 和圖7 分別給出了SLiB值估計結(jié)果以及小電流放電過程中SLiB值估計相對誤差。由圖6、圖7 可以看出估計結(jié)果較好,相對誤差穩(wěn)定在1%以內(nèi)。
圖6 小電流放電期間SLiB 估計Fig.6 SLiB estimation during low current discharging
圖7 小電流放電期間相對誤差Fig.7 Relative error during low current discharging
雖然MPNN 在恒定小電流充放電過程中可以很好的進行SLiB值估計,但是在實際電池充放電過程中電流并不是恒定的。為此,本節(jié)進行了動態(tài)電流測試,以觀察和記錄MPNN 在動態(tài)電流下估計SLiB值的能力。
圖8 給出了FNN,PNN 和MPNN 的SLiB值估計結(jié)果。從圖8 中可以看出,這3 種方法都可以較好地估算鋰離子電池的SLiB值。圖9 給出了FNN,PNN 和MPNN 的相對估計誤差。從圖9 中可以看出,F(xiàn)NN 的估計誤差較高,PNN 的估計誤差僅能做到小于3%,而MPNN 的估計誤差小于1%,這是因為通過優(yōu)化推理機制,模型精度提高。
圖8 動態(tài)電流期SLiB 估計Fig.8 SLiB estimation during dynamic current
圖9 動態(tài)電流期間相對誤差Fig.9 Relative error during dynamic current
為進一步分析算法性能,增加了不同溫度下動態(tài)電流測試實驗,3 種方法的EMA和ERMS如表2 和表3 所示。從表2 和表3 可以看出,不同溫度下使用MPNN 方法的EMA和ERMS比PNN 和FNN 方法均有明顯降低,說明MPNN 的SLiB值估計準確性在不同溫度下均優(yōu)于PNN 和FNN。這些結(jié)果證明了MPNN 在SLiB值估計方面的準確性及其適用性。通過更精確的估計,有助于提高整個儲能系統(tǒng)的性能和可靠性。
表2 不同溫度下3種方法EMA 統(tǒng)計Table 2 EMA obtained by three methods under different temperatures
表3 不同溫度下3種方法ERMS 統(tǒng)計Table 3 ERMS obtained by three methods under different temperatures
本文提出了1 種改進概率神經(jīng)網(wǎng)絡估計鋰離子電池的荷電狀態(tài)。MPNN 本質(zhì)上是1 種數(shù)據(jù)驅(qū)動的方法,通過引入概率函數(shù),避免BP 神經(jīng)網(wǎng)絡的局部最優(yōu)問題,加快收斂速度。此外,MPNN 通過引入補償機制,優(yōu)化了推理機制,彌補了傳統(tǒng)神經(jīng)網(wǎng)絡的不足,提高了學習成功率。最后,將MPNN 用于估計18650-20R 鋰離子電池的荷電狀態(tài),測試結(jié)果表明,在小電流和動態(tài)電流下SLiB值估計效果均達到預期。