吳 軍 熊 歡 熊強強 曾 暢
(華中科技大學船舶與海洋工程學院 武漢 430074)
船舶軸系主要負責將船舶主機的輸出功率傳遞給螺旋槳,再將螺旋槳產生的軸向推力傳遞給船體,是推動船舶航行的關鍵執行部件。由于其異常振動將直接影響船舶安全運行能力,迫切需要對軸系振動狀態進行實時監測,這對于提高船舶運行可靠性,避免意外停機等都具有十分重要的意義。目前,一些學者已在該領域開展了一些卓有成效的工作。付永慶[1]提出了一種基于FPGA的船用發動機軸系精確測量方法。陳錫恩等[2]以單片機為核心,可編程控制器、A/D轉換器及輔助電路為支持,研制了功能完備的軸系振動測量分析儀。張祿祿等[3]采用脈沖填充法提出了一種基于CPLD的船舶軸系振動測量儀的設計。但上述研究工作主要基于8位或16位單片機,系統的實時性、安全可靠性較差,且這類振動測量儀大多數只實現數據的采集功能,數據分析需要在PC上進行,功能比較單一。為此,本文主要研究一種基于ARM的軸系振動狀態監測系統,該系統能實時采集軸系振動狀態數據,并對振動狀態數據進行時域、頻域分析,并將結果顯示在ARM開發板LCD上。
船舶航行時,軸系會同時受到螺旋槳和船舶發動機激振力的作用,會導致軸系產生縱向、橫向、扭轉振動及這些振動形式的耦合形式,振動較為復雜,當出現異常振動后,如果不能及時發現并找出異常振動的原因,就會成為船舶安全運行的巨大隱患。為此軸系振動狀態檢測系統擬通過對采集的振動信號進行時域和頻域分析,識別潛在的故障模式并進行早期故障預警。

圖1 系統總體方案設計
如圖1所示,給出了該系統的總體設計方案,主要包括數據采集與預處理,數據分析等兩部分。在數據采集與預處理部分,通過數據采集電路將從傳感器獲取的機械振動信號轉換為ARM芯片能識別處理的電信號,并經濾波、放大等預處理及模數轉換后輸入到ARM開發板中。在數據分析部分,ARM開發板一方面負責對振動信號進行實時分析,并將分析結果顯示在LCD屏上,另一方面負責將振動信號存儲在自帶的數據庫中,并定期上傳到上位機中。上位機則利用其強大的計算能力對收集的海量數據進行復雜的數據分析。
軸系振動狀態監測系統的硬件模塊主要包括信號采集和信號處理。系統硬件結構如圖2所示。

圖2 系統硬件結構
信號采集模塊由振動傳感器、多路模擬開關、信號調理電路和A/D轉換電路組成。
3.1.1 振動傳感器
振動傳感器是利用物理效應將機械振動量轉換為電量的器件,目前用于狀態檢測的振動傳感器主要由三類:電渦流式位移傳感器、磁電式速度傳感器和壓電加速度傳感器[4]。其中,電渦流式位移傳感器是非接觸式測量傳感器,比較適合旋轉軸的振動測量,但是在靈敏度高時價格比較貴。磁電式速度傳感器是自發電型的慣性式傳感器,具有較高的靈敏度和輸出阻抗低的特點,適合于監測機器轉子不平衡、不對中等引起的軸承座及殼體振動[5]。但這種傳感器的頻率范圍在0.008~1kHz之間,測量頻率范圍有限。壓電加速度傳感器是根據壓電效應而制成的一種傳感器,測量范圍很大(0.002~10kHz),靈敏度也比較高,也可以用來測量軸承的振動。
本系統以船舶軸系為監測對象,綜合考慮靈敏度、測量范圍、價格等因素,選取美國PCB公司的型號356A16ICP壓電加速度傳感器作為本系統的振動信號測量傳感器,該傳感器頻響在0.3~6kHz,靈敏度100mv/g,性能穩定,測量精度高。該傳感器采用恒流源供電,供電電纜同時作為信號輸出線,輸出低阻抗信號。
3.1.2 多路模擬開關與信號調理電路
多路模擬開關是從多個模擬輸入信號中切換選擇所需輸入通道模擬輸入信號電路,本系統設計從四個通道采集數據,通過多路模擬開關將多路被測信號分別傳送到A/D轉換器進行轉換處理。
信號調理是數據采集系統的關鍵環節,它不僅把傳感器輸出信號準確無誤送到采集裝置,而且對信號進行調理,使信號適合數據采集裝置的采集要求[6]。因此,設計信號調理電路對采集船舶軸系的振動信號進行預處理,用來提高軸系振動信號數據的可靠性和精度。如圖3所示,給出信號調理電路原理框圖。首先,壓電加速度傳感器輸出的振動信號通過信號放大后經二階低通濾波得到直流信號。同時原振動信號經過減法電路與直流信號相減得到電平變換后的交流信號,然后送入A/D進行采樣。

