基于ARM的轴系振动状态监测系统设计*
2013-10-16熊强强
吴 军 熊 欢 熊强强 曾 畅
(华中科技大学船舶与海洋工程学院 武汉 430074)
1 引言
船舶轴系主要负责将船舶主机的输出功率传递给螺旋桨,再将螺旋桨产生的轴向推力传递给船体,是推动船舶航行的关键执行部件。由于其异常振动将直接影响船舶安全运行能力,迫切需要对轴系振动状态进行实时监测,这对于提高船舶运行可靠性,避免意外停机等都具有十分重要的意义。目前,一些学者已在该领域开展了一些卓有成效的工作。付永庆[1]提出了一种基于FPGA的船用发动机轴系精确测量方法。陈锡恩等[2]以单片机为核心,可编程控制器、A/D转换器及辅助电路为支持,研制了功能完备的轴系振动测量分析仪。张禄禄等[3]采用脉冲填充法提出了一种基于CPLD的船舶轴系振动测量仪的设计。但上述研究工作主要基于8位或16位单片机,系统的实时性、安全可靠性较差,且这类振动测量仪大多数只实现数据的采集功能,数据分析需要在PC上进行,功能比较单一。为此,本文主要研究一种基于ARM的轴系振动状态监测系统,该系统能实时采集轴系振动状态数据,并对振动状态数据进行时域、频域分析,并将结果显示在ARM开发板LCD上。
2 系统总体设计
船舶航行时,轴系会同时受到螺旋桨和船舶发动机激振力的作用,会导致轴系产生纵向、横向、扭转振动及这些振动形式的耦合形式,振动较为复杂,当出现异常振动后,如果不能及时发现并找出异常振动的原因,就会成为船舶安全运行的巨大隐患。为此轴系振动状态检测系统拟通过对采集的振动信号进行时域和频域分析,识别潜在的故障模式并进行早期故障预警。
图1 系统总体方案设计
如图1所示,给出了该系统的总体设计方案,主要包括数据采集与预处理,数据分析等两部分。在数据采集与预处理部分,通过数据采集电路将从传感器获取的机械振动信号转换为ARM芯片能识别处理的电信号,并经滤波、放大等预处理及模数转换后输入到ARM开发板中。在数据分析部分,ARM开发板一方面负责对振动信号进行实时分析,并将分析结果显示在LCD屏上,另一方面负责将振动信号存储在自带的数据库中,并定期上传到上位机中。上位机则利用其强大的计算能力对收集的海量数据进行复杂的数据分析。
3 系统硬件模块选型与实现
轴系振动状态监测系统的硬件模块主要包括信号采集和信号处理。系统硬件结构如图2所示。
图2 系统硬件结构
3.1 信号采集模块
信号采集模块由振动传感器、多路模拟开关、信号调理电路和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所示
3.2 信号处理模块
信号处理模块是系统的核心部分,采用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开发板
4 系统软件开发
轴系振动状态监测系统的软件开发主要包括嵌入式Linux操作系统构建、Linux下A/D驱动程序开发和图形界面软件开发三大部分。
4.1 嵌入式Linux操作系统构建
由于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。
4.2 Linux下A/D驱动程序开发
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硬件进行配置。
4.3 图形界面软件开发
图6 系统业务流程图
Qt/E是挪威trolltech公司专门针对嵌入式GUI的开发而设计的一个工具包。使用Qt/E开发的应用程序界面清晰美观,操作方便[12]。因此,系统图形用户界面应用程序开发用Qt/E来创建和调试。
使用 Qt/Embedded来开发应用程序主要包含数据采集参数设置、数据处理、数据存储管理三个模块。根据这三个模块来设计应用程序界面由主界面、初始化界面、波形显示界面、频谱分析界面、数据库管理界面构成。初始化界面负责完成一些软硬件初始化工作及数据采集参数的设置,波形显示界面完成主要完成实时波形显示及超限报警功能。频谱分析界面负责显示振动数据频谱分析的结果。数据库管理界面主要对振动信号数据进行存储管理。系统业务流程图如图6所示。
5 系统实现
基于天嵌TQ2440嵌入式平台,采用Linux系统和Qt/E,实现了基于ARM的振动在线监测系统,将振动时域波形和频谱图实时显示在LCD屏上。系统实现如图7所示,主要包括系统主界面、工程初始化界面、波形显示界面和频谱分析界面。
图7 系统实现界面
6 结语
本文提出的船舶轴系振动状态监测系统采用主频最高可达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).