張 寧,湯建林,彭發(fā)豫,李 劍
(1.海軍工程大學(xué)兵器工程學(xué)院,湖北 武漢 430033;2.解放軍91024 部隊,廣東江門 529000;3.解放軍92840 部隊,山東 青島 266405)
鋰離子電池由于具有較高的比能量、比功率,常被廣泛應(yīng)用于汽車、飛行器、水下航行器等載體的動力系統(tǒng)中[1]。磷酸鐵鋰電池由于具有較好的安全性、大容量、長循環(huán)壽命等特點,更加受到關(guān)注。但是,鋰離子電池在循環(huán)使用過程中的容量衰減現(xiàn)象常常會導(dǎo)致電池難以滿足任務(wù)的要求,甚至?xí)?yán)重威脅設(shè)備的安全[2],所以準(zhǔn)確預(yù)測電池循環(huán)壽命對使用安全性有重要的意義。水下航行器用鋰電池組做動力供能裝置,由于擱置或使用可能導(dǎo)致電池組容量衰減,再次使用時需要預(yù)估鋰電池組剩余有效使用次數(shù),這對電動水下航行器安全工作十分關(guān)鍵[3]。電池剩余循環(huán)壽命的模型是預(yù)測剩余壽命性能精度的重要因素[4]。直接建立電池循環(huán)壽命的衰退模型是困難的,因為循環(huán)過程中的容量衰減現(xiàn)象發(fā)生在電池內(nèi)部,是電池內(nèi)部多種反應(yīng)共同作用導(dǎo)致的不可逆變化,如固體電解質(zhì)層的形成,析鋰現(xiàn)象的發(fā)生等,電池內(nèi)部反應(yīng)是一個復(fù)雜系統(tǒng)。
目前對電池循環(huán)壽命的預(yù)測主要是基于模型和基于數(shù)據(jù)驅(qū)動的方法[5]?;谀P偷念A(yù)測方法需要對電池內(nèi)阻等參數(shù)進行測量,難以在實際中使用。數(shù)據(jù)驅(qū)動方法利用電池歷史數(shù)據(jù)的有效挖掘并構(gòu)建輸入與輸出參數(shù)之間關(guān)系,具有實用性。數(shù)據(jù)驅(qū)動方法不需要建立電池內(nèi)部特征變化的關(guān)系,以獲取的數(shù)據(jù)來分析電池隱含的變化規(guī)律[6]。
自適應(yīng)神經(jīng)模糊邏輯系統(tǒng)(adaptive network-based fuzzy inference system,ANFIS)作為目前模擬復(fù)雜系統(tǒng)的數(shù)據(jù)驅(qū)動方法用來對電池壽命進行預(yù)測。同時考慮到溫度變化對鋰電池容量的影響[7],相對以往只研究循環(huán)次數(shù)與容量的關(guān)系,本文將不同溫度對容量的影響作為神經(jīng)模糊邏輯系統(tǒng)輸入之一。電池內(nèi)部變化視為黑箱,通過采用神經(jīng)模糊邏輯系統(tǒng)對電池循環(huán)壽命變化的歷史數(shù)據(jù)進行學(xué)習(xí),建立以循環(huán)次數(shù)、溫度、電池容量為輸入,相鄰循環(huán)電池容量差值為輸出的電池容量變化模型。用電池容量變化數(shù)據(jù)構(gòu)建壽命趨勢曲線,從而實現(xiàn)對電池循環(huán)壽命的預(yù)測。然后將預(yù)測數(shù)據(jù)與實際數(shù)據(jù)進行對比,驗證該方法的有效性。
自適應(yīng)神經(jīng)模糊推理系統(tǒng)與常規(guī)的模糊推理系統(tǒng)最大的區(qū)別就是不需要自己設(shè)定推理規(guī)則,而是把這一過程交給了計算機。ANFIS 能夠?qū)斎爰?、輸出集的模糊化以及推理?guī)則自適應(yīng)調(diào)整,而對于隸屬函數(shù)的結(jié)構(gòu)和輸出函數(shù)的結(jié)構(gòu)是不能進行自適應(yīng)調(diào)整的,需要人工設(shè)置[8]。自適應(yīng)神經(jīng)模糊模型通常分為五層,分別是模糊化層、激勵強度層、激勵強度歸一化層、函數(shù)組層、輸出層[9]。輸入-輸出模型結(jié)構(gòu)如圖1所示。
圖1 神經(jīng)模糊邏輯結(jié)構(gòu)圖
第一層是模糊化層,該層的主要功能是對輸入?yún)?shù)進行模糊化處理。圖1 中的A、B、C 是模糊集,對隸屬函數(shù)的參數(shù)進行調(diào)整,確定輸入與每個模糊概念的隸屬度,其中隸屬函數(shù)的參數(shù)被稱為前提參數(shù)。第二層激勵強度層通過對輸入之間的推理規(guī)則強度進行確定,該層的計算一般通過代數(shù)積的方式,即將不同輸入的不同概念模糊隸屬度相乘得到。第三層激勵強度歸一化層,顧名思義就是將第二層的結(jié)果進行歸一化處理。第四層是函數(shù)組層,該層的每一個節(jié)點都對應(yīng)一個函數(shù),節(jié)點的數(shù)量是不同輸入模糊概念的個數(shù)。第五層是輸出層,是將第四層函數(shù)組層的結(jié)果進行加權(quán)累加,得到最終結(jié)果。
ANFIS 中的Sugeno 結(jié)構(gòu)是ANFIS 的關(guān)鍵部分[10],其主要是將輸出表現(xiàn)為輸入變量的線性組合,其數(shù)學(xué)表達為:
式中:x、y、z為輸入;Ai、Bi、Ci為模糊集的輸入語言值;pi、qi、gi為權(quán)值大??;ri為第二層計算參數(shù);wi為權(quán)值;h為輸出結(jié)果。
自適應(yīng)神經(jīng)模糊推理系統(tǒng)主要需要學(xué)習(xí)隸屬函數(shù)參數(shù)(前提參數(shù))和線性函數(shù)組參數(shù)(結(jié)論參數(shù))這兩個參數(shù),結(jié)論參數(shù)歸屬第四層。自適應(yīng)神經(jīng)模糊學(xué)習(xí)過程有兩種方法,分別是誤差逆向傳播算法和自適應(yīng)與最小二乘法相結(jié)合的混合學(xué)習(xí)方法[11]。混合學(xué)習(xí)方法要先學(xué)習(xí)結(jié)論參數(shù),然后學(xué)習(xí)前提參數(shù),將輸入信號傳導(dǎo)到第四層,在保持前提參數(shù)不變情況下,通過最小二乘法對結(jié)論參數(shù)進行學(xué)習(xí),完成學(xué)習(xí)后將信號傳播至第五層。誤差逆向傳播算法要在保持結(jié)論參數(shù)不變條件下對前提參數(shù)進行學(xué)習(xí)[12]。
自適應(yīng)神經(jīng)模糊推理系統(tǒng)對鋰電池進行循環(huán)壽命預(yù)測的算法選用神經(jīng)網(wǎng)絡(luò)和最小二乘法的混合算法。鋰電池訓(xùn)練數(shù)據(jù)的輸入為Vk,目標(biāo)向量為Dk,訓(xùn)練數(shù)據(jù)輸入為Vk時輸出向量為Qk,輸入與輸出之間的權(quán)系數(shù)為rji。
式中:m為輸入數(shù)據(jù)類型的個數(shù);n為輸出數(shù)據(jù)類型的個數(shù)。
通過訓(xùn)練學(xué)習(xí)是為了使Qk趨向于Dk,就是通過改變網(wǎng)絡(luò)的權(quán)系數(shù)rji,讓Qk趨近或者等于Dk,學(xué)習(xí)過程中的誤差為e。算法訓(xùn)練學(xué)習(xí)中為使誤差盡可能的小,需要多次迭代訓(xùn)練,訓(xùn)練過程中通過如下公式完善輸入到輸出的權(quán)系數(shù),降低輸出與目標(biāo)間的誤差,提高預(yù)測精度。
式中:l為迭代次數(shù);η1為學(xué)習(xí)速率;a1為動力常數(shù)。
為了消除不同電池容量差異造成的影響,首先對電池數(shù)據(jù)進行歸一化處理。模型使用的數(shù)據(jù)是不同溫度下電池工作數(shù)據(jù),溫度可作為輸入變量。電池循環(huán)壽命預(yù)測需要確定電池已完成的循環(huán)次數(shù),循環(huán)次數(shù)與電池容量退化程度相關(guān)聯(lián)。循環(huán)次數(shù)、容量衰減速率和溫度作為輸入,循環(huán)后容量退化差值為輸出建立模型。
磷酸鐵鋰電池壽命預(yù)測流程見圖2。輸入和輸出的模糊集都需要進行模糊化。本文設(shè)置輸入模糊度數(shù)量為3。共有27 條邏輯規(guī)則,輸出集有27 個模糊度。
圖2 電池壽命預(yù)測方法
經(jīng)神經(jīng)模糊系統(tǒng)處理后,模型輸出為相鄰兩次循環(huán)后容量差值。將相鄰循環(huán)容量差值和電池循環(huán)容量剩余量作為下次計算的輸入進行更新。
采用anfisedit 建模工具建立電池循環(huán)壽命預(yù)測模型。建模有五個步驟,第一步輸入電池循環(huán)壽命數(shù)據(jù)訓(xùn)練集;第二步對輸入模糊集進行模糊化,并選擇模糊集的隸屬函數(shù),隸屬函數(shù)有11 種,選取合適的隸屬函數(shù)非常重要[13],隸屬函數(shù)選擇的頁面截圖見圖3;第三步按照輸入的模糊集生成“3 輸入1 輸出”神經(jīng)模糊邏輯系統(tǒng)網(wǎng)絡(luò)并確定模糊神經(jīng)網(wǎng)絡(luò)輸入輸出規(guī)則,輸入輸出邏輯規(guī)則頁面截圖見圖4;第四步設(shè)定訓(xùn)練閾值、訓(xùn)練次數(shù),并將電池數(shù)據(jù)錄入一個四列向量中進行訓(xùn)練[14],得到隸屬函數(shù)參數(shù)和網(wǎng)絡(luò)參數(shù)值,輸入輸出的網(wǎng)絡(luò)結(jié)構(gòu)頁面截圖見圖5;第五步將得到預(yù)測結(jié)果進行測試。圖6為模糊規(guī)則觀察窗頁面截圖。
圖3 輸入輸出設(shè)定
圖4 輸入輸出之間的邏輯規(guī)則
圖5 輸入輸出的網(wǎng)絡(luò)結(jié)構(gòu)
圖6 模糊規(guī)則觀察窗
應(yīng)用神經(jīng)模糊系統(tǒng)對鋰電池進行壽命預(yù)測,壽命預(yù)測誤差的大小主要取決于模糊度數(shù)量和隸屬函數(shù)形狀[15]。本文預(yù)測對每個輸入設(shè)置3 個模糊度,并選用合適的隸屬函數(shù)。與設(shè)置2 個模糊度的壽命預(yù)測相比將大幅降低預(yù)測誤差。
實驗用圓柱體磷酸鐵鋰單體電池標(biāo)稱容量45 Ah,工作電壓2.5~3.7 V,標(biāo)稱循環(huán)壽命500 次。電池在30、35、40 ℃下進行充放電循環(huán)。
30 ℃循環(huán)充放電,電池初始容量43.40 Ah,實驗充放電循環(huán)累計500 次后容量衰減到初始容量的83.88%;35 ℃循環(huán)充放電,電池初始容量45.45 Ah,實驗充放電循環(huán)累計488 次后容量衰減到初始容量的79.95%;40 ℃循環(huán)充放電,電池初始容量42.90 Ah,實驗充放電循環(huán)累計493 次后容量衰減到初始容量的80.67%。電池退化曲線如圖7 所示,已經(jīng)對數(shù)據(jù)進行了歸一化處理。
圖7 磷酸鐵鋰電池容量退化曲線
以30 和40 ℃條件下電池放電循環(huán)數(shù)據(jù)為訓(xùn)練集,用訓(xùn)練后建立的模型去預(yù)測35 ℃條件下預(yù)測起始周數(shù)后電池壽命。當(dāng)35 ℃磷酸鐵鋰電池容量衰減到80%時,預(yù)測循環(huán)481次。訓(xùn)練數(shù)據(jù)集超過1 000 個點。
以30 ℃、40 ℃的循環(huán)數(shù)據(jù)和預(yù)測起始周數(shù)以前35 ℃循環(huán)數(shù)據(jù)為基礎(chǔ),將循環(huán)周數(shù)、容量衰減百分比、溫度作為輸入,每循環(huán)一次容量衰減值為輸出,訓(xùn)練后得到相應(yīng)模型。用此模型分別預(yù)測起始周數(shù)為100、200、300 和400 次以后的剩余壽命。
對ANFIS 分別設(shè)置模糊度為2 和3 預(yù)測鋰電池循環(huán)壽命,發(fā)現(xiàn)3 模糊度的預(yù)測數(shù)據(jù)精度更高。3 模糊度壽命預(yù)測見圖8。
圖8 磷酸鐵鋰電池壽命預(yù)測結(jié)果
圖8(a)中,當(dāng)預(yù)測起始周數(shù)為100 時,預(yù)測壽命數(shù)據(jù)為504 次,與實際相差(Err A)為23 次,誤差百分比(Err R)為4.78%。對預(yù)測結(jié)果的統(tǒng)計見表1。
表1 磷酸鐵鋰電池預(yù)測壽命結(jié)果
預(yù)測數(shù)據(jù)結(jié)果表明ANFIS 方法誤差小、可行有效。不同溫度條件下磷酸鐵鋰電池循環(huán)數(shù)據(jù)衰退趨勢較平緩。電池壽命早期到晚期,電池容量的衰減速率會有一個從小到大的變化過程,ANFIS 能夠很好地學(xué)習(xí)這些趨勢。將預(yù)測起點前的電池數(shù)據(jù)作為模糊神經(jīng)網(wǎng)絡(luò)的訓(xùn)練集,是因為每個單體電池會有不同,預(yù)測起點前的數(shù)據(jù)包含預(yù)測鋰電池實際使用過程中的微弱變化,可以使預(yù)測相對準(zhǔn)確。設(shè)置3 個模糊度并合理設(shè)置隸屬函數(shù)類型要比2 個模糊度的預(yù)測結(jié)果更精準(zhǔn)。
采用ANFIS 方法,考慮溫度對鋰電池使用過程的影響,對鋰電池循環(huán)壽命進行預(yù)測。ANFIS 將輸入的鋰電池數(shù)據(jù)進行分析,對容量衰減過程學(xué)習(xí),模仿電池壽命衰減特性,構(gòu)建模型,輸出相鄰循環(huán)電池容量差值,預(yù)測電池循環(huán)壽命。預(yù)測數(shù)據(jù)表明在設(shè)置合理模糊度和隸屬函數(shù)形狀時,循環(huán)壽命預(yù)測數(shù)據(jù)誤差很小。