基于Labview 的位移测量系统设计
2021-04-30罗瑜
罗瑜
(陕西工业职业技术学院电气工程学院,陕西咸阳 712000)
位移测量在工业生产应用中非常广泛,随着工件精密度要求的提高,相对应的对测量设备的测量数据精度要求越来越高,同时对测量效率、测量数据处理、可靠性、自动化程度、可操作性都有相应的要求。光栅尺以其适应性强、测量精度高等优势在位移测量系统应用中占有很大比重[1]。目前,设计实现的测量系统主要表现在功能实用性方面,在测量数据管理和可操作性方面还有很大提升空间。基于Labview 的位移测量系统具有对位移数据的存储、分析、查询和控制运行等功能,并且在数据处理分析、功能多样化、测量过程自动化、人机交互等方面都有着较大优势,在高精度位移测量仪器上得到了广泛运用[2]。
基于Labview 软件平台,以MSP430 为控制器,利用光栅位移测量技术提出了一种提高工作效率和测量精度的全自动位移测量系统的设计。系统上位机软件实现了对测量数据的存储统计及分析,软件具有数据查询、数据分析、报表生成等功能,使位移测量系统在测量数据管理方面更加方便易用。
1 系统总体设计
该系统上位机软件开发平台为Labview,控制器为MSP430 单片机,结合光栅尺、伺服系统、寻边器等硬件实现系统设计。X轴驱动器用于驱动带动读数头沿X轴移动的X轴电机;Y轴驱动器用于驱动带动光电感应式寻边器沿Y轴方向移动的Y轴电机;光栅尺输出的正交脉冲信号经过细分辨相电路处理后为两路信号输出[3],控制器通过处理细分辨相电路的输出信号获取X轴的运动方向及实际位移;系统以串口通信方式实现上位机与控制器之间的数据交互;系统中通过接入Access 数据库实现对批量测量数据的分析、存储、查询管理。系统结构图如图1所示。
图1 系统结构图
系统选用栅距为2 μm 的光栅尺作为位移传感器,实现±10 μm 的测量精度,光栅尺输出的AB 相正交编码信号经细分辨相电路提高位移测量精度。基于Labview 软件平台开发的上位机软件,实现简单易用的人机交互[4];上位机通过串口实现与控制器的数据交互,包含发送控制系统运行命令、接收反馈的测量数据;上位机通过与Access 数据库连接,实现测量数据管理相关操作。系统中选用具有高分辨率编码器的电机,实现高精度位置定位及位置反馈,其中X轴电机用于带动光栅尺上的读数头沿X轴方向移动,Y轴电机用于带动光电感应式寻边器沿Y轴方向移动。寻边器用于检测是否接触到被测工件。
2 系统硬件设计
2.1 光栅尺信号采集电路
光栅尺主要由光源、透镜、标尺光栅、指示光栅、光电接收元件组成。当被测物体移动一个栅距时,光栅传感器每相输出一个脉冲信号,输出的脉冲数即反馈的位移信息[5]。如果对反馈脉冲进行计数,则位移的分辨率就是光栅尺的栅距距离,假设每毫米光栅尺有500 个刻线,则测量精度可达2 μm。光栅尺输出信号为相位差为90°的方波信号A 和B,当读数头前后移动时,AB 相输出脉冲信号在一个周期内有4 种状态。当读数头向前移动时,A 相信号比B 相信号超前90°;当读数头向后移动时,A 相信号比B相信号落后90°。光栅尺输出的AB 相信号波形如图2 所示。
图2 光栅输出信号波形图
系统设计中根据光栅尺输出的正交编码信号特性,对信号进行细分辨相处理,测量精度可提高4 倍。根据光栅尺输出的AB 相信号之间的相位关系,设计细分辨相电路,将信号转换为两路信号输出:一路输出为经过细分处理后的四倍频信号,另一路输出为运动方向信号。图3 中上方所示波形为A 相信号,下方所示波形为经细分辨相后的四倍频信号波形。
经细分辨相后的四倍频信号接入控制器的脉冲计数端口,运动方向信号接入控制器的普通数字输入端口,控制器对输入的脉冲信号计数,对计数结果根据运动方向做相应处理,获取X的实际位移。细分辨相电路原理图如图4 所示。
2.2 寻边器信号采集电路
图3 信号细分波形图
图4 细分辨相电路原理图
该系统采用光电感应式寻边器,寻边器的主要功能是检测是否接触到被测工件。将寻边器固定在Y轴上,X轴电机带动寻边器在X方向移动时,移动过程中若碰触到被测物体即产生电平信号变化输出。此信号作为控制器的输入,控制器根据检测到的电平信号变化进行相应动作和数据处理。寻边器信号采集原理如图5 所示。
图5 寻边器信号采集原理图
2.3 串口通信电路
在系统设计中,控制器有一个全双工的串行通信口,控制系统通过串口通信实现数据交互。硬件设计中需要有电平转换电路实现PC 机的RS232 电平与单片机的TTL 电平相互转换[6]。
3 系统软件设计
系统软件设计分为两部分,上位机软件实现与数据库连接、测量数据存储及查询分析、串口通信、命令发送及数据接收,测量控制系统软件实现串口通信、位移数据的测量、测量数据发送、命令接收及执行。
3.1 数据库存储及查询
Database Connectivity工具包是为Labview用户提供的一个专门和数据库连接的工具包[7],可以实现数据库相关的操作。安装成功的Database Connectivity 工具包将会在函数选板的附加工具包列出所有VI[8]。系统设计中将Labview 与数据库进行连接,实现将测量数据等信息存入数据库中。Database子选板如图6 所示。
图6 Database子选板
工具包只能操作数据库,无法创建数据库,必须借助第三方数据库管理系统建立数据库后才能执行相关操作[9]。文中系统采用Access 来创建数据库,利用DSN 连接数据库,使用SQL 查询语句进行检索。数据库操作包含打开和关闭数据库连接、数据库列插入及提取、表中所有列信息返回等操作[10]。测量表返回程序如图7 所示,数据库写入程序如图8所示。
图7 测量表返回程序
Database Connectivity 工具包中的函数不能实现记录查询操作[11],只可把连接数据库中的所有数据读取出来,经过条件筛选处理得出其中某一条数据。当测量数据量庞大时,使用函数读取再做条件筛选的方法已经无法满足应用要求,需要速度更快的检索方法。因工具包完全支持SQL 语言,检索时可以使用SQL 查询语句实现检索操作。首先,根据需求创建SQL 语句;然后,利用DB Tools Execute Query.vi 函数执行。在工件表中按工件号查询数据程序,如图9 所示。
图8 数据库写入程序
图9 按工件号查询数据程序
通过Labview 丰富的报表生成子VI,实现报表输出,可以生成Word、Excel 等报表,满足数据分析的不同需求[12]。生成的测量数据报表可供后续查询和对比。报表生成基本思路是先建立一个空白的Excel表格或Word 文档,完成数据采集和数据处理等任务后,把得到的测试信息、数据等其他信息转换为字符串格式,利用Labview 的工具包生成报表[13],把测量结果写入表格中预先规定好的位置,并将数据曲线放到报表的指定位置。
3.2 实测数据分析
位移测量系统获取测量信息后,还需使用此系统判断工件的尺寸是否合格。测量信息表按照时间升序排列显示程序,如图10 所示。测试所得部分数据如图11 所示。
图10 按时间升序排列程序
图11 测量结果
从图11可以看出,对同一个工件进行重复测量,测量误差在±10 μm 内,重复测量精度为2 μm,测量结果满足系统精度要求。经分析,误差的主要来源有两方面,一方面是丝杠的螺纹与螺母之间存在间隙,每次转换方向时都会存在回程误差;另一方面是X轴速度不同时,寻边器装置触头与工件接触的偏离会有不同。
设计中,利用统计分析处理获得工件测量数据的统计参数值,根据数据分析的结果判断工件的质量情况。工件质量分析程序如图12 所示。
图12 工件质量分析程序
3.3 串口通信程序
上位机系统与测量控制系统之间的数据交互通过串口实现。Labview 具有很强大的串口通信功能,使用仪器I/O 选板中的串口(Serial)子选板功能函数实现串口通信功能[14]。使用VISA 配置串口函数,按照实际应用配置后,利用VISA 写入函数、VISA 读取函数实现数据的发送与接收,在串口功能使用完毕后,需使用VISA 关闭函数关闭串口。串口接收数据程序框图如图13 所示。
图13 串口接收程序框图
上位机发送和接收的数据帧都必须严格按照设计的交互协议传输[15]。上位机控制系统发送命令包括电机的正反转控制命令、速度控制命令、测量系统的启动停止、全自动运行等。上位机系统接收的数据包括返回的测量数据、运行信息等。
串口接收到数据后,首先需要判断接收到的数据是否完整[16],数据完整则对数据进行处理,反之放弃数据。程序中使用匹配字符串函数进行处理,匹配正确时有字符串输出。
3.4 测量系统软件设计
测量系统软件采用模块化设计,软件包括主程序、数据采集处理程序、电机控制程序、串口通信程序、中断处理程序。系统主程序包含时钟初始化、端口功能配置、串口初始化、调用程序子模块实现功能等。主程序流程图如图14 所示。
图14 主程序流程图
数据采集处理程序实现了对光栅尺经过细分辨相后输出脉冲信号的计数,并计算得到位移数据。串口通信程序实现测量系统接收来自上位机系统的控制命令,根据控制命令运行并返回测量信息。电机控制程序通过PWM 脉冲控制电机运行,PWM 脉冲信号频率控制电机的运行速度。
4 结束语
文中介绍了一种基于Labview 的全自动位移测量系统的实现。系统上位机以Labview 为软件开发平台,以MSP430 为控制器,结合光栅尺、电机驱动系统、寻边器等硬件完成。系统实现了对X-Y工作台上X方向的位移测量,并将测量结果发送至上位机,上位机系统中接入Access 数据库用于对批量测量数据的存储和管理。