摘 要:在气动测量理论的基础上,对机械零件内孔进行非接触精密测量,并对系统进行硬件和软件总体设计,包括数据采集、数据分析、误差分析.实现了以气动量仪为核心部件,计算机为辅助工具对零件内孔的高精度测量.
孔类零件是机械零件中很重要的一类,广泛存在于国民经济中的各个行业,例如汽车行业中的柴油发动机燃油系统的喷油嘴偶件就是很重要的孔类零件.很多零件内孔配合精度要求高,对于图1所示的5种内孔的形状,在生产现场的检测中往往测量困难,测量精度不高.
气动测量是一种应用较广泛的精密测量技术,常用的气动量仪根据测量原理可分为流量式和压力式两大类.数字化气动测量技术是一项集气动、电子、微机与检测技术于一体的机电一体化新技术[1],既有气动测量非接触、精度高、稳定性好的长处,又有测量结果数字化的优点,可方便地进行数据分析处理、数字显示与打印等.
1 数字化气动检测系统测量原理
1.1 系统总体设计方案
数字化气动测量系统总体设计方案如图2所示,它包括气动测量、气电转换、数据采集和处理等部分.
1.2 差压式气动测量的基本原理
目前,气动在线检测系统中普遍采用背压式和差压式两种测量方法.单纯压力式测量有它的缺点,即对气源要求过高,否则当喷嘴与工件之间的距离改变时,气源压力一旦发生波动,工作压力就会发生变化,从而造成测量误差,破坏量仪的稳定性[2].而采用差压式测量就可解决这一问题,并能改善量仪的性能.所以本系统中用差压式测量技术.
差压式气动测量气路原理图如图3所示.测量回路由两个背压回路组成,测量时两个背压回路处于相同的环境压力和温度下,使外界环境(压力、温度和湿度等)对测量的影响降到小,测量精度高、稳定性好[3].
空压机1将压缩的空气送至滤清器2过滤灰尘、水、油等杂质后进入气阀3和稳压器4,稳压器的输出压力为p0.测量时通过两个直径相同的节流孔5、6同时向两个回路输入相同压力的气体,一路经节流器5通过调零阀8流入大气,另一路经节流器6通过测头与被测零件间缝隙流入大气[4].回路1是平衡压力,回路2是测量压力,连接两回路之间的压力变送器7采集测量压力与平衡压力的差值$p=p2-p1作为被测信号,经放大后输出就可测得被测参数S的大小.
2 数据采集系统的组成
2.1 采集系统的硬件构成
原始数据的取得采用电子柱气电测微仪DZL-3-50.电子柱气电测微仪根据差压式气动测量原理与电感式压力传感器配套使用,将测得的压力通过传感器转换为电信号,作为下一步处理的信号源.电子柱气电测微仪DZL-3-50的主要性能如下:信号支持继电器输出、OC门输出、BCD输出;通信接口支持RS232或RS485;支持I/O输出功能;可编程控制.
数字信号的采集采用PCI-8335B数采卡.PCI-8335B数据采集卡是一款PCI总线的多功能数据采集卡,其中包括5种常用的测量和控制功能:12位A/D转换、D/A转换、数字量输入、数字量输出及计数器/定时器功能;提供了TTL电平的12路数字量输入和14路数字量输出信号通道及2路16位计数器,这些信号通道由卡后端40芯扁平电缆转换为37芯D型插头提供给用户.
2.2 数据采集方法
数据采集卡的编程方式主要有以下3种:软件触发方式、中断方式和DMA方式.
软件触发方式实际上就是采用系统提供的毫秒精度等级以上的时钟,通过对寄存器的查询来实现数据采集,由于其数据采集速度比较慢,多用于低速数据采集场合.中断方式需要编写中断服务程序,将板卡上的数据传到预先定义好的内存变量中,每次A/D转换结束后,EOC信号都会产生一个硬件中断,然后由中断服务程序完成数据传输,但是要确定中断级别[5].DMA方式应用比较复杂,但是由于不需要CPU参与,所以适合应用于大量数据的高速采集,和中断方式一样,也要DM*别[3].
2.3 数据采集编程
基于本系统的需要,选择中断方式来完成对数据采集卡编程.中泰PCI-8335B数据采集卡设备驱动程序支持Visual C++6.0.通过DRV_FAI-IntStart函数启动中断功能,此功能运行于后台,可以使用DRV_FAICheck函数检查工作状态,同时可以使用DRV_FAITransfer函数传输数据.当工作结束,或者在其它任何时刻,都可以采用DRV_FAIStop来停止工作.
为了防止在数据采集时丢失数据(特别是在像Windows这样的多任务操作系统下),通常板卡完成A/D转换后,将数据写人到数据输出寄存器中,接着使用中断服务功能将数据传输到CPU/内存,所以PCI-8335B数据采集卡添加了FIFO功能.如果没有FIFO功能,当每一次硬件完成A/D转换后,会改写保存在数据寄存器中的值,从而造成数据的丢失,使用FIFO功能后,使得新数据会存到缓冲区中.
数据采集编程工程中将程序分成4个模块进行编写,添加4个成员功能函数,分别为kaOpen(),DCollect(), kaClose(), Daist().数据采集模块的具体编程设计如下:
在kaOpen函数中,首先初始化定义变量,将变量设定初值,具体数据参考表1.初始化变量以后,定义一个数组并清零,用这个数组存放数据.为了在打开数据采集卡时能够及时地发现错误,编写了错误判断语句,如果数据采集卡没有反应,可通过这些判断语句发现什么地方出现错误,并通过警告信息提示.
ErrCde = DRV _ DeviceOpen ( DeviceList[gwDevice]. dwDeviceNum, (LONG far *) &DHandle )的功能是将数据采集卡打开,打开设备的操作是在使用设备进行数据采集等编程操作之前必须进行的.为了得知数据采集是否打开,DRV_DeviceOpen函数的返回值为一个设备打开成功或失败的标记,通过程序中的if语句来判断,如果打开卡不成功,我们可以很容易知道什么地方出错,并通过消息框将错误显示出来.
实现功能取得设备设置的代码如下:
ptDevFeatures. buffer = ( LPDEVFEA-TURES)&DevFeatures;
ptDevFeatures. size = sizeof (DEVFEA-TURES);
if ((ErrCde = DRV _ DeviceGetFeatures( DHandle, ( LPT _ DeviceGetFeatures )&ptDevFeatures))! =SUCCESS)
{
AfxMessageBox(/不能获得设备特征0);
DRV_DeviceClose(&DHandle);
return;
}
初始化ptDevFeature结构变量中的变量buff-er,size.然后调用DRV_DeviceGetFeatures,通过DriverHandle参数取得该设备的设置,其他语句进行出错判断.
3 系统的软件部分组成
系统的主要功能模块如下:
(1)系统初始化模块:为确保电气系统在测量时的安全及采集精度,首先运行自检程序,应确保系统地线接地良好,如果没有接地,则报警;检查气源压力是否在0.4~0.8MPa,若低于或者高于工作气压,则报警.
(2)检测设置模块:为了对不同尺寸档的工件进行测量,就必须使用不同的测量头.
(3)测试和测量模块:该模块分为手动和自动测量.手动测量时被测件套在测头上,启动测量系统采集数据;自动测量时数据采集卡始终处在开放状态,当被测件放入工作台,电压保持稳定时自动测得数据.
(4)数据统计与分析模块:通过采集的数据可以计算零件的圆度、锥度等参数;调用存储的数据进行统计分析,用数理统计的方法对数据进行处理,能够进行平均值和标准差值的计算,分析加工工件的尺寸变化规律,还能够对工件尺寸进行设定,通过图形查看是否存在不合格品.
4 实验数据与结果分析
被测工件为一液压阀体,孔径<20+0.0230,孔长为80mm,大批量生产,锥度要求小于27×10-6,同时测出孔径和锥度.在相同条件下依次对20个工件连续进行等精度测量,测得孔径及锥度见表1,表1中数据加零件基本尺寸20×10-3mm为测量的实际孔径大小.
实验表明,这20个零件中在第8个零件测量时孔径差大于2Lm,锥度不满足产品小于27×10-6的要求,属于不合格产品,其余均属于合格品.
5 结束语
采用差压式气动原理对零件内孔进行自动测量,度高,转换速度快,系统结构简单,输出电信号便于后续处理.若利用计算机进行数据处理,可方便地实现数据统计分析,从而构成智能化自动测量系统,可大大提高测量自动化程度和测量效率.
参考文献:
[1]汪立洲.机械加工中的气动测量[J].计测技术,2007,(05):58-59.
[2]杨洪涛,吴天凤.智能气动测量系统的研究[J].煤矿机械,2003,(02):21-23.
[3]叶宗茂.气动测量技术[J].现代零部件,2005,(10):34-36.
[4] Goghari A A,Chandra S.Producing droplets smaller than thenozzle diameter by using a pneumatic drop-on-demand dropletgenerator [J]. Experiments in Fluids, 2008,44(1):401-424.
[5]周 林,殷 侠.数据采集与分析技术[M].西安:西安电子科技大学出版社,2005.
作者:牛贾睿 杨慕升