簡智敏
(漳州職業(yè)技術(shù)學(xué)院,機(jī)械工程學(xué)院,福建 漳州363000)
在城市照明中,由獨(dú)立太陽能電池供電的路燈系統(tǒng)已經(jīng)較多的使用,此系統(tǒng)方便、節(jié)能,但是由于太陽能電池的充電情況受到天氣變化及日照強(qiáng)度的影響很大,在使用過程中易出現(xiàn)蓄電池虧電的情況,這樣既影響路燈的照明情況又容易損壞蓄電池,對此的解決辦法可以通過增加蓄電池容量或科學(xué)的提高蓄電池的充放電效率來解決,前者會使系統(tǒng)投入大為增加,顯然采用后者更為合理。在系統(tǒng)中要合理的使用蓄電池,需實(shí)時跟蹤蓄電池的一個重要參數(shù),即蓄電池的荷電狀態(tài)(state of charge,SOC)即剩余容量,該值決定了系統(tǒng)中放電功率的大小,影響著電池管理系統(tǒng)策略方案,因此準(zhǔn)確檢測蓄電池的SOC尤為關(guān)鍵。
影響蓄電池SOC的因素有多個,其中主要是蓄電池溫度、蓄電池端電壓、電池內(nèi)阻、充電電流、放電電流、放電率和初始剩余容量等[1],但是蓄電池的SOC是其內(nèi)部特性,不能直接測量,特別是蓄電池在充放電過程中表現(xiàn)出來的高度非線性,使得要建立一個完全符合其特性的數(shù)學(xué)模型幾乎是不可能的,這也是得電池容量很難精確估算出來。
傳統(tǒng)的SOC估算法包括放電試驗(yàn)法、安時法、開路電壓法、內(nèi)阻法,近年來又出現(xiàn)了很多新型算法,包括卡爾曼濾波法、神經(jīng)網(wǎng)絡(luò)法、模糊算法等[2-3]。放電試驗(yàn)法是將蓄電池進(jìn)行持續(xù)的恒流放電直到電池的截止電壓,將此放電過程所用的時間乘以放電電流的大小值,即作為電池的剩余容量,此法簡單可靠,但是費(fèi)時且不適用于工作狀態(tài)的蓄電池[3]。安時法又稱電流積分法,是通過對蓄電池的電流進(jìn)行測量,在一定時間內(nèi)積分所得輸入或輸出電量,將其處于蓄電池的額定容量,此法簡單穩(wěn)定,但是對所測量電流的精度要求高,若測量不精確則會造成累積誤差[4-6]。開路電壓法是通過測量蓄電池開路電壓,根據(jù)開路電壓與SOC的對應(yīng)關(guān)系得到蓄電池剩余電量,但是不適用于工作狀態(tài)中的蓄電池,常用來作為一些算法的補(bǔ)充[4-6]。內(nèi)阻法是根據(jù)蓄電池內(nèi)阻與SOC的函數(shù)對應(yīng)關(guān)系來獲得SOC,但是蓄電池的內(nèi)阻很容易受到各種因素的影響,使得精度受影響[7]。卡爾曼濾波法是對蓄電池內(nèi)部狀態(tài)做出最小方差的最優(yōu)估計,該法精度高,適用于各種狀態(tài)下的蓄電池,但是需要確定準(zhǔn)確的模型,且運(yùn)算量大[5,8]。神經(jīng)網(wǎng)絡(luò)算法和模糊算法是目前的主要智能控制法,都是不依賴于模型的自適應(yīng)估算器,通過提供輸入和輸出樣本,可獲得輸入與輸出的關(guān)系。
由于電池的非線性特性,上述提到的幾種傳統(tǒng)估算法只對其中一種因素找映射關(guān)系,測出來的精度較為有限。神經(jīng)網(wǎng)絡(luò)本身具有非線性、并行結(jié)構(gòu)且具有很強(qiáng)的自適應(yīng)能力和學(xué)習(xí)能力,因此采用神經(jīng)網(wǎng)絡(luò)算法來估算蓄電池剩余容量,可以較好的解決非線性問題,獲得較為精確的結(jié)果,本系統(tǒng)采用基于RBF神經(jīng)網(wǎng)絡(luò)的算法來實(shí)現(xiàn)對蓄電池剩余容量的估算。
RBF神經(jīng)網(wǎng)絡(luò)是一種局部逼近的前饋型神經(jīng)網(wǎng)絡(luò),包括輸入層、隱層和輸出層三層,具體結(jié)構(gòu)如圖1所示[9]。

