于 洋,黃偉志
(天津工業大學電子與信息工程學院,天津 300387)
隨著復雜化和智能化程度的不斷提高,機械設備結構的復雜性在使其功能提高的同時,也給系統的穩定性、安全性和實時性等方面帶來了一系列難題,設備發生故障和失效的潛在可能性越來越大[1].對機械設備進行信號采集分析與故障診斷的目的就是對生產過程中產生的各種信號進行獲取、傳輸、處理、分析和應用,以確保自動化制造過程可靠、安全、高效地進行[2].
傳統的MCS-51系列單片機不具備強大的數據采集處理能力,國內許多企業的機械設備甚至不具有采集功能[3],因此在采集現場僅能進行簡單的分析和診斷,不能給出機械設備出現故障的位置和原因,導致實時性較差.同時,傳統的信號分析系統基本上是對頻譜進行分析,分析處理能力不強,智能化水平不高.
針對以上的問題,本研究提出一種基于S3C2440A和嵌入式Linux操作系統的機械設備振動信號采集分析系統的設計方案.這一設計思想可以大幅提高振動信號的分析和處理能力,同時采用基于Qt/Embedded的圖形界面軟件Qtopia完成采集數據的分析與管理,實現了系統的實時性、穩定性與小型化.
振動信號采集分析系統以32位ARM處理器為核心,由采集機械設備的振動信號進行時域、頻域的分析處理,通過多種通信接口將采集的數據上傳給上位機的故障診斷軟件以作出相應的診斷處理.振動信號采集分析系統的硬件按照功能模塊可以劃分為信號預處理模塊、數據采集模塊和ARM主控模塊,其中ARM主控模塊包括液晶顯示器(Liquid Crystal Display,LCD)的顯示電路、Flash接口電路和串口等通信接口電路和鍵盤輸入電路.系統硬件結構如圖1所示.

圖1 系統硬件結構框圖Fig.1 Hardware block diagram of the system
系統硬件各個功能模塊的作用如下:
(1)信號預處理模塊:信號預處理模塊主要對由集成電路壓電式(Integrated Circuit Piezoelectricity,ICP)加速度傳感器采集到的機械設備振動信號進行調理驅動、放大和抗混疊濾波處理,使模數轉換器(Analog to Digital Converter,ADC)芯片能夠獲取該振動信號,并作出進一步處理工作[4].
(2)數據采集模塊:數據采集模塊將經過預處理的信號進行A/D轉換,并將轉換結果傳送至ARM進行分析處理.數據采集模塊非常重要,它決定了整個系統的采集精度和分辨率[5].
(3)ARM主控模塊:ARM處理器是該主控模塊的核心部分,控制振動信號的采集、參數的設置以及數據的顯示、分析和傳輸等.
本系統軟件采用模塊化設計思想,各個功能模塊間相互獨立,使用專門的接口函數進行通信,這樣的處理方式可以使系統軟件的維護和升級變得更加方便.系統軟件基于嵌入式操作系統開發設計,其軟件結構自下向上依次為:嵌入式操作系統、設備驅動程序和應用程序.操作系統負責整個系統軟硬件資源的管理,而設備驅動程序完成系統的內核與各個具體硬件的接口為應用程序提供操作硬件的接口函數.本系統的主要驅動程序包括采集驅動、鍵盤驅動、串口和網絡驅動、LCD驅動以及Flash驅動等.應用程序是負責實現系統功能的核心部分,主要具有數據采集、人機交互、信號分析以及數據管理等功能.整個系統的軟件結構如圖2所示.

