郭瑞東,陳 燕,崔 江
(南京航空航天大學 自動化學院,南京 211106)
三級式無刷同步發(fā)電機以結構簡單、可靠性高和維護方便等優(yōu)勢在航空電源和電網等領域都有較為廣泛的應用[1],其結構如圖1所示。
圖1 同步發(fā)電機結構圖
發(fā)電機在起動和運行過程中,主勵磁機通過整流器為主發(fā)電機供應勵磁電流,因此旋轉整流器在同步發(fā)電機的工作狀態(tài)下起著重要的作用??紤]旋轉整流器長期處于高轉速和高溫的工作環(huán)境,在離心力和熱應力的影響下,旋轉整流器極易損壞部件[2]。對整流器的運行狀態(tài)實現(xiàn)監(jiān)測,確保發(fā)電機處于安全運行狀態(tài)具有一定的實際工程價值。
目前,針對發(fā)電機故障多通過采集內部可監(jiān)測信號,并使用信號處理方法實現(xiàn)診斷分析。例如,海軍工程大學的張超等[5]通過對勵磁電流進行頻譜分析。并以諧波含量為依據(jù)完成旋轉整流器的狀態(tài)分析;哈爾濱工程大學的Zhang Jingnan等[6]搭建仿真模型,并對定子相電流實現(xiàn)傅里葉變換,通過分析諧波幅值實現(xiàn)故障識別,最后在LabVIEW中設計相應的故障檢測系統(tǒng)??哲姽こ檀髮W的劉志勇等[7]人利用經驗模態(tài)分解對勵磁電流信號進行特征提取,并使用LS_SVM模型對所提取的特征實現(xiàn)故障識別。發(fā)電機故障的常見診斷方法多為離線完成診斷分析,而沒有考慮發(fā)電機實時監(jiān)測問題,雖有相關的PC機監(jiān)測系統(tǒng),但基于PC機的系統(tǒng)存在體積大、耗時長等問題。
通常整流器的常見故障可以分為開路故障和短路故障。從圖1可以看出,整流器是由6個功率二極管組成的橋式電路,其常見模式可細分為正常運行、單管開路、同相雙管開路、同橋雙管開路、異相異橋雙管開路和單管短路。
當整流橋上的二極管出現(xiàn)故障時將影響橋式電路的對稱性,主勵磁機的勵磁電流會出現(xiàn)諧波變化[8],通過勵磁電流信號的諧波特性便可以監(jiān)測整流器的運行狀態(tài)。本文利用FFT(快速傅里葉變換)對勵磁電流信號實現(xiàn)頻域分析,選取諧波成分組成故障特征向量作為網絡學習樣本進行訓練。并選取經典的BPNN模型用于故障識別,可以有效監(jiān)測整流器的健康狀態(tài)。
反向傳播神經網絡(以下簡稱BPNN)是常見的機器學習模型,網絡通過輸入數(shù)據(jù)前向傳播并反向傳播誤差以縮減輸出數(shù)據(jù)與目標數(shù)據(jù)間的誤差,對模型參數(shù)不斷更新,以達到模型的預期功能。BP模型的優(yōu)勢在于,以反向傳播的方式使模型具備強大自學習能力,在模式識別和預測等領域[10]都有很多的應用實例。
圖2為3層BPNN結構的示意圖。BPNN的輸入為X={xi}(i=1,2,3,…,n),輸出為Y={yj}(j=1,2,3,…,m),Wij和Wjk分別為網絡輸入層與隱含層及隱含層與輸出層之間的權值。
圖2 BPNN結構圖
本文使用一個3層BPNN模型作為發(fā)電機整流器二極管故障診斷模型,實驗將采集的勵磁電流信號進行FFT變換,并選取頻譜幅值的1、2、6和12次諧波[4]作為故障特征向量進行歸一化處理。本文所設計的BPNN模型結構為4-9-6,可以有效診斷同步發(fā)電機的常見故障模式。利用MATLAB訓練獲取BPNN模型的權值等參數(shù),并在FPGA中進行模型搭建。
本套故障監(jiān)測系統(tǒng)的設計流程如圖3所示。硬件部分包含三級式同步發(fā)電機、數(shù)據(jù)采集卡、PC機、AD7606數(shù)據(jù)采集模塊和FPGA開發(fā)板。首先利用數(shù)據(jù)采集卡采集發(fā)電機故障監(jiān)測信號,并在MATLAB完成信號頻譜分析和BPNN模型訓練;之后使用Verilog語言在Quartus II軟件對算法進行設計,并借助ModelSim完成模塊仿真;最后對所設計的系統(tǒng)實現(xiàn)故障監(jiān)測,并利用SignalTap觀察監(jiān)測系統(tǒng)的內部時序。
圖3 系統(tǒng)設計流程圖
FPGA以其并行算法以及低功耗的特性,目前在神經網絡硬件加速領域得到廣泛的應用。本故障監(jiān)測系統(tǒng)包含勵磁電流采集、FFT信號分析、Sigmoid激活函數(shù)和故障識別等模塊。所設計的系統(tǒng)可以有效采集發(fā)電機故障檢測信號、信號處理和故障識別。
(1) 數(shù)據(jù)采集模塊
未來,中國食品工業(yè)將面對更為廣闊的前景。實現(xiàn)網絡化、高科技化將會成為越來越多中國食品企業(yè)的選擇。它們要參與到全球資源配置與全球市場競爭中去,真正實現(xiàn)國際與國內業(yè)務的包容、整合,這也要求我國食品企業(yè)逐漸具備系統(tǒng)整合與文化融合、吸收對方先進技術、經驗、提升業(yè)務共識、融合多方優(yōu)勢等方面的能力。
AD7606是8通道ADC采樣器件,輸入范圍為 5 V,采樣分辨率16位。本文將AD7606模塊與FPGA開發(fā)板的GPIO口連接, 利用FPGA編寫狀態(tài)機控制AD7606采集實驗數(shù)據(jù),設計AD7606的采樣頻率為10 kHz,單次連續(xù)采集1 024個數(shù)據(jù)信號,并利用異步RAM實現(xiàn)采集數(shù)據(jù)緩存。
(2) 信號分析模塊
數(shù)據(jù)分析模塊調用Altera公司提供的FFT IP核對連續(xù)采集的1 024點信號進行頻譜分析,同時設計相應的控制時序程序,控制FFT IP的數(shù)據(jù)讀取和幅值譜計算,并使用異步RAM對頻譜幅值進行數(shù)據(jù)緩存,便于選取諧波成分作為故障特征。
(3) Sigmoid激活函數(shù)設計
激活函數(shù)在神經網絡模型學習相對復雜和非線性等問題中具有重要作用。激活函數(shù)為指數(shù)函數(shù)運算,在FPGA中并不支持相應的函數(shù)運算,本文針對目前常見基于FPGA的Sigmoid函數(shù)設計方法,最終選擇分段擬合法[3]在FPGA中設計Sigmoid激活函數(shù)。Sigmoid函數(shù)是一種常見的非線性激活函數(shù),其表達式:
(1)
激活函數(shù)的幾何圖象如圖4所示。在MATLAB中對Sigmoid函數(shù)進行分段線性擬合,就是將函數(shù)看作不同的數(shù)據(jù)段,并利用線性擬合法實現(xiàn)函數(shù)擬合。
圖4 Sigmoid激活函數(shù)幾何圖象
本文將激活函數(shù)的正半軸區(qū)間分為6個子區(qū)間,每個區(qū)間采用2階多項式函數(shù)無限逼近原激活函數(shù),保證擬合函數(shù)與原函數(shù)的數(shù)據(jù)絕對誤差在0.000 5以下。
神經網絡模型的運算過程需要大量的浮點數(shù)實現(xiàn)乘加運算,如果在FPGA中采用IEEE 32位浮點標準表示,雖然可以有效提高浮點數(shù)精度,但將消耗大量乘法和加法計算資源。本文將BPNN的權值采用25位定點數(shù)對浮點數(shù)進行量化處理,其中低12位是小數(shù),最高位為符號位,其余是整數(shù)部分。并將擬合的分段函數(shù)進行定點化處理。因激活函數(shù)關于(0,0.5)的對稱特性,對負半軸區(qū)間進行對稱處理完成運算。實驗利用Quartus II和ModelSim完成激活函數(shù)模塊仿真分析,仿真如圖5所示。
圖5 激活函數(shù)仿真輸出
(4) 故障識別模塊設計
BPNN是常見的機器學習算法,被應用于各個領域。BPNN的測試階段可以理解為數(shù)據(jù)的乘法運算??紤]故障識別模塊內部參數(shù)較少,在FPGA的設計過程中可采用并行輸入并行運算的方式實現(xiàn)其矩陣乘法運算過程,并行計算模塊的優(yōu)勢在于數(shù)據(jù)計算速度更快,在網絡規(guī)模較小的模型可以較好地實現(xiàn)模型設計,將權值和偏置等參數(shù)在程序中直接建立查找表,模型通過調用權值參數(shù)矩陣實現(xiàn)特征值識別。隱含層神經元經過激活函數(shù)輸出后與輸出層權值和偏置實現(xiàn)最終結果運算。
利用發(fā)電機實驗平臺采集的數(shù)據(jù)對監(jiān)測系統(tǒng)進行驗證分析。數(shù)據(jù)采集卡主要為PC機采集數(shù)據(jù),用于模型訓練;AD7607模塊與FPGA的GPIO連接用于實時數(shù)據(jù)采集;FPGA為主芯片,用于時序控制和數(shù)據(jù)處理。
信號調整電路使用HNC-25LA霍爾電流傳感器,以便數(shù)據(jù)采集卡和AD7606采集發(fā)電機故障檢測信號。HNC-25LA霍爾電流傳感器信號測算公式如下:
(2)
實驗借助SignalTap對故障監(jiān)測系統(tǒng)內部模塊信號時序變化實現(xiàn)觀測和分析,通過AD7606的采樣時序和FPGA內部診斷識別時序可以看出,系統(tǒng)可以在AD轉換期間完成對信號實現(xiàn)FFT頻譜分析并識別相應的故障。單管開路時故障檢測系統(tǒng)的實驗結果如圖6所示。從圖6可以看出,系統(tǒng)可以對故障監(jiān)測信號實現(xiàn)頻譜分析、故障識別。
圖6 單管故障仿真圖
本文設計的故障監(jiān)測系統(tǒng)數(shù)據(jù)采集與診斷時序如圖7所示。從圖7可以看出,系統(tǒng)可以在AD采樣間隔內實現(xiàn)故障診斷,系統(tǒng)可以保證對發(fā)電機實現(xiàn)連續(xù)故障檢測。
圖7 數(shù)據(jù)采集與監(jiān)測系統(tǒng)時序圖
本文所設計的故障監(jiān)測系統(tǒng)FPGA邏輯資源消耗為32%,存儲資源消耗為26%,乘法器使用資源為98%。其中乘法器資源主要用于Sigmoid分段擬合函數(shù)的乘法計算。AD7606的單次采樣時長為100 μs,而設計的系統(tǒng)信號分析時長為64.1 μs。FPGA平臺對BPNN模型單次測試時間為200 ns,而MATLAB中BPNN模型單次測試時間為404 μs。通過時間對比可以看出,F(xiàn)PGA對BPNN有一定的硬件加速效果。
本文主要研究設計了一套基于FPGA的故障監(jiān)測系統(tǒng),并將該套監(jiān)測系統(tǒng)用于發(fā)電機狀態(tài)監(jiān)測。
該套故障診斷系統(tǒng)內部包含數(shù)據(jù)采集、信號分析、故障識別功能,能夠保證有效監(jiān)測發(fā)電機故障。在FPGA中設計的激活函數(shù)保證了資源和速度的有效均衡,同時利用FPGA并行計算特性設計的BPNN模型具有一定的硬件加速效果。