田海勇, 王靖岳, 李建剛
(1.中車大同電力機車有限公司,山西 大同 037038;2.沈陽理工大學 汽車與交通學院,遼寧 沈陽 110159;3.吉林大學 汽車仿真與控制國家重點實驗室,吉林 長春 130025)
機械傳動系統中使用最廣泛的設備之一就有齒輪箱,其經常發生故障的主要零部件有齒輪、軸承和軸等。由于背景噪聲的影響,使得復合故障特征的分離與提取變得異常困難[1]。同時,齒輪箱故障信號的數據量較大,經常需要復雜的矩陣運算以及對運算結果進行顯示才能得到故障診斷的結果。
MATLAB具有強大的計算功能,在信號處理方面具有獨特的優勢。但MATLAB也存在一些不足之處,它在界面開發以及用戶交互方面尚有欠缺,并且其不能脫離軟件的編譯環境而獨立運行[2],而具有面向對象的程序設計思想和良好用戶界面的VB軟件就能很好地解決這一問題。但VB中提供的數學函數的種類較少,不足以滿足一個功能齊全的大型診斷系統[3]。為此,本文將VB與MATLAB相結合,通過混合編程來實現齒輪箱復合故障診斷系統的無縫集成設計,該系統能夠避免MATLAB中大量的復雜程序命令,縮短開發周期,提高工作效率,通過對齒輪箱中齒輪點蝕-磨損復合故障實例分析驗證了系統的正確性,這對于實際故障診斷具有一定的指導意義。
目前,實現VB與MATLAB混合編程的方法有許多,包括Matrix VB技術、利用M文件、DDE技術以及ActiveX技術[4]。這些方法各有優缺點,如Matrix VB技術中包含的函數有限,不能滿足所有的運算功能;利用M文件的方法靈活性較差,并且安全性較低;DDE技術會使程序的代碼數量增加,從而增加運算時間,降低運算效率;ActiveX技術具有自動化程度和執行效率較高、編程思想簡單、占用系統資源較少、數據交換能力較強等優點[5,6]。因此,通過比較分析,本文選擇ActiveX技術實現VB與MATLAB的混合編程。
COM組件的自動化服務器既能與MATLAB兼容,又能嵌入ActiveX協議,并且VB也支持ActiveX自動化控制端的協議。因此,自動化協議連接可以在VB與MATLAB之間建立。為了使兩者之間能夠進行信息互通互聯,對MATLAB程序的調用可以用VB實現[7,8]。在創建ActiveX自動化協議時,通過以下語句在VB中實現兩者之間的聯系[9,10],即:
Dim Matlab as Object
Set Matlab=CreateObject(“Matlab.Application”)
在設計復合故障診斷系統時,首先要考慮該系統的主要功能,既要有讀取信息、信號預處理和故障診斷等模塊,還要使界面的總體設計簡潔明了。為了便于今后系統的修改與拓展,必須保證各功能模塊之間互不干擾。本文基于改進變分模態分解方法(Improved Variational Mode Decomposition,IVMD)和經驗模態分解(Empirical Mode Decomposition,EMD)的復合故障診斷方法,以齒輪箱中齒輪點蝕-磨損復合故障為例,將齒輪箱復合故障診斷系統設計為4大功能模塊,即登錄模塊、信息采集模塊、幅值域分析模塊和EMD與IVMD分析模塊。
為防止數據泄露,保證系統的安全性,設計了系統登錄模塊。如果賬號或密碼中有一個輸入錯誤,則齒輪箱復合故障診斷系統會彈出提示“賬號或密碼輸入錯誤,請再次輸入!”,兩者都同時輸入正確后,則會進入系統的主界面,如圖1所示。在系統的菜單欄中除了主要功能模塊之外,還包括幫助與退出功能。幫助功能主要用于與系統開發者進行聯系,獲得系統使用和修改等方面的建議;選擇退出功能能夠直接退出系統。

