周世杰,李頂根
(1.華中科技大學(xué) 中歐清潔與可再生能源學(xué)院,武漢 430074;2.華中科技大學(xué) 能源與動力工程學(xué)院,武漢 430074)
近年來,隨著新能源技術(shù)的蓬勃發(fā)展,電動汽車也迎來了高速發(fā)展的時機(jī)。動力電池是電動汽車發(fā)展的核心技術(shù),而鋰離子動力電池由于其能量高、功率密度大、生命周期長,成為電動汽車中應(yīng)用最多的電動電源[1]。此外,電動汽車中鋰離子動力電池的SOC 是駕駛員判斷電動汽車可行駛里程的關(guān)鍵因素。SOC 是指電池組中的每個單位所剩余電量的比例,以100%代表滿電量,0%代表空電量[2]。準(zhǔn)確估算電動汽車中動力電池的SOC 是電動汽車安全行駛的關(guān)鍵因素。
長期以來,在電池SOC 估算方面,學(xué)者們做了大量研究。WANG 等[3-4]利用卡爾曼濾波法來校正安時積分法中的電池初始SOC 值,用該方法進(jìn)行試驗時,測得的SOC 與實際SOC 相比誤差僅為2.4%,有效提高了安時積分法的計算準(zhǔn)確度。鮑慧等[5]提出了用安時積分法與開路電壓法相結(jié)合,并分別對安時積分公式中各相關(guān)參數(shù)進(jìn)行修正和優(yōu)化,試驗結(jié)果表明該改進(jìn)方法可以減小安時積分法估算SOC時產(chǎn)生的累計誤差。XING Yinjiao 等[6]提出了一種結(jié)合了開路電壓(Open Circuit Voltage,OCV)與SOC 溫度表的溫度模型來估算SOC,使用無跡卡爾曼濾波法來調(diào)整每個采樣步驟的模型參數(shù),結(jié)果表明,該方法與不考慮環(huán)境溫度的方法相比,可以提供具有較小均方根誤差的準(zhǔn)確SOC 估算,因此,當(dāng)電池在不同的環(huán)境溫度下工作時,該方法也能有效、準(zhǔn)確地測量SOC。趙又群等[7]提出電池循環(huán)次數(shù)、瞬間大電流以及溫度等因素都會使電池特性發(fā)生變化,使用擴(kuò)展卡爾曼濾波算法對電池SOC 進(jìn)行估算,會有較大的誤差甚至導(dǎo)致算法不收斂。為了有效抑制發(fā)散,減小噪聲的影響,基于鋰電池混合噪聲模型,應(yīng)用擴(kuò)展卡爾曼粒子濾波算法對鋰電池SOC 和電流漂移噪聲進(jìn)行同步估算。最后根據(jù)充放電試驗數(shù)據(jù)進(jìn)行仿真分析,結(jié)果證明了該算法的優(yōu)越性。GOLD 等[8]對電池施加一個超聲波脈沖得到反饋波形,再通過不同SOC 下電池的超聲波反饋信號圖發(fā)現(xiàn)反饋脈沖波的峰高與電池SOC 呈現(xiàn)出很強(qiáng)的相關(guān)性,然后利用線性擬合對測試數(shù)據(jù)進(jìn)行分析,對于充電過程,通過超聲波檢測估算的SOC 誤差僅為3.5%,而放電過程中的誤差有11%。以上估算SOC方法都是傳統(tǒng)方法(安時積分法、卡爾曼濾波法等),本研究的目的在于結(jié)合超聲檢測與深度學(xué)習(xí)為SOC估算提供一種新思路。
基于對鋰離子動力電池超聲檢測得到的反饋波數(shù)據(jù),建立BP 神經(jīng)網(wǎng)絡(luò),訓(xùn)練模型去擬合超聲反饋信號的峰峰值與電池SOC 之間的復(fù)雜關(guān)系。模型通過反饋波的峰峰值對SOC 進(jìn)行估算,充電及放電過程中SOC 估算誤差僅為1%。
超聲波的本質(zhì)是一種聲波,且屬于機(jī)械波,它是周期性的機(jī)械振動在介質(zhì)中的傳播形式[9]。超聲波是一種頻率高于20 kHz 的機(jī)械波,具有方向性好、穿透能力強(qiáng)等優(yōu)點(diǎn),適用于多種介質(zhì),靈敏度高,從而被廣泛應(yīng)用于檢測領(lǐng)域。
當(dāng)超聲波用于檢測時,工作原理為:聲源產(chǎn)生超聲波后,使超聲波進(jìn)入待檢測的工件,超聲波在工件中進(jìn)行傳播,并由超聲接收設(shè)備接收在工件中傳播后的超聲波。由于工件的材料特性、內(nèi)部結(jié)構(gòu)、密度等性質(zhì)的不同,超聲波在工件中傳播時會發(fā)生不同程度的改變,超聲接收設(shè)備根據(jù)傳播后的超聲信號的特征來對檢測的工件進(jìn)行特性分析,從而達(dá)到檢測的目的。
將超聲檢測技術(shù)用于鋰離子動力電池時,給鋰離子動力電池施加一個超聲透射信號,通過超聲接收器接收反饋波,并對反饋波的數(shù)據(jù)進(jìn)行記錄,試驗原理如圖1 所示。
圖1 超聲檢測試驗原理
當(dāng)鋰離子動力電池處于不同的SOC 時,電池內(nèi)部的孔隙率、密度等特性會發(fā)生不同程度的改變,因此,當(dāng)超聲波透射處于不同SOC 下的鋰離子動力電池后,會得到不同的反饋波。
在鋰離子動力電池的充放電過程中不斷進(jìn)行測量,對數(shù)據(jù)進(jìn)行記錄。記錄的數(shù)據(jù)包括實時電壓、實時電流、電池當(dāng)前電量(SOC,滿電量時為20 Ah)、超聲波信號的峰峰值(最大波峰值和最小波峰值的差值)。
神經(jīng)網(wǎng)絡(luò)早在20 世紀(jì)40 年代就已發(fā)明出來了,但由于當(dāng)時計算硬件資源的缺乏,計算機(jī)計算能力不足等原因發(fā)展緩慢。直到2006 年前后,計算機(jī)硬件得到高速發(fā)展,深度學(xué)習(xí)迎來了發(fā)展的高峰期。反向傳播(BP)神經(jīng)網(wǎng)絡(luò)算法是根據(jù)誤差反向傳播算法訓(xùn)練的多層前饋神經(jīng)網(wǎng)絡(luò)。張傳偉等[10]針對鋰離子動力電池的非線性關(guān)系,采用BP 神經(jīng)網(wǎng)絡(luò)來估算SOC,將充放電試驗采集的原始數(shù)據(jù)導(dǎo)入神經(jīng)網(wǎng)絡(luò)模型中進(jìn)行訓(xùn)練,結(jié)果表明,估算SOC 的誤差控制在5%以內(nèi)。
BP 神經(jīng)網(wǎng)絡(luò)可以分為3 個部分:輸入層、隱藏層和輸出層。BP 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖2 所示。
圖2 簡單BP 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
圖2 只表示了含有一層隱藏層的簡單神經(jīng)網(wǎng)絡(luò)。圖中l(wèi)ayer1 是輸入層,layer2 是隱藏層,layer3 是輸出層,xi為輸入數(shù)據(jù),wi為權(quán)重值,bi為偏置,f為激活函數(shù),hi為數(shù)據(jù)經(jīng)過隱藏層后得到的值,yi為輸出值。數(shù)據(jù)在網(wǎng)絡(luò)中前向傳播時,從輸入層到隱藏層的數(shù)據(jù)計算公式為:
從隱藏層到輸出層的數(shù)據(jù)計算公式為:
反向傳播時先計算輸出值與實際值之間的誤差,即定義的損失函數(shù)l,然后計算誤差與各個權(quán)重值之間的梯度,并用于更新權(quán)重值。對于隱藏層對應(yīng)的權(quán)重值(如圖2 中的wi)計算公式為:
式中:η為神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)率,一般取一個小的常數(shù)如10-3,對于離最后的輸出層較遠(yuǎn)的網(wǎng)絡(luò)層,計算梯度時可以用鏈?zhǔn)椒▌t來計算,例如對w1而言,其更新的計算公式為:
式中:l為損失函數(shù)。
BP 神經(jīng)網(wǎng)絡(luò)訓(xùn)練時的流程如下:
(1)對網(wǎng)絡(luò)中的各個權(quán)重值進(jìn)行初始化賦值。
(2)數(shù)據(jù)通過輸入層傳入神經(jīng)網(wǎng)絡(luò),進(jìn)行前向傳播。
(3)通過損失函數(shù)計算神經(jīng)網(wǎng)絡(luò)的輸出值與實際值之間的誤差。
(4)反向傳播計算誤差與各權(quán)重值之間的梯度并用于更新各權(quán)重值。
(5)重復(fù)步驟(2)~(4),直到得到的誤差值達(dá)到預(yù)期值。
試驗設(shè)備如圖3 所示。上半部分設(shè)備為超聲檢測設(shè)備,在鋰電池充放電過程中對其施加超聲信號,并接收反饋波得到反饋信號,下半部分設(shè)備為電池檢測系統(tǒng),實時獲得電池充放電過程中的電流、電壓、SOC 等數(shù)值。
圖3 試驗設(shè)備
通過試驗得到的數(shù)據(jù)包括實時電壓、實時電流、SOC、超聲波反饋信號的峰峰值。超聲波反饋信號的峰峰值與SOC 呈現(xiàn)出很強(qiáng)的相關(guān)性,充電以及放電過程分別如圖4 和圖5 所示。
圖4 充電過程
圖5 放電過程
由圖5 可知,超聲波反饋信號的峰峰值與鋰離子動力電池電量之間有很強(qiáng)的相關(guān)性。GOLD 等[8]通過線性擬合的方式去擬合超聲反饋信號峰峰值與電量之間的關(guān)系,得到的效果并不是很好。
本文通過建立BP 神經(jīng)網(wǎng)絡(luò),以超聲波反饋信號的峰峰值為輸入數(shù)據(jù),以電池SOC 為標(biāo)簽進(jìn)行訓(xùn)練。
搭建的BP 神經(jīng)網(wǎng)絡(luò)含有一層隱藏層,該隱藏層含有5 個神經(jīng)單元,隱藏層的激活函數(shù)使用tansig 函數(shù),其公式為:
式中:x為輸入值。
tansig 函數(shù)為雙曲正切S 型函數(shù),它的輸入值可取任意值,輸出值在-1 和+1 之間,其函數(shù)圖像如圖6 所示。
輸出層的激活函數(shù)使用pureline 函數(shù),它是一種線性傳遞函數(shù)。計算前向傳播過程中的誤差時,即損失函數(shù)使用均方誤差(Mean Squared Error,MSE),其計算公式為:
圖6 tansig 函數(shù)圖像
式中:N為數(shù)據(jù)總量;yi為第i個輸出值;為第i個數(shù)據(jù)的實際值。
鋰離子動力電池充電以及放電過程的數(shù)據(jù)呈現(xiàn)兩種不同的狀態(tài),分別對充電以及放電過程的數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)模型訓(xùn)練。充電過程的結(jié)果如圖7 所示,放電過程的結(jié)果如圖8 所示。
圖7 BP 訓(xùn)練充電過程結(jié)果
圖8 BP 訓(xùn)練放電過程結(jié)果
試驗結(jié)果顯示,BP 模型對充電過程的SOC 估算平均誤差為1.7%,對放電過程的SOC 估算平均誤差為1.1%。作為對比,同時使用線性擬合以及多項式回歸的方法對數(shù)據(jù)進(jìn)行模型訓(xùn)練。線性擬合的充電過程結(jié)果如圖9 所示,放電過程結(jié)果如圖10所示。
圖9 線性擬合充電過程結(jié)果
圖10 線性擬合放電過程結(jié)果
試驗結(jié)果顯示,線性擬合對充電過程的SOC估算誤差為6.2%,對放電過程的SOC 估算誤差為1.5%。多項式回歸的充電過程SOC 估算結(jié)果如圖11所示,放電過程SOC 估算結(jié)果如圖12 所示。
圖11 多項式回歸充電過程結(jié)果
圖12 多項式回歸放電過程結(jié)果
試驗結(jié)果顯示,多項式回歸對充電過程的SOC估算誤差為1.9%,對放電過程的SOC 估算誤差為1.3%。
不同試驗方法的結(jié)果見表1。對于電池充電過程來說,BP 網(wǎng)絡(luò)訓(xùn)練的模型效果最好,誤差為1.7%,多項式回歸次之,而線性擬合誤差較大,不能很好地估算電池SOC;對于電池放電過程來說,3 種方法的估算效果都比較好,但BP 模型誤差最低僅為1.1%。因此,BP 神經(jīng)網(wǎng)絡(luò)模型對電池SOC 的估算最準(zhǔn)確。
表1 不同試驗方法的結(jié)果
圖13 充電過程結(jié)果
圖14 放電過程結(jié)果
對數(shù)據(jù)進(jìn)行進(jìn)一步分析,發(fā)現(xiàn)在充電過程中當(dāng)電量很低時,數(shù)據(jù)存在異常,如圖4 左下角的曲線,一個超聲信號峰峰值對應(yīng)了多個電池SOC 值。放電過程中也有相同的情況,即當(dāng)電量很高時(如圖5右上角的曲線)。由于初始充放電時,鋰電池處于較低或較高的SOC 狀態(tài),電池正負(fù)極鋰含量變化不大,電池內(nèi)部孔隙率等變化不明顯,導(dǎo)致超聲反饋信號異常,即測得的數(shù)據(jù)出現(xiàn)異常。為此,將這兩種情況下的數(shù)據(jù)進(jìn)行剔除,取電量在5%~95%之間的數(shù)據(jù),重新進(jìn)行BP 神經(jīng)網(wǎng)絡(luò)的模型訓(xùn)練。充電過程及放電過程的模型訓(xùn)練結(jié)果如圖13 和圖14所示。由圖可知,充、放電過程的SOC 估算模型都能非常準(zhǔn)確地估算出SOC,充電過程模型對SOC估算的誤差僅為1%,放電過程模型對SOC 估算的誤差甚至低于1%,可以非常精準(zhǔn)地估算出SOC 值。
本文使用超聲檢測鋰離子動力電池獲得數(shù)據(jù),分析數(shù)據(jù)發(fā)現(xiàn)超聲波反饋信號與鋰離子動力電池之間有很強(qiáng)的相關(guān)性,通過建立BP 神經(jīng)網(wǎng)分別對充電以及放電過程的數(shù)據(jù)進(jìn)行模型訓(xùn)練。初始BP 模型對充電過程的SOC 估算誤差為1.7%,對放電過程的SOC估算誤差為1.1%;對數(shù)據(jù)進(jìn)行篩選后,取5%到95%電量的數(shù)據(jù)進(jìn)行模型訓(xùn)練,新的模型能非常精確地估算出電池的SOC,對充電過程SOC 的估算誤差僅為1%,放電過程SOC 的估算誤差甚至低于1%。