圖2 系統軟件結構框圖Fig.2 Software block diagram of the system
從嵌入式操作系統的選擇原則方面考慮,與其他操作系統相比,嵌入式Linux具有開發成本低、開發工具豐富、功能強大和可移植性強等特點,因此,本系統采用嵌入式Linux操作系統[6].
與其他圖形界面軟件相比,Qt/Embedded具有可移植性好、API函數豐富、開發工具強大和執行效率高等特點,因此,本系統采用基于Qt/Embedded開源代碼的Qtopia作為圖形界面開發環境,Qtopia是一種類似桌面系統的應用環境[7].
ARM主控模塊主要圍繞三星S3C2440A核心處理器展開,根據核心處理器的特點設計其外圍接口電路,實現對振動信號的采集控制、數據的顯示和分析處理以及與上位機的數據通信功能.該主控模塊主要的外圍電路包括同步動態隨機存儲器(Synchronous Dynamic Random Access Memory,SDRAM)接口電路、Flash接口電路、LCD顯示電路以及串口等通信接口電路.
ARM主控模塊下的主要組成部分包括:
(1)LCD顯示部分:采用6.4英寸薄膜晶體管(Thin Film Transistor,TFT)LCD,分辨率為 640×480.
(2)Flash接口部分:采用雙Flash設計,NOR Flash用于存放引導程序,NAND Flash主要用于存放系統內核和文件系統.
(3)SDRAM接口部分:采用2片16位的256 Mbits的SDRAM芯片作為系統內存.
(4)鍵盤輸入部分:在硬件鍵盤設計方面,采用 ARM外部中斷和通用輸入/輸出口(General Purpose Input Output,GPIO)掃描完成此功能.
(5)通信接口部分:包括串口、以太網網口以及USB接口.通過網絡、串口或主方式工作下的USB從上位機下載信號采集的測點信息到本系統中,同時將本系統采集的數據上傳至上位機.
信號預處理模塊的主要作用是對傳感器輸出的各種模擬信號進行放大、濾波等處理,以獲取用戶所需的并能滿足A/D轉換芯片要求的信號.通常傳感器的輸出信號會存在信號小、溫度漂移以及非線性等問題,一般情況下控制元件是無法直接獲取該輸出信號的,因此,信號預處理模塊是數據采集系統中不可或缺的組成部分,該模塊的優劣性直接關系到整個采集系統的精度和穩定性.首先,傳感器采集振動信號,并將其輸出信號送入信號調理電路進行相應的信號調理處理;然后,信號放大電路再對已經完成調理處理的信號進行放大處理;最后,抗混濾波電路濾除信號中混雜的高頻干擾,防止在采集過程中出現混疊現象,抗混濾波后的信號即可送至數據采集模塊進行數據采集處理.
2.2.1 信號調理電路設計
由于系統在進行數據采集時只能對電信號進行A/D轉換處理,因此需要將機械設備的振動信號轉換成電信號,通常情況下可采用ICP加速度傳感器完成振動信號到電壓信號的轉換.
ICP傳感器是一種內置集成電路的壓電傳感器,它本身雖然無源,但內置的集成電路卻需要外部供電.因此,ICP傳感器通常選用恒流供電,其電源線與信號輸出線是共用的,該信號輸出線的長度通常長達百米以上.ICP傳感器的等效電路與調理電路如圖3所示,電荷放大器會將壓電元件產生的電荷進行放大輸出.

圖3 ICP傳感器等效電路及調理電路Fig.3 Equivalent circuit and conditioning circuit of ICP sensor
從圖3右側的調理電路可以看出,ICP傳感器所需的供電電源Uout必須能夠提供18~30 V的直流電壓以及2~20 mA的恒定電流.由于傳感器共用電源線與信號輸出線,所以它的輸出信號會包含1個約為8~14 V的直流偏置電壓,圖3中的去耦電容Cd會濾除這個輸出信號中的直流分量.
本系統采用美國國家半導體公司的三端可調恒流源器件LM334芯片設計了1個具有零溫漂的恒流源調理電路.LM334的工作電壓設置為24 V,輸出電流為4 mA,通過設計的零溫度漂移恒流源驅動電路防止溫度漂移.
2.2.2 信號放大電路設計
系統采用INA128芯片實現對模擬信號的放大處理.INA128芯片是一種低功耗、低噪聲、高精度的通用儀表放大器,它的電源范圍較寬,可從±2.25~±18 V,芯片選用單個外接電阻完成增益從1至10 000之間的任意選擇.本系統選用±5 V 2種電源為INA128供電,其放大電路如圖4所示.

圖4 信號放大電路Fig.4 Signal amplifying circuit
2.2.3 抗混濾波電路設計
經過放大處理后的振動信號仍然會不可避免地混雜許多高頻干擾信號,當系統所選擇的采樣頻率不能滿足這些高頻信號奈奎斯特采樣定理所規定的要求時,就會產生頻率混疊現象.為了最大可能地避免混疊現象的出現,消除它對信號采集造成的不利影響,需要借助抗混濾波器將這些不需要的高頻干擾信號進行濾除.
本系統采用LTC1063芯片對振動信號進行抗混疊濾波處理,選用±5 V兩種電源為LTC1063濾波器供電,濾波器的截止頻率則由外接的時鐘信號來控制.該濾波電路中,LTC1063濾波器的外接時鐘信號由1個4 MHz的有源晶振通過12位串行計數器CD4040進行選擇分頻后獲得.
系統的數據采集模塊主要圍繞ADC和先入先出隊列(First Input First Output,FIFO)2塊芯片展開設計,選用具有4個獨立單通道的ADC芯片AD7656BSTZ和FIFO進行采樣,采樣頻率最高分別可達250 ksps和18×4 kbit/s,通過復雜可編程邏輯器件(Complex Programmable Logic Device,CPLD)完成對采集電路中ADC和FIFO的時序控制.
本系統中數據采集的各個部分都是在ARM的控制下完成的,但ARM的控制信號并不直接送給各個芯片,而是將這些控制信號傳給CPLD,經過CPLD處理后再將這些控制信號分別送給各芯片.因此,電路中ADC和FIFO的讀寫控制信號均由CPLD提供,電路結構如圖5所示.

圖5 采集電路結構框圖Fig.5 Block diagram of acquisition circuit
由于系統所選的ADC芯片的數據輸出只有16位,所以FIFO的數據線僅需要使用16位,其最高2位數據線必須接地.電路中FIFO的主要作用是充當臨時的存儲單元,暫時存儲ADC采集到的振動信號數據,Qtopia應用程序會對這些暫時存放在內核緩沖區中的振動信號數據進行進一步地分析處理工作[8].
本系統軟件功能的實現采用基于Qt/Embedded的開源窗口界面軟件Qtopia,Qtopia采用面向對象和模塊化的設計思路,對象間的通信方式選用其特有的信號與插槽機制[9].根據軟件的功能結構,采用Qtopia設計系統軟件功能主界面,如圖6所示.

