基于数据采集卡AC6622和VC++6实现滚动轴承数据采集系统的设计

描述

滚动轴承是旋转机械的重要零部件之一,其工作状态直接决定机械系统的性能及运行情况。在工程实践中,滚动轴承的一个微小故障都可能导致生产线的停机或损坏设备,造成严重的经济损失。因而对滚动轴承工作状态进行实时监测,及时发现故障并制定可靠的维修策略具有重要意义。

为获得不同故障程度的数据,通常先用电火花加工不同直径的点蚀故障,再测量缺陷轴承的振动加速度数据。而滚动轴承的疲劳失效是长期渐变过程,点蚀故障与轴承疲劳剥落的机理不同,也难以模拟性能失效的缓慢变化过程。因传统滚动轴承寿命试验方法具有周期长、费用高且试验结果可靠性差等缺陷。文中采用能在保持疲劳失效机理一致的前提下,大大缩短试验时间、降低试验成本的滚动轴承强化寿命试验方法。国内滚动轴承数据采集系统多数是芯片级的连续实时采集和保存的数据采集系统。这类采集系统的稳定性需要反复测试、存储数据量大。而轴承强化寿命试验也是耗时长、数据采集量大。为了准确可靠检测疲劳失效,要求数据采集系统实时多点检测,在连续采集数据的同时还能以固定时间间隔存储固定时间长度的数据。试验采集系统应节约存储空间,并能有效提取滚动轴承疲劳失效渐变过程数据。这样就提出了比一般数据采集系统更高的要求。文中设计的采集系统为板卡级,具有抗干扰力强、性能稳定的优点。在满足系统设计要求的前提下,采用国产采集卡和传感器,缩减了采集系统的成本,较之同类数据采集系统有着较大的价格优势。并在精确定时定量保存数据方面作了改进,弥补了一般轴承故障诊断采集系统不具备在连续采集的同时进行精确定时定量的数据保存工作,因而大大节省了存储空间,并能有效提取有用信息。文中设计的采集系统在轴承强化寿命试验中成功采集到了有效振动数据。

1 系统硬件设计

根据上述要求文中设计的采集系统总体框架如图1所示。

分辨率

滚动轴承强化寿命试验是在杭州轴承测试中心ABLT-1型试验机上进行的,如图2所示。

分辨率

1.1 加速度传感器

滚动轴承的振动信号属于高频信号,因此采用加速度传感器进行信号的拾取。压电加速度传感器是利用压电效应原理,将作用于其上的加速度转换为与之成正比的电荷量,再经过电荷放大、变换成输出电压信号。考虑到本系统的频率在4kHz以下,轴承载荷负载的加速度不会超过10g,采集工作现场环境温度高、试验环境恶劣、要求精度高等因素,所以本系统选用上海北智公司100系列15117型压电式加速度传感器。该型号传感器具有测量信号质量好、噪声小、抗外界干扰能力强、输出电压范围为±5V等优点。其主要性能参数如表1所示。

分辨率

1.2 数据采集卡

由于采集系统要求实时快速多通道数据采集,且滚动轴承的失效是个慢变化的信号,所以要求A/D转换的分辨率高,以提高检测数据的精度。鉴于以上要求,本系统选用北京双诺测控公司生产的数据采集卡AC6622,AC6622其是一款基于PCI总线中速采集卡,支持全速实时不间断采集。主要性能参数如下:

(1)16路单端输入。输入电压:5/10 V、±5 V,软件控制。

(2)A/D转换器:16位A/D,采样频率可达250 kHz。

(3)通道输入阻抗:10 MΩ。

(4)输入通道支持任意起始到任意结束通道的自动扫描。

(5)系统精度:0.02%FSR。

(6)卡上内置4 kB采样FIFO缓冲器。

2 系统软件设计

本系统要求界面友好、操作方便、实时多通道采集大量数据,特别是为了准确测定失效时间和故障的诊断和预测提供可靠的数据,要求准确记录数据及时间。根据以前统计经验一般一次实验持续约为30天,连续采样数据达几百GB,所以准确记录数据及时间是本系统设计的关键技术。

系统在Windows XP下采用VC++6.0软件实现数据采集。Microsoft Visual C++是一款功能强大的可视化应用程序开发工具。凭借其强大的功能和易学等特点受到了广大程序员的欢迎,在数据采集和工业控制领域得到了广泛应用。虽然VC++自身无法对计算机的底层硬件进行访问以及利用各种接口板进行数据采集和时间控制,但是通过调用驱动程序提供的动态链接库函数,就可以实现对I/O口的访问和控制。

