王書暢 , 方 達
(1.湖北西塞山發電有限公司,湖北 黃石 435000;2.武漢交通職業學院,湖北 武漢 430065)
隨著我國智能制造不斷發展,數控機床作為制造的最終端,在生產加工中的作用日益增強。數控機床機械結構復雜,控制精度極高,若其發生故障,不僅會威脅生產人員的生命安全,還會對加工零件和機床本身造成損壞[1]。因此,研發人員在設計產品時有以下兩方面的目標:首先,要保證數控機床安全穩定運行,盡量降低設備的故障率;其次,有在故障發生后快速判斷故障類型的智能方法[2]。實現智能檢測是企業亟需實現一項重大功能,同時也是實現智能制造的重要途徑[3]。當前,常見的智能診斷方法有以下幾種:模糊控制、專家系統、人工神經網絡、基于向量機、故障樹分析法、小波分析、粗集理論等[4],本文主要使用BP神經網絡進行故障診斷。
人工神經網絡簡稱神經網絡,它是一種通過模仿動物神經網絡行為從而建立分布式信息并行運算的數學模型。這種網絡系統連接極其復雜,在處理信息時需要不斷調整內部大量節點相互之間的連接關系。BP神經網絡由Rumelhart和McClelland等人于1986年提出,是一種按照誤差逆向傳播算法訓練的多層前饋神經網絡,目前得到了廣泛的應用。BP神經網絡可以將任何復雜的模式進行分類,同時可以擬合任意非線性函數,其主要由輸入層、隱含層和輸出層組成[5]。圖1為一個典型三層BP神經網絡模型,層與層之間的元素相連,同一層不連,其中隱含層可以有多層。

圖1 三層BP神經網絡結構圖
其中,X1,X2,X3,…,Xm代表輸入層的輸入參數,O1,Ok,…,On代表輸出層的輸出參數,ωij代表隱含層第i個節點連接輸入層第j個節點間的權值,θi代表隱含層第i個節點的閾值,Φ代表隱含層的激勵函數,ωki代表輸出層節點到隱含層節點的權值,ak代表輸出層第k個節點的閾值,Ψ代表輸出層的激勵函數,Ok代表輸出層第k個節點的輸出。在相鄰的層之間有兩個方向的信號在傳遞:一個是輸入信號,主要從輸入到輸出方向傳播,將輸入通過隱含層和輸出層進行計算;另一個是反向傳播誤差信號,主要用于修改權值和閾值從而減少誤差。BP神經網絡計算過程如下:
1)輸入信號的前向傳播原理。隱含層第i個節點的輸入neti為:

隱含層第i個節點的輸入Oi為:

輸出層第k個節點的輸入netk為:

輸出層第k個節點的最后輸出Ok為:

2)誤差的反向傳播。根據輸出層的輸出誤差,計算出總誤差。按照梯度下降法來調整各層的權值和閾值,使得最終的誤差值能達到期望值。假設共有p個樣本,則總誤差函數為:

依據誤差梯度下降法,依次計算隱含層的權值修正值Δωij和閾值修正值Δθi,然后計算輸出層權值修正值Δωki和輸出層閾值修正值Δa。

整個BP神經網絡工作流程如圖2所示。

圖2 BP神經網絡工作流程
BP神經網絡具有簡單、易于計算、并行性強等優點,現廣泛用于神經網絡訓練中[6],其本質是找到誤差函數最小值的最優解。由于使用非線性算法中的最速下降法通過負梯度方向修改權值和閾值,故存在以下問題:首先是學習效率較低且收斂速度較慢,然后可能會陷于局部極小值附近,造成錯誤值。為解決該問題,使用附加動量法來進行修正[7]。附加動量法在BP神經網絡修改權值和閾值時,不僅加上誤差在梯度上的分量,同時還加上在誤差曲面上的變化趨勢。利用這個變化趨勢,可以劃過一些極小值,避免陷于其附近[8]。在沒有附加動量的作用下,網絡可能陷入淺的局部極小值,利用附加動量的作用則可能劃過這些極小值。新的加上附加動量因子的權值和閾值調節公式為:

式中,k表示訓練次數;mc表示動量因子,取0.95。
整個數控機床故障檢測平臺使用凱恩帝K2000MC(i)新一代總線式高檔加工中心數控系統。本研究以該數控銑床加工中心為例,收集常見的主軸電氣故障,分析對應的電氣故障點,并一一列出。圖3為本次使用的數控機床平臺。

圖3 凱恩帝數控機床故障檢測平臺
由圖3可知,電路圖中有很多電壓檢測點,通過采集電壓可以判斷故障類型及故障點。整個系統監測點很多,本研究選擇與主軸電機相關部分。考慮到不同故障類型電壓值變化較大,且比較依賴個人的分析能力,故嘗試使用BP神經網絡來進行自動判斷。主軸部分電氣控制圖如圖4所示。

圖4 主軸部分電氣控制圖
主軸電氣控制圖主回路元器件包括隔離開關QS1、QS2、變壓器、斷路器QF1和接觸器KM;二次回路包括QF2和接觸器線圈KM。在圖中數字位置設置電壓采樣點,在QS1后接線端1處采集平均電壓,2處采集斷路器QF1處平均電壓,3處采集KM主觸頭后接線端電壓,4處采集QS2后端平均電壓,5處采集變壓器交流電壓,6處采集QF2后端電壓。將統計的電壓值使用歸一法,將其值限制在0到1之間。表1為6種不同故障的訓練樣本。

表1 數控機床主軸電氣故障訓練樣本
取輸出向量Y表示故障產生的原因,具體如下:Y1為主電路沒有通電;Y2為QF1沒有正常接通; Y3為接觸器主觸頭接觸不良;Y4為刀開關沒有完全閉合;Y5為變壓器接觸不良;Y6為QF2沒有正常接通。故障訓練樣本的目標輸出如表2所示。通過訓練使目標盡量滿足目標輸出。

表2 故障訓練樣本目標輸出
由表2可知,網絡的輸入層為6,輸出層為6,根據經驗公式確定隱含層為12。這里隱含層節點使用的傳遞函數為Sigmoid函數,輸出層節點使用的傳遞函數為線性函數。網絡訓練函數采用梯度下降法和附加動量法兩種方法,對比訓練效果。網絡的訓練參數設置如下:

兩種方法唯一的不同在于訓練函數,梯度下降法使用的是traind,而附加動量法使用的是trainlm。
即最大訓練次數為1 000,目標誤差達到0.02。通過仿真得到梯度下降法的收斂效果如圖5所示。

圖5 梯度下降法的BP神經網絡訓練收斂圖
由圖5可知,梯度下降的BP神經網絡在經過200次迭代后,網絡的誤差性能未達到期望的要求,誤差最小為2.777 8×10-2。
附加動量法的BP神經網絡訓練收斂圖如圖6所示。由圖6可知,附加動量法的BP神經網絡在經過8次迭代后,訓練輸出的誤差性能滿足了期望的目標,并且誤差最小為1.690 4×10-3。可見基于附加動量法的BP網絡收斂速度很快。

圖6 附加動量法的BP神經網絡訓練收斂圖
將圖5與圖6相比,可知基于附加動量法改進的BP神經網絡比傳統BP神經網絡的收斂速度更快,并且避免了經典BP神經網絡極易陷入局部極值的缺陷。故在數控機床主軸電氣系統的故障診斷中,采用基于附加動量法的BP神經網絡方法[9]。
針對完成訓練好的BP網絡,采集若干次主軸故障作為檢驗。輸入向量x為:

則經過網絡計算的故障向量y為:

與目標結果y=[0 1 0 0 0 0 ; 0 0 0 1 0 0]基本一致,與期望輸出值相吻合,因此該模型可以滿足診斷需求。
將神經網絡算法應用于數控機床的電氣故障診斷,是智能診斷的形式之一。將Matlab作為仿真平臺,可以提高數控機床的控制精度和故障診斷準確度。伴隨著數控技術和人工智能的發展,各種先進的故障診斷平臺也會變得更加智能化,同時需要采集的信息也會越來越多。如何增加更多的信息、處理繁多的信息將會是未來數控機床故障診斷的趨勢。將神經網絡優勢與其他算法相結合來提高診斷的速度和準確率,是今后的研究方向[10-11]。