基于振动信号的传感器与虚拟仪器的串口通信
2016-06-24王玉林
王玉林, 姜 平
(南通大学 电气工程学院 自动化系,江苏 南通 226019)
基于振动信号的传感器与虚拟仪器的串口通信
王玉林, 姜平
(南通大学 电气工程学院 自动化系,江苏 南通 226019)
摘要:为了实现加速度传感器与虚拟仪器LabVIEW之间的串口通信,以滚动轴承的振动信号为传输的介质,编写C语言程序来驱动三轴加速度传感器采集轴承的振动信号,再将振动信号传输到单片机中,虚拟仪器通过USB转串口线读取单片机中的振动信号,以波形的形式实时显示在虚拟仪器界面上。以编程软件显示加速度传感器采集到轴承的振动信号的值,经过串口通信程序,最终在虚拟仪器前面板上显示振动信号转换的数值波形00—FF;软件分析后可以发现:轴承的均方根值为0.030 782 3,经过频域的处理,其功率谱将特征频率25 Hz与高次谐波分量单独分离出来,从而完成传感器与虚拟仪器间的串口通信。
关键词:加速度传感器; 振动信号; 数据采集; 虚拟仪器; 滚动轴承; 串口通信
0引言
目前,虚拟仪器正带领仪表行业走向先进化、快速化、智能化。相对于传统仪器,虚拟仪器有着不可比拟的优势,它是基于计算机的软硬件测试平台,已在工业控制领域具有广泛应用[1]。LabVIEW编程软件是一个基于图形化编程语言的开发环境[2],是目前国际上应用最广泛的数据采集和控制开发环境之一[3]。LabVIEW功能全面,具备数据采集、信号处理、串口通信等功能。
由于振动产生加速度,故可选用加速度传感器,本文通过串口将LabVIEW与加速度传感器连接起来,传感器检测采集滚动轴承的振动信号,这里选择ADXL345型号的传感器,该振动加速度传感器能实现低频加速度的准确测量[4]。振动信号先存放于单片机中保存,再传输到虚拟仪器中,最终形象地在虚拟仪器界面上显示振动信号的波形。
1系统总体设计
目前,数据采集系统的基本任务是物理信号的产生或测量[5]。需要保证信号的完整性,信号是处于变化的,它是信息的载体和具体表现形式[6]。本文以传感器来完成数据采集的任务。通过单片机等最终将采集的信息发送到上位机中,系统模块总体框图如图1所示。
2系统硬件设计
2.1传感器和单片机的设定
ADXL345为三轴加速度传感器,可以检测空间X,Y,Z三个方向的加速度值,检测范围达到±16 gn,分辨率为13位,它支持SPI和I2C两种接口访问形式,文中采用I2C协议。该协议需要数据线SDA和时钟线SCL,在编程软件中编写I2C协议来采集轴承自身的振动信号。该传感器的优势在于其内部集成了A/D转换器和数字滤波器,输出的信号是经过滤波后的数字信号,通过串行接口读取数据。据Nyquist(奈奎斯特)采样定理可知,要想采集到的信号被还原,采样频率必须大于信号中最高频率的2倍,即fs>2fc(fs为采样频率,fc为信号中的最高频率)。由于ADXL345最大的采样频率为3 200Hz,所以,该传感器能采集到0~1 600Hz的信号。而本文要检测的轴承的频率不超过1 600Hz,故可以用ADXL345传感器来检测。
图1 系统模块总体框图Fig 1 System module overall block diagram
单片机选用MSP430F149,是TI公司推出的16位微处理器[7],是一种具有超低功耗特性的功能强大的单片机[8],MSP430单片机片内一般都集成有A/D转换模块[9],是16位的精简指令集单片机[10],其性能和速度高于51型号的单片机,适合本课题的研究开发。
2.2数据的采集检测
实际运行时,三轴加速度数据存放0x32~0x37地址单元中,将传感器安装在滚动轴承的外圈上,以充分地接触轴承,检测信号。该滚动轴承分为三部分:内圈、外圈、滚动体。运转时,外圈保持固定,内圈与滚动体相对静止,连在一起在外部设备的带动下发生旋转。滚动轴承的样本由公司提供。检测过程中,电机驱动轴承转动,由传感器检测轴承的振动信号,存放于单片机中,再经过串口线将信号传到虚拟仪器中。硬件流程图如图2所示。
图2 硬件流程图Fig 2 Hardware flow chart
编程软件采用IAREmbeddedWorkbench,其可以处理C,C++源代码以及汇编文件,一个工作区下可以创建多个工程。实际编程时选用C语言编写。编译确认无误之后,将C语言程序下载到单片机中,进入调试界面,可以看到振动信号的值。BUF在程序中定义为一个一维数组,里面存放了6位数据,分别为三轴加速度的值,以十六进制的格式显示,如图3所示。
图3 振动信号值Fig 3 Vibration signal value
图3中,BUF[0]和BUF[1]表示X轴的数值,BUF[2]和BUF[3]为Y轴的信息,BUF[4]和BUF[5]则是Z轴上的信号,其均为字符的形式。实际采集过程中,这些加速度的值都是实时改变的,以反映轴承自身的状态。根据ADXL345的资料手册,将三轴加速度的值最终转化为一个数值,以这样一个整体的数值来反映轴承的振动信号。通过RS—232串口将该数值传输到LabVIEW中。
3系统软件设计
软件部分基于LabVIEW界面,系统上位机选用LabVIEW编程软件,它不同于C程序语言的方式,它以数据流模式运行,运算效率高,集成度高。软件部分分为串口设置、数据采集、数值显示、波形显示四大模块。
LabVIEW串口通信时,首先要安装VISA驱动,驱动安装完成之后,USB转串口线一端连接单片机的串口,即RS—232口,另一端则连接计算机的USB口。支持热插拔的USB标准串行接口迅速体现出其优势[11]。安装CH341SER驱动程序后,在设备管理器里可以看到串口线对应的COM口,而且是COM1口,表明单片机与计算机已连接成功,可以进行串口通信。图4为COM1口的端口设置。
图4 串口设置Fig 4 Serial port settings
从图4中可以看出:VISA串口配置时,波特率设为38 400b/s,1位停止位,无流控制,数据位为8位,无奇偶校验。参数值可以通过下拉按钮来修改。
在LabVIEW前面板上,设置对应的串口号、波特率、数据位、停止位、奇偶校验等等。只有串口设置正确的前提下,方可正常通信。
在虚拟仪器上位机程序框图中,串口设置的程序见图5。
图5 串口设置程序Fig 5 Serial port setting program
程序运行时,首先弹出对话框,在对话框里输入信息,提示用户打开串口,选择COM口及波特率等信息。点击确定按钮,对话框消失,之后延迟时间3s,再进入数据采集阶段。通过布尔型控件来决定是否采集数据。采集到数据之后,分别以十进制和十六进制的格式显示,再将数据转化为波形显示。其中,对话框的程序框图见图6。
图6 会话框程序框图Fig 6 Block diagram of dialog box program
条件结构决定打开串口之后,数据开始采集,如果串口处于关闭状态,则再次提醒用户打开串口。数据采集时,选择VISA写入函数,将COM1资源的数据写进去,再经过属性节点函数和100ms的延迟时间,VISA读取函数将COM口的数据读出来,存放在读取缓冲区。字符串至字节数组转换函数将缓冲区中的数据以波形的方式及时在波形图表上显示。总程序采用While循环结构,一直处于接收的状态,直至在界面中点击停止键。数据读取部分的程序见图7。
图7 数据读取程序Fig 7 Data reading program
4实验结果
硬件设备调通之后,打开虚拟仪器界面,在前面板上选择正确的串口信息,包括VISA资源名称、波特率、数据位、停止位。再打开串口,使虚拟仪器处于串口接收的状态。轴承检测装置运行时,电机带动滚动轴承发生周期性旋转,传感器迅速采集轴承自身的振动信号,以加速度值来反映振动信号的大小,LabVIEW从串口接收数据时,一次性读取8位数据,解读方式为字符的ASCII码格式。由于下位机单片机中发送的数据是数值型,所以,需要使用"字符串至字节数组转换"函数,将字符串转成无符号的字节数组,也就是对应的ASCII码值。
数值显示的结果界面如图8所示,列表框中为十六进制的数据,下面是其对应的十进制数。其中,最上面是控制数据采集与停止的部分。
图8 数值显示与控制界面Fig 8 Value display and control interface
当虚拟仪器开始数据采集时,数据以无符号数组的形式显示在前面板的波形图表里,本文采用波形图表而不是波形图,是因为波形图表用于实时显示,它保留了旧数据,并且将新接收的数据显示在旧数据之后,而波形图则用于事后对整个波形的显示,它对旧数据不保留,在有新数据到来时,先清除原来的数据,仅仅显示新的数据,起不到新旧数据比较的作用,没有连续性。振动信号数据采集的结果如图9所示。
图9 数据采集结果Fig 9 Data collection results
由图9可知,振动信号最终以数值波形显示,显示范围为00~FF,而且数据是处于实时变化的,一旦外界有大的扰动,波形也会发生较大的改变。
5实验结果分析
在虚拟仪器中对振动信号的波形进行分析,得到波形的时域指标及频谱图。时域参数中,以均方根值来反映振动幅值的大小。在频谱图中,测量波形的功率谱,可以获得相应的特征频率及其高次谐波分量,如图10所示。
图10 振动信号结果分析Fig 10 Vibration signal results analysis
图10(a)为采集信号的波形,从图中可以看出,波形的均方根为0.030 782 3,图10(b)功率谱图中,25Hz处有最大的峰值,故特征频率为25Hz,另外,在50,75Hz处也有较小的尖峰,其幅值很小,为谐波分量。
6结束语
基于LabVIEW虚拟仪器构建了检测轴承振动信号的控制界面,利用单品机编写C语言程序来采集振动信号,在加速度传感器与虚拟仪器之间实现了以振动信号为媒介的串口通信,实验平台能快速清晰地反映传感器中存放的数据,以波形的形式显示在控制界面上,分别在时域和频域中得到了波形的相关指标和参数,并加以分析判断,其均方
根值0.030 782 3反映了振动幅值的大小,频谱图能够反映振动信号自身的特征频率25Hz和分量大小,为今后虚拟仪器的应用提供广阔的平台。
参考文献:
[1]潘玉恒,鲁维佳,尹万疆.基于LabVIEW和单片机的温度监测仪的设计[J].仪表技术与传感器,2014(7):43-45.
[2]李博.基于LabVIEW的HHT方法实现及在轴承故障诊断中的应用研究[D].太原:太原理工大学,2008.
[3]韩安,陈南,张肃.基于LabVIEW的滚动轴承噪音测量系统[J].装备制造行业应用,2008(8):106-109.
[4]罗小东,乔学光,贾振安,等.低频光纤布拉格光栅振动加速度传感器研究[J].仪表技术与传感器,2013(12):7-8.
[5]德湘轶.LabVIEW程序设计基础[M].北京:清华大学出版社,2012.
[6]李舜酩,李香莲.振动信号的现代分析技术与应用[M].北京:国防工业出版社,2008.
[7]刘承桥,张耀南,冯克庭,等.基于MSP430F149的冰川参数采集系统[J].传感器与微系统,2015,34(5):59-62.
[8]张杰,张轶,王晓刚,等.基于USB串口的LabVIEW与MSP430通信实现[J].自动化与仪表,2011(3):38-41.
[9]吴怀超,周勇.基于虚拟仪器和MSP430单片机的数据采集系统的开发[J].化工自动化及仪表,2011,38(1):52-55.
[10] 王昌俊.基于MSP430单片机的搏击训练器设计与实现[D].曲阜:曲阜师范大学,2013.
[11]CP2012datasheet[Z].SiliconLaboratories,2005.
Serialportcommunicationbetweensensorandvirtualinstrumentbasedonvibrationsignal
WANGYu-lin,JIANGPing
(AutomationDepartment,CollegeofElectricalEngineering,NantongUniversity,Nantong226019,China)
Abstract:To realize serial communication between acceleration sensor and virtual instrument(VI),LabVIEW ,and transmission medium is rolling bearing vibration signal.Write C language program to drive three-axis acceleration sensor to collect bearing vibration signal,then transmits vibration signal into micro controller unit(MCU),afterwards,VI reads vibration signal in MCU via USB to serial line,and the signal is displayed on VI interface in real time in form of waveform.Acceleration sensor can collect bearing vibration signal,at the same time,value of vibration signal can be displayed in programming software,through a serial port communication program,the numerical wave 00—FF transformed by vibration signal is able to be displayed on VI front panel; by software analysis,it can be found that root-mean-square of bearing is 0.030 782 3,through frequency domain processing,characteristic frequency 25 Hz and high-order harmonic component are isolated separately by power spectrum,consequently,serial port communication between sensor and VI is achieved.
Key words:acceleration sensor; vibration signal; data acquisition; virtual instrument(VI); rolling bearing; serial port communication
DOI:10.13873/J.1000—9787(2016)04—0018—04
收稿日期:2015—07—27
中图分类号:TH 701
文献标识码:A
文章编号:1000—9787(2016)04—0018—04
作者简介:
王玉林(1991-),男,江苏东台人,硕士研究生,主要研究领域为音频检测。
姜平,通讯作者,E—mail:1728116725@qq.com。