李雨田
(西安航空職業(yè)技術(shù)學(xué)院,陜西 西安 710089)
軸承作為一種典型的機(jī)械零件,被廣泛應(yīng)用在汽車(chē)、航空航天等多個(gè)領(lǐng)域。一旦軸承出現(xiàn)故障,將會(huì)給機(jī)械帶來(lái)極其嚴(yán)重的后果。因此,加強(qiáng)對(duì)軸承的在線故障監(jiān)測(cè)與診斷,對(duì)提高機(jī)械運(yùn)行的安全性來(lái)講,具有非常重要的價(jià)值和意義。但是,傳統(tǒng)的軸承故障診斷來(lái)講,大部分都是基于PLC或PC機(jī)開(kāi)發(fā)的,這種平臺(tái)在應(yīng)用中存在很大的束縛,不僅體積大,同時(shí)成本也高,面對(duì)野外測(cè)試效率低下。因此,開(kāi)發(fā)更為方便的軸承故障診斷系統(tǒng),對(duì)提高機(jī)械的安全性,以及故障診斷的便捷性,具有現(xiàn)實(shí)的價(jià)值和意義。但針對(duì)軸承故障的診斷中,目前大部分文獻(xiàn)都集中在對(duì)軸承故障特征信號(hào)的處理等方面。如雷文平[1]則提出一種基于采用SVM算法對(duì)小波信號(hào)進(jìn)行識(shí)別,從而得出故障信號(hào);李從志等的研究思路也主要集中在對(duì)故障信號(hào)進(jìn)行識(shí)別[2]。但是,歸納上述的研究中發(fā)現(xiàn),目前對(duì)于軸承故障信號(hào)的實(shí)用型系統(tǒng)研究還很少。鮮有學(xué)者提出一個(gè)比較實(shí)用和便捷的軸承診斷系統(tǒng)?;谝陨媳尘埃疚牟捎卯?dāng)前最為流行的Android體系架構(gòu)對(duì)軸承故障診斷系統(tǒng)進(jìn)行開(kāi)發(fā),從而改變以往的有線故障診斷方法,實(shí)現(xiàn)更為便捷和靈活的軸承故障診斷。
本系統(tǒng)構(gòu)建的目的是構(gòu)建一個(gè)便捷型的軸承故障系統(tǒng),而結(jié)合軸承故障診斷問(wèn)題,本系統(tǒng)主要從硬件和軟件兩方面對(duì)軸承故障診斷系統(tǒng)進(jìn)行構(gòu)建[3]。因此,按照上述的目的和設(shè)計(jì)思路,本文將該系統(tǒng)的整體方案設(shè)計(jì)為如圖1所示。本文所設(shè)計(jì)的軸承故障系統(tǒng)主要由四大部分構(gòu)成,分別為數(shù)據(jù)感知終端、無(wú)線傳輸層、手機(jī)終端和虛擬儀器。
圖1 基于 Android 的軸承故障診斷系統(tǒng)總體結(jié)構(gòu)
根據(jù)上述的架構(gòu)看出,數(shù)據(jù)感知終端首先對(duì)傳感器信號(hào)進(jìn)行調(diào)理與采集;在完成采集工作之后,借助無(wú)線模塊的藍(lán)牙、wifi、3G、4G等通信方式,將采集到的傳感器信號(hào)傳輸至手機(jī)終端中;最后,由手機(jī)虛擬儀器對(duì)接收數(shù)據(jù)開(kāi)展分析與處理。虛擬儀器部分主要由四大功能模塊進(jìn)行支持,分別為數(shù)據(jù)傳輸模塊、數(shù)據(jù)存儲(chǔ)模塊、數(shù)據(jù)呈現(xiàn)模塊以及數(shù)據(jù)分析模塊。
在本系統(tǒng)的構(gòu)建中,硬件部分主要包括藍(lán)牙模塊、手持終端和信號(hào)采集部分。具體的硬件見(jiàn)表1。
表1 主要的硬件
軟件部分開(kāi)發(fā),采用開(kāi)源軟件eclipse4.3作為開(kāi)發(fā)工具。開(kāi)源軟件eclipse具備大量的開(kāi)發(fā)插件,能夠?qū)Ρ敬卧O(shè)計(jì)開(kāi)發(fā)需求進(jìn)行滿足。同時(shí),開(kāi)源軟件eclipse還能夠?qū)Ρ姸喑S玫拈_(kāi)發(fā)語(yǔ)言進(jìn)行支持,具體包括Java語(yǔ)言、C/C++語(yǔ)言等。在應(yīng)用開(kāi)源軟件eclipse開(kāi)展基于 Android 的軸承故障診斷儀開(kāi)發(fā)工作時(shí),開(kāi)發(fā)人員僅需通過(guò)在eclipse中配置相應(yīng)的Android SDK,就能為系統(tǒng)開(kāi)發(fā)構(gòu)建起編譯環(huán)境。對(duì)軟件部分的開(kāi)發(fā)中,采用模塊化設(shè)計(jì)思想,目的是使系統(tǒng)在后續(xù)使用過(guò)程中具備較強(qiáng)的擴(kuò)展性。整體功能組成部分見(jiàn)圖2。
圖2 軟件系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
其中,數(shù)據(jù)采集主要是實(shí)現(xiàn)兩大功能:一是對(duì)Android 虛擬儀器設(shè)備傳送來(lái)的參數(shù)設(shè)置指令以及數(shù)據(jù)采集控制指令進(jìn)行接收;二是向Android 虛擬儀器設(shè)備反饋傳感器采集數(shù)據(jù);
Android虛擬儀器設(shè)備主要實(shí)現(xiàn)三項(xiàng)功能:一是利用無(wú)線傳輸方式向數(shù)據(jù)采集功能模塊發(fā)送相應(yīng)的指令;二是接收數(shù)據(jù)采集功能模塊反饋來(lái)的傳感器采集數(shù)據(jù);三是開(kāi)展數(shù)據(jù)點(diǎn)在線顯示及數(shù)據(jù)信號(hào)處理分析工作。
因此,根據(jù)以上分析,將Android程序的開(kāi)發(fā)分為四大模塊:數(shù)據(jù)傳輸模塊、數(shù)據(jù)存儲(chǔ)模塊、數(shù)據(jù)呈現(xiàn)模塊以及數(shù)據(jù)分析模塊。其中,數(shù)據(jù)傳輸模塊主要是對(duì)藍(lán)牙及wifi模塊讀寫(xiě)操作進(jìn)行實(shí)現(xiàn);數(shù)據(jù)存儲(chǔ)模塊則負(fù)責(zé)對(duì)數(shù)據(jù)采樣點(diǎn)信息進(jìn)行存儲(chǔ),保障后續(xù)數(shù)據(jù)回放及信號(hào)處理;數(shù)據(jù)呈現(xiàn)模塊主要是對(duì)處理后信號(hào)結(jié)果進(jìn)行顯示,實(shí)現(xiàn)系統(tǒng)與用戶之間的交互;數(shù)據(jù)分析模塊是整個(gè)故障診斷系統(tǒng)的關(guān)鍵部分,主要是對(duì)數(shù)據(jù)點(diǎn)信號(hào)進(jìn)行時(shí)域分析與頻域分析[4]。
3.2.1 數(shù)據(jù)采集模塊設(shè)計(jì)
在軸承故障診斷系統(tǒng)的數(shù)據(jù)采集功能模塊中,主要采用C語(yǔ)言作為采集器Arduino ADK編程語(yǔ)言,以Arduino IDE作為其開(kāi)發(fā)平臺(tái),并以此實(shí)現(xiàn)對(duì)串口、I/O口的封裝。同時(shí),由于Arduino在全世界具備頗多的愛(ài)好者,使數(shù)據(jù)采集模塊的開(kāi)發(fā)工作將極為簡(jiǎn)便。通過(guò)此方式構(gòu)建起的數(shù)據(jù)采集模塊開(kāi)發(fā)環(huán)境,將實(shí)現(xiàn)對(duì)許多類(lèi)的良好封裝,從而減少開(kāi)發(fā)過(guò)程中不必要的開(kāi)發(fā)工作量。數(shù)據(jù)采集模塊所需要的類(lèi)主要包括Serial類(lèi)、analogRead類(lèi)以及Timer類(lèi)。具體數(shù)據(jù)采集模塊工作流程如圖3所示。
圖3 數(shù)據(jù)采集模塊工作流程
3.2.2 數(shù)據(jù)傳輸功能模塊
數(shù)據(jù)傳輸功能模塊主要由藍(lán)牙無(wú)線通信模塊以及WiFi無(wú)線通信模塊構(gòu)成。其中,藍(lán)牙無(wú)線通信模塊的開(kāi)發(fā)主要需要Bluetooth Adapter類(lèi)、Bluetooth Device類(lèi)、Bluetooth Socke類(lèi)以及Bluetooth Server Socke類(lèi)。藍(lán)牙無(wú)線通信模塊開(kāi)發(fā)步驟主要包括以下6步[5]:
(1)Android手機(jī)服務(wù)器端與客戶端發(fā)起藍(lán)牙無(wú)線通信模塊開(kāi)發(fā)權(quán)限申請(qǐng);
(2)對(duì)本地藍(lán)牙適配器進(jìn)行獲??;
(3)開(kāi)打藍(lán)牙設(shè)備;
(4)對(duì)藍(lán)牙串口模塊進(jìn)行搜索;
(5)建立起服務(wù)器端與客戶端之間的連接;
(6)借助inputStream及outputStream獲取相應(yīng)的數(shù)據(jù)流。
wifi無(wú)線通信模塊主要采用與Windows下socket通信流程所類(lèi)似的HLK-RM04 wifi串口模塊[6]。在開(kāi)發(fā)過(guò)程中主要借助socket.connect()方法構(gòu)建起采集器與手機(jī)虛擬儀器的連接;利用socket.getInputStream()實(shí)現(xiàn)參數(shù)設(shè)置指令無(wú)線傳輸;以socket.getInputStream()獲取采集器反饋數(shù)據(jù)。具體數(shù)據(jù)傳輸功能模塊工作流程如圖4所示。
圖4 數(shù)據(jù)傳輸功能模塊工作流程
3.2.3 數(shù)據(jù)存儲(chǔ)功能模塊
數(shù)據(jù)存儲(chǔ)功能模塊主要作用于對(duì)數(shù)據(jù)采樣點(diǎn)進(jìn)行存儲(chǔ),便于用戶后續(xù)對(duì)采樣數(shù)據(jù)的試用及分析,實(shí)現(xiàn)數(shù)據(jù)回放功能。由于本文所設(shè)計(jì)的軸承故障診斷儀基于Android系統(tǒng),因此數(shù)據(jù)存儲(chǔ)功能模塊將具備多種數(shù)據(jù)存儲(chǔ)方式,具體包括Share Preferences、文件存儲(chǔ)、SQLite數(shù)據(jù)庫(kù)等。具體存儲(chǔ)功能模塊的數(shù)據(jù)回放功能的數(shù)據(jù)回放流程如圖5所示。
3.2.4 數(shù)據(jù)呈現(xiàn)功能模塊
在數(shù)據(jù)呈現(xiàn)功能模塊的設(shè)計(jì)過(guò)程中,為了避免該功能模塊出現(xiàn)屏幕閃爍現(xiàn)象,本文將采用圖像雙緩沖繪圖技術(shù)開(kāi)展數(shù)據(jù)呈現(xiàn)功能模塊的設(shè)計(jì)工作。數(shù)據(jù)呈現(xiàn)功能模塊在開(kāi)發(fā)過(guò)程中所需的類(lèi)包括Paint類(lèi)、Surface View類(lèi)以及Canvas 類(lèi)。同時(shí),考慮到系統(tǒng)數(shù)據(jù)呈現(xiàn)功能模塊的師生顯示需求,本文將在數(shù)據(jù)呈現(xiàn)功能模塊中引入數(shù)據(jù)刷新機(jī)制。具體數(shù)據(jù)呈現(xiàn)功能模塊工作流程如圖6所示。
圖5 數(shù)據(jù)回放功能的數(shù)據(jù)回放流程
圖6 數(shù)據(jù)呈現(xiàn)功能模塊工作流程
3.2.5 數(shù)據(jù)分析功能模塊
數(shù)據(jù)分析功能模塊主要由三大模塊構(gòu)成,分別為數(shù)據(jù)預(yù)處理模塊、時(shí)域特征分析模塊以及頻域特征分析模塊。具體數(shù)據(jù)分析功能模塊結(jié)構(gòu)如圖7所示。
為驗(yàn)證上述上述方案的可行性,搭建如圖8所示的試驗(yàn)平臺(tái)對(duì)軸承故障進(jìn)行現(xiàn)場(chǎng)模擬診斷平臺(tái)。
軸承選擇UC201,具體參數(shù)為:鋼球個(gè)數(shù)8,鋼球內(nèi)直徑d=6.749 mm,外圓直徑D=28.5 mm;工作轉(zhuǎn)數(shù)為1 200 r/min,采樣頻率設(shè)定為20 480 Hz。依據(jù)對(duì)軸承故障特征頻率的特征,可以得到如圖9和圖10所示的軸承故障時(shí)域特征信號(hào)和頻域特征信號(hào)。
圖7 數(shù)據(jù)分析功能模塊結(jié)構(gòu)
圖8 軸承故障診斷現(xiàn)場(chǎng)實(shí)驗(yàn)圖
圖9 頻域特征信號(hào)
同時(shí)為驗(yàn)證上述結(jié)果的正確性,將結(jié)果與傳統(tǒng)的通過(guò)Lab VIEW虛擬儀器檢測(cè)的結(jié)果進(jìn)行比較,得到表2所示的結(jié)果。
通過(guò)上述的部分指標(biāo)對(duì)比看出,兩者采集到的軸承故障特征值的結(jié)果基本一致,說(shuō)明本文采用的這種Android診斷方法與傳統(tǒng)的Lab VIEW虛擬儀器測(cè)量結(jié)果一致,但本文構(gòu)建的方法具有極大的便捷性。
圖10 頻域特征信號(hào)
表2 兩者特征值對(duì)比結(jié)果
通過(guò)上述的分析可知,本文構(gòu)建的Android軸承診斷方法,在很大程度上改變了以往傳統(tǒng)的Lab VIEW虛擬診斷方法,為機(jī)械軸承的故障診斷采集提供了更為簡(jiǎn)單的方法。