圖1 系統的登錄界面(主界面)
登入到系統主界面后,信息采集應首先完成。數據以.txt的形式保存在計算機的某目錄下。點擊菜單欄的信息采集模塊,彈出界面,該模塊還包含了頻率計算功能。在此界面下輸入相關的試驗參數,單擊信息讀取并計算的按鈕,則所選擇的故障數據會在數據顯示控件中出現,同時計算出齒輪軸轉頻與嚙合頻率,如圖2所示。

圖2 讀取數據前后的信息采集模塊界面顯示
在讀取齒輪箱故障數據之后,需要對其進行幅值域分析,包括時域、頻域和時頻域分析。單擊下拉菜單欄中的幅值域分析模塊,選中時域和頻域分析,單擊運行按鈕,在相應的控件中會顯示故障數據的時域和頻域波形,如圖3(a)所示;單擊返回按鈕,選擇時頻域分析,再單擊運行按鈕,在對應的控件中會顯示故障數據的不同時頻譜圖,如圖3(b)所示。但是從各時頻域圖中可以看到,出現的特征頻率雜亂而且不夠清晰,具體的故障類型難以識別出。

圖3 幅值域分析模塊
2.5.1 EMD分析
單擊菜單欄中的EMD與IVMD分析模塊,在下拉選項中選擇EMD分析,該模塊的主要功能是進行降噪處理,同時消除可能存在的虛假模態分量,為下一步IVMD分析做準備。EMD分析結果如圖4(a)所示,同時根據能量法判斷出了IMF(Intrinsic Mode Function,本征模態函數)中存在虛假模態;單擊消除虛假模態按鈕,系統會根據能量原理消除虛假模態并得到新的IMF分量,通過選擇與原始信號具有強相關性的新IMF分量構成CIMF(Complex Intrinsic Mode Function)分量,其界面如圖4(b)所示。

圖4 EMD分析及消除虛假模態分量界面
2.5.2 參數k與α的選擇
在EMD與IVMD分析模塊的下拉菜單中單擊基于波形法的值選擇,對上面得到的CIMF分量進行VMD(Variational Mode Decomposition)分析,根據波形法來確定參數k值的范圍。運行后得到的結果如圖5(a)所示,從中可以獲悉,本例k的取值為小于等于4。
在EMD與IVMD分析模塊的下拉菜單中單擊基于包絡熵的k與α組合選擇選項,計算不同k與α組合時得到的BLIMF(Band Limited Intrinsic Mode Functions)的包絡熵值,通過分析,選擇包絡熵值最小時所對應的k與α為IVMD分解的最佳參數組合。運行結果如圖5(b)所示,當k=4,α=1 000時為IVMD分解的最佳參數組合。

圖5 基于波形法與包絡熵的參數選擇
2.5.3 IVMD分析及故障診斷
單擊EMD與IVMD分析模塊,選擇IVMD分析選項。首先,在參數選擇框的下拉菜單中選擇,然后單擊運行按鈕, CIMF分量經IVMD分解得到的BLIMF分量及其對應的頻譜圖如圖6(a)所示。單擊EMD與IVMD分析模塊下的故障特征提取選項,點擊運行按鈕,進行包絡解調并提取故障特征頻率,如圖6(b)所示。與大齒輪點蝕故障特征頻率相近的特征頻率及其倍頻從BLIMF1和BLIMF4的包絡解調譜中獲取,與小齒輪磨損故障特征頻率相近的特征頻率及其倍頻從BLIMF2和BLIMF3的包絡解調譜中獲取,同時給出了故障診斷結果及其故障原因與預防措施。

圖6 IVMD分析及故障診斷界面
本文將VB與MATLAB相結合,在EMD與IVMD復合故障診斷方法的基礎上設計了一個齒輪箱復合故障診斷系統。系統主界面以及各功能模塊是通過VB編寫完成的,對MATLAB的調用是利用ActiveX技術實現的,使得該診斷系統能夠有效地完成故障信息采集、幅值域分析以及復合故障診斷等功能,并縮短了程序開發周期、提高了工作效率。