圖3 信號調理電路原理框圖
3.1.3 A/D轉換電路
A/D轉換是信號采集模塊的核心部分,其功能是使傳感器采集的模擬信號轉換成ARM能處理的數字信號。ARM開發板自帶的S3C2440A具有8路10位CMOS A/D轉換器,參考電壓為3.3V,它支持片上采樣和保持功能,并支持掉電模式,在2.5MHz的A/D轉換器時鐘下,最大轉換速率可達500ksps。但是,10位分辨率并不能滿足船舶軸系振動信號采集精度要求。而TLC4541是德州儀器公司生產的高性能模數轉換器,內置轉換時鐘,轉換速率為200ksps,分辨率為16位,相比較而言,TLC4541采集的振動信號轉換后精度更高,因此設計采用TLC4541作為本系統的A/D轉換器。TLC4541封裝如圖4所示
信號處理模塊是系統的核心部分,采用ARM9、NANDFLASH、NORFLASH、SDRAM等共同搭建。本設計采用天嵌公司的TQ2440開發板,如圖5所示。它支持Linux、WinCE等多種操作系統,支持多種型號的LCD觸摸屏。TQ2440開發板采用三星公司的S3C2440A為微處理器,該處理器采用1.25V內核供電,主頻400MHz,最高可達533MHz,可以很好地滿足多任務運行時的數據處理速度要求。S3C2440A通過外部存儲控制器控制256MB的NANDFLASH和64MB的NORFLASH作為固態硬盤存儲ARM芯片的處理結果。TQ2440還具有豐富的通訊接口,如串口、USB DEVICE接口、USB HOST和網卡接口和SD卡接口等。系統可以通過串口直接與PC進行交互操作。SD卡接口用來外接大容量SD卡,用來定期存儲系統采集的振動信號內容。

圖4 TLC4541封裝圖

圖5 TQ2440開發板
軸系振動狀態監測系統的軟件開發主要包括嵌入式Linux操作系統構建、Linux下A/D驅動程序開發和圖形界面軟件開發三大部分。
由于Linux開放源代碼、易于移植、資源豐富、免費等優點,使它在嵌入式領域越來越流行[7]。本文采用嵌入式Linux作為軸系監測系統的操作系統,采用虛擬的Linux操作系統FEDORA10作為開發主機。
嵌入式系統的構建主要包括建立交叉編譯環境,移植Bootloader,Linux內核的配置和編譯,根文件系統制作,下載和調試Linux內核。其中,建立交叉編譯環境最主要是在Fedora10中安裝交叉編譯工具鏈,本設計使用天嵌公司制作好的交叉編譯工具EABI-4.3.3。Bootloader采用u-boot,是系統加電后、操作系統內核或應用程序運行前必須運行的一段代碼。通過這段程序,可以初始化硬件設備、建立內存空間的映射圖,從而將系統的軟硬件環境設定在一個合適的狀態,以便為最終調用操作系統內核,運行用戶程序準備好正確的環境[8]。Linux內核版本是Linux2.6.30,可以根據系統的具體要求來配置裁剪。文件系統是Linux系統正常運行所必需的,可以使用busybox工具制作yaffs文件系統。下載調試Linux內核使用串口開發工具DNW。
Linux系統操作系統有三種類型的設備進行操作:字符設備、塊設備和網絡設備[11]。在A/D驅動程序開發中,A/D被Linux當作字符設備進行操作。因此,在編寫Linux下的A/D驅動程序時,主要是完成對A/D器件控制寄存器和數據寄存器的open(),close(),read(),write()等操作,并在file_operations中進行注冊。
在編寫完Linux驅動程序后,使用交叉編譯工具編譯,然后通過NFS文件系統掛載,動態加載到Linux內核中。有了底層驅動程序支持后,Qt應用程序就可以像操作文件一樣對A/D設備進行操作,不再需要對S3C2440A硬件進行配置。