圖1 RBF神經(jīng)網(wǎng)絡(luò)模型示意圖
圖 1 中輸入層 X=(x1,x2,...,xn)T表示網(wǎng)絡(luò)的輸入矢量,輸入神經(jīng)元個數(shù)為n,用來傳輸信號,其節(jié)點(diǎn)個數(shù)由系統(tǒng)輸入變量個數(shù)決定。隱含層實(shí)現(xiàn)輸入信號的映射,其神經(jīng)元由徑向基函數(shù)構(gòu)成,隱含層單元數(shù)目根據(jù)具體需求進(jìn)行設(shè)定,ci為隱含層中心的大小,h為數(shù)據(jù)中心個數(shù),隱含層的函數(shù)φi()表示將第i個隱含層節(jié)點(diǎn)被激活;Wik是連接網(wǎng)絡(luò)隱含層和輸出層的權(quán)值,該值與激活函數(shù)值的乘積之和即為輸出值大小。Y=(y1,y2,...,ym)T表示網(wǎng)絡(luò)的輸出矢量,輸出神經(jīng)元個數(shù)為m,輸出層由隱含層單元通過線性加權(quán)所得。
隱含層的激活函數(shù)可以由多種徑向函數(shù)構(gòu)成,其中的高斯函數(shù)由于其對稱、光滑且存在各階導(dǎo)數(shù)的優(yōu)點(diǎn)而被廣泛應(yīng)用。高斯函數(shù)在RBF網(wǎng)絡(luò)中用式(1)表示。

式中:x為輸入向量,維數(shù)為n,ci為第i個函數(shù)的數(shù)據(jù)中心,‖x-ci‖為向量x-ci的范數(shù),即x和ci之間的距離,σi為隱層第i個神經(jīng)元基函數(shù)的寬度,即中心寬度。
RBF網(wǎng)絡(luò)輸出層的第k個神經(jīng)元輸出用式(2)表示。

式中:yk為單個神經(jīng)元輸出,m為神經(jīng)元總數(shù),wik為輸出權(quán)值。
預(yù)測模型的精度決定所建立模型的準(zhǔn)確性,通常采用均方根誤差RMSE和確定系數(shù)R2來判定所建模型的準(zhǔn)確性[10]。均方根誤差RMSE(Root Mean Squared Error)和確定系數(shù)R2(R-square)的數(shù)學(xué)形式如式(3)、式(4)所示。

上面兩個式子中,n是樣本點(diǎn)的數(shù)量,yi為測量所得真實(shí)值,yˉi是真實(shí)值的平均值,y?i是模型估計值,wi是權(quán)值。RMSE代表估計值與真實(shí)值之間的誤差,其值越接近于0,說明估計值與真實(shí)值越接近,模型預(yù)估效果越好。確定系數(shù)R2表示模型擬合的好壞程度,越接近1,說明模型對數(shù)據(jù)擬合越好,估計值與真實(shí)值越接近。
在使用RBF神經(jīng)網(wǎng)絡(luò)過程中,網(wǎng)絡(luò)所對應(yīng)的輸入層、中間層和輸出層的各層神經(jīng)元的個數(shù)根據(jù)要解決的問題的實(shí)際情況而定。一般輸入層線性函數(shù),在對蓄電池的SOC的估算過程中訓(xùn)練的網(wǎng)絡(luò)模型,其輸入量為電池SOC的影響因素,這里選取蓄電池的端電壓、放電電流、蓄電池內(nèi)阻和溫度;中間層結(jié)構(gòu)通常較為復(fù)雜,且其程度決定了電池SOC估算的精確度;輸出層是線性的,這里網(wǎng)絡(luò)輸出即SOC。由此可以得到函數(shù)關(guān)系為SOC=f(U,i,R,T),網(wǎng)絡(luò)模型如圖2所示。

