小型绝对式光电编码器精度自动检测装置

2019-04-10 09:39姜铁征万秋华赵长海贾兴丹
仪表技术与传感器 2019年3期
关键词:自动检测编码器静态

姜铁征,万秋华,于 海,赵长海,贾兴丹

(1.中国科学院长春光学精密机械与物理研究所,吉林长春 130033;2.中国科学院大学,北京 100049)

0 引言

光电编码器是一种集光、机、电于一体的高分辨力角位移传感器,以光电转换技术为核心,输出与角位置信息相对的数字脉冲来实现角位移的测量[1-2]。广泛应用于航空航天、工业控制等领域。光电编码器主要可分为增量式和绝对式2种[3]。绝对式编码器的每一个角度位置对应唯一的数字码,不存在调零误差[4],具有体积小、精度高等优点。

精度检测是光电编码器研制和生产过程中的重要环节,任何生产编码器的单位都要有相应的精度检测装置,而精度检测又分为静态精度和动态精度检测[5]。现有的精度检测系统存在结构复杂、精度低、操作难度高等缺点。为了改善上述检测装置的不足,本文设计了以永磁同步电机和FPGA高速数据采集卡为核心的小型绝对式光电编码器精度自动检测系统。系统能够实现编码器动、静态精度的自动检测,具有体积小,测量精度高,易操作等优点。

1 光电编码器精度检测方法

1.1 动态精度检测方法

当使用光电编码器进行动态角度测量时,由于轴系晃动和码盘偏心等不良因素的影响,会导致莫尔条纹信号质量变差,使编码器输出的角度值偏离真实值,产生动态误差[6-7]。为了不遗漏每个分辨力下的动态误差,本系统采用全面统计动态误差检测法。对于待检的n位小型绝对式光电编码器,每旋转一周,输出2n个数据。以基准的21位绝对式编码器输出的角度作为真实值,由于光电编码器的动态误差符合正态分布的规律,因此采用贝塞尔公式计算得到的标准偏差作为编码器动态精度的衡量[5]:

(1)

式中:σ为动态精度;xi为基准角度数据;yi为被检编码器角度值;m为n位编码器旋转一周输出的角度数据个数;m=2n。

1.2 静态精度检测方法

光电编码器静止在特定位置时输出的角度数据与基准角度源的真实数据的差值称为静态误差。实际进行静态精度检测时,待检的位置为30°的整数倍,即待检的角度位置为

z=30k

(2)

式中k=0,1,2,…,11。

光电编码器每旋转一周,需要检测12个角度数据。

传统的检测方法有多面棱体检测法和手动检测法。多面棱体检测的装置结构复杂,对周围环境的要求很高。手动检测法会因为人手抖动和读数不准确对结果造成影响。本系统采用类手动检测的原理,通过对电机高精度的位置控制,实现静态精度检测的自动化。

2 检测系统的设计

2.1 精度自动检测系统的构建

该系统主要由永磁同步电机、MR-40伺服放大器、STM32F4运动控制板、FPGA数据采集板、基准21位绝对式光电编码器、上位机、固定支架等组成。电机内嵌于空心轴基准编码器中,二者通过固定螺丝连接,被检编码器通过弹性联轴节与电机连接。控制电机运动时,电机、基准编码器与被检编码器三者同轴同步旋转,系统结构如图1所示。

图1 自动检测系统原理图

检测系统主要由电机驱动和数据采集2部分组成。检测时,由控制器发出速度或位置指令,通过放大器驱动电机运动,带动基准编码器与被检编码器同轴匀速旋转,FPGA数据采集卡实时采集二者输出的角度信息,传输到上位机中。由VC++编写的上位机软件实现数据的接收、显示、动态精度和静态精度的计算。

2.2 检测转台的设计

动、静态精度检测对转台的稳定性和抗干扰性都有很高的要求,系统选用HG-KN系列的高精度永磁同步伺服电机,该电机内置10″分辨力的增量式光电编码器,额定转速为3×103r/min,最大输出转矩为3.8 N·m ,采用正弦波驱动的方式。稳定性好、功率密度高、调速范围宽,满足精度自动检测系统的要求。

电机的驱动选择通用AC伺服放大器MR-JE-40A。放大器硬件电路包括智能功率模块(IPM)、MGA031专用集成芯片、通信电路等。过流、过压、过热等保护电路的设计提高了转台伺服系统的安全可靠性。通过USB与安装MR Configurator2的计算机连接,可实现自动调谐、运动规划、实时监控等功能。