圖6 系統業務流程圖
Qt/E是挪威trolltech公司專門針對嵌入式GUI的開發而設計的一個工具包。使用Qt/E開發的應用程序界面清晰美觀,操作方便[12]。因此,系統圖形用戶界面應用程序開發用Qt/E來創建和調試。
使用 Qt/Embedded來開發應用程序主要包含數據采集參數設置、數據處理、數據存儲管理三個模塊。根據這三個模塊來設計應用程序界面由主界面、初始化界面、波形顯示界面、頻譜分析界面、數據庫管理界面構成。初始化界面負責完成一些軟硬件初始化工作及數據采集參數的設置,波形顯示界面完成主要完成實時波形顯示及超限報警功能。頻譜分析界面負責顯示振動數據頻譜分析的結果。數據庫管理界面主要對振動信號數據進行存儲管理。系統業務流程圖如圖6所示。
基于天嵌TQ2440嵌入式平臺,采用Linux系統和Qt/E,實現了基于ARM的振動在線監測系統,將振動時域波形和頻譜圖實時顯示在LCD屏上。系統實現如圖7所示,主要包括系統主界面、工程初始化界面、波形顯示界面和頻譜分析界面。

圖7 系統實現界面
本文提出的船舶軸系振動狀態監測系統采用主頻最高可達533MHz的ARM920T內核微處理器S3C2440A作為控制器,具有實時性好、采集速度快等優點。通過Linux操作系統實現對船舶軸系縱振和回旋振動信號的采集與分析,有效地提高了系統的工作可靠性。此外,該系統不但能快速實時計算分析設備存在的故障,還能將數據進行保存和傳輸,很好地滿足軸系設備的監控要求。
[1]付永慶.一種船用發動機扭振測量方法及其硬件實現研究[J].船舶工程,2004,26:26-28.
[2]陳錫恩,蔣勵,章力.軸系振動測量分析儀的研制及實船應用[J].船舶工程,2003,25(6):18-22.
[3]張祿祿,楊龍林,龍文學.基于CPLD的船舶軸系振動測量分析儀的研究[J].數字技術與應用,2010(11):47.
[4]何文才.汽輪發電機組狀態監測用振動傳感器的選擇與安裝[J].中國設備管理,1995(12):28-29.
[5]李榮生.旋轉機械狀態監測用振動傳感器的選擇[J].設備管理與維修,1992(7):24-25.
[6]趙萬明.流量轉速參數信號調理技術[J].火箭推進,2008,4(32-2):49-54.
[7]韋東山.嵌入式Linux應用開發完全手冊[M].北京:人民郵電出版社,2008,8:8-9.
[8]田澤.嵌入式系統開發與應用[M].北京:北京航空航天大學出版社,2005:14-15.
[9]才貌全,門愛東,楊波.嵌入式Linux系統中I2C總線驅動的研究與應用[J].計算機與數字工程,2009,37(9).
[10]劉偉民,韓斌,李征.基于Linux的數據采集及在Qt界面的顯示[J].微計算機信息,2008(7):97-99.
[11]張冬,丁金華.基于 Qt/E的 A/D數據采集系統的設計[J].大連工業大學學報,2008,12(27-4):374-376.
[12]李革梅,劉福巖.嵌入式LINUX底層設備驅動開發研究[J].計算機與數字工程,2008,36(9).