圖2 RBF神經(jīng)網(wǎng)絡(luò)模型圖
神經(jīng)網(wǎng)絡(luò)估算方法中,神經(jīng)元訓(xùn)練數(shù)據(jù)的可靠度直接影響著估算精度。為了獲得可靠的動態(tài)樣本對網(wǎng)絡(luò)進(jìn)行訓(xùn)練,構(gòu)建蓄電池放電結(jié)構(gòu)圖,如圖3所示。

圖3 蓄電池放電結(jié)構(gòu)圖
選用12V/45AH的閥控式鉛酸蓄電池,蓄電池端電壓、內(nèi)阻和剩余電量采用型號為DY-3015C的內(nèi)阻測試儀測得,電流通過數(shù)字萬用表測得,溫度采樣蓄電池外殼的溫度,它相對較準(zhǔn)確反映蓄電池實(shí)際溫度,通過優(yōu)利德UT320D接觸式帶探頭溫度表測得。由于項(xiàng)目成果最終要在室外使用,為了取得合適的樣本,在10℃~35℃之間,通過改變負(fù)載阻值實(shí)現(xiàn)恒流放電,測試時為了避免蓄電池過放電影響壽命,實(shí)驗(yàn)過程中蓄電池端電壓不低于10.7 V,負(fù)載電阻分別設(shè)定為36 Ω、22 Ω和10 Ω,測得蓄電池放電時的在線數(shù)據(jù),每組電阻放電時即不同放電率時各獲取200組數(shù)據(jù),表1是其中的小部分?jǐn)?shù)據(jù)。

表1 部分用于RBF訓(xùn)練的數(shù)據(jù)
由于所測得的各項(xiàng)數(shù)據(jù)量綱不同,要將其作為樣本用于網(wǎng)絡(luò)的訓(xùn)練,首先要對其進(jìn)行歸一化處理,讓其基本度量單位統(tǒng)一,不僅有利于處理,同時也加快了網(wǎng)絡(luò)訓(xùn)練的收斂速度[9],本文的歸一化采用minmax規(guī)范化方法將原始數(shù)據(jù)處理成[0,1]之間的新數(shù)據(jù),歸一化處理公式如式(5)所示。

式中,max(Y)為樣本最大值,min(Y)為樣本最小值,Yi為歸一化之前的數(shù)據(jù),yi為歸一化之后的數(shù)據(jù)。
訓(xùn)練結(jié)束后,欲得到原先的真實(shí)數(shù)據(jù),只需要將輸出的結(jié)果進(jìn)行反歸一化,反歸一化方法用式(6)實(shí)現(xiàn),即

將反歸一化后得到的數(shù)據(jù)與驗(yàn)證數(shù)據(jù)中的輸出數(shù)據(jù)作對比,檢測網(wǎng)絡(luò)的可用性。本文選擇的待歸一化目標(biāo)向量為 X=[電壓(U),電流(I),內(nèi)阻(R),溫度(T)],而需要進(jìn)行反歸一化的輸出向量為電池剩余電量SOC。
本文選用MATLAB作為系統(tǒng)仿真平臺,將以上測得的蓄電池端電壓、放電電流、內(nèi)阻、環(huán)境溫度這些樣本數(shù)據(jù)輸入,采用系統(tǒng)自帶的函數(shù)newrb()創(chuàng)建RBF神經(jīng)網(wǎng)絡(luò),模擬仿真預(yù)測用sim()實(shí)現(xiàn),函數(shù)式子如式(7)所示。