运动控制器电路以STM32F4芯片为核心设计,该芯片主频为168 MHz,2个16位的高级定时器TIM1和TIM8,可软件设置为编码器接口模式,也可实现PWM波的输出。运动控制器与放大器的连接通过50针的SCSI接口,STM32F4通过该接口发送模拟速度指令、位置控制指令给放大器,并通过24 V直流电源给伺服放大器供电。实际使用时,运动控制器与放大器必须共地连接。电机编码器的反馈脉冲也通过SCSI接口传输到STM32F4控制器中,进行位置闭环控制,检测转台的原理框图如图2所示。

图2 检测转台原理框图

动态精度检测时,要求电机在200~500 r/min的速度范围内平稳转动。采用模拟速度指令控制电机的转速。设定放大器参数PC12为2 000,即模拟速度指令最大速度为2×103r/min,对应的模拟电压为10 V, 这里的电压正负值代表的是电机的正转与反转。STM32F4运动控制器通过SCSI中的CN-2和CN-28输入可调单值电压,实现对电机速度的同比例控制。系统使用STM32F4自带的DA模块,目的是提高模拟速度指令的精度。STM32F4有2路12位的DAC,使用其中的一路即可。采用HAL库函数编程方法实现DAC转换输出可调电压。实际测试电机稳速精度时,最大稳速波动不超过8×10-3r/s,满足光电编码器动态精度检测的要求。HAL库函数编程流程如下:

(1)初始化DAC和所对应的引脚的输出模式配置;

(2)使能DAC外设时钟和系统时钟;

(3)启动DAC模块,输出可调的模拟电压。

静态精度检测时要对电机进行位置控制,使电机定位间隔为30°,到达位置后短暂停留,保证基准编码器和被检编码器处于相对静止状态。设置放大器参数PA13为X300,指令脉冲串在200 kpulse/s以下,以正逻辑方式输入。STM32F4运动控制器通过50针SCSI中的CN-10和CN-35 2个引脚输入指令脉冲串,放大器实时接收脉冲串,检测到脉冲上升沿后转过1011的角度,为使电机每次转过,需输入10 800个脉冲串,脉冲的占空比为50%,周期大于10 μs。STM32的高级定时器TIM1有PWM输出模式,配置好相关寄存器参数后即可启动输出满足要求的方波。对指令脉冲串和电机编码器反馈脉冲串个数比较,可得到最大定位误差为±30″,满足静态精度检测的要求。

2.3 数据采集处理系统的设计

数据采集卡的作用是实时采集基准编码器和被检编码器输出的角度数据,通过USB传到上位机中,由上位机软件完成误差的计算与显示。采样频率与每个检测周期采集的数据量是采集卡设计的重要指标。

对于16位以下的小型绝对式光电编码器,随电机同轴旋转时,输出数据变化频率的最大值为

fmax=2n·v

(3)

式中:n为编码器位数;v为电机的速度。

分别将两者可取的最大值,n=15,v=500 r/min代入到式(3)中,可得:

fmax=215×500/60≈0.273 MHz

(4)

由奈奎斯特采样定理可知,系统采样频率必须大于原始信号频率2倍以上,采样后的信号才能复现原始信号中的信息。因此,本系统选择采样频率为40 MHz ,可保证不遗漏每个输出的角度信息。

采用全分辨率检测方法时,对于n位的被检编码器,一个检测周期需要采集次数为2n,而要同时采集被检编码器和角度基准源的输出数据。则一个周期需要采集的数据量为

B=2n·(n+nbase)

(5)

式中nbase为角度基准源的数据。

取n=15,nbase=21代入到式(5)中,可得:

B=215(15+21)=1.152Mbit

(6)

综合上述2个指标和其他因素后,本数据采集卡选择FPGA的XC3S400作为主控芯片。该芯片的最高工作频率可达300 MHz,每个I/O口的数据传输速度达到622 Mbit/s,设计灵活,处理速度快,可很好地完成编码器动、静态输出数据的采集工作。USB芯片选择CY7C68013,FLASH芯片选择W25Q128,该芯片容量为16 Mbit,用来存储采集到的数据。动、静态精度检测数据采集系统如图3所示。

图3 数据采集系统组成结构图

数据采集系统将角度数据传到上位机中,使用VC++编写了上位机软件,软件可对编码器动、静态误差进行计算,并将检测结果在坐标上显示出来,也可将数据输出到EXECL表格中,将结果打印,实现了很好的人机交互。软件可完成的任务与功能如图4所示。

图4 软件功能框图

3 自动检测装置误差分析

