劉 東, 李田澤, 劉開石, 張曉陽(yáng), 韓鴻雁
(山東理工大學(xué)電氣與電子工程學(xué)院,山東淄博255049)
光能作為一種可再生能源,具有取之不盡、用之不竭的優(yōu)點(diǎn),且對(duì)環(huán)境的污染幾乎為零,但是光伏發(fā)電系統(tǒng)一般建設(shè)在氣候、環(huán)境比較惡劣的地方,容易發(fā)生短路、開路、老化和熱斑效應(yīng)等故障。Jiang L. L.等指出,因光伏陣列產(chǎn)生的故障導(dǎo)致整個(gè)光伏發(fā)電系統(tǒng)的功率損耗高達(dá)18.9%[1]。因此,研究光伏陣列的故障檢測(cè)技術(shù)具有重要的意義。
光伏陣列的故障檢測(cè)技術(shù)目前主要有以下幾種:張曉娜等采用電路結(jié)構(gòu)法,通過(guò)改變電路的連接方式來(lái)減少傳感器的數(shù)量,但是采用這種方式需要復(fù)雜的電路結(jié)構(gòu),而且適用范圍較小,僅限于一些小型或特殊場(chǎng)合[2];毛峽等利用紅外設(shè)備來(lái)檢測(cè)光伏陣列的溫度變化,通過(guò)與正常的溫度對(duì)比來(lái)尋找故障發(fā)生位置,這種方法成本較高且受外界干擾嚴(yán)重[3];畢銳等采用隸屬度算法優(yōu)化模糊C 均值聚類的方法,計(jì)算所取樣本的隸屬度大小進(jìn)行故障診斷[4];陶彩霞等采集大量的光伏陣列故障樣本訓(xùn)練深度信念網(wǎng)絡(luò),進(jìn)行光伏陣列的故障檢測(cè)[5]。
BP 神經(jīng)網(wǎng)絡(luò)檢測(cè)方法作為智能檢測(cè)手段的一種,具有優(yōu)秀的學(xué)習(xí)能力和極好的數(shù)學(xué)特性,這一點(diǎn)恰恰與光伏輸出表現(xiàn)出的非線性相得益彰,非常適合用來(lái)檢測(cè)光伏陣列出現(xiàn)的故障[6]。但BP 神經(jīng)網(wǎng)絡(luò)容易陷入局部極值,訓(xùn)練時(shí)間收斂速度慢的缺點(diǎn),從而導(dǎo)致診斷性能變差[7]。本文通過(guò)研究傳統(tǒng)BP 神經(jīng)網(wǎng)絡(luò)的工作原理,提出了一種利用遺傳算法的全局搜索能力來(lái)尋找最優(yōu)的初始權(quán)值與閾值的方法,來(lái)解決傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)在光伏陣列故障檢測(cè)應(yīng)用方面易陷入局部最優(yōu)和收斂速度慢的缺點(diǎn),通過(guò)仿真驗(yàn)證,該方法可以更高效、更準(zhǔn)確地完成光伏陣列的故障診斷。
GA-BP 神經(jīng)網(wǎng)絡(luò)輸入變量的選擇不僅決定了GA-BP 神經(jīng)網(wǎng)絡(luò)模型的結(jié)構(gòu),而且對(duì)整個(gè)模型能否快速、準(zhǔn)確地完成故障檢測(cè)有著重要的影響。因此,輸入變量必須涵蓋光伏陣列的所有故障信息,鑒于目前大多數(shù)光伏電站采用串并聯(lián)結(jié)構(gòu),所以本文使用Simulink 仿真軟件搭建了6 行3 列的串并聯(lián)結(jié)構(gòu)的光伏陣列,即包含3 列并聯(lián)的光伏組件串,每列含有6塊串聯(lián)的光伏電池,選用的每塊光伏電池型號(hào)為1STH-215-P,其開路電壓Uoc為36.3 V,短路電流Isc為7.84 A,最大功率點(diǎn)處的電壓Um為29 V,最大功率點(diǎn)處的電流Im為7.35 A。
在光伏陣列搭建完成之后,通過(guò)提高單塊電池的串聯(lián)電阻老化故障來(lái)模擬;遮陰故障通過(guò)減小光照強(qiáng)度來(lái)模擬;將光伏電池的正負(fù)極進(jìn)行短接來(lái)模擬短路故障;開路故障通過(guò)切斷故障電池與相鄰光伏電池的連接導(dǎo)線來(lái)模擬[8]。運(yùn)行仿真軟件,得到不同運(yùn)行狀態(tài)下的I-U 曲線,如圖1 所示,需要注意的是,本文搭建的光伏陣列,為了保護(hù)電路,給每一個(gè)光伏電池單體都并聯(lián)了一支二極管,因此除開路故障之外,短路電流Isc保持在一個(gè)穩(wěn)定數(shù)值。
圖1 正常狀態(tài)與故障狀態(tài)下的I-U 曲線
從I-U 曲線可以直觀地看出:當(dāng)發(fā)生開路故障時(shí),PV 陣列的短路電流Isc減小,最大功率點(diǎn)處的電流Im顯著減小;當(dāng)出現(xiàn)短路故障時(shí),光伏陣列的開路電壓Uoc與最大功率點(diǎn)處的電壓Um下降明顯;當(dāng)光伏陣列出現(xiàn)部分遮擋的情況時(shí),光伏陣列最大功率點(diǎn)處的電壓Um明顯下降,開路電壓Uoc略微下降;當(dāng)出現(xiàn)老化故障時(shí),與光伏陣列的正常狀態(tài)相比,光伏陣列最大功率點(diǎn)處的電壓Um降低明顯。
根據(jù)以上分析,每種故障都會(huì)引起Isc、Uoc、Im、Um其中一個(gè)或者兩個(gè)參數(shù)的變化,因此選擇這四個(gè)參數(shù)作為BP 神經(jīng)網(wǎng)絡(luò)的輸入變量。
BP 神經(jīng)網(wǎng)絡(luò)工作過(guò)程可分為正向傳播過(guò)程與反向傳播過(guò)程,各過(guò)程工作原理如下。
正向傳播過(guò)程:輸入信號(hào)Xi在正向傳播過(guò)程中,網(wǎng)絡(luò)的權(quán)值保持不變,其中,輸入層第i 個(gè)節(jié)點(diǎn)與隱含層第j 個(gè)節(jié)點(diǎn)的連接權(quán)值為wij,隱含層第j 個(gè)節(jié)點(diǎn)與輸出層第k 個(gè)節(jié)點(diǎn)的連接權(quán)值為wjk,在輸出層得到實(shí)際輸出Y,并將Y 與期望輸出Y~做差,若誤差過(guò)大則轉(zhuǎn)入反向轉(zhuǎn)播過(guò)程。具體計(jì)算過(guò)程如下:
式中:F(x)為隱含層激勵(lì)函數(shù);Hj為隱含層第j 個(gè)節(jié)點(diǎn)的輸出值;m 為輸出層節(jié)點(diǎn)數(shù);γj為隱含層第j 個(gè)節(jié)點(diǎn)的閾值。
式中:Yk為輸出層第k 個(gè)節(jié)點(diǎn)的輸出;n 為輸出層節(jié)點(diǎn)數(shù);θk為輸出層第k 個(gè)節(jié)點(diǎn)的閾值;ek為實(shí)際輸出與預(yù)測(cè)輸出之間的誤差。
反向傳播過(guò)程:誤差信號(hào)以某種方式從輸出層開始向前傳播,網(wǎng)絡(luò)的權(quán)值會(huì)隨著誤差信號(hào)的反饋不斷進(jìn)行調(diào)整,通過(guò)不斷的修正網(wǎng)絡(luò)的權(quán)值和閾值,使實(shí)際輸出與期望輸出保持在可接受的誤差范圍內(nèi)。
權(quán)值的調(diào)整由以下公式來(lái)計(jì)算:
式中:η 為神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)率;q 為隱含層節(jié)點(diǎn)數(shù)。
閾值的調(diào)整計(jì)算如下:
標(biāo)準(zhǔn)BP 神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)包括輸入層、隱含層、輸出層三個(gè)層次。定義輸入層節(jié)點(diǎn)數(shù)為m,隱含層節(jié)點(diǎn)數(shù)為q,輸出層節(jié)點(diǎn)數(shù)為n,每一層的節(jié)點(diǎn)互不連接,與下一層的節(jié)點(diǎn)進(jìn)行全連接[9]。本文選擇的輸入變量為Isc、Uoc、Im、Um四個(gè)變量,即n=4,輸出狀態(tài)為老化、遮陰、短路、開路、正常五種,即m=5,隱含層節(jié)點(diǎn)數(shù)q 用公式(9)來(lái)確定,通過(guò)計(jì)算得到隱含層個(gè)數(shù)為9最適合,故采用如圖2 所示的4-9-5 結(jié)構(gòu)。圖中:X1、X2、X3、X4為輸入變量,Y1、Y2、Y3、Y4、Y5為輸出變量。
式中:a 為[0,10]之間的常數(shù)。
圖2 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
遺傳算法在處理優(yōu)化問(wèn)題的方式上選擇漸進(jìn)式優(yōu)化:從最開始的初始解不斷逼近最優(yōu)解,利用復(fù)制、交叉、變異,使下一代不斷地優(yōu)于上一代[10]。遺傳算法優(yōu)化BP 神經(jīng)網(wǎng)絡(luò)的具體步驟如下。
(1)種群初始化:每個(gè)個(gè)體由BP 神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值按照順序排列組成,即輸入層與隱含層權(quán)值、隱含層與輸出層權(quán)值、輸入層與隱含層閾值、隱含層與輸出層閾值組成一個(gè)個(gè)體。個(gè)體采用實(shí)數(shù)編碼。
(2)設(shè)定適應(yīng)度函數(shù):本文采用的適應(yīng)度函數(shù)為均方誤差函數(shù),其數(shù)學(xué)表達(dá)式由公式(10)給出,通過(guò)計(jì)算每個(gè)個(gè)體的適應(yīng)度,來(lái)判斷是否符合優(yōu)化的標(biāo)準(zhǔn),若符合則執(zhí)行步驟(5)完成解碼。
(3)復(fù)制:按照適應(yīng)度的高低進(jìn)行順序排列,淘汰適應(yīng)度低的個(gè)體,復(fù)制適應(yīng)度高的個(gè)體,本文中該步驟采用最佳個(gè)體保存的方法,即最高適應(yīng)度個(gè)體不參加步驟(4)的交叉與變異。
(4)交叉與變異:選擇保留下的個(gè)體中的一小部分進(jìn)行交叉與變異,這一步驟可以有效地保障種群的多樣性。
(5)解碼:將最后保留的個(gè)體按順序排列并拆分解碼。
(6)轉(zhuǎn)向個(gè)體評(píng)價(jià):評(píng)價(jià)所得個(gè)體是否滿足適應(yīng)度要求,若不滿足則轉(zhuǎn)向第二次循環(huán)。
(7)賦值:賦予BP 神經(jīng)網(wǎng)絡(luò)已滿足適應(yīng)度要求的權(quán)值閥值作為初始權(quán)值閥值進(jìn)行訓(xùn)練過(guò)程。
經(jīng)過(guò)上述步驟,遺傳算法賦予BP 神經(jīng)網(wǎng)絡(luò)最優(yōu)的初始權(quán)值與閾值,GA-BP 神經(jīng)網(wǎng)絡(luò)模型搭建完成。
GA-BP 神經(jīng)網(wǎng)絡(luò)模型進(jìn)行故障檢測(cè)的流程如圖3 所示。
圖3 GA-BP檢測(cè)流程
由于本文所選用的輸入變量為電流電壓,它們單位不同,數(shù)量級(jí)相差較大,若不進(jìn)行歸一化處理而直接輸入網(wǎng)絡(luò),會(huì)導(dǎo)致BP 神經(jīng)網(wǎng)絡(luò)的訓(xùn)練時(shí)間變長(zhǎng)、處理效率變低,所以必須進(jìn)行輸入數(shù)據(jù)的歸一化處理。本文所采用的歸一化公式如下:
式中:Xmax為樣本數(shù)據(jù)中的最大值;Xmin為樣本數(shù)據(jù)中的最小值。
通過(guò)自行搭建的光伏陣列仿真模型,共測(cè)得訓(xùn)練樣本200 組,測(cè)試樣本50 組。首先要對(duì)GA-BP 神經(jīng)網(wǎng)絡(luò)模型相關(guān)的參數(shù)進(jìn)行設(shè)定。本文設(shè)置種群數(shù)量為40 個(gè),進(jìn)化代數(shù)為60代,訓(xùn)練次數(shù)為1 000 次,交叉與變異的概率分別為0.7 和0.01。BP 神經(jīng)網(wǎng)絡(luò)模型的學(xué)習(xí)速率設(shè)置為0.1,訓(xùn)練目標(biāo)最小誤差為0.000 01,最小性能梯度為10-6,最高失敗次數(shù)為11次,訓(xùn)練函數(shù)采用train 函數(shù)。
經(jīng)過(guò)仿真程序的運(yùn)行,得到了BP 神經(jīng)網(wǎng)絡(luò)與GA-BP 神經(jīng)網(wǎng)絡(luò)均方誤差與訓(xùn)練迭代次數(shù)之間的曲線,如圖4 和圖5所示,從圖中可以清晰地看出BP 神經(jīng)網(wǎng)絡(luò)在第87 次迭代均方誤差的精度才達(dá)到0.000 833 9,而GA-BP 神經(jīng)網(wǎng)絡(luò)僅僅經(jīng)過(guò)24 次迭代均方誤差的精度就已經(jīng)達(dá)到了0.000 732 15,通過(guò)兩者對(duì)比,GA-BP 神經(jīng)網(wǎng)絡(luò)在訓(xùn)練速度與均方誤差精確度兩個(gè)方面明顯優(yōu)于普通的BP 神經(jīng)網(wǎng)絡(luò),說(shuō)明GA-BP 神經(jīng)網(wǎng)絡(luò)具有更快的收斂速度。
圖4 BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練效果
圖5 GA-BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練效果
為驗(yàn)證GA-BP 神經(jīng)網(wǎng)絡(luò)與BP 神經(jīng)網(wǎng)絡(luò)的故障診斷性能差異,將GA-BP 神經(jīng)網(wǎng)絡(luò)和BP 神經(jīng)網(wǎng)絡(luò)進(jìn)行1 000 次訓(xùn)練之后,開始對(duì)50 組測(cè)試樣本進(jìn)行故障診斷,診斷結(jié)果如圖6 所示,BP 神經(jīng)網(wǎng)絡(luò)與GA-BP 神經(jīng)網(wǎng)絡(luò)輸出端輸出為1、2、3、4、5,分別對(duì)應(yīng)的故障類別為老化、遮陰、短路、開路故障以及正常狀態(tài)。分析50 組測(cè)試數(shù)據(jù)的故障診斷結(jié)果,BP 神經(jīng)網(wǎng)絡(luò)有3 組數(shù)據(jù)診斷失敗,均為網(wǎng)絡(luò)輸出2 對(duì)應(yīng)的遮陰故障并將其誤診斷為老化故障,對(duì)測(cè)試樣本的診斷準(zhǔn)確度是94%;GABP 神經(jīng)網(wǎng)絡(luò)的只有一組數(shù)據(jù)診斷失敗,為網(wǎng)絡(luò)輸出2 對(duì)應(yīng)的遮陰故障,也將其誤診斷為老化故障,對(duì)剩下的49 組測(cè)試數(shù)據(jù)均診斷正確,診斷準(zhǔn)確度為98%。根據(jù)診斷結(jié)果得出,GABP 神經(jīng)網(wǎng)絡(luò)比經(jīng)典BP 神經(jīng)網(wǎng)絡(luò)的準(zhǔn)確度提高了4%,可以更準(zhǔn)確地診斷故障類別。
通過(guò)圖6 可以看出,GA-BP 神經(jīng)網(wǎng)絡(luò)對(duì)第16 組數(shù)據(jù)診斷失敗,分析第16 組測(cè)試數(shù)據(jù),發(fā)現(xiàn)其開路電壓與其他遮陰故障數(shù)據(jù)相比要大,與老化類別數(shù)據(jù)相比要小,因此可以分析出GA-BP 神經(jīng)網(wǎng)絡(luò)診斷失敗的主要原因是所采集的訓(xùn)練數(shù)據(jù)與訓(xùn)練次數(shù)較少。BP 神經(jīng)網(wǎng)絡(luò)對(duì)13、16、19 組數(shù)據(jù)診斷失敗,分析這13、19 兩組數(shù)據(jù),發(fā)現(xiàn)與其他數(shù)據(jù)并無(wú)差異,因此BP 神經(jīng)網(wǎng)絡(luò)診斷失敗的主要原因是網(wǎng)絡(luò)本身存在的硬性缺點(diǎn)。
圖6 BP與GA-BP神經(jīng)網(wǎng)絡(luò)診斷結(jié)果對(duì)比
本文利用遺傳算法的全局搜索能力對(duì)BP 神經(jīng)網(wǎng)絡(luò)的初始權(quán)值閾值進(jìn)行最優(yōu)化,建立了GA-BP 神經(jīng)網(wǎng)絡(luò)檢測(cè)模型,解決了BP 神經(jīng)網(wǎng)絡(luò)在進(jìn)行光伏陣列故障診斷時(shí)容易陷入局部極值導(dǎo)致檢測(cè)結(jié)果不夠精準(zhǔn)的問(wèn)題,同時(shí)還提高了BP 神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí)的收斂速度,因此,GA-BP 神經(jīng)網(wǎng)絡(luò)模型對(duì)光伏陣列故障檢測(cè)技術(shù)的提高有一定的研究?jī)r(jià)值。