式中P、T、goal分別為輸入數(shù)據(jù)、輸出數(shù)據(jù)、均方誤差的目標(biāo),其中g(shù)oal默認(rèn)為0,此處設(shè)為0.001,spread為徑向基函數(shù)的分布密度,該值的大小影響網(wǎng)絡(luò)逼近精度,該值越大,函數(shù)的擬合就越平滑,但是過大又需要很多神經(jīng)元來適應(yīng)函數(shù)的緩慢變化,因此在使用時需要對其大小進(jìn)行不斷嘗試,這里最終確定該值取0.05,MN為網(wǎng)絡(luò)神經(jīng)元最大數(shù)目,DF為每次創(chuàng)建時所添加的神經(jīng)元數(shù)目,在創(chuàng)建過程中,函數(shù)會根據(jù)誤差不斷向隱層添加神經(jīng)元,直到誤差滿足要求為止。
網(wǎng)絡(luò)訓(xùn)練過程其實(shí)就是確定各參數(shù)的一個過程,在訓(xùn)練過程中采用了混合學(xué)習(xí)的方法,正向?qū)W習(xí)中對各隱層的數(shù)據(jù)中心值ci和隱層中心寬度σi采用k-均值聚類算法來確定,隱層中心寬度σi得出后再采用遺傳算法進(jìn)行優(yōu)化;反向?qū)W習(xí)中對輸出層連接權(quán)值wik采用正交最小二乘法求出;最后再對隱含層和輸出層的參數(shù)進(jìn)行校正,進(jìn)一步提高網(wǎng)絡(luò)的逼近精度,由此獲得網(wǎng)絡(luò)的最佳結(jié)構(gòu)。
網(wǎng)絡(luò)模型的各參數(shù)確定之后,將之前測得的200組數(shù)據(jù),隨機(jī)抽取其中160組和40組,其中160組的作為訓(xùn)練樣本,剩余40組的作為測試樣本,網(wǎng)絡(luò)對蓄電池剩余電量預(yù)測的訓(xùn)練過程圖如圖4所示,圖5為網(wǎng)絡(luò)預(yù)測結(jié)果,表2為部分實(shí)際數(shù)值與預(yù)測值的相對誤差表。

圖4 網(wǎng)絡(luò)訓(xùn)練過程

圖5 網(wǎng)絡(luò)預(yù)測結(jié)果

表2 部分實(shí)際數(shù)值與預(yù)測值相對誤差表
由圖4可知,均方差值隨著迭代次數(shù)的增加而不斷減小,在函數(shù)中已經(jīng)將均方差設(shè)為0.001,只有當(dāng)達(dá)到這個要求,網(wǎng)絡(luò)才停止訓(xùn)練,可知訓(xùn)練樣本總共經(jīng)過了84次的迭代運(yùn)算達(dá)到要求。圖5的預(yù)測結(jié)果顯示,網(wǎng)絡(luò)預(yù)測數(shù)值與測得的原始數(shù)據(jù)曲線擬合得較好,當(dāng)電壓較高時誤差較大,這是由于蓄電池在放電前期電壓變化較慢,造成SOC估算較為困難,當(dāng)電壓較低時,電壓變化較慢,估算值和測量值就很接近,該RBF神經(jīng)網(wǎng)絡(luò)預(yù)測模型精度高,其中確定系數(shù)R2為 0.9232,RMSE的值為0.000 001。由表2也可得到實(shí)際值與預(yù)測值之間的相對誤差在一個很小的區(qū)間內(nèi)。由這些實(shí)際值與預(yù)測值接近程度可知利用文中采用的RBF網(wǎng)絡(luò)預(yù)測法獲得了很好的泛化能力。
本文利用RBF神經(jīng)網(wǎng)絡(luò)對鉛酸蓄電池的剩余電量進(jìn)行估計,實(shí)現(xiàn)過程表明該模型具有良好的網(wǎng)絡(luò)訓(xùn)練能力,估計結(jié)果表明它的精度和泛化能力保持在一個比較合理及理想的水平,將此網(wǎng)絡(luò)模型應(yīng)用在太陽能路燈系統(tǒng)中,可以預(yù)見性的對蓄電池的充放電情況進(jìn)行合理安排,使路燈的照明情況實(shí)現(xiàn)更好智能控制,該預(yù)測模型對于在其他領(lǐng)域內(nèi)對蓄電池的應(yīng)用控制也有一定的實(shí)用價值。