戴武昌,王建國,徐天錫
(1.東北電力大學(xué) 電氣工程學(xué)院,吉林 吉林 132012;2.國網(wǎng)淄博供電公司,山東 淄博 255000)
?
基于神經(jīng)網(wǎng)絡(luò)的蓄電池荷電狀態(tài)估算
戴武昌1,王建國1,徐天錫2
(1.東北電力大學(xué) 電氣工程學(xué)院,吉林 吉林 132012;2.國網(wǎng)淄博供電公司,山東 淄博 255000)
針對蓄電池荷電狀態(tài)(SOC)的估算問題,將神經(jīng)網(wǎng)絡(luò)算法應(yīng)用于此以估算蓄電池荷電狀態(tài)。通過神經(jīng)網(wǎng)絡(luò)輸入?yún)?shù)的選擇建立了蓄電池SOC估算模型,并基于BP神經(jīng)網(wǎng)絡(luò)和RBF神經(jīng)網(wǎng)絡(luò)對蓄電池分別進(jìn)行SOC的估算。結(jié)果表明:神經(jīng)網(wǎng)絡(luò)應(yīng)用于蓄電池SOC估算所得的結(jié)果準(zhǔn)確度高。通過比較可以得出,BP神經(jīng)網(wǎng)絡(luò)相對于RBF神經(jīng)網(wǎng)絡(luò)預(yù)測結(jié)果更準(zhǔn)確,且具有相對較好的抗干擾能力,能夠更加準(zhǔn)確的估算出蓄電池SOC。
荷電狀態(tài);神經(jīng)網(wǎng)絡(luò);估算;BP神經(jīng)網(wǎng)絡(luò)
蓄電池作為最常見的儲能環(huán)節(jié)被應(yīng)用在生產(chǎn)生活的各個方面:在清潔能源的開發(fā)利用中,電池儲能技術(shù)可以用來平抑波動功率;在電動汽車中可以作為主電源為汽車提供動力支持;在變電站直流系統(tǒng)中作為備用電源保證變電站中的二次設(shè)備可靠運(yùn)行等[1-2]。在實際應(yīng)用中,時刻掌握蓄電池的剩余容量十分必要,蓄電池的剩余容量用SOC來表示。SOC即電池荷電狀態(tài),美國先進(jìn)電池聯(lián)合會(USABC)在《電動汽車電池實驗手冊》中做如下定義:在一定的放電倍率條件下,電池的剩余電量與相同條件下額定容量的比值,即:
SOC=Qc/CI,
(1)
式中:Qc為剩余電量;CI為電池以恒定電流I放電時具有的容量[3-4]。
目前SOC并不能被直接測量,只能通過電壓、電流、溫度、內(nèi)阻等參數(shù)估算獲得。常用的SOC估算方法有以下幾種:①線性模型法:基于經(jīng)驗方程和等效電路或者數(shù)學(xué)模型的估計方法。這些方法對測量誤差和錯誤的初始條件具有很好的魯棒性,但是這種穩(wěn)態(tài)模型卻不能完全正確的適應(yīng)電池的動態(tài)特性。②安時計量法:在提供SOC初值的情況下,通過計算放電的總電量得到當(dāng)前SOC。在保證初值及測量精度的情況下,一定時間間隔內(nèi)是一種簡單且可靠的方法,否則誤差將會累加。③開路電壓法:蓄電池開路電壓能夠較為準(zhǔn)確的反映蓄電池的SOC,并且簡單易行,但是蓄電池需要長時間空載靜置后才可獲取,因此難以應(yīng)用在實際中。④內(nèi)阻法:此方法放電后期具有較高精度和較好適應(yīng)性,但電池單體內(nèi)阻檢測困難,且放電初期內(nèi)阻變化不大,因此測量難度大。⑤卡爾曼濾波法:對模型的精度要求非常高,計算量大且算法較為復(fù)雜。⑥阻抗譜方法:充、放電的電流強(qiáng)度以及蓄電池循環(huán)充、放電歷史對其結(jié)果有一定的影響需要修正,且不適合實際應(yīng)用[5-10]。
將神經(jīng)網(wǎng)絡(luò)方法應(yīng)用于蓄電池SOC估算時,依靠神經(jīng)網(wǎng)絡(luò)的四個特性能夠有效的解決上述問題的存在:①自學(xué)習(xí)和自適應(yīng)性:當(dāng)輸入?yún)?shù)發(fā)生變化時,相當(dāng)于給神經(jīng)網(wǎng)絡(luò)輸入新的學(xué)習(xí)樣本,網(wǎng)絡(luò)能夠自動調(diào)整結(jié)構(gòu)參數(shù),改變映射關(guān)系,從而對特定的輸入產(chǎn)生相應(yīng)的期望輸出。②非線性性:神經(jīng)網(wǎng)絡(luò)將知識存儲于連接權(quán)值中,可以實現(xiàn)各種非線性映射。③魯棒性與容錯性:神經(jīng)網(wǎng)絡(luò)具有信息存儲的分布性,故局部的損害會使神經(jīng)網(wǎng)絡(luò)的精度適度減小,但不會對誤差累加也不會產(chǎn)生災(zāi)難性的錯誤。④計算的并行性與存儲的分布性:由于其并行結(jié)果決定了每個神經(jīng)元都可以根據(jù)接受到的信息進(jìn)行獨立運(yùn)算和處理,并輸出結(jié)果,大大提升運(yùn)算速度[11]。本文首先介紹了BP神經(jīng)網(wǎng)絡(luò)和RBF神經(jīng)網(wǎng)絡(luò)的特性并確定了神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),而后依據(jù)選擇的輸入?yún)?shù)建立了估算模型,通過磷酸鐵鋰電池實驗平臺采集數(shù)據(jù),最后通過仿真實驗加以驗證,并對結(jié)果進(jìn)行分析。
1.1 BP神經(jīng)網(wǎng)絡(luò)
BP神經(jīng)網(wǎng)絡(luò),即誤差反向傳播算法的學(xué)習(xí)過程,由信息的正向傳播和誤差的反向傳播兩個過程組成。包括輸入層、隱含層和輸出層。輸入層各神經(jīng)元負(fù)責(zé)接收來自外界的輸入信息,并傳遞給中間層各神經(jīng)元;中間層是內(nèi)部信息處理層,負(fù)責(zé)信息變換,根據(jù)信息變化能力的需求,中間層可以設(shè)計為單隱含層或者多隱含層結(jié)構(gòu);最后一個隱含層傳遞到輸出層各神經(jīng)元的信息,經(jīng)進(jìn)一步處理后,完成一次學(xué)習(xí)的正向傳播處理過程,由輸出層向外界輸出信息處理結(jié)果。當(dāng)實際輸出與期望輸出不符時,進(jìn)入誤差的反向傳播階段。誤差通過輸出層,按誤差梯度下降的方式修正各層權(quán)值,向隱含層、輸入層逐層反傳。周而復(fù)始的信息正向傳播和誤差反向傳播過程,是各層權(quán)值不斷調(diào)整的過程,也是神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的過程,此過程一直進(jìn)行到網(wǎng)絡(luò)輸出的誤差減少到可以接受的程度,或者預(yù)先設(shè)定的學(xué)習(xí)次數(shù)為止。本文選擇如圖1所示的典型三層結(jié)構(gòu)的BP神經(jīng)網(wǎng)絡(luò)。
圖1 三層BP網(wǎng)絡(luò)
圖2 網(wǎng)絡(luò)學(xué)習(xí)原理
神經(jīng)網(wǎng)絡(luò)初始權(quán)值選擇凈輸入為零點附近的極小值,并且保證初始權(quán)值數(shù)量正負(fù)各半。在神經(jīng)網(wǎng)絡(luò)中為了發(fā)揮網(wǎng)絡(luò)適應(yīng)性及搜索能力,隱含層傳遞函數(shù)選用Tan-Sigmod函數(shù),使網(wǎng)絡(luò)對任意輸入量映射在-1到1之間,由于蓄電池SOC范圍在0到1 之間,所以輸出層采用Log-Sigmod函數(shù)將最終輸出映射在0到1之間,可以加快收斂速度,提高收斂精度。
圖2描述BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)基本原理,通過對多個樣本進(jìn)行反復(fù)的學(xué)習(xí)并通過誤差的反向傳播來修改連接權(quán)值,它是沿著輸出誤差函數(shù)的負(fù)梯度方向?qū)ζ溥M(jìn)行改變,并且到最后使誤差函數(shù)收斂于該函數(shù)的最小點。為了在修正權(quán)值時避免計算Hessian矩陣,減小計算量,加快收斂速度,優(yōu)化誤差反向傳播算法魯棒性差,易陷入局部最優(yōu)等問題。本文采用L-M(Levenberg-Marquardt)算法優(yōu)化網(wǎng)絡(luò)學(xué)習(xí)過程,L-M算法根據(jù)下式修正網(wǎng)絡(luò)權(quán)值:
ω(n+1)=ω(n)-ηn{H(n)+βnQ(n)}-g(n),
(2)
式中:ω(n+1)為修正后的權(quán)值,ω(n)為當(dāng)前權(quán)值,ηn為學(xué)習(xí)率,H(n)為傳遞函數(shù)在ω(n)處的二階梯度矩陣,即Hessian矩陣,Q(n)為給定的正定矩陣,g(n)為傳遞函數(shù)在ω(n)處的梯度向量,當(dāng)βn=0時,L-M算法變?yōu)榕nD法;當(dāng)βn很大時,此算法相當(dāng)于步長較小的梯度下降法,而雅克比矩陣比Hessian矩陣易于計算,因此收斂速度快。
1.2 RBF神經(jīng)網(wǎng)絡(luò)
RBF神經(jīng)網(wǎng)絡(luò)是有三層構(gòu)成的前向網(wǎng)絡(luò):第一層為輸入層,節(jié)點個數(shù)等于輸入的維數(shù);第二層為隱含層,節(jié)點個數(shù)視具體問題而定;第三層為輸出層,節(jié)點個數(shù)等于輸出數(shù)據(jù)的維數(shù)。RBF神經(jīng)網(wǎng)絡(luò)不同層有著不同的功能,隱含層是非線性的,采用徑向基函數(shù)作為基函數(shù),從而將輸入向量空間轉(zhuǎn)換到隱含層空間,使原來線性不可分的問題變得線性可分,輸出層是線性的。RBF網(wǎng)絡(luò)的基本思想是:用RBF作為隱含層單元的“基”構(gòu)成隱含層空間,可以將輸入矢量不通過權(quán)值連接而直接映射到隱含層空間。當(dāng)RBF的中心點確定以后,映射關(guān)系則隨之確定。而隱含層空間到輸出空間是線性映射,即網(wǎng)絡(luò)的輸出是隱含層單元輸出的線性加權(quán)和。可以通過修正此處的權(quán)值來學(xué)習(xí)網(wǎng)絡(luò)。由此可見,從整體來看,網(wǎng)絡(luò)由輸入到輸出的映射是非線性的,而網(wǎng)絡(luò)輸出對可調(diào)參數(shù)而言卻又是線性的。這樣網(wǎng)絡(luò)的權(quán)值就可以通過求解線性方程獲得,從而大大加快學(xué)習(xí)速度并避免局部極小問題。圖3所示為RBF網(wǎng)絡(luò)結(jié)構(gòu)。
圖3 徑向基函數(shù)網(wǎng)絡(luò)結(jié)構(gòu)
圖4 RBF網(wǎng)絡(luò)學(xué)習(xí)算法具體步驟
網(wǎng)絡(luò)的輸出為
a2=purelin(LW2a1+b2),
(3)
a1=radbas(n1),
(4)
(5)
式中:diag(x)表示取矩陣向量主對角線上元素組成的列向量;“∧”和“*”分別表示數(shù)量乘方和數(shù)量乘積(即矩陣中各對應(yīng)元素的乘方和乘積)。
RBF神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)算法需要求解的參數(shù)有三個:基函數(shù)的中心、方差以及隱含層到輸出層的權(quán)值。根據(jù)徑向基函數(shù)中心選取方法的不同,RBF網(wǎng)絡(luò)有不同的學(xué)習(xí)算法,常見的有隨機(jī)選取中心法、自組織選取中心法、有監(jiān)督選取中心法和正交最小二乘法等。本文將采用自組織選取中心的RBF神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法。此學(xué)習(xí)算法由兩個階段組成:一是自組織學(xué)習(xí)階段,此階段為無監(jiān)督學(xué)習(xí)過程,其任務(wù)是用自組織聚類方法為基函數(shù)確定合適的聚類中心,并根據(jù)聚類中心的距離確定其方差;二是有監(jiān)督學(xué)習(xí)階段,此階段任務(wù)是用有監(jiān)督學(xué)習(xí)算法修正隱含層到輸出層之間的權(quán)值,通過權(quán)值的不斷修正減小誤差并提高收斂速度,提高網(wǎng)絡(luò)預(yù)測精度。有監(jiān)督學(xué)習(xí)算法具體步驟如圖4所示。
蓄電池SOC是多種因素共同作用的結(jié)果,通常包括溫度、充放電倍率、蓄電池SOH(健康狀態(tài))、電壓、內(nèi)阻等。而在生產(chǎn)生活中蓄電池的工作環(huán)境、工作條件各不相同。因此,準(zhǔn)確計算SOC的難點在于SOC與各因素之間復(fù)雜映射關(guān)系的存在。傳統(tǒng)的蓄電池SOC估算精度較差的原因在于其方法只針對一種因素尋找其映射關(guān)系,并未考慮其他因素對蓄電池SOC估算的影響,所以考慮并不全面。而神經(jīng)網(wǎng)絡(luò)在蓄電池SOC估算中可以針對多個輸入量尋找其映射關(guān)系,故可以相對提高估算精度。本文選擇蓄電池的工作電壓、工作電流以及工作溫度三個參數(shù)作為神經(jīng)網(wǎng)絡(luò)的輸入并以蓄電池SOC作為輸出,通過網(wǎng)絡(luò)訓(xùn)練從而達(dá)到預(yù)期效果。構(gòu)建如下式所示的蓄電池SOC估算模型:
SOC=f(V,I,T).
(6)
若要實現(xiàn)復(fù)雜的映射關(guān)系,則需要有足夠的隱含層節(jié)點,在實際應(yīng)用中往往根據(jù)經(jīng)驗和反復(fù)試驗得到。下式為確定隱含層節(jié)點的常用公式:
I=2M+Q,
(7)
式中:I為隱含層節(jié)點數(shù);M、Q分別為輸入層、輸出層節(jié)點數(shù)。依據(jù)式(7)初步確定隱含層節(jié)點數(shù)為7,并以網(wǎng)絡(luò)的訓(xùn)練誤差和訓(xùn)練次數(shù)為依據(jù)通過多次訓(xùn)練對其進(jìn)行修正。如表1所示,當(dāng)隱含層節(jié)點為7個和8個時訓(xùn)練次數(shù)相對較少,但是由于隱含層為8個節(jié)點時,誤差最小,因此確定隱含層節(jié)點數(shù)為8個。
表1 不同隱含層節(jié)點數(shù)目訓(xùn)練效果
圖5 ESMU結(jié)構(gòu)
3.1 數(shù)據(jù)采集以及處理
本文通過磷酸鐵鋰電池實驗平臺獲得神經(jīng)網(wǎng)絡(luò)的樣本數(shù)據(jù),實驗平臺由磷酸鐵鋰電池、變流器以及鋰電池能量管理系統(tǒng)組成。電池組由192節(jié)40 Ah磷酸鐵鋰電池串聯(lián)而成,分為16箱,每箱12節(jié);10 kW/20 kWh鋰電池能量管理系統(tǒng)由儲能管理單元(Energy Storage Manage Unit,ESMU)和電池管理單元(Battery Manage Unit,BMU)兩部分組成,其中ESMU由通信模塊、控制模塊、監(jiān)測模塊和數(shù)據(jù)管理分析模塊構(gòu)成,可實現(xiàn)對電池的充放電控制、狀態(tài)監(jiān)測與數(shù)據(jù)管理分析。其具體結(jié)構(gòu)如圖5虛線框內(nèi)所示:
將磷酸鐵鋰電池充滿電后充分靜置,進(jìn)行一次放電實驗,實時監(jiān)測并記錄電壓、電流、溫度以及SOC數(shù)據(jù)。采集得到300組數(shù)據(jù),由于所得到的數(shù)據(jù)基本度量單位并不統(tǒng)一,同時為了加快網(wǎng)絡(luò)訓(xùn)練的收斂速度,需要將數(shù)據(jù)進(jìn)行歸化處理,采用下式對電壓、電流、溫度數(shù)據(jù)進(jìn)行歸化處理,將輸入樣本數(shù)據(jù)歸化到[0-1]之間。
(8)
3.2 仿真分析
將所得數(shù)據(jù)的2/3作為網(wǎng)絡(luò)的訓(xùn)練樣本,另外1/3用于檢測訓(xùn)練效果。依據(jù)所建立的SOC估算模型,將用于測試網(wǎng)絡(luò)訓(xùn)練效果的數(shù)據(jù)分別載入BP神經(jīng)網(wǎng)絡(luò)和RBF神經(jīng)網(wǎng)絡(luò),所得到的SOC預(yù)測數(shù)據(jù)和兩種模型下的誤差見圖6、圖7所示:
圖6 神經(jīng)網(wǎng)絡(luò)SOC預(yù)測結(jié)果圖7 神經(jīng)網(wǎng)絡(luò)SOC預(yù)測誤差
由圖6、圖7可以看出,當(dāng)將同一組檢測樣本載入兩種神經(jīng)網(wǎng)絡(luò)時,BP神經(jīng)網(wǎng)絡(luò)預(yù)測效果明顯好于RBF神經(jīng)網(wǎng)絡(luò)預(yù)測效果,從均方誤差來看,RBF網(wǎng)絡(luò)預(yù)測誤差相對較大,并且有很大的波動,而BP網(wǎng)絡(luò)預(yù)測誤差變化相對平緩,相對于RBF網(wǎng)絡(luò)具有較好的抗干擾能力。
本文針對于蓄電池SOC估算問題,將BP神經(jīng)網(wǎng)絡(luò)和RBF神經(jīng)網(wǎng)絡(luò)應(yīng)用于此。應(yīng)用磷酸鐵鋰電池實驗平臺采集數(shù)據(jù),將鋰電池電壓、電流、溫度作為輸入,將蓄電池SOC作為輸出對網(wǎng)絡(luò)進(jìn)行訓(xùn)練,并用實測數(shù)據(jù)對網(wǎng)絡(luò)進(jìn)行檢驗預(yù)測鋰電池SOC。仿真表明,神經(jīng)網(wǎng)絡(luò)應(yīng)用于蓄電池SOC的估算具有很好的效果,可以滿足蓄電池SOC估算要求,并且BP神經(jīng)網(wǎng)絡(luò)的預(yù)測效果明顯優(yōu)于RBF網(wǎng)絡(luò)的預(yù)測效果。與此同時,神經(jīng)網(wǎng)絡(luò)訓(xùn)練速度快,適應(yīng)性強(qiáng),故可廣泛應(yīng)用于蓄電池SOC的在線估算,具有很好的實用價值與應(yīng)用前景。
[1] 李軍徽,馮喜超,朱星旭,等.10KW/20KWh鋰電池能量管理系統(tǒng)的設(shè)計與實現(xiàn)[J].太陽能學(xué)報,2014,35(12):2490-2496.
[2] 呂帥帥,汪興興,倪紅軍,等.電動汽車能量管理系統(tǒng)的功能及研究進(jìn)展[J].電源技術(shù),2014,38(2):386-389.
[3] US Department of energy.USABC Electric Vehicle Battery Test Procedure Manaual[M].Washington:US Departmento f Energy,1996:33-135.
[4] 喬立彪.鋰離子電池管理系統(tǒng)的研究與實現(xiàn)[D].濟(jì)南:山東大學(xué),2012.
[5] 喬波強(qiáng),候振義,王佑民.蓄電池剩余容量預(yù)測技術(shù)現(xiàn)狀及發(fā)展[J].電源世界,2012(2):21-26.
[6] 林成濤,陳全世,王軍平,等.用改進(jìn)的安時計量法估計電動汽車動力電池SOC[J].清華大學(xué)學(xué)報:自然科學(xué)版,2006,46(2):247-251.
[7] John Chiassion.Estimating the State of charge of a battery[J].IEEE Transactions on Control Systems Technology,2005,13(3):465-470.
[8] Taesic Kim,Wei Qiao.Online state of charge and electrical impedance estimation for Multicell lithium-ion batteries(C).IEEE Transportation Electrification Conference and Expo(ITEC),2013:1-6.
[9] Novie Ayub Windarko,Jaeho Choi.Li-pb battery SOC estimation using extended kalman filter improved with variation of single dominant[J].Parameter Journal of Power Electronics,2012,12(1):40-48.
[10] 張金龍.動力電池組SOC估算及均衡控制方法研究[D].天津:天津大學(xué),2011:5-23.
[11] 邢曉敏,劉洪濤,等.基于BP 神經(jīng)網(wǎng)絡(luò)的高精度基波頻率檢測方法研究[J].東北電力大學(xué)學(xué)報,2015,35(1):42-45.
[12] 朱政.磷酸鐵鋰電池荷電狀態(tài)估計方法的研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2013:1-116.
Estimation of Battery State of Charge Based on Neural Network
DAI Wu-chang1,WANG Jian-guo1,XU Tan-xi2
(1.School of Electric Engineering,Northeast Dianli University,Jilin Jilin 132012;2.State Grid Zibo Electric Power Company,Zibo Shan Dong 255000)
For the estimation of the state of charge(SOC) of the battery,The neural network algorithm is applied to estimate the residual capacity of the battery.In this paper,the selection of neural network input parameters to establish a battery SOC estimation model,and based on the BP neural network and RBF neural network to estimate the SOC.The results show that the neural network is more accurate in estimating the SOC of the battery.By comparison,it can be known that the BP neural network is more accurate than the RBF neural network,and it has a relatively good anti-interference ability,can more accurately estimate the battery SOC.
State of charge;Neural network;Estimation;BP neural network
2016-04-12
戴武昌(1963-),男,吉林省吉林市人,東北電力大學(xué)電氣工程學(xué)院研究員,主要研究方向:電機(jī)控制、儲能技術(shù).
1005-2992(2016)05-0001-06
TM912
A