湯恒先, 林 蓉 ,龐驥庭,周軍濤
(1.西北工業(yè)大學(xué) 第365研究所,陜西 西安 710065;2.空軍工程大學(xué) 陜西 西安 710051)
目前SSPC控制組件開始廣泛地應(yīng)用于飛機(jī),艦船,車輛的配電系統(tǒng),正逐步取代了機(jī)電式斷路器。SSPC控制組件是負(fù)載監(jiān)控中心的核心組成,為負(fù)載提供控制和故障保護(hù)功能,通過實時監(jiān)控通過負(fù)載的電流大小,判斷負(fù)載工作是否正常,并具有熱記憶功能,保證了負(fù)載供電和電源系統(tǒng)的可靠性[1]。飛機(jī)供電系統(tǒng)的安全性直接影響到飛行任務(wù)的安全。對于其重要組成部分——SSPC的故障診斷十分重要。然而SSPC尚未建立完整的數(shù)學(xué)模型,因此采用無數(shù)學(xué)模型的故障診斷方法。
近年來,人工神經(jīng)網(wǎng)絡(luò)在故障診斷系統(tǒng)中廣泛應(yīng)用,特別在較為復(fù)雜的基于知識和規(guī)則的故障診斷系統(tǒng)中,已有不少成功的例子。傳統(tǒng)的故障診斷一般只能處理事先預(yù)設(shè)置好的故障現(xiàn)象及其對應(yīng)的診斷策略,自主學(xué)習(xí)功能,一旦碰到新問題、新故障時就會無從下手[2]。而人工神經(jīng)網(wǎng)絡(luò)具有自學(xué)習(xí)和自適應(yīng)能力,可以通過權(quán)值和結(jié)構(gòu)的不斷修正來適應(yīng)系統(tǒng)故障的新問題。它的并行處理能力能使故障診斷的速度加快,提高了診斷系統(tǒng)實時性。因此本文采用人工神經(jīng)網(wǎng)絡(luò)方法進(jìn)行SSPC的故障診斷研究。
MATLAB神經(jīng)網(wǎng)絡(luò)工具箱提供了很多封裝好可直接調(diào)用的工具箱函數(shù),為神經(jīng)網(wǎng)絡(luò)系統(tǒng)的分析與設(shè)計提供了很大方便,是進(jìn)行神經(jīng)網(wǎng)絡(luò)故障診斷系統(tǒng)分析和設(shè)計的很好工具[3]。本系統(tǒng)采用神經(jīng)網(wǎng)絡(luò)工具箱編制SSPC故障診斷軟件。
SSPC的結(jié)構(gòu)如圖1所示,它由MCU主控電路、電流采集單元、隔離電路,快速保護(hù)電路,驅(qū)動電路及功率MOS管件組成。
圖1 固態(tài)功率控制器的結(jié)構(gòu)圖Fig.1 Structure diagram of the solid state power controller
電流采集單元,在SSPC接負(fù)載的電路中串聯(lián)一個小阻值的采樣電阻,將R上將負(fù)載回路中的電流信號以電壓形式采集出來。采集出來的信號經(jīng)過放大器和跟隨器等隔離處理后送給MCU主控電路。MCU主控電路接收信號控制單元發(fā)送的關(guān)斷/導(dǎo)通信號控制電子開關(guān)元件的關(guān)斷與導(dǎo)通。當(dāng)負(fù)載電流出現(xiàn)短路,過載異常時,斷開電路,保護(hù)負(fù)載及供電系統(tǒng)安全。系統(tǒng)實驗時可接入一個滑線變阻器來模擬SSPC所帶的真實負(fù)載。
數(shù)據(jù)采集分別采集負(fù)載正常、負(fù)載故障這兩種情況下的電流數(shù)據(jù)。當(dāng)電壓值在0~0.45 V之間時為斷路故障,在0.45~0.65 V之間時為正常,大于0.65 V為過載異常。
系統(tǒng)采用BP網(wǎng)絡(luò)對正常和異常電流進(jìn)行識別,當(dāng)網(wǎng)絡(luò)輸入為正常數(shù)據(jù)時輸出值置0,輸入為異常數(shù)據(jù)時,輸出值置1。BP網(wǎng)絡(luò)具有網(wǎng)絡(luò)結(jié)構(gòu)簡單,魯棒性強(qiáng)等優(yōu)點,不要求訓(xùn)練樣本完全與標(biāo)準(zhǔn)模式完全一致,只要需要訓(xùn)練樣本有一定的正常或異常的特征即可[4]。網(wǎng)絡(luò)訓(xùn)練后,其在線識別能力準(zhǔn)確又快速。為提高運算速度,各神經(jīng)元采用Sigmoid函數(shù)訓(xùn)練,即f(x)=,且采用前向三層神經(jīng)網(wǎng)絡(luò)對電流進(jìn)行識別,即輸入層、輸出層和隱含層。
當(dāng)學(xué)習(xí)樣本確定后,神經(jīng)網(wǎng)絡(luò)輸入層、輸出層的神經(jīng)元個數(shù)也就確定了,而如何選取合適的隱含層神經(jīng)元的個數(shù)沒有固定的理論可循,需要通過一系列的仿真實驗來調(diào)整。若隱含神經(jīng)元數(shù)目太少,則網(wǎng)絡(luò)可能根本無法訓(xùn)練;若隱含神經(jīng)元數(shù)目剛剛夠,則網(wǎng)絡(luò)可以訓(xùn)練,但魯棒性較差,抗噪音能力較弱,甚至網(wǎng)絡(luò)學(xué)習(xí)根本就不能收斂;如果隱含神經(jīng)元節(jié)點數(shù)太多,會出現(xiàn)訓(xùn)練時間過長,網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜、龐大,占用過多內(nèi)存,可能還會出現(xiàn)過渡訓(xùn)練的問題。軟件按下式給出的公式確定隱含層神經(jīng)元數(shù)目[5]。
式中:nH為隱含層神經(jīng)元的個數(shù);nI為輸入層神經(jīng)元的個數(shù);nO為輸出層神經(jīng)元個數(shù);l為1~10之間的整數(shù)。
BP神經(jīng)網(wǎng)絡(luò)在學(xué)習(xí)過程中不斷調(diào)整調(diào)整權(quán)系數(shù),文中權(quán)值和閾值的調(diào)節(jié)方法使用的是誤差反向傳播算法 (BP算法)[6]。標(biāo)準(zhǔn)的BP學(xué)習(xí)算法較為容易陷入局部極小點,收斂速度較慢等缺點。所以本系統(tǒng)采用BP網(wǎng)絡(luò)的改進(jìn)算法。BP網(wǎng)絡(luò)分別采用trainlm,trainbfg和trainscg函數(shù)訓(xùn)練。這3種函數(shù)訓(xùn)練的結(jié)果同時列出,以用來分析、比較。
Trainlm函數(shù):利用Levenberg-Marquardt優(yōu)化方法訓(xùn)練網(wǎng)絡(luò)。trainlm函數(shù)收斂速度較快,收斂誤差小。它的效率優(yōu)于最速下降法,但內(nèi)存占用較大,性能隨訓(xùn)練網(wǎng)絡(luò)規(guī)模增大而變差。
Trainbfg函數(shù):利用quasi-Newton算法訓(xùn)練網(wǎng)絡(luò)。算法收斂較快,但占用的內(nèi)存比共軛梯度算法要大,適用于小規(guī)模網(wǎng)絡(luò)。計算量隨著網(wǎng)絡(luò)規(guī)模的增大會出現(xiàn)幾何增長。Trainscg函數(shù):利用共軛梯度學(xué)習(xí)算法訓(xùn)練網(wǎng)絡(luò)。trainscg函數(shù)算法采用了Levenberg-Marquardt算法中的模型置信區(qū)間方法和共軛梯度算法,減少了費時較大的線搜索,提高了網(wǎng)絡(luò)的訓(xùn)練速度。而且性能穩(wěn)定,占用內(nèi)存中等,適用于網(wǎng)絡(luò)規(guī)模較大的情況。
下面只列出使用trainlm函數(shù)進(jìn)行訓(xùn)練的程序流程,其他不同函數(shù)的訓(xùn)練流程與之相同。程序流程圖如圖2所示。
圖2 程序設(shè)計流程圖Fig.2 Flow chart of the software design
下面取一組測量值作為訓(xùn)練樣本,訓(xùn)練樣本及其仿真結(jié)果如表1所示。
表1 訓(xùn)練樣本及其仿真結(jié)果表Tab.1 Training simple and result of simulation
其中,F(xiàn)1是負(fù)載過載故障,F(xiàn)2是負(fù)載欠流故障。結(jié)果表明,3種訓(xùn)練方法均能對網(wǎng)絡(luò)進(jìn)行很好的訓(xùn)練,即實際上已建立了用以識別負(fù)載正常電流和負(fù)載故障電流的神經(jīng)網(wǎng)絡(luò)模型。
圖3為采用trainlm函數(shù)進(jìn)行網(wǎng)絡(luò)訓(xùn)練的方差變化曲線,其中隱含層神經(jīng)元數(shù)目取3;
圖3 trainlm函數(shù)方差變化曲線Fig.3 Variation curve of the trainlm function
圖4 中為采用trainbfg函數(shù)進(jìn)行網(wǎng)絡(luò)訓(xùn)練時的方差變化曲線,其中隱含層神經(jīng)元數(shù)目為4;
圖4 trainbfg函數(shù)方差變化曲線Fig.4 Variation curve of the trainbfg function
圖5 中為采用trainscg函數(shù)進(jìn)行網(wǎng)絡(luò)訓(xùn)練時的方差變化曲線,其中隱含層神經(jīng)元數(shù)目為3。
圖5 trainscg函數(shù)方差變化曲線Fig.5 Variation curve of the trainscg function
關(guān)于收斂速度,可用網(wǎng)絡(luò)為達(dá)到允許的誤差平方和所需的訓(xùn)練次數(shù)來表征。事實上,由圖3、圖4和圖5,就可以看到每個網(wǎng)絡(luò)的收斂速度。圖3所示訓(xùn)練次數(shù)小于40次,圖4所示訓(xùn)練次數(shù)為326次,圖5所示訓(xùn)練次數(shù)為970次。采用不同的訓(xùn)練方法,其收斂速度也不一樣。
利用訓(xùn)練得到的網(wǎng)絡(luò)模型,將采集得到的另外十組電流數(shù)據(jù)作為網(wǎng)絡(luò)的輸入,調(diào)用Sim函數(shù)進(jìn)行仿真,得到網(wǎng)絡(luò)的輸出向量。如表2所示。
從仿真結(jié)果看,網(wǎng)絡(luò)訓(xùn)練是成功的。在0~0.45 V間的數(shù)據(jù),可以診斷出是欠流故障,在0.45~0.65 V間的數(shù)據(jù)可以診斷出是正常,大于0.65 V的數(shù)據(jù)可以診斷出是過載故障。
本文提出了一種基于神經(jīng)網(wǎng)絡(luò)的固態(tài)功率控制器的故障診斷研究,利用模糊神經(jīng)網(wǎng)絡(luò)的泛化能力和學(xué)習(xí)能力,可以準(zhǔn)確地識別SSPC所控制負(fù)載的正常電流和故障電流,在SSPC的故障診斷中能較好地起到保護(hù)的作用,具有廣泛應(yīng)用前景。BP網(wǎng)絡(luò)的各種訓(xùn)練方法中,采用Levenberg-Marquardt規(guī)則的trainlm方法具有訓(xùn)練速度快的優(yōu)點,但需要配置CPU運算較快的機(jī)器。
表2 輸入數(shù)據(jù)及其仿真結(jié)果表Tab.2 Input data and result of simulation
[1]王大牛,雷金奎.基于DSP的無人機(jī)供電系統(tǒng)固態(tài)配電技術(shù)的研究[J].計算機(jī)測量與控制,2009,17(12):2076-2078.WANG Da-niu,LEI Jin-kui.Study of DSP-based solid state power distribution technology for unmanned aerial vehicle power supply system[J].Computer Measurement&Control《2009,17(12):2076-2078.
[2]侯媛彬,杜京義,汪梅.神經(jīng)網(wǎng)絡(luò)[M].西安:西安電子科技大學(xué)出版社,2007.
[3]周開利,康耀紅.神經(jīng)網(wǎng)絡(luò)模型及其MATLAB仿真程序設(shè)計[M].北京:清華大學(xué)出版社,2005.
[4]張建宏.基于混沌神經(jīng)網(wǎng)絡(luò)的分類算法[J].計算機(jī)科學(xué),2010,37(8):251-252.ZHANGJian-hong.Classification algorithm based on a chaotic neural network[J].Computer Science,2010,37(8):251-252.
[5]馬成才,顧小東.基于神經(jīng)網(wǎng)絡(luò)組成與故障分級的故障診斷[J].系統(tǒng)工程與電子技術(shù),2009,31(1):226-227.MA Cheng-cai,GU Xiao-dong.Fault diagnosis fault gradation using neural network gurop[J].System Engineering and Electronics,2009,31(1):226-227.
[6]王重云.基于神經(jīng)網(wǎng)絡(luò)的變壓器故障診斷技術(shù)研究[D].大慶:東北石油大學(xué),2013.