圖6 系統軟件功能主界面Fig.6 Main interface of function for system software
本系統的軟件功能模塊分為采集模塊、信號分析模塊和數據管理模塊,其功能是通過界面的功能按鍵來進行選擇的,系統軟件分為4大功能.
(1)參數設置:在進入數據采集之前,要進行各種采集參數的設置,如測點選擇、通道選擇、采樣頻率、分析頻率、采樣點數和存儲文件名等設置.
(2)采集顯示:根據設置的參數對設備的振動信號進行采集和顯示.
(3)信號分析:選擇測點數據,完成信號的各種時域和頻域的分析處理.
(4)數據管理:通過串口等通信接口完成測點信息文件的下載以及采集數據文件的上傳,也可以對數據文件進行刪除操作.
因為具有源代碼開放、功能強大、穩定高效和完全免費等優勢,嵌入式Linux系統已經在嵌入式領域里得到了廣泛應用.嵌入式Linux系統從軟件的角度可以分為引導程序、Linux內核、根文件系統和應用程序.因此,本系統的Linux系統移植工作主要包括在PC機宿主機中交叉編譯環境的建立、引導程序U-Boot的移植、Linux內核的編譯移植[10-11]以及YAFFS2根文件系統的制作.
為了驗證振動信號采集分析系統的各項功能,本研究采用由信號發生器輸出的正弦信號作為系統的輸入信號,由系統對該信號進行采集和分析,從而檢驗系統采集分析功能的準確性.選用幅值為100 mV(系統配備加速度傳感器的靈敏度為100 mV/G,100 mV對應1 G)、頻率為200 Hz的正弦信號,將系統的每屏采樣點數設為2 048、分析頻率設為5 kHz,對該信號進行采集和分析[12].系統對該信號的分析結果如圖7所示.
由圖7a可以看出,信號的幅值接近1 G,頻率為200 Hz,與輸入的正弦信號基本一致;從圖7b中可看出,信號的自相關函數依舊是周期函數,并沒有出現衰減的情況,所以該信號沒有包含隨機噪聲;由圖7c可知,信號為周期信號,頻率仍為200Hz,與輸入信號的頻率一致;由圖7d可知,信號的實倒譜呈現依次遞減的倒諧頻結構[13],這與理論分析的結果相符.實驗結果表明:該振動信號采集分析系統的時域分析和頻域分析等功能均準確、可靠.

圖7 對信號的分析結果Fig.7 Analysis results for the signal
機械設備振動信號采集分析系統的研究是當前制造業市場的需要,是保證自動化生產順利進行、降低生產成本、提高產品質量、阻止并預防生產過程中設備出現故障的有力保障.本研究提出的基于S3C2440A和嵌入式Linux操作系統的機械設備振動信號采集分析系統完全能夠滿足實時性要求,穩定性良好,可靠性較高.目前,該采集分析系統已成功應用于故障診斷的相關儀器中.
[1]盧艷軍.數控機床狀態監測系統的研究[J].制造業自動化,2008,30(8):34—36.
[2]李允公.機械故障診斷與狀態監測特征提取中的若干典型問題的研究[D].沈陽:東北大學,2005:15.
[3]肖士利,葉文華.數控機床的現場數據實時采集和監視系統的研究[J].中國制造業信息化,2008,37(11):38—42.
[4]王姣,宮政.基于嵌入式系統的數控機床信息采集與監測技術的研究[J].機床與液壓,2010,38(8):90—92.
[5]徐永樂,葉文華.嵌入式數控機床狀態信息采集技術的研究[J].機械科學與技術,2011,30(7):1000—1002.
[6]宋寶華.Linux設備驅動開發詳解[M].2版.北京:人民郵電出版社,2010:9.
[7]曾劍元.ARM9平臺上基于Qt/Embedded的嵌入式GUI的研究與實現[D].吉林:吉林大學,2010:15.
[8]苗忠良,宛斌.Qtopia編程之道[M].北京:清華大學出版社,2009:134—136.
[9]張方輝,王建群.Qt/Embedded在嵌入式Linux上的移植[J].計算機技術與發展,2006(7):64—66.
[10]魏平,夏良正,王巖.Linux體系結構及嵌入式Linux的移植方法[J].東南大學學報:自然科學版,2004(S1):126—130.
[11]劉磊,張鳳荔,秦志光.基于U-boot構建嵌入式Linux的Bootloader[J].計算機應用研究,2007(12):238—240.
[12]GELLE G,COLAS M A.Tool for rotating machine monitoring by vibration analysis[J].Sound and Vibration,2001,248(5):865—885.
[13]李輝,鄭海起,唐力偉.基于倒譜分析的軸承故障診斷研究[J].振動、測試與診斷,2010,21(4):383—386.