基于LabVIEW的低成本直线超声波电动机速度测试系统
2023-03-03宋勇宏王中营秦鸿飞郭永刚
宋勇宏,王中营,秦鸿飞,郭永刚
(河南工业大学 机电工程学院,郑州 450001)
0 引 言
超声波电动机利用压电陶瓷的逆压电效应,激发定子产生超声波微幅振动,并通过定、转子之间的摩擦力转化为转子的宏观运动,驱动负载[1]。与传统电机相比,超声波电动机具有响应快、体积小、自锁性等优点,广泛应用于生产制造、生物医疗、消费电子等领域。随着科技的发展,直线超声波电动机作为直线驱动装置受到了广泛应用和研究,市场上出现的直线超声波电动机种类也越加丰富,对直线超声波电动机的应用要求也越来越高,随之而来的直线超声波电动机性能测试系统研究受到了人们的广泛关注[2-3]。
早期受制于技术条件,直线超声波电动机速度测量普遍采用的是米尺测量和秒表同步计时的方法,这种测量方法存在较大的误差,且不能直观地显示结果[4]。随着计算机技术的不断发展,虚拟仪器在工程测试中被广泛使用,研究人员开始利用虚拟仪器开发直线超声波电动机的测试系统[5-7]。采用虚拟仪器与数据采集卡或者虚拟仪器与单片机的组合设计方案,借助计算机通过虚拟面板实现数据的显示和系统的控制,并且能够通过计算机进行数据处理、分析和保存,对后期设备的使用、开发有很大的帮助,与传统测量相比具有很大的优势[8-11]。
随着直线超声波电动机的发展,超声波电动机测试需求也在逐渐增多。对于直线超声波电动机速度测试系统的开发也越来越要求通用性和经济性。基于数据采集卡设计的速度测试系统成本普遍偏高,不利于其推广使用。针对这一特点,本文利用虚拟仪器和市面上常见的STM32微处理器组合,设计一款集数据采集、处理、保存于一体的速度测试系统,为超声波电动机速度测试提供了一种新的选择。
1 测试原理
本文设计的超声波电动机速度测试系统原理是通过采集设定时间内的两次位置变化,通过位移与时间的比值得到速度。
整体设计原理如图1所示。首先激光位移传感器捕获直线超声波电动机的位置信号,随后模数转换模块将位移传感器输出的模拟电压信号转换为数字信号,STM32微处理器控制模数转换模块,完成一定时间间隔的两次位置信号采集,并通过串口通讯模块将两次位置信号传输到PC机,最后基于LabVIEW软件编制的虚拟仪器完成数据处理、显示和保存。
图1 测试原理图
2 测试系统硬件组成
测试系统硬件设备主要有直线超声波电动机、激光位移传感器、模数转换模块、STM32F103微处理器和PC机。其中激光位移传感器、模数转换模块和STM32F103微处理器是该系统实现位移信号采集功能的核心硬件设备。
2.1 激光位移传感器
位移传感器选用德国SICK公司的高精度三角反射式激光位移传感器OD1-B035H15U25,传感器量程30 mm,采样频率2 kHz,重复精度6 μm。
为了降低传感器的测量误差,要对传感器的实际值和采样值进行拟合。位移传感器的拟合是通过传感器自带的位移显示功能和电压表测量的输出信号的实际电压值进行拟合。在传感器量程范围内每毫米采集一个位移值和对应的电压值,得到的数据利用MATLAB进行数据拟合。拟合结果对比如表1所示。拟合后的距离和电压之间的关系:
LV=0.002 566U-10.51
式中:LV的单位为mm,U的单位为mV。
2.2 STM32F103ZET6微控制器
STM32F103ZET6是意法半导体公司生产的一款基于ARM Cortex TM-M3内核的32位高性能微处理器,其内部集成多个功能模块,并且提供了几乎包含所有内外设功能的固件函数库,可大幅降低开发周期。
表1 拟合结果对比
2.3 模数转换模块
STM32微处理器自有的模数转换端口较少,且转换电压较低,为提高测试系统通用性,采用AD7606模数转换芯片。AD7606硬件电路图如图2所示。
图2 AD7606模块硬件电路图
该芯片是ADI公司推出的一款高性能模数转换芯片。该芯片具有8通道16位高精度同步采样功能,最高同步采样速率可达200 kHz,片上集成二阶抗混叠滤波器、跟踪保持放大器、16位电荷再分配逐次逼近型模数转换内核、高速串行和并行接口、且支持±5 V和±10 V两种信号输入,满足目前大多数传感器的模拟输出信号范围。
3 测试系统程序设计
测试系统的程序设计主要由下位机测试程序和上位机测试程序组成。下位机测试程序运行在STM32微处理器中,上位机测试程序通过LabVIEW图形化编程,在PC机中运行。
3.1 下位机程序设计
下位机程序主要包括对模数转换芯片的控制和数据的接收与发送。通过控制AD7606模块完成固定时间内的两次位移信号采集并发送。为便于上位机解析数据,在发送的每组数据前后添加固定的帧头和帧尾,方便上位机通过帧头帧尾解析数据。下位机测试系统流程图如图3所示。
图3 下位机程序流程图
下位机程序的重点是控制AD7606芯片完成数据采集任务,AD7606使用并行模式与STM32F103ZET6微处理器完成数据传输,图4为AD7606芯片并行模式工作时序图。AD7606芯片RESET引脚接收高电位初始化复位信号;CONVST_A和CONVST_B引脚接收到上升沿信号后开启模数转换通道;当转换结束后BUSY引脚由高电位转为低电位。STM32F103微处理器通过检测BUSY引脚电位判断采集是否完成,CS、RD引脚接收到下降沿信号后通过16位数据端口逐一读取每个通道的数据。
图4 AD7606并行模式时序图
图4中,RESET高电平复位脉冲最短时间tRESET为40 ns;复位脉冲下降沿至CONVST_A的上升沿最短时间t7为25 ns;转换通道开启CONVST_A和CONVST_B之间的最大时间间隔t5为0.5 ms;转换通道开启CONVST_x到BUSY上升沿最大时间t1为40 ns;BUSY高电位持续时间tconv为3.45 μs到4.15 μs;BUSY下降沿至CS下降沿时间t4为0;CS至RD设置时间t8为0;从CS至DB[15∶0]三态禁用延时时间t13最大为16 ns;RD高电位脉冲宽度最短时间t12为15 ns;V1至V8为8个通道的转换数据。测试系统只用到了端口1,CONVST_A和CONVST_B为分别开启1至4号和5至8号端口。AD7606工作在并行模式下STM32F103ZET6微处理器程序如下:
//AD7606复位
RESET Reset;
Delay_ns(10);
RESET Set;
Delay_ns(100);
RESET Reset;
//启动转换
CONVST_A Reset;
Delay_ns(100);
CONVST_A Set;
//检测转换是否完成
BUSY=GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_7);
While(BUSY==Bit_SET)
{
Delay_ns(20);
BUSY=GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_7);
}
//数据读取
CS Reset;
RD Reset;
Delay_ns(20);
RD Set;
Delay_ns(20);
DATA[0]=GPIO_ReadInputData(GPIOF);
CS Set;
3.2 上位机程序设计
在开启上位机软件后首先对串口参数进行配置。当串口打开后读取串口接收到的数据。串口接收到数据并存入缓冲区后,通过数据的帧头、帧尾拆分数据,得到的传感器值首先进行滤波处理,然后通过公式转化为距离值和速度值,处理后的结果在前面板进行显示并保存。根据上述功能需要,上位机测试程序主要包括串口配置、数据接收、数据处理三个模块,如图5所示。
图5 上位机程序结构框图
串口配置模块负责上位机与下位机的通讯。LabVIEW提供了功能强大的VISA库,在仪器编程标准I/O接口上的使用很方便,适用于RS-232、RS-485等多种类型接口,串口配置的设置遵循上位机与下位机一致的原则。图6为串口配置程序图。
图6 串口配置程序图
数据接收模块负责接收串口发送的数据,通过检测缓存区数据长度来判断数据是否有效。下位机发送一组数据共10个字节,其中包括:判断数据开始位和结束位的1个字节帧头、1个字节帧尾和占据8个字节的两次电压值。图7为数据接收程序图。
图7 数据接收程序图
当数据接收模块判断接收到的数据有效时,将进入数据处理模块。在采样和传输过程中不可避免地存在一定的干扰,导致数据具有一定的误差,且接收到的电压值需要转换为距离值,因此要对数据进行滤波和计算。
速度的滤波选择LabVIEW的中值滤波器,滤波器的秩设置为9。中值滤波是基于排序统计原理的滤波方法,通过一点领域的中值来代替该点值,使结果更加接近真实值。对滤波后的数据进行显示和保存。图8为数据处理和保存程序图。
图8 数据处理程序图
电机速度是利用位移与时间的比值得到;通过采集到的一组数据中的两个距离值,利用以下公式求得速度:
式中:Vn为电机速度;Sn和Sn-1为电机n时刻和n-1时刻的距离值;T为设定的两次采样间隔时间。
4 测试结果
实验被测直线超声波电动机为课题组设计的一款柱状直线超声波电动机,图9为电机实物图。在驱动信号频率79.4 kHz、两相相位差90°的条件下,测试电机的机械特性。其中电机负载能力测试采用电机提升不同质量砝码的方法。图10为直线超声波电动机机械特性测试实物图。图11为电机负载能力测试实物图。
图9 电机实物图
图10 直线超声波电动机机械特性测试实物图
图11 电机负载能力测试实物图
图12为柱状直线超声波电动机在不同电压驱动下的速度响应曲线图。图13为130 V电压驱动下柱状超声波电动机的负载能力曲线图。由测量结果可知,该柱状超声波电动机在空载下,当驱动电压达到190 V时,电机速度为1.26 mm/s;当驱动电压为130 V时,电机的最大输出力为1.2 N。
图12 电压调节特性曲线图
图13 负载能力曲线图
5 结 语
针对超声波电动机速度测试系统开发成本高的问题,本文设计了一款基于LabVIEW的低成本直线超声波电动机速度测试系统,利用STM32微处理器和AD7606模数转换芯片代替了昂贵的数据采集卡。通过数据拟合和滤波处理提高了测试系统的准确度。实验结果表明,测试系统稳定可靠,测试精度较高。
该测试系统硬件可扩展其他设备,为今后直线超声波电动机的其他性能测试和进一步研究提供了通用、稳定的低成本测试平台。