为了实现小型绝对式光电编码器的动、静态精度准确检测,必须保证检测系统具有较高精度。本文设计的精度检测系统主要有4个误差来源,角度基准源误差、装置的机械误差、数据采集系统的误差和电机速度波动导致的误差。

角度基准源为21位绝对式光电编码器,精度优于1.4″,即σ1=1.4″。

机械误差主要来源于装调和轴系晃动[6],在支架的设计过程中,这部分误差是经过限定的,其误差为σ2=±1″。

数据采集系统以60 MHz的频率采样,在最大转速500 r/min时,可计算采样误差为

经实际测量,电机在检测速度范围内的波动不超过8×10-3r/s,速度波动可能会导致跳码,由速度波动引起的误差为

σ4=Δv·t

(7)

式中:Δv为速度波动;t为编码器的细分延迟和数据处理时间,经测量t=100 μs,则有

σ4=0.008×360×360×0.000 1=0.103 6″

由误差合成公式,可以得到检测系统的误差

(8)

理论上要求检测系统的精度大于被检编码器精度的3~5倍以上,被检的15位绝对式编码器精度40″左右。由上述误差分析可知,所设计的动、静态精度自动检测装置满足检测要求。

4 检测实例

为了对本文设计的小型绝对式光电编码器自动检测系统进行验证,构建了检测装置,并使用该检测装置对某15位小型绝对式编码器进行了动、静态精度检测。

该小型绝对式光电编码器的分辨力为40″,静态精度σ≤40″,动态精度不优于40″,正常工作温度为-40~+55 ℃,被检编码器数据通过RS485通信方式实现传输,基准编码器数据采用并口的方式传输。实验时,随机选取2台15位的小型绝对式编码器进行精度检测,分别为1号编码器和2号编码器。检测系统实物如图5所示,各部分名称已在图中标出。

图5 自动检测系统实物图

4.1 动态精度检测实例

使用该检测系统对2台编码器分别进行动态精度检测,分别在200 r/min和400 r/min稳速下对2台编码器进行检测。采用了全分辨力检测法,因此在电机速度稳定后,在上位机软件上可以得到编码器的全周动态误差。图6、图7是1号编码器在200 r/min和400 r/min转速时的动态误差曲线,图8、图9是2号编码器在200 r/min和400 r/min转速时的动态误差曲线。

图6 1号编码器200 r/min动态误差

图7 1号编码器400 r/min动态误差

图8 2号编码器200 r/min动态误差

图9 2号编码器400 r/min动态误差

从误差检测结果可以看出,随着转速的增加,编码器动态误差曲线的幅值明显增大,说明其随着速度的增加精度变差。这是因为速度增加会导致码盘偏心和轴系晃动的不良影响变大。通过贝塞尔函数求解2台编码器在不同转速下的动态精度,如表1所示。检测结果表明2台编码器动态精度都满足要求,可在实际项目中应用。

表1 不同转速下2台编码器动态精度

4.2 静态精度检测实例

使用本文设计的自动检测系统分别对2台编码器的静态精度进行检测,为了便于对比分析及验证检测的可靠性,使用传统的手动式转台分别检测,作为对比试验。两种方法得到的编码器静态精度、所用时间如表2所示。

表2 2台编码器静态精度检测对比

由检测结果可以看出,自动检测系统与传统检测法得到的静态精度基本一致,验证了本文设计的自动检测装置的准确度满足要求。在同样的检测环境和操作人员的情况下,自动检测系统所用时间更少,效率提高了5倍左右。

5 结论

本文研究并设计了小型绝对式光电编码器动、静态精度自动检测系统,其以高精度的永磁同步电机和高速FPGA数据采集卡作为核心,通过测量与计算,该系统的精度满足16位以下的光电编码器的检测要求。检测实验表明:系统能完成400 r/min以内,极低稳速波动的动、静态精度检测,检测结果准确,且大幅提高了检测效率。系统具有体积小,抗干扰性强,稳定可靠的特点,可以应用到光电编码器的生产和研制中。

猜你喜欢
自动检测编码器静态
融合CNN和Transformer编码器的变声语音鉴别与还原
最新进展!中老铁路开始静态验收
静态随机存储器在轨自检算法
角接触球轴承外圈锁口高度自动检测规改进
一种开关柜局部放电自动检测装置的研究
基于STM32的室内有害气体自动检测与排风系统
光电传感器在自动检测和分拣中的应用
基于双增量码道的绝对式编码器设计
应用旋转磁场编码器实现角度测量
基于数字信号处理的脉冲编码器