本發(fā)明涉及故障診斷技術(shù)領(lǐng)域,尤其涉及一種光伏逆變器故障診斷方法,具體來說是一種基于改進型bp神經(jīng)網(wǎng)絡的光伏逆變器故障診斷方法。
背景技術(shù):
故障診斷,顧名思義,就是針對系統(tǒng)發(fā)生了什么故障、引起故障的原因是什么、故障有多嚴重、故障的解決方案等問題進行分析、評估并得出結(jié)論,在這個過程中,要基于計算機的理論與技術(shù),利用系統(tǒng)解析冗余,完成診斷分析。顯然,從故障診斷技術(shù)的定義可以得出,故障診斷的任務主要有四個方面,即故障檢測、故障分離、故障評價和故障決策。故障檢測是指當系統(tǒng)異常運行時,故障診斷系統(tǒng)可以根據(jù)系統(tǒng)的各項數(shù)據(jù)參數(shù)來判斷出系統(tǒng)發(fā)生了故障;故障分離是指根據(jù)檢測到的故障信息,尋找故障源,確定故障類型;故障評價是根據(jù)故障類型分析出故障的可能原因;故障決策則是根據(jù)故障類型及原因來給出可能的解決方案。
到目前為止,國內(nèi)外的研究者已經(jīng)對故障診斷方法的研究做了大量的工作,并取得了許多的成果,故障診斷方法的理論體系也逐漸成熟,分類標準也趨于完善與統(tǒng)一,故障診斷方法可以劃分基于解析模型的方法、基于知識的方法以及基于信號處理的方法這三類。然而,以上這些方法在光伏逆變器的故障診斷中應用較少,并且這些方法自身也存在著各自的優(yōu)勢與不足,會影響故障診斷的效果。
神經(jīng)網(wǎng)絡是一種模仿動物神經(jīng)網(wǎng)絡行為特征,進行分布式并行信息處理的算法數(shù)學模型。這種網(wǎng)絡依靠系統(tǒng)的復雜程度,通過調(diào)整內(nèi)部大量節(jié)點之間相互連接的關(guān)系,從而達到處理信息的目的。在眾多的神經(jīng)網(wǎng)絡模型中,bp神經(jīng)網(wǎng)絡應用最為廣泛。bp神經(jīng)網(wǎng)絡理論,又被稱為誤差反向傳播算法,是由rvomelhart和mcclelland在1986年提出的,該算法具有結(jié)構(gòu)簡單、魯棒性較強等優(yōu)點,可以不考慮過程中復雜的非線性運算關(guān)系,直接由輸入映射到輸出,體現(xiàn)出其良好的泛化能力。
技術(shù)實現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是針對背景技術(shù)中所涉及到的缺陷,提供一種光伏逆變器故障診斷方法,利用l-m算法改進傳統(tǒng)bp神經(jīng)網(wǎng)絡,利用光伏逆變器故障數(shù)據(jù)對網(wǎng)絡進行訓練,建立光伏逆變器故障診斷模型,提高診斷效果。
本發(fā)明為解決上述技術(shù)問題采用以下技術(shù)方案:
一種光伏逆變器故障診斷方法,包含以下步驟:
步驟1),采用l-m算法改進傳統(tǒng)bp神經(jīng)網(wǎng)絡,所述l-m算法的迭代過程如下:
步驟1.1),首先給出訓練誤差允許值ε、比例系數(shù)β、初始化權(quán)值μ0、以及初始閾值向量x(0),令k=0,μ=μ0;
步驟1.2),根據(jù)以下公式依次計算e(x)、j(x)和δx的值:
δx=-[jt(x)j(x)+μi]-1j(x)e(x)
式中,ei(x)表示第i次的誤差,j(x)為雅可比矩陣,e(x)表示誤差均值,i表示單位陣,μ表示權(quán)值;
步驟1.3),令k=k+1、μ=μ/β;
步驟1.4),重復執(zhí)行步驟1.1)至步驟1.3),直至e(x)<ε;
步驟2),對光伏逆變器故障類型進行編碼;
步驟3),將光伏逆變器故障數(shù)據(jù)作為訓練樣本進行網(wǎng)絡學習,建立光伏逆變器故障診斷網(wǎng)絡模型;
步驟4),將需要進行診斷的光伏逆變器的數(shù)據(jù)輸入值光伏逆變器故障診斷網(wǎng)絡模型,得出故障診斷結(jié)果。
作為本發(fā)明一種光伏逆變器故障診斷方法進一步的優(yōu)化方案,對光伏逆變器故障類型編碼時只考慮單個功率開關(guān)管短路或者開路的情況。
作為本發(fā)明一種光伏逆變器故障診斷方法進一步的優(yōu)化方案,在對網(wǎng)絡進行訓練學習的時候,首先采用歸一化的方式對訓練數(shù)據(jù)進行預處理,再利用matlab中函數(shù)newff創(chuàng)建故障診斷網(wǎng)絡模型。
本發(fā)明采用以上技術(shù)方案與現(xiàn)有技術(shù)相比,具有以下技術(shù)效果:
本發(fā)明針對智能化故障診斷方法在光伏電站設備故障診斷領(lǐng)域應用研究較少這一客觀事實,并且傳統(tǒng)的bp神經(jīng)網(wǎng)絡具有收斂速度慢、網(wǎng)絡不收斂、易陷入局部極小值等缺陷,提出一種基于改進型bp神經(jīng)網(wǎng)絡的光伏逆變器故障診斷方法,首先利用l-m算法改進傳統(tǒng)的bp神經(jīng)網(wǎng)絡,提高了網(wǎng)絡的性能;再利用光伏逆變器故障數(shù)據(jù)(即訓練樣本)進行網(wǎng)絡學習,建立光伏逆變器故障診斷模型,最后通過測試數(shù)據(jù)驗證該診斷模型的效果,可以實現(xiàn)光伏逆變器故障診斷的智能化,降低成本,提高診斷的效果。
附圖說明
圖1是本發(fā)明的實現(xiàn)流程圖;
圖2是光伏逆變器基本結(jié)構(gòu)圖;
圖3是光伏逆變器網(wǎng)絡模型仿真程序流程圖;
圖4是光伏逆變器故障診斷網(wǎng)絡的誤差訓練曲線圖。
具體實施方式
下面結(jié)合附圖對本發(fā)明的技術(shù)方案做進一步的詳細說明:
本發(fā)明的思路是針對智能化故障診斷方法在光伏電站設備故障診斷領(lǐng)域應用研究較少這一客觀事實,并且傳統(tǒng)的bp神經(jīng)網(wǎng)絡具有收斂速度慢、網(wǎng)絡不收斂、易陷入局部極小值等缺陷,提出一種基于改進型bp神經(jīng)網(wǎng)絡的光伏逆變器故障診斷方法,首先利用l-m算法改進傳統(tǒng)的bp神經(jīng)網(wǎng)絡,再利用光伏逆變器故障數(shù)據(jù)(即訓練樣本)進行網(wǎng)絡學習,建立光伏逆變器故障診斷模型,最后通過測試數(shù)據(jù)驗證該診斷模型的效果,實現(xiàn)光伏逆變器故障診斷的智能化,提高診斷的效果。
在說明本發(fā)明的具體步驟之前,這里先介紹下l-m算法。
l-m算法就是將梯度下降法和牛頓法結(jié)合起來取長補短,梯度下降法的優(yōu)點是當接近最優(yōu)值時,目標函數(shù)的梯度趨于零因而下降十分趨緩;而牛頓法的優(yōu)點是在最優(yōu)值附近產(chǎn)生一個理想的搜索方向。
l-m法的搜索方向定義為:
s(x(k))=-(h(k)+λ(k)i)-1▽f(x(k))
式中,s(x(k))表示在x向量序列上的搜索方向,λ表示阻尼因子,i表示單位陣,▽f(x(k))表示函數(shù)f在x向量序列上的梯度。
令η(k)=1,則
x(k+1)=x(k)+s(x(k))
式中,x(k)表示向量序列。
起始時,λ取一個很大的數(shù)(如104),此時相當于步長很小的梯度下降法;隨著最優(yōu)點的接近,λ減小到零,則s(x(k))從負梯度方向轉(zhuǎn)向牛頓法的方向。通常,當f(x(k+1))<f(x(k))時,減小λ(如λ(k+1)=0.5λ(k));否則增大λ(如λ(k+1)=2λ(k))。
l-m算法的具體迭代過程如下式所示:
x(i+1)=x(i)+δx
式中,x(i)表示第i次迭代的權(quán)值和閾值所組成的向量,x(i+1)是新的權(quán)值和閾值所組成的向量,δx表示迭代誤差。
對于牛頓法,迭代誤差δx的表達式為
δx=-[▽2e(x)]-1·▽e(x)
其中,▽e(x)為梯度。設誤差評價函數(shù)e(x)為
式中,ei(x)為第i次的誤差,(i=1,2,...,n)。
▽e(x)=jt(x)e(x)
▽2e(x)=jt(x)e(x)+s(x)
式中,jt(x)表示雅可比矩陣,e(x)表示誤差均值,▽e(x)為梯度,s(x)表示搜索方向,ei(x)表示第i次的誤差。對于高斯-牛頓法則有
δx=-[jt(x)j(x)]-1j(x)e(x)
式中,jt(x)表示雅可比矩陣的轉(zhuǎn)置,e(x)表示誤差均值。
l-m算法是上式的一種改進,其表達式如下:
δx=-[jt(x)j(x)+μi]-1j(x)e(x)
式中,j(x)為雅可比矩陣,權(quán)值μ>0為常數(shù),i為單位陣,e(x)為誤差均值。
可以看出,當權(quán)值μ=0時,l-m算法就是高斯-牛頓法;當μ取值接近于1時,l-m算法則為梯度下降法。在迭代過程中,μ值會隨著迭代成功次數(shù)的增加而逐漸減小,當接近誤差最小時,l-m算法就會慢慢轉(zhuǎn)變?yōu)楦咚?牛頓法。最終通過多次實驗表明,采用l-m算法的運算速度會比原來的梯度下降法提高幾十甚至上百倍。
本發(fā)明的步驟如圖1所示,具體按照以下步驟:
步驟1、改進傳統(tǒng)bp神經(jīng)網(wǎng)絡
利用l-m算法對bp神經(jīng)網(wǎng)絡進行改進。l-m迭代過程是,首先給出訓練誤差允許值ε、β、μ0,以及初始化權(quán)值和閾值向量x(0),令k=0,μ=μ0。然后依次計算式e(x)、j(x)、和δx的值。最后再計算式e(x)的值,如果e(x)<ε則停止計算,否則,則k=k+1、μ=μ/β,重新開始迭代,直到e(x)<ε為止。
δx=-[jt(x)j(x)+μi]-1j(x)e(x)
步驟2、對光伏逆變器故障類型編碼
光伏并網(wǎng)逆變器的基本結(jié)構(gòu)如圖2所示。本發(fā)明只針對光伏逆變器單個功率開關(guān)管發(fā)生開路或短路故障的情況進行研究,因此根據(jù)圖2可以確定,本文只針對t1、t2、t3、t4、t5、t6這6個功率開關(guān)管進行故障診斷。因此,本文所研究的逆變器故障類型可以分為3類,一共13種形式,即:
第一類:功率開關(guān)管正常工作;
第二類:單只功率開關(guān)管開路故障,即t1開路故障、t2開路故障、t3開路故障、t4開路故障、t5開路故障、t6開路故障;
第三類:單只功率開關(guān)管短路故障,即t1短路故障、t2短路故障、t3短路故障、t4短路故障、t5短路故障、t6短路故障。
在利用神經(jīng)網(wǎng)絡進行故障診斷之前,首先需要對故障類型進行編碼??紤]到故障類型有三大類,則最高兩位表示故障類型,即00表示無故障,01表示開路故障,10表示短路故障。每個故障類型中最多有六種故障形式,再用后三位表示故障形式。具體編碼結(jié)果如表1所示。
表1逆變器故障模式編碼表
步驟3、網(wǎng)絡的建立與學習
利用matlab軟件可以實現(xiàn)bp神經(jīng)網(wǎng)絡的建立與學習,用函數(shù)newff創(chuàng)建神經(jīng)網(wǎng)絡,其基本格式如下:
net=newff(a,b,{c},‘trainfun')
其中相關(guān)參數(shù)表示:
a:一個n×2的矩陣,第i行元素為輸入信號xi的最小值和最大值;
b:一個k維行向量,其元素為網(wǎng)絡中各層節(jié)點數(shù);
c:一個k維字符串行向量,每一分量為對應層神經(jīng)元的激活函數(shù);
trainfun:為學習規(guī)則采用的訓練算法。
在本文中,隱含層和輸出層的激活函數(shù)分別采用對數(shù)s形轉(zhuǎn)移函數(shù)’logsig’和線性函數(shù)’purelin’,訓練算法是l-m算法,即參數(shù)trainfun設置為’trainlm’。
本發(fā)明總共使用了860組故障數(shù)據(jù),將其中的800組數(shù)據(jù)作為訓練樣本用于神經(jīng)網(wǎng)絡的學習訓練,另外60組數(shù)據(jù)作為測試樣本進行網(wǎng)絡試驗,典型故障數(shù)據(jù)如表2所示。在對樣本數(shù)據(jù)進行操作之前,首先都要對數(shù)據(jù)進行預處理,可以采用歸一化的方式實現(xiàn),數(shù)據(jù)的歸一化就是將數(shù)據(jù)映射到[0,1]或[-1,1]區(qū)間或更小的區(qū)間上,可以采用如下公式處理:
其中,x原始表示輸入的故障數(shù)據(jù),xmax和xmin分別表示原始輸入數(shù)據(jù)中的最大值和最小值。這里需要注意的是,在訓練樣本學習和測試樣本試驗時應該使用相同的最大值和最小值對其進行歸一化處理。
表2逆變器典型故障數(shù)據(jù)
步驟4、網(wǎng)絡測試
上文中,利用基于l-m算法的bp神經(jīng)網(wǎng)絡進行逆變器的故障診斷,并在matlab軟件中編程實現(xiàn),該仿真程序的流程圖如圖3所示。
在該仿真模型中,我們把最小誤差設定為0.01,最大訓練次數(shù)為1000次,學習率為0.01,經(jīng)過多次訓練后,得到該網(wǎng)絡的訓練誤差曲線如圖4所示,從圖中可以看到,網(wǎng)絡訓練達到150次左右時開始收斂,并且由該程序得到的網(wǎng)絡識別率為95.556%。
選取13組逆變器的典型故障數(shù)據(jù)進行診斷分析,相應的數(shù)據(jù)如表3所示,其中,u表示逆變器直流電壓(v),i表示逆變器直流電流(a),表示
表3故障診斷模型實際輸出
本技術(shù)領(lǐng)域技術(shù)人員可以理解的是,除非另外定義,這里使用的所有術(shù)語(包括技術(shù)術(shù)語和科學術(shù)語)具有與本發(fā)明所屬領(lǐng)域中的普通技術(shù)人員的一般理解相同的意義。還應該理解的是,諸如通用字典中定義的那些術(shù)語應該被理解為具有與現(xiàn)有技術(shù)的上下文中的意義一致的意義,并且除非像這里一樣定義,不會用理想化或過于正式的含義來解釋。
以上所述的具體實施方式,對本發(fā)明的目的、技術(shù)方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發(fā)明的具體實施方式而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。