AC6622采集卡以动态链接库的方式封装了用户在Windows环境下编程需要的函数,无需用户编写驱动程序,这样就大大缩短了整个数据采集系统的开发周期。在这些函数中,几个重要的函数如表2所示。

分辨率

数据采集程序设计的关键问题是在实现连续采集的同时以固定时间间隔保存固定时间长度的振动数据。AC6622采集卡是在FIFO半满时产生一次中断,驱动接收中断后自动将2 kB数据保存在内部缓冲中,而后用户通过调用Read_A/D()函数读取内部缓冲中的采集数据。采集卡没有提供用户使用的中断源,要实现精确定时写入定量的数据到存储设备中,无法通过采集卡硬件中断实现。

实现定时数据存储有两种方案,第1种方案是利用Windows下提供直接使用的定时器函数控制数据采集卡定时自动保存数据。第2种方案是根据采样率一定情况下,每个采样点所用时间是固定的,通过查询采集卡读回数据的长度进行时间换算,进而通过控制每次读回数据的长度进行时间上的定时。

第1种方案虽然有编程简单,容易实现的优点,但是利用VC6++编程时,Windows下提供直接使用的定时器函数SetTimer()、KillTimer()和()nTimer()函数的定时精度只有55 ms,而且通过SetTimer()函数设置的常规定时器的定时事件是由消息引发的,而Windows是一个多任务的操作系统,在其消息队列中的定时器消息WM_TIMER的优先级很低,所以较难保证所发出的定时消息能及时得到响应和处理。此外Windows的工作方式为抢占式,其内部的时间管理函数并不能实现等间隔的时间控制。因此第1种方案只适用于定时精度不高的地方,这样就不能满足本系统精确定时的要求。

第2种方案在编程上较第一种方案稍复杂,通过查询采集卡读回数据的长度实现定时功能,而该方式的定时依赖于采集卡硬件自身的时钟系统,较第1种方案定时更加精确,在200 kHz的采样率下定时精度能达到5μs。因此文中采用第2种定时方案。系统流程框图,如图3所示。

分辨率

数据定时方面,对于因调用Read_A/D()函数的时间间隔不能严格相等,导致Read_A/D()函数每次返回的数据长度可能会不相等,致使无法准确定时的问题。解决方法是开辟一个用户缓存区作为数据缓冲池,每次从数据缓冲池获取定长数据量。具体实现的部分代码如下

分辨率

分辨率

数据保存方面,因每秒钟需将大量浮点型数据写入文本文件所占用的时间远远超过了调用Read_A/D()函数允许的最长时间间隔,导致内部缓存溢出。于是提出将采样数据放到临时开辟足够大的用户缓存中,然后调用fwrite()函数一次性将用户缓存中的数据写入到文本文件中,具体实现的部分代码如下

分辨率

分辨率

通过以上关键技术能很好解决精确定时和多条通道数据实时采集。

3 试验结果

为防止出现因追加保存数据操作的时间过长而影响采集系统的实时性,所以每分钟采集数据保存一个文件。两次数据采集共持续了24天14时25分,占用209 GB的存储空间,如果使用普通的连续采集系统需要占用2 508 GB存储空间。应用文中设计的数据采集系统对ABLT-1型滚动轴承强化寿命试验机进行数据采集。采集结果如表3所示。

分辨率

实际采集结果表明文中设计的采集系统能够较好地实现连续采集和定时数据存盘,并且较普通连续采集系统能节约更多存储空间,实现精确定时。文中设计的采集系统适用于需要长时间连续采集,精确定时存储和大量数据保存的数据采集工作。图4为系统单通道在50 kHz采样频率下所采集的滚动轴承振动信号波形图。

分辨率

由上述结果看出,采集数据能实时准确记录滚动轴承振动信号,达到系统设计要求。

4 结束语

文中提出的基于工业PC机和数据采集卡的连续数据采集定时自动存储的采集系统,通过循环检测用户缓存是否装满以实现采集卡的定时数据保存功能,能实现精确定时并具有良好的实时性。该系统应用于滚动轴承强化寿命试验数据采集,能记录漫长失效过程的有效信息,且节约存储空间并降低采集系统成本。

责任编辑:gt

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分