陳旺斌,孟獻蒙,程凡永, ,徐 杰,
(1.安徽工程大學 高端裝備先進感知與智能控制教育部重點實驗室,安徽 蕪湖 241000;2.安徽工程大學 電氣傳動與控制安徽省重點實驗室,安徽 蕪湖 241000)
隨著工業化的快速發展,電子設備早期故障檢測已成為一項必要技術,同時也是一項難點技術。近年來,隨著人工智能的發展,越來越多的基于數據驅動的故障診斷技術被運用到設備故障診斷中,其中最典型的是深度學習中的卷積神經網絡(convolutional neural network,CNN)模型[1]。文獻[2]針對高速列車轉向架故障問題提出一種利用一維CNN 提取高速列車故障信號深層特征模型,該模型能自動完成原始數據的特征提取和選擇,進而實現對不同工況下轉向架故障的分類。文獻[3]提出一種基于二維CNN 的故障診斷方法。首先,設計了一種一維時間信號到二維圖像信號的轉換方法,在此基礎上提出了基于二維圖像信號的故障診斷算法,并在電機軸承數據集、自吸離心泵故障診斷數據集和軸向數據集上進行了訓練和測試,實驗結果顯示,CNN 在基于數據驅動的故障診斷領域具有良好潛力。文獻[4]針對軸承故障,利用CNN 對軸承信號故障數據進行特征提取和故障檢測,實驗結果表明,CNN 能可靠、有效地提取可分性強的故障特征,提高了系統故障診斷性能。
光伏逆變器是一種功率電子電路器件,其電路結構如圖1 所示。光伏逆變器能將太陽能電池板的直流電壓轉換為交流電壓,以驅動家用電器或者升壓并入能源互聯網。圖1 中,絕緣柵雙極型晶體管(insulated gate bipolar transistor,IGBT)是光伏逆變器的核心部件。當發生開路故障時,盡管系統還能繼續運行,但有著很大的隱患,沒有發生開路故障的IGBT 會流過較大電流,對整個電路系統產生影響,進而影響能源互聯網的穩定運行。因此,及時準確地診斷開路故障對能源互聯網的穩定運行具有重要意義。同時,使用逆變器輸出電壓或電流為特征量進行故障診斷時,需要3 個傳感器進行三相電壓或電流信號的檢測,但以直流側電流作為特征量時,則只需要1 個傳感器。

圖1 逆變器的電路結構Fig.1 Inverter circuit structure
綜合以上因素,本研究擬從減少傳感器數目的角度出發,采用直流側電流作為檢測量,利用卷積神經網絡實現對IGBT 開路故障的診斷。
實驗利用Matlab 軟件中的Simulink 仿真模塊,搭建了一個光伏逆變器仿真模型,如圖2 所示。

圖2 光伏逆變器故障仿真圖Fig.2 Photovoltaic inverter fault simulation diagram
實際光伏發電系統中,當光照強度發生變化時,其輸入逆變系統中的電壓會發生變化。仿真系統的光照強度在0.25 s 時由0.7 kW/m2突變為1.0 kW/m2,為抑制由此引起的電壓波動,加入了相應的控制模塊,以實現對輸出電壓的穩定控制[5]。
本研究的仿真電路圖,主要由光伏與Boost 電路模塊、逆變器、濾波電感、電壓電流雙閉環控制策略模塊以及驅動信號模塊5 部分組成。該系統可以有效地在光照強度發生變化時快速地將輸出電壓調節到所需電壓,保證系統的穩定性[6]。運用這個仿真系統來模擬真實電路中的IGBT 開路故障,選擇的做法是添加開關來控制激勵信號,當某個開關斷開時,相應的橋臂就不會收到觸發脈沖,這樣該橋臂的IGBT 就不會導通,就相當于IGBT 管開路。在三相橋式逆變電路中有6 個IGBT 管(每個IGBT 反并聯1 個二極管),每個IGBT 管都是有可能發生故障的,但是發生故障時,1 個或者2 個IGBT 管故障的概率極高,很少有3 個或3 個以上IGBT 管同時發生故障[7],所以本文中只分析IGBT 管1 個或者2 個發生開路時的情形。根據三相橋式逆變電路的構造,共有6 種單管故障情形。當有2 個管子發生故障時:1)同一相兩個橋臂同時發生故障;2)上橋中兩個橋臂同時發生故障;3)下橋中兩個橋臂同時發生故障;4)上下橋臂交叉的同時發生故障,總計有15 種故障。因此,加上正常狀態,總計有22 種狀態類別。
每個故障在實驗中的持續時間均為4.1 s,而前0.1 s系統剛剛通電,數據的波動巨大,所以舍去這一部分數據,故數據采集的時間為0.1~4.1 s。在正常工作狀態下,輸出電壓頻率為50 Hz,也就是0.02 s 為一個周期。通過設計的仿真模型采集正常工作和各種不同故障下的直流側電流數據,用作實驗的訓練和測試數據。所得的仿真電流圖顯示,雖然不同故障的運行時間相同,但獲得的直流側電流數據數量是不一樣的。為了保證輸入數據的維度一致性,需要對電流進行等時間采樣,采樣頻率為10 000 Hz,這樣可以保證數據的維度一致。且為了能更好地提取數據特征,需要加大數據集,同時輸入網絡的數據維度大小對于神經網絡訓練也非常重要。因此,在數據輸入網絡模型之前對數據進行了預處理——數據移動。數據檢測步長的大小需要通過實驗來確定一個最佳值,檢測步長代表兩次檢測的時間差,在采樣頻率固定的情況下,就代表兩次檢測的樣本移動長度。數據移動后,樣本集的數量會增加。例如,實驗中采用了一種如圖3所示的移動方法。

