基于C Sharp的激光位移传感器校准装置测控软件设计
基于C Sharp的激光位移传感器校准装置测控软件设计
作者:童中雷[1] ;严利平[1] ;崔建军[2] ;邵宏伟[2]
激光测距仪能够实现高精度非接触式地测量被测物体的位移变化,广泛地应用于精密检测、逆向工程、机器视觉、科学研究等领域。激光位移传感器在测量使用前需要进行校准标定,其校准工作目前参考JJF 1305-2011 《线位移传感器校准规范》等现有的规范进行。激光位移传感器自身具有参考距离、测量精度高等特点增加了校准难度,在校准过程中,会因为测量速度慢而增加温度变化的影响以及人为因素引入误差等情况,影响到校准结果的准确性。因此需要建立专用于激光位移传感器的自动校准系统。
开发自动校准系统需要选择合适的程序设计语言,例如C/C++、C Sharp以及LabVIEW等。C Sharp语言是由 C/C++演化而来的面向对象语言 (Object-Orientede Language),在继承了C/C++强大功能的同时摒弃了它们的复杂特性,更加易用、更少出错]。C Sharp特有的委托和事件机制能够将函数作为参数变量传递,提高了程序的灵活性,易于程序员后期的修改、维护和扩展。LabvIEW在数据采集和仪器控制中应用广泛,但是对非 NI的硬件兼容性不如C Sharp语言,因此选择 C Sharp进行仪器设备的通信与控制程序开发具有高效性、便利性和高兼容性。
本文针对激光位移传感器的校准需求,基于C Sharp语言设计和开发了该传感器自动校准装置测控软件,实现了直线位移平台的自动控制、测量数据的自动采集、数据处理于保存,提高了测量速度,降低了运算过程等引入的测量误差,从而提高了校准的准确性。
1 系统设计
1.1 系统硬件组成
系统的硬件组成主要有工控机、激光干涉仪、直线位移平台、数字多用表等仪器设备。激光位移传感器自动校准装置总体框架中各类仪器设备在校准装置系统中的作用及其技术指标如下:直线位移平台在校准装置中作为执行机构提供位移变化,其行程为100mm、位移速度可调节 (最高可以达到100mm/s)、位移分辨力为0.05m、重复性为0.1m、回程误差为0.2m。激光干涉仪测量的位移值在作为高精度激光位移传感器校准参考值的同时,也实现了对米定义的溯源,激光干涉仪的测量范围最高可达80m、最高测量速度为4m/s、测量精度为0.5ppm、测量分辨率为1nm。通常激光位移传感器输出信号为电流或者电压,因此采用高精度数字多用表测量其输出信号,数字多用表的测量准确度与其测量范围有关,例如电流测量范围为4-20mA时,具有400ppm 的准确度。工控机在系统中主要负责测控软件的运行,控制各类仪器设备之间地相互配合工作。
1.2系统的软件设计
1.2.1 用户界面及功能设计
本系统采用了Windows froms应用程序进行用户界面的设计。Windows froms应用程序具有丰富的图形控件,是,NTEFramework要组成部分,能够支持 C Sharp语言开发应用。图形控件具有许多属性事件,包括鼠标单击、数值变化等,通过对这些具体的属性事件编程可以完成参数设置等具体操作。
用户界面设置了3个显示框,分别显示激光干涉仪示值、数字多用表电流示值以及直线位移平台反馈的定位信息。显示框下方设计了多个分页,其中控制输入分页左侧设计测量范围等检测条件的设置面板、手动控制面板和自动控制面板,通过按钮控件来触发相关事件,完成需要的操作。控制输入分页的右侧则设计了表格用于保存显示实验测量数据。此外针对各仪器设备分别设计了用于其通信和控制的分页。
测控软件按功能主要划分为5个模块,每个功能模块都包含若干个子模块实现具体的任。
1)初始化模块,主要实现硬件连接与初始化、软件初始化、测试参数设置 (测量次数、采集点数等)。
2)位移控制模块,主要实现直线位移平台的速度、加速度、零位以及步进等数据的设置。
3)数据采集模块,主要实现对激光干涉仪读数的采集和对数字多用表读数的采集,其中包括了读数稳定判断、采集命令的发送和数据的接收。
4)分析处理模块,主要实现对数据的分析计算,具体包括采用多种曲线拟合算法分析线位移传感器的线性度、灵敏度、基本误差和重复性等计量特性,然后再将原始数据和分析显示在用户界面的表格中。
5)显示交互模块,主要实现将采集到的数据用表格的形式显示在测控系统软件的用户界面中,还包括了激光干涉仪读数、数字多用表读数以及直线位移平台定位的显示。此外,还实现了对excel表格的读写功能,以便将采集到的原始数据和处理后的结果保存至计算机硬盘中。原始数据和计算结果的保存需要调用微软公司的excel组件,扫描excel表格内的行列进行数 据 的 读 写。数据在用户界面内的显示需要Windows froms的表格控件,采集到的数据在传递给表格时采用了先入先出队列 (FIFO),可以避免数据传递时丢失或重复使用等情况的发生。
1.2.2 仪器的通信与控制
对各台仪器的功能特点进行分析,将同一类的仪器抽象出相同的属性封装成类。类是面向对象程序设计的核心,类的实例 (即对象)构成了程序主体,根据实际需要实例化所需的设备类对象,实现对具体仪器设备的控制与数据采集。这些仪器设备类的设计有利于软件系统的维护,同一系列的设备升级时只需要修改其对应的类即可,提高了软件代码的可重用性和可拓展性。
数字多用表通过RS232串口与测控软件通信,为此需要实例化一个串口类,设置通信端口、波特率等参数,然后通过串口发送SCPI命令 (standard cooands for programmable in-struments,用于可编程仪器的标准命令)控制数字多用表采集读数。大多数可编程的测量仪器设备都可以使用SCPI命令控制,并且支持串口通信,因此将常用的测量与设置命令 (例如电压采集命令、电流采集命令、分辨率设置等)也封装为同一个类的静态常量,再根据实际需要通过串口发送给测量仪器进行控制,提高了测控软件的在对激光位移传感器输出信号测量方面的可互用性。
激光干涉仪示值 的显示与采集则通过对其动态链接库(dynamic link library,DLL)中的成员变量和类方法进行封装,实例化激光干涉仪类,然后调用类命名空间里的函数采集激光干涉仪的示值并显示在文本控件上。激光干涉仪示值的实时显示则利用到了C Sharp的委托和事件机制,定义一个示值更新事件用于进行激光干涉仪测量相关参数的设置和测量数据的采集并且实现声明该事件的委托,再利用 “+=”运算符将该事件添加到事件队列,然后设置引发事件函数便实现了在用户界面上实现激光干涉仪示值的实时显示。
直线位移平台类的设计过程是将设备序列号或者基地址、重要的参数等属性设置成一个类的私有成员变量,并且将实现设备连接、设备断开、采集等功能的成员函数等封装至同一个类当中,将其访问属性设置为公共属性作为外部接口,以方便在主程序控制定位平台移动时调用需要的类方法、参数等。
1.2.3 测控流程设计
激光位移传感器校准工作的自动化实现主要需要初始化模块、位移控制模块和数据采集模块3个功能模块的配合。初始化模块根据线位移传感器的量程完成测量范围、测量次数、测量数据点数的设置,并且完成仪器设备的连接与相关控制参数的配置;位移控制模块则根据测量范围和测量数据点数设置定位平台的步进,根据实际需要设置定位平台移动的速度,在自动校准的工作循环中判断定位平台的移动方向,实现激光位移传感器在满量程内一次或多次定位校准;数据采集模块则需要在定位平台移动至某一测量点停止时判断读数稳定,再采集激光干涉仪的读数和数字多用表的读数。
读数稳定的判断有两种实现方法,一是在一个记录点位置连续快速采集多组数据然后取均值;二是判断仪器读数单位时间内的变化量,这里的判断条件可以设置为当仪器的示数在1s内的变化量不超过该仪器的分辨力,则认为仪器示数稳定。这两种方法编程上都容易实现,只是第一种方法的计算量比第二种更大,并且仪器示数的不稳定可能是定位平台没有移动到位而进行的微调引起的,若是将这部分的示数也平均到采集的读数中,则会引入误差,因此采用第二种读数稳定判断方法。
2 计量特性的算法实现
软件分析处理模块中包含线性拟合与计量特性计算两个子模块,激光位移传感器的计量特性主要有灵敏度、基本误差、线性度、回程误差、重复性。其中,灵敏度、基本误差、线性度等计量特性的计算需要对测量数据进行线性拟合。本系统中线性拟合算法主要有最小二乘法、端基直线法以及最大最小偏差法。
最小二乘法的特点是拟合值与实际值偏差的平方和最小,因此该方法也是最常用的线性拟合算法。
端基直线算法函数的设计思路为利用一组数据的首尾两个端点计算参比直线的斜率和截距,该方法最简单、容易实现,但是偏差最大。
ymax表示原端基直线的拟合值与实测值的最大正偏差,Δymin表示原端基直线的拟合值与实测值的最小负偏差。最大最小偏差法的特点是使得原始数据与拟合数据的最大正偏差与最小负偏差数值相等且最小,因此该算法可以很好地改进其他算法计算所得的参比直线。该算法对参比直线的改进不改变原直线的斜率,只是将原直线进行平移,因此改进后的端基直线也被称为平移端基直线。最大最小偏差法也可以用来改进最小二乘法,不过平移后的最小二乘参比直线会失去原直线偏差的平方和最小的特点,所以本文采用这几种直线拟合算法计算出其各自的线性度,以便校准时根据实际的需求选择参考。
利用程序的分析处理模块进行计算,可以有效减少人工计算时多次中间计算结果四舍五入而引入的误差,提高测量结果的准确性。
3 校准实验与精度评定
3.1 实验方法
为了测试测控系统软件的可靠性和实用性,采用某一款激光位移传感器进行实验验证。激光位移传感器的量程为10mm,输出信号为电流信号,输出范围是4-20mA,线性度为±0.1%,重复性1μm。将激光位移传感器安装到线位移传感器自动检测装置上,调整激光位移传感器的位置,符合阿贝原则,并且使数字多用表显示的电流值为4mA。
实验测试时,操作用户界面,设置测量范围为0-10mm,单向测量点数为11个点,实验次数为3次,设置定位平台的步进为1mm,然后再单击 “开始”控件按钮进入自动控制循环,等待测试完成。激光位移传感器的重复性测量结果为0.001 307mA,换算到位移偏差约为,小于生产商提供的1μm重复性指标。激光位移传感器的线性度指标按3种直线拟合算法计算的偏差曲线如图5所示。
3种直线拟合算法计算激光位移传感器得到的线性度都小于生产商给定的指标0.1%,并且结果分别如下所示:最小二乘线性度为0.05%,端基线性度为0.09%,平移端基线性度 (最大最小偏差法)为0.05%。由此可见最大最小偏差法对端基直线法的改进效果显著,与最小二乘法计算的线性度相比数值接近,有时甚至更小,因此在对激光位移传感器标定时也可以考虑使用最大最小偏差法。
3.2 精度评定
结合实验进行分析,测量的主要影响因素有:仪器设备、重复性、回程误差、环境变化、安装误差等。仪器设备引入的不确定度分量按均匀分布处理,取包含因子k=3;激光位移传感器重复性和回程误差按均匀分布处理,取包含因子k=3;环境变化的影响主要体现在温度变化,恒温实验室2小时内温度变化不超过0.2℃,测量实验几分钟内便可完成,因此温度变化引入的不确定度可以忽略不计;激光位移传感器的安装符合阿贝原则,因此安装误差引入的不确定度也可忽略不计。
4 结论
激光位移传感器的验证实验结果表明了基于 C Sharp设计的激光位移传感器自动校准软件的可靠性,数据的自动采集和计算也避免了人为因素引入的误差,并且设备参数、实验次数等调整方便、可操作性强,有效提高了线位移传感器校准的准确性和效率。
本文章转自爱学术(aixueshu.com),如有侵权,请联系删除