本文介绍了基于ADT-MC020嵌入式数控控制器通过串口和PC机通信,设计通过光栅尺反馈的双闭环控制系统,分析了精确定位误差的原因及其解决方法。
该系统已用于游标卡尺激光打标和精确送料装置中。
1 引言
随着计算机技术、电子技术的发展,嵌入式控制系统作为装备工业的大脑快速地被应用到各个行业中。
嵌入式控制系统由于其体积小、性价比高、针对性强、抗干扰能力好等特点快速不断地进入了数控行业各个领域。
游标卡尺由于是一种精密地
测量仪器,那么其生产的厂家对卡游标尺本身的刻度打标要求就非常高。现代化生产中必须要考虑生产效率,而生产效率又与操作方便、生产速度等因素相关。本文设计了采用PC机上位机发控制指令,下位机是ADT-MC020嵌入式数控控制器控制伺服加光栅尺的双闭环控制系统,满足了以上要求。
2 工作原理
首先在上位机(PC机,以下称上位机)编辑好要加工的数据文件,然后通过上位机的串口向下位机(MC020嵌入式控制器,以下称下位机)发送指令,下位机接收到正确的指令后,开始向伺服执行机构发出运动指令,当伺服运行到位后,下位机通知上位机继续发下一个命令,以此循环。
工作流程图如图1所示
图1 原理图
3
游标卡尺激光打标系统设计
(1) 上位机系统
上位机控制系统是由VC开发的控制软件,在上位机上可以按使用者的要求,先通过一些简单的设定,系统便可以生成需要的图形。比如卡尺刻度之间的间隔,激光打的刻度线的长短,工制还是英制或两者都有。生成好图形客户可以先预览,看是否满足要求。
在选择好循环打标或单次打标后,按开始按钮后,计算机便通过串口发出规原点命令,下位机接收到回原点命令后,马上执行回原点的任务,当回到原点后,发信号给上位机,上位机马上控制振镜和激光发生器打出0刻度线(刻度线的长短在上面生成的图形中已经规定),等打完0刻度线后,上位机马上发出再走一个刻度的命令,在下位机通过一系列的调整,保证精度后,重复上面的动作。
整个系统控制流程结构图如图2所示
图2 控制流程结构图
(2) 串口通信
① 串口通信协议
通信协议是指通信双方共同遵守的交换数据的格式。现在我们制定的通信协议只需考虑信息在线路中的传输规则。
本文所使用的串口通信协议如表1所示。这样上、下位机的相互通信就得以实现。
表1 通信协议帧格式
② 串口通信的程序流程图如图3所示
本系统中,上位机在得到按钮信号或得到下位机发回到位得信号,上位机就可以随时发出让下位机执行的指令;而上位机接收下位机指令是采用查询的方式,看下位机是否有给它发新信息;
下位机MC020接收和发送信息都是利用串口中断,当自己接收到新信息或要向上位机发送新信息,都将进入串口中断服务子程序。这样利用中断处理异步事件,使之与上位机收、发信息同步,而又不影响做其他工作。
图3串口通信流程图
(3)下位机系统
下位机是本系统中精度的控制者和保证者,它关系到游标卡尺最后打标是否合格。
如图2所示,首先下位机在接收到上位机的位置命令后,经过校验和处理发给了伺服驱动器,伺服设成位置控制模式,
伺服电机本身带有光电编码器,它会反馈伺服电机走的位置是否与下位机的给定值相等,进行负反馈调节,这便构成了位置环1。但位置环1只是反应了伺服走的位置,也就是伺服电机转的圈数,但如果丝杆、导轨等有误差,就不能反应出来,即不能反应目标位置的最终情况,所以位置环1只是半闭环。
加上光栅尺检测目标的最后位置,并把这个位置反馈给下位机MC020控制器,MC020再与上位机的给定位置值进行比较,再次进行负反馈调节,这样构成了位置环2,最终使目标达到上位机给定的命令值的位置,从而完成精确定位。
游标卡尺打标的双环精确定位流程图如图4所示
图4 双位置环定位程序流程图
4 位置误差产生原因及解决方案
(1) 原点误差
在运动控制中,现在很多机器上安装的原点开关一般是机械式的或光电开关,机械开关本身有一定的弹性变形范围,而且用久了后弹片的弹性系数和机械磨损带来的位置偏差都将发生变化;光电感应开关本身有一定的感应范围,即左边沿到右边沿的范围;而每次电机以一定的速度回到原点时,在其惯性的作用下不可能刚好停在开关的感应边沿上。
基于以上原因,我们可以让电机先以一个较高的速度回到原点开关的感应范围内,再让电机以一个较低的速度向离开原点的方向走,下位机控制器实时检测,当发现电机一离开原点开关马上停止;接着让电机以一个很低的速度向原点开关的方向走,下位机控制器实时检测,当发现电机一碰到原点开关马上停下来。
用以上方法,既可以让电机以高速回零,提高效率,又保证将每次回零的误差降到最低。而对于整个系统来讲,每次打标的起点都一致。
(2) 控制器和
伺服驱动器脉冲匹配产生的误差
下位机控制器把位置值按脉冲的个数发给执行单元伺服驱动器的寄存器中,但伺服电机以不同的速度走,走完所有的脉冲所用的时间就不同,如果在伺服电机还没真正停稳的时候去读光栅尺检测的实际位置值,再把这个偏差发给伺服,伺服降超过命令给定值。
而且由于伺服没真正的停下来,这时去检测,可能检测的是一个中间值,而这个中间值有可能就在精度要求的范围内,进而控制器跳出对精度的调整,但伺服电机还在走,当其真正停下来时位置势必引起偏差。
基于以上原因,基本可用两种方法解决。第一,可以用
伺服驱动器上的定位完成信号输出给下位机控制器,让下位机控制器知道下面伺服真正走到位了。但要注意:很多伺服驱动器并不是等所有的脉冲都发完才输出这个信号,而是当达到一定脉冲数时就输出此信号,所以必须把伺服驱动器中此控制定位完成的脉冲数调到一个恰当值。第二,就是给电机发了校正脉冲后适当的延长一段时间,延时后再去检测光栅尺的实际位置,然后再去校正。
由于游标卡尺打标本身要求精度高,如果电机多走出几个脉冲,那它的偏差就多几个μm,是不允许的,所以必须控制好偏差的调节。
(3) 光栅尺的安装即环境温度造成的读数误差
本系统的精度就是依靠光栅尺做最后保证,那光栅尺本身的精度就至关重要。首先光栅尺的安装要保持光栅尺内部的玻璃刻线条与运行的导轨平行,光栅尺的读数滑块连的运动滑台的运行轨道要与光栅尺内部的玻璃刻线条保持平行。而支撑滑台的导轨和丝杆本身的质量自然也要有保证。
令一个方面就是环境温度对最后测量的影响,由于温度的变化会造成光栅尺内部玻璃刻线条的热胀冷缩的变化,以致造成最后读书偏差。所以一定的温度。
5 结束语
随着国家制造业的不断发展,对国家的装备业要求也越来越高,尤其在快速定位和精度要求较高的系统中,对定位精度就提出更高的要求。本设计方案在游标卡尺激光打标中获得了成功应用。
参考文献:
【1】 徐建军主编。MCS-51系列单片机应用及接口技术[M].北京:人民邮电出版社,2003。
【2】 郭庆鼎,王成元。交流伺服系统[M].北京:机械工业出版社。1996。