圖3 數據移動示意圖Fig.3 Schematic diagram of data movement
由圖3 可知,一段原始采樣樣本總共有2 000個數據,首先將其前400 個數據劃為一個數據片段(1~400 個采樣數據),之后以步長為200 向右移動,對數據進行劃分得到第二個數據片段(201~600 個采樣數據)。按照這種移動方法,最后就可以將原始的長度為2 000 的數據,劃分為9 個長度為400 的數據片段。總共采集了352 段訓練數據樣本,最后可以得到3 168(352×9)條訓練數據片段。對測試樣本也采取相同的處理方法,總共采集了88 條訓練數據片段,這樣移動后就得到792(9×88)條測試數據片段。
從仿真模型中采集而來的數據不存在噪聲,為模擬實際的噪聲情況,后續處理中對數據都加入了不同信噪比的噪聲,通過觀察數據集可以發現,數據的最大最小值相差很大,為了提高模型的收斂速度,對數據進行了標準化預處理。標準化處理的目的是將數據按比例縮放,使之落入一個小的特定區間,則標準化公式如下:

卷積神經網絡是一種應用廣泛的前饋神經網絡,已在很多領域中成功應用[8]。通常情況下,卷積神經網絡包括輸入層、卷積層、池化層、全連接層和輸出層[9]。數據進入卷積神經網絡后,首先進入卷積層進行卷積運算,也就是卷積核與輸入數據進行局部加權求和[10]。在實際運用中,往往是由多個輸入特征圖和多個卷積核組成,為方便理解,以圖4 展示一個輸入特征圖和一個卷積核時的運算。在卷積運算結束后,加上偏置項后選用ReLU 激活函數提升卷積神經網絡的表達能力和抑制梯度消失現象[11]。

圖4 一維卷積運算過程示例Fig.4 Illustration of one-dimensional convolution operation process
在卷積層中,每一個輸出特征圖都是由多個輸入特征圖組合的卷積結果,例如,第l-1 層的特征圖經過卷積和激活后輸出第l 層的特征圖,其前向傳播公式為

式中:al-1是第l-1 層的輸出特征圖的集合,同時是第l 層的輸入特征圖的集合;
al為第l 層的輸出特征圖的集合;
Wl為第l-1 層到第l 層卷積核的集合;
bl為第l-1 層到第l 層的偏置項;
*表示卷積作用;
σ( · )為激活函數。
推導可得卷積層的反向傳播公式如下:

式中:zl為第l 層的卷積結果,且

δl-1為第l-1 層的梯度;
δl為第l 層的梯度;
rot180(·)表示將核旋轉180 度;

在卷積神經網路中,池化層的作用是將卷積層輸出的特征圖縮小,有最大池化、最小池化、平均池化、隨機池化等[12]。圖5 列出了最大池化和平均池化的運算結果,通常最大池化可以有效地提取特征,比較適用于分類問題。本文模型中采用了最大池化,從目標區域中取出最大值,通過池化層的二次提取特征進行降維,進一步降低網絡的計算量。經過多次的卷積和池化運算后,即可獲得數據特征,最后連接到全連接層進行分類[13]。

圖5 一維池化運算示例Fig.5 Illustration of one-dimensional pooling operation
從l 層到第l+1 層的池化前向傳播公式如下:

