苑 倩,劉金枝,楊 鵬
( 河北工業(yè)大學(xué) 控制科學(xué)與工程學(xué)院,天津 300130)
基于 BP 神經(jīng)網(wǎng)絡(luò)的鋰電池 SoC 在線預(yù)測(cè)
苑 倩,劉金枝,楊 鵬
( 河北工業(yè)大學(xué) 控制科學(xué)與工程學(xué)院,天津 300130)
通過(guò)電路板搭建鋰電池電壓、電流、溫度實(shí)時(shí)檢測(cè)平臺(tái),在上位機(jī)界面實(shí)時(shí)監(jiān)測(cè)鋰電池參數(shù)的信息.根據(jù)檢測(cè)到的數(shù)據(jù),利用 LM(Levenberg-Marquardt)算法,提出了基于 BP 神經(jīng)網(wǎng)絡(luò)的鋰電池剩余電量(StateofCharge,SoC)計(jì)算模型,模型以鋰電池參數(shù)采集平臺(tái)采集到的電壓、電流數(shù)據(jù)為輸入,電池的 SoC 為輸出,利用實(shí)驗(yàn)室實(shí)測(cè)到的數(shù)據(jù)進(jìn)行模型實(shí)驗(yàn).結(jié)果表明:該模型具有較高的精度,并且泛化性能好,對(duì)于 SoC 的預(yù)測(cè)具有可行性.
監(jiān)測(cè);LM;BP神經(jīng)網(wǎng)絡(luò);剩余電量;泛化性
電動(dòng)汽車(chē)的無(wú) (低) 污染的優(yōu)點(diǎn)使其成為當(dāng)代汽車(chē)發(fā)展的主要方向[1-2],而鋰電池的容量大、循環(huán)使用壽命長(zhǎng)、安全性高、體積小、比容量高使其成為電動(dòng)汽車(chē)的主要?jiǎng)恿?lái)源.目前,電池的安全性和使用成本問(wèn)題已經(jīng)成為影響電動(dòng)汽車(chē)推廣的瓶頸.為了更好的發(fā)揮出電池的性能,提高電池的利用率并且減少用戶更換電池的成本,需要設(shè)計(jì)一套完整的電池管理系統(tǒng)對(duì)電池進(jìn)行控制管理,為此,國(guó)內(nèi)外均投入了大量的人力物力開(kāi)展廣泛深入的研究.
本文設(shè)計(jì)電路實(shí)時(shí)采集電池的電壓、電流、溫度等參數(shù),并將這些參數(shù)通過(guò) labview 上位機(jī)軟件進(jìn)行顯示,根據(jù)檢測(cè)到的電池信息,進(jìn)行電池剩余電量的估算.為了提高SoC在線預(yù)測(cè)的精度,已經(jīng)探究和開(kāi)發(fā)了許多科學(xué)的預(yù)測(cè)方法.近年來(lái),有學(xué)者提出利用擴(kuò)展卡爾曼濾波算法進(jìn)行 SoC 的預(yù)測(cè)[3],但該方法不可避免的涉及到模型中各個(gè)參數(shù)的辨識(shí)與復(fù)雜方程的解析問(wèn)題,增加了模型的復(fù)雜度.雖然安時(shí)積分法預(yù)測(cè)SoC的方法應(yīng)用性較廣,但隨著時(shí)間的推移,系統(tǒng)誤差會(huì)越來(lái)越大[4].常用的開(kāi)路電壓法則只是用于駐車(chē)狀態(tài),無(wú)法滿足在線預(yù)測(cè)的要求.內(nèi)阻法則對(duì)測(cè)量精度有很高的要求,很少應(yīng)用于實(shí)際車(chē)輛的行駛過(guò)程.而神經(jīng)網(wǎng)絡(luò)具有良好的非線性映射能力、自適應(yīng)能力與并行信息處理能力,對(duì)于鋰電池SoC 的在線預(yù)測(cè)是一種很好的解決辦法.因此,本文利用實(shí)驗(yàn)室數(shù)據(jù),運(yùn)用BP 神經(jīng)網(wǎng)絡(luò)對(duì)電池的 SoC 進(jìn)行在線預(yù)測(cè)并通過(guò)matlab 仿真實(shí)驗(yàn)驗(yàn)證了此方法在 SoC 預(yù)測(cè)方面的優(yōu)越性,達(dá)到了提高電池的使用效率、延長(zhǎng)電池的使用壽命的目的[5-7].
本文基于 PIC18F45K80 主控制器,實(shí)現(xiàn)對(duì)鋰電池的參數(shù)采集與管理.其中包括基于 LTC6802 的電池電壓采集單元、基于NTC熱敏電阻的溫度采集單元和基于ACS712 霍爾元件的電流采集單元并且采用電感均衡電路實(shí)現(xiàn)電壓的均衡.
利用串口協(xié)議,將采集到的鋰電池參數(shù)傳輸?shù)絣abview上位機(jī)界面中,并通過(guò)上位機(jī)界面,實(shí)時(shí)監(jiān)測(cè)電池電壓、電流、溫度以及電量等信息.在上位機(jī)中設(shè)置有報(bào)警提示,當(dāng)出現(xiàn)過(guò)壓、欠壓或過(guò)溫等異常情況時(shí),及時(shí)報(bào)警,并斷開(kāi)電池連接,提高了系統(tǒng)的安全性.
該系統(tǒng)結(jié)構(gòu)示意圖如圖1所示.
圖1 電池管理結(jié)構(gòu)示意圖Fig.1 The schematic diagram of batterymanagementsystem
人工神經(jīng)網(wǎng)絡(luò)旨在模仿人的智能行為,通過(guò)并行結(jié)構(gòu)與自身較強(qiáng)的的學(xué)習(xí)能力,能夠在外部激勵(lì)存在時(shí)給出相應(yīng)的輸出響應(yīng),具有良好的非線性映射能力.其中,在眾多神經(jīng)網(wǎng)絡(luò)模型中,1986 年由Rumelhart等提出的一種誤差反向傳播神經(jīng)網(wǎng)絡(luò)——BP(Error Back Propagation) 網(wǎng)絡(luò)以較強(qiáng)的泛化能力以及較好的容錯(cuò)性 發(fā)展最為迅速.在 1986 年被提出之后,陸續(xù)被應(yīng)用于模式識(shí)別、圖像識(shí)別、系統(tǒng)辨識(shí)、函數(shù)擬合、優(yōu)化計(jì)算、最優(yōu)預(yù)測(cè)和自適應(yīng)控制等領(lǐng)域,并且都有很大的發(fā)展.
BP神經(jīng)網(wǎng)絡(luò)由輸入層、隱含層、輸出層3部分構(gòu)成,根據(jù)最小二乘法,通過(guò)梯度搜索技術(shù),使網(wǎng)絡(luò)的實(shí)際輸出值更接近于期望輸出.神經(jīng)網(wǎng)絡(luò)不需要精確的數(shù)學(xué)模型,可以根據(jù)系統(tǒng)的輸入、輸出樣本數(shù)據(jù)獲取系統(tǒng)的輸入、輸出關(guān)系,避免考慮電池內(nèi)部復(fù)雜的化學(xué)變化以及高等數(shù)學(xué)的解析問(wèn)題,使計(jì)算簡(jiǎn)便易行.理論證明只要有足夠多的隱層和隱層節(jié)點(diǎn),就可以逼近任意的非線性映射關(guān)系,并且系統(tǒng)的輸入、輸出之間的信息分布存儲(chǔ)在網(wǎng)絡(luò)的連接權(quán)值中,個(gè)別神經(jīng)元的損壞對(duì)系統(tǒng)的輸入、輸出影響較小,對(duì)研究鋰電池剩余電量的估算問(wèn)題有很大的推進(jìn)作用.
2.1 BP 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
BP神經(jīng)網(wǎng)絡(luò)由于具有不用建立復(fù)雜數(shù)學(xué)模型的優(yōu)點(diǎn),在系統(tǒng)辨識(shí)、優(yōu)化計(jì)算和最優(yōu)預(yù)測(cè)等領(lǐng)域有著較廣泛的應(yīng)用.
通過(guò)理論分析已經(jīng)表明:BP網(wǎng)絡(luò)結(jié)構(gòu)的隱層數(shù)最多2層即可.只有在學(xué)習(xí)不連續(xù)的函數(shù)時(shí),才需要2層隱層,其基本結(jié)構(gòu)如圖2 所示.其中,i為輸入層神經(jīng)元,k 為輸出層神經(jīng)元,j為隱層神經(jīng)元.
BP算法的學(xué)習(xí)過(guò)程主要由兩部分構(gòu)成:輸入信息的正向傳播與誤差遞減的反向傳播.在正向傳播過(guò)程中,信號(hào)經(jīng)由輸入層、隱層到達(dá)輸出層.若輸出層不能得到期望的輸出,則轉(zhuǎn)入誤差的逆向傳播階段,由LM算法調(diào)整各層神經(jīng)元的權(quán)值,使誤差信號(hào)減小.
2.1.1 前向傳播
其中:wij為輸入層與輸出層之間的權(quán)值;ai為閾值;隱層神經(jīng)元的輸出x'j采用 Sigmoid函數(shù)激發(fā) xj, 得
輸出層神經(jīng)元的輸出
圖2 3層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 The schematic diagram of three-layer neuralnetwork
前向傳輸過(guò)程如圖3 所示.圖中:T 1 、T 2 …TR 為輸入數(shù)據(jù),f1、 f2分別為輸入層、輸出層的激活函數(shù),a1、a2、a3為各層的閾值,w1、w2、w33為各層的權(quán)值,b1、b2、b33為取函數(shù)后的輸出.
2.1.2 反向傳播
采用LM算法調(diào)整各層的權(quán)值.LM算法其實(shí)是梯度下降法與牛頓法的結(jié)合,設(shè) w k 為第 k次迭代的網(wǎng)絡(luò)權(quán)值向量,新的權(quán)值向量可根據(jù)下面的方程求得
圖3 3層BP網(wǎng)絡(luò)信號(hào)傳播圖Fig.3 Thesignalpropagationdiagram of three-layerneuralnetwork
設(shè)誤差指標(biāo)函數(shù)為
式中:yi為期望輸出;oi為實(shí)際輸出;N 為向量的維數(shù);設(shè) e x= e1,e2, ,eNT,則
對(duì)于牛頓法有
當(dāng)尋找到一個(gè)合適的值時(shí),Sx 接近于零,牛頓法轉(zhuǎn)變成高斯-牛頓法
LM算法是上式算法的改進(jìn),表達(dá)式如
2.2 三元聚合物鋰電池 SoC 預(yù)測(cè)模型的建立
三元聚合物鋰電池因?yàn)榉烹婋娏鞑煌c放電過(guò)程的進(jìn)行,電池的端電壓也時(shí)刻在變化,都是一個(gè)下降的趨勢(shì),只是下降的速率不同,這是由于在放電過(guò)程中電池內(nèi)部產(chǎn)生極化了內(nèi)阻,并且放電倍率越大,電池極化現(xiàn)象越嚴(yán)重,導(dǎo)致內(nèi)阻越大,電池端電壓也就下降越快,放電曲線圖如圖4 所示[8-10].
放電電壓與剩余電量的關(guān)系圖如圖5所示.
由圖4、圖5可知,三元聚合物鋰電池的容量與電池的電壓、電流、溫度、使用時(shí)間和放電次數(shù)等密切相關(guān),并且他們之間是一種非線性關(guān)系.綜合上述,選擇電池的電壓(U)、電流(I)作為網(wǎng)絡(luò)的輸入,要估算的 SoC 作為網(wǎng)絡(luò)的輸出[11-14].理論證明具有單隱層的神經(jīng)網(wǎng)絡(luò)能映射一切連續(xù)的函數(shù),所以我們選擇 3層的BP神經(jīng)網(wǎng)絡(luò)進(jìn)行三元聚合物鋰電池SoC的預(yù)測(cè),如圖6 所示.
圖4 鋰電池放電曲線圖Fig.4 Voltage discharge curveof Lithium battery
圖5 鋰電池電壓與容量的關(guān)系Fig.5 The relationship between voltageand SoC
圖6 中,i為輸入層,j為隱含層,k為輸出層.輸入層有 2 個(gè)節(jié)點(diǎn),輸出層有 1 個(gè)節(jié)點(diǎn),通過(guò)用同一個(gè)樣本集對(duì)具有不同隱節(jié)點(diǎn)數(shù)的網(wǎng)絡(luò)進(jìn)行訓(xùn)練,依次記錄、比較各次誤差結(jié)果,從中選取測(cè)試誤差最小的網(wǎng)絡(luò)中隱層節(jié)點(diǎn)數(shù)作為最佳隱層節(jié)點(diǎn)數(shù).經(jīng)過(guò)多次實(shí)驗(yàn),得到隱層神經(jīng)元數(shù)量為7.這里輸入層和隱含層之間用單極性 Sigmoid 激活函數(shù),隱含層用 Tansig激活函數(shù),輸出層用Purelin線性激活函數(shù).訓(xùn)練函數(shù)選取LM算法,訓(xùn)練誤差定為 0.000 15.
首先,根據(jù)上述參數(shù)設(shè)定網(wǎng)絡(luò)結(jié)構(gòu),輸入相同的訓(xùn)練樣本,最大 訓(xùn)練次 數(shù)設(shè) 定為 5 000,訓(xùn)練 目標(biāo)為104,分 別用帶 動(dòng)量 因子的梯度下降法與LM算法進(jìn)行系統(tǒng)仿真.
選取訓(xùn)練樣本集,其中,電壓在 23 ~ 29.4V之間變化,電流在0 ~ 15A之間變化,SoC 的變化范圍為 0 ~ 1.為了讓樣本各分量在網(wǎng)絡(luò)訓(xùn)練時(shí)對(duì)網(wǎng)絡(luò)的影響具有相同的權(quán)重,處于同等重要的地位,將輸入向量進(jìn)行歸一化,選取的訓(xùn)練樣本數(shù)據(jù)見(jiàn)表1.
用MATLAB進(jìn)行BP網(wǎng)絡(luò)模式識(shí)別,編寫(xiě)網(wǎng)絡(luò)訓(xùn)練程序.分別用附帶動(dòng)量因子的梯度下降法(traingdm)與 LM 算法進(jìn)行系統(tǒng)仿真.對(duì)表1中的數(shù)據(jù)進(jìn)行訓(xùn)練,并且保存網(wǎng)絡(luò)以進(jìn)行測(cè)試樣本的預(yù)測(cè),其訓(xùn)練結(jié)果如圖7和圖8所示.
圖6 預(yù)測(cè)模型Fig.6 The structureof training
用基于兩種不同算法訓(xùn)練好的網(wǎng)絡(luò)分別對(duì)測(cè)試樣本進(jìn)行預(yù)測(cè),其測(cè)試結(jié)果分別如表2、表3.
其誤差效果圖如圖9、圖10 所示.
由帶動(dòng)量因子的梯度下降法的訓(xùn)練結(jié)果可知,此方法在 5 000 步左右時(shí)訓(xùn)練誤差才收斂到 103,并且測(cè)試誤差在 10%左右,訓(xùn)練時(shí)間較長(zhǎng)、收斂較慢.相比之下,LM算法不僅在訓(xùn)練的第 7 步的時(shí)候就達(dá)到訓(xùn)練目標(biāo),而且測(cè)試樣本的測(cè)試誤差控制在 5%以內(nèi).所以,LM比附帶動(dòng)量因子的梯度下降法在訓(xùn)練誤差、訓(xùn)練時(shí)間和迭代次數(shù)等方面的性能都有所提高,并且克服了傳統(tǒng) BP網(wǎng)絡(luò)學(xué)習(xí)算法訓(xùn)練網(wǎng)絡(luò)時(shí)可能遇到的因隱層節(jié)點(diǎn)數(shù)不足而導(dǎo)致網(wǎng)絡(luò)性能下降或者不收斂的現(xiàn)象,網(wǎng)絡(luò)訓(xùn)練的時(shí)間大大縮短,提高了算法的效率,準(zhǔn)確率較高,并且泛化性能良好,對(duì)于非訓(xùn)練樣本值也能夠正確進(jìn)行預(yù)測(cè).
表1 訓(xùn)練樣本Tab.1 Training samples
表2 基于帶動(dòng)量因子的梯度下降法的測(cè)試樣本及結(jié)果Tab.2 The testsamplesand resultsbased on the algorithm of traingdm
圖7 基于帶動(dòng)量因子梯度下降法的樣本訓(xùn)練過(guò)程Fig.7 The training processof samplesbased on thealgorithm of traingdm
圖8 基于LM算法的樣本訓(xùn)練過(guò)程Fig.8 The training processof samplesbased on LM
所以,經(jīng)實(shí)驗(yàn)證明,以與電池SoC關(guān)系較為密切的電池端電壓和負(fù)載電流作為輸入量,電池的SoC 作為輸出量建立的基于 LM 算法的 BP 神經(jīng)網(wǎng)絡(luò)鋰電池SoC 的預(yù)測(cè)模型,預(yù)測(cè)出的 SoC 值與期望值最大誤差不超過(guò) 5%,具有較高的準(zhǔn)確性.實(shí)驗(yàn)結(jié)果表明,該模型較為精確,能夠合理的反映出電池SoC 與其影響因子之間復(fù)雜的非線性關(guān)系,而且模型泛化性好,可推廣使用.與其它SoC 計(jì)算模型相比,該模型的優(yōu)點(diǎn)在于直接以實(shí)驗(yàn)測(cè)得的數(shù)據(jù)作為輸入,簡(jiǎn)化了模型結(jié)構(gòu)與計(jì)算過(guò)程.由此可見(jiàn)利用 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行電池的預(yù)測(cè)是可行的,并為鋰電池SoC預(yù)測(cè)方面提供了新的思路與方法.
表3 基于LM算法的測(cè)試樣本及結(jié)果Tab.3 The testsamplesand resultsbased on the algorithm of LM
[1] 胡驊,宋慧孫.電動(dòng)汽車(chē) [M].第 3 版.北京:人民交通出版社,2012.
[2] 譚曉軍.電動(dòng)汽車(chē)動(dòng)力電池管理系統(tǒng)設(shè)計(jì) [M].廣州:中山大學(xué)出版社,2011.
[3]Chaturvedi,NalinA. AlogrithmsofAdvancedBattery-ManagementSystem[J].ControlSystems,IEEE,2010,30(3):49-68.
圖9 基于帶動(dòng)量因子梯度下降法的樣本測(cè)試誤差Fig.9 The testing error based on thealgorithm of traingdm
圖10 基于LM算法的測(cè)試樣本誤差Fig.10 The testing errorbased on LM
[4] 李哲,盧蘭光,歐陽(yáng)明高.提高安時(shí)積分法估算電池 SOC 精度的方法比較 [J].清華大學(xué)學(xué)報(bào):自然科學(xué)版,2010,50(8): 1294-1296.
[5] 孫駿,李寶輝,薛敏.電動(dòng)汽車(chē) SOC 估算方法 [J].汽車(chē)工程師,2011(12): 25-27.
[6] 時(shí)瑋,姜久春,李索宇等.磷酸鐵鋰電池 SOC 估算方法研究 [J].電子測(cè)量與儀器學(xué)報(bào),2010,24(8):769-774.
[7] 李練兵,梁浩,劉炳山.基于單片機(jī)的動(dòng)力電池管理系統(tǒng)的硬件設(shè)計(jì) [J].電子技術(shù)應(yīng)用,2010(02):70-72
[8] 張華輝,齊鉑金,龐靜,等.動(dòng)力鋰離子電池穩(wěn)態(tài)特性參數(shù) MAP圖建模與仿真 [J].電源技術(shù),2009,33(5):390-394.[3]Chaturvedi,NalinA. Alogrithmsof Advanced Battery-ManagementSystem[J].ControlSystems,IEEE,2010,30(3):49-68.
[4] 李哲,盧蘭光,歐陽(yáng)明高.提高安時(shí)積分法估算電池SOC 精度的方法比較 [J].清華大學(xué)學(xué)報(bào):自然科學(xué)版,2010,50(8): 1294-1296.
[5] 孫駿,李寶輝,薛敏.電動(dòng)汽車(chē)SOC 估算方法 [J].汽車(chē)工程師,2011(12): 25-27.
[6] 時(shí)瑋,姜久春,李索宇等.磷酸鐵鋰電池 SOC 估算方法研究 [J].電子測(cè)量與儀器學(xué)報(bào),2010,24(8):769-774.
[7] 李練兵,梁浩,劉炳山.基于單片機(jī)的動(dòng)力電池管理系統(tǒng)的硬件設(shè)計(jì) [J].電子技術(shù)應(yīng)用,2010(02):70-72
[8] 張華輝,齊鉑金,龐靜,等.動(dòng)力鋰離子電池穩(wěn)態(tài)特性參數(shù)MAP圖建模與仿真 [J].電源技術(shù),2009,33(5):390-394.
[9] 張賓,林成濤,陳全世.電動(dòng)汽車(chē)用 LiFePO4/C鋰離子蓄電池性能 [J].電源技術(shù),2008,32(2): 95-98.
[10] 安志生.電池管理系統(tǒng)中鋰離子電池SOC估算方法的研究 [D].太原:太原科技大學(xué),2013:45-46
[11] 胡任,韓贊東,王克爭(zhēng).基于 BP 神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)靜置電池的剩余電量 [J].電池,2006,36(1):58-59.
[12] 尹安東,張萬(wàn)興,趙韓,江昊.基于神經(jīng)網(wǎng)絡(luò)的磷酸鐵鋰電池 SOC 預(yù)測(cè)研究 [J].電子測(cè)量與儀器學(xué)報(bào),2011,25(5):433-437.
[13] 廖恩華. 基于神經(jīng)網(wǎng)絡(luò)的磷酸鐵鋰電池SOC估算方法研 [D].成都:電子科技大學(xué),2011:48.
14] 朱良山,林嬋,王起峰. LM_BP神經(jīng)網(wǎng)絡(luò)在總輻射日曝輻量計(jì)算中的應(yīng)用研究 [J].太陽(yáng)能學(xué)報(bào),2013,34(07):1202-1205.
[責(zé)任編輯 代俊秋]
The prediction of SoC of lithium battery based on BP neural network
YUAN Qian,LIU Jin-zhi,YANG Peng
( School of Control Science and Engineering, Hebei University of Technology, Tianjin 300130, China )
By using the circuitboard to structure thebattery parametersdetection platform,such asvoltage,currentand temperature,and sending theparameters to computer.A modelofestimating thestateof chargeof lithium battery based on BPneuralnetworkwasput forward.The inputvectorneeded two factors---voltageand current,and theoutputvector was the SoC of lithium battery.A testwasdoneon themodelby using the datameasured in laboratory.The resultof the testshows thatthedata calculated by themodelisaccurateand themodelhasgood generalization ability,which is feasible for SoC prediction.
monitoring;levenberg-marquardt;BPneuralnetwork;state of charge;generalization
1007-2373(2014)05-0015-07
TM912.9
A
10.14081/j.cnki.hgdxb.2014.05.003
2014-09-26
國(guó)家自然科學(xué)基金(61305101)
苑倩 (1989-),女 (漢族),碩士生 .通訊作者:楊鵬 (1960-),男 (漢族),教授.