基于STM32的时栅转台高精度自动标定系统设计*
2014-09-25杨继森彭东林冯济琴郑方燕
杨继森, 何 建,彭东林,冯济琴,郑方燕
(1.重庆理工大学 机械检测技术与装备教育部工程研究中心 重庆 400054;2.时栅传感及先进检测技术重庆市重点实验室,重庆 400054)
0 引 言
时栅位移传感器作为一种新型的精密位移传感器,具有测量精度高、成本低、抗干扰能力强等显著特点,在工业、科研和国防等各个领域都有着广阔的应用前景[1]。时栅转台以时栅角位移传感器为技术核心,可以实现高精度分度定位,但因受加工、安装、电气参数等影响,进行角位移测量时存在误差,这就需要进行误差补偿来提高测量精度,通常是采用更高精度母仪来进行标定。目前,时栅转台的标定工作主要采用激光干涉仪作为测量基准,转台的位置转动依靠手轮,每转动到一个位置,手动采样该位置的测量误差,整个过程繁琐,通常全周(0°~360°)采样数百个点,全过程耗时数小时,实验员容易因疲劳而出错。此外,时栅转台作为一种精密仪器,其标定工作对环境要求非常严格,细微的振动和温度变化都可能带来误差[2]。因此,提高对时栅转台的标定效率,将是时栅转台大批量生产和产业化应用所面临的问题,本文为了解决这一问题,本文设计了一种能够进行数据采集和误差补偿的时栅转台高精度自动标定系统。
1 系统工作原理与结构
时栅转台自动标定系统是以激光干涉仪为测试基准,将激光干涉仪的回转轴固定到时栅转台的上,使两者能够同轴转动,当转过一定角度时,时栅转台能得到一个角度值θ1,同时激光干涉仪也会得到一个角度值θ2,由于激光干涉仪的精度非常高(± 0.5″),作为测量基准,因此,这2个值之差△θ就可看作时栅转台在该位置的测量误差。通过在转台内时栅传感器对极点和对极内采集大量不同点的值,就能拟合出时栅转台的误差曲线,从而对其进行误差修正。时栅转台自动标定系统结构如图1所示,主要由激光干涉仪、时栅转台控制系统、工控机等构成。
图1 系统结构
激光干涉仪在整个标定系统中的作用主要有:1)测量转台转过的真实角度,通过工控机反馈给下位机,作为步进电机闭环控制的反馈信息;2)输出值用于工控机中作为真值与时栅转台的输出值作比较,得到时栅转台转角的原始误差。
时栅转台控制系统由时栅数显转台和下位机构成,通过下位机控制步进电机来带动时栅转台,并接收激光干涉仪的当前位置信息,用以实现对时栅转台的闭环控制。
工控机对时栅传感器和激光干涉仪同时进行数据采集,主程序在数据采集完成后对误差数据进行拟合,得到的拟合曲线用来实现误差修正和补偿,最后将程序加载到时栅转台中,完成整个标定过程。
2 转台控制系统设计
下位机控制电路以STM32F4微控制器为核心,利用其低功耗、快速浮点运算和精确的脉冲输出等特性,实现对步进电机的精确控制,对激光干涉仪信号的读取转换和与工控机的通信,最终实现实时精确的定位控制[3]。设计了电机驱动模块、串口通信模块,同时还设计了LCD触摸屏驱动模块以实现人机交互[4],硬件结构如图2所示。
图2 硬件结构
2.1 电机驱动与脉冲当量
步进电机是一种将电脉冲转换为角位移的执行机构,可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的。电机控制部分主要由二相混合式步进电机及其配套的驱动器和驱动器电源构成。所选步进电机步距角为1.8°,在经过驱动器200倍细分之后,每个驱动脉冲当量PD=0.009°,时栅转台的涡轮与蜗杆传动比Z=180,因此,每个驱动脉冲当量
ΔP=PD/Z.
(1)
由式(1)计算得ΔP=0.000 05°(0.18″),足以匹配激光干涉仪的精度,且满足转台标定所要求的±2″的定位精度,一次分度定位所输出的脉冲总数理论上为
N=s/ΔP.
(2)
其中,s为该次分度定位的驱动位移量[5]。
2.2 电机控制
根据经典控制理论,步进电机的闭环定位控制方法可分为单向逼近和双向逼近。在控制的过程中,双向逼近方式将引入回程误差,同时双向逼近方式位的定位速度比单向逼近方式慢。为达到高速、高精度自动定位,本系统采用单向逼近方式定位控制。首先通过微处理器将所需走过的角位移量换算成相应的脉冲数N,向步进电机发送0.9N个脉冲,使其走过90 %的位移量,再根据反馈信息进行位置判断,如未到目标位置,再走剩余位移量的90 %,重复此过程,直到达到所需要的定位位置[6]。每次定位控制流程如图3所示。
图3 软件控制流程
步进电机每次只转动90 %的位移是为了能快速准确地到达定位位置,每次转动后用目标位置角度值α减去当前位置角度值α',再以得到的差值Δα计算下一次要走的脉冲量,对于可能出现的超过目标位置的情况,可由Δα为负值来辨别,再控制步进电机反转单向逼近即可。激光干涉仪读数时有一个计算过程,每次转动结束后延迟2 s是为了得到更准确的读数。
3 工控机软件设计
工控机软件主要采用Visual C++编写,采用面向对象的编程的方法,利用其可视化的图形编程环境设计用户界面[7]。程序主要由初始化、数据采集、数据处理、结果输出等几个功能模块组成。
3.1 程序初始化
系统工作之前需要对其进行必要的初始化,包括控制信号的交互联络、波特率、定位方式,测量次数、测量方向等。
3.2 数据采集
数据采集分为时栅转台数据的采集和激光干涉仪数据的采集,时栅转台的数据可以通过串口即时传送到工控机中,而激光干涉仪的数据无法直接实时提取,只有在检测结束后才能从雷尼绍自带的软件调出,解决这个问题所采取的方法是通过编程从雷尼绍自带软件的.txt文档中实时提取出数据,将其用作标定的基准和闭环控制步进电机的反馈。
3.3 数据处理
所采集到激光干涉仪和时栅转台的数据是离散的,为了进行误差补偿,需要得到其误差曲线,因此,需要对所得到的数据进行数据拟合。本设计中采用最小二乘多项式拟合,其原理如下:首先设定n次多项式
(3)
其误差为
(4)
那么,在此处就要求解a0,a1,…,an要使得误差Q最小,根据求极值的方法,对a0,a1,…,an分别求偏导,再使偏导为0,得到的a0,a1,…,an应满足如下方程
(5)
整理后用矩阵表示为
(6)
求解式所示的方程组,即可得到a0,a1,…,an,代入式(3)即可得到最小二乘拟合多项式。
4 实验验证
为了验证本设计的自动标定系统的可靠性,对一传感器对极数为72对极的时栅转台进行了标定测试,实验装置如图4所示。
图4 系统装置
在每个对极点进行采点,圆周上共采点73个,原始误差曲线和标定后的误差曲线如图5所示,可见原始误差波动较大,误差值在-9.75″~8.64″之间,标定后误差值控制在-1.76″~1.63″之间,表明设计的系统能够有效提高时栅转台的精度。
图5 误差曲线图
5 结束语
实验证明:该自动标定系统具有自动化程度高、标定精度高、标定速度快等优点,除了开始阶段参数设置需要人工参与外,整个测试与标定过程都能够自动完成,最大限度的降低了人为因素对测试结果的影响。目前,该系统能够高效率的自动完成时栅转台的测试标定工作,在时栅转台产业化进程中开始发挥积极的作用。
参考文献:
[1] 彭东林,刘成康,谭为民.时空坐标转换理论与时栅传感器研究[J].仪器仪表学报,2002,21(4): 338-342.
[2] 高忠华,彭东林,王先全,等.用于高精度数显时栅转台的全自动测控系统[J].工具技术,2008(9):95-97.
[3] 喻金钱,喻 斌.STM32F系列ARM Cortex—M3核微控制器开发与应用[M].北京:清华大学出版社,2011.
[4] 孔 勰,唐 盛,姚 萌.基于STM32的RA8806控制器LCD设计[J].现代电子技术,2011(5):200-203.
[5] 杨继森,万文略,郑方燕,等.精密数控分度转台的控制系统设计[J].仪表技术与传感器,2010(7):95-98.
[6] Kulkarni Amol,El-Sharkawi S,Mohamed A.Intelligent precision position control of elastic drive systems[J].IEEE Transactions on Energy Conversion,2001,16(1):26-27.
[7] 刘 维.精通Matlab与C/C++混合程序设计[M].北京:北京航空航天大学出版社,2005.