式中,down(·)是一個下采樣方法,池化層窗口大小為n×1,則對池化層窗口滑過的每一個n×1 塊中的元素進行相對應的池化運算,得到一個1×1 的輸出特征圖,縮小為原來的1/n。
根據反向傳播方法,可推得池化層的反向傳播公式為

式中,upsample(δl)表示上采樣操作,即將每個元素在一個維度上展開n 次,還原到池化之前的大小,n為down(·)下采樣時縮小的比例。
CNN 在池化層反向傳播時如圖6 所示,對于池化層的梯度δl,首先還原為池化前的長度,然后根據池化類型進行數值分配,如果采用的是最大池化,就需要將δl中的數值分配到池化前的最大位置處,如果采用的是平均池化,就將δl等分為n 份再分配到各個位置處。

圖6 池化層的反向傳播示例Fig.6 Illustration of back-propagation in the pooling layer
通過上述卷積層和池化層的反向傳播,可以求得參數的梯度,這樣就可以利用梯度下降法來更新所構建的卷積神經網絡中所有的參數,最后得到一個能實際運用的模型。
為驗證所提方案的可靠性,將本文模型與支持向量機(support vector machines,SVM)和k 最近鄰(k-Nearest Neighbor,kNN)分類算法進行比較。
1)SVM 故障診斷方法。采用與CNN 模型相同的數據集,選用線性核函數,運用間接法的多分類器進行故障診斷。
2)kNN 故障診斷方法。kNN 通過測量不同特征值之間的距離進行分類。如果一個樣本在特征空間中的k 個最鄰近的樣本中的大多數屬于某一個類別,則該樣本也被劃分為這個類別。在kNN 的參數設置中,k = 9。
為了確定最佳檢測數據步長,課題組采用了信噪比為10 dB 的數據進行訓練與測試。逆變器正常工作時,輸出的三相電壓頻率為50 Hz,直流側電流的采樣頻率為10 000 Hz,因此在輸出電壓的一個周期(0.02 s)時間內,可以采集到200 個電流值。為此,以200 為中心,分別將數據檢測步長100, 150, 200,250, 300 輸入到已經搭建好的網絡模型(CNN 參數設置如表1 所示)中進行訓練與測試,得到如圖7 所示的3 種方法下不同檢測步長對應的測試結果圖。

表1 CNN 網絡參數Table 1 CNN network parameters

圖7 不同檢測步長下3 種方法的準確率比較Fig.7 Accuracy comparison of three methods under different moving steps
由圖7 可以看出,不同的檢測步長對最后的測試準確率有一定的影響,當檢測步長為100,150,250,300 時,得到的結果都不理想,當檢測步長為200 時,得到的檢測效果最佳。因此,本文后續實驗中將步長200 設置為默認檢測步長。當檢測步長為200 時,可以得到3 168 條訓練數據,每條包含400個樣本點。將數據進行標準化后輸入CNN 模型中,經過相應的卷積和池化后,將數據串聯并傳入全連接層,此外為防止過擬合對全連接層使用了Dropout[14]技術,最后接SoftMax 函數輸出,得到該條數據所對應的故障類別概率分布。
為了驗證CNN 模型的實用性,分別將信噪比為5,1, 0, -1 dB 的數據放入網絡中進行訓練和測試,所得實驗結果如圖8 所示。

圖8 不同信噪比下3 種方法的準確率比較Fig.8 Accuracy comparison of three methods under different SNR
由圖8 可以得知,kNN 在低信噪比故障數據分類中的準確率最低,這說明kNN 方法的噪聲魯棒性比較弱。與kNN 相比,SVM 和CNN 的分類準確率均有顯著的提升,其中CNN 在三者中的準確率最高,5, 1, 0, -1 dB 信噪比下的準確率分別是0.992 4, 0.978 5,0.959 6, 0.945 9。這一結果說明,在逆變器開路故障診斷性能上,CNN 相對其他的算法效果更好。
本文以光伏逆變器的直流側電流為研究對象,提出了一種基于CNN 的光伏逆變器故障診斷新方法。實驗結果表明,在CNN 網絡結構中,數據的檢測步長為200 時,故障診斷效果最佳。另外,為了測試該實驗方法的魯棒性和適用性,將5, 1, 0, -1 dB 的高斯白噪聲人工添加到數據集中。得到的實驗結果表明,該方法在不同噪聲水平下仍然能獲得高于94%的故障診斷準確率。
在后續研究中,準備搭建一個基于Dspace 的逆變電路模型,獲取實際模型的故障數據,利用仿真模型和實際模型開展遷移學習方面的研究。