7.PMAC下位机-回零程序的编写
在运动控制中,运动轴的回零是一个共性的问题:对于半闭环的编码器+电机+模组或全闭环的直线电机+光栅尺来说,它们之所以能够知道自己当前处于一个什么样的位置就是靠编码器和光栅尺来记录当前的位置,问题在于一般我们使用的都是相对式的编码器或光栅尺,换言之,我们必须告诉编码器和光栅尺以什么位置作为零点开始计算当前的坐标,指定当前的零点的过程就是回零的过程。相对式的编码器或光栅尺一旦掉电,就必须重新回零,这也是大多数数控机床上电要回零的原因。
如下图,为了指定当前运动系统的零点,我们使用一个零位传感器来标记,对于编码器+电机+模组,零位传感器就是一个处在零位的限位传感器,对于直线电机+光栅尺可以不用设置特殊的硬件,直接捕获光栅尺的零位信号就行,当然你也可以不用零位信号,而统一使用限位传感器来指定零位。同时每个运动系统一般都是有正负限位的,一方面是作为安全用途,一旦模组运动超出正负限位范围自动停掉电机防止造成危害,另一方面,也可作为触发使用,下面会讲到。
1.信号的触发
为了形象的说明问题,考虑模组和传感器的如下相对运动,这里传感器既可以是限位传感器也可以是零位点触发,基本原理是一样的。这里为了说明问题,将传感器拉长了,实际上传感器的接触长度很短。
可以看到,当前模组和传感器相对运动的时候,还没接触的时候信号为低电平,一旦模组开始进入传感器范围,这时候电平跳变为高电平,存在一个上升沿,捕获这个上升沿就是模组刚刚进入传感器范围的时刻。模组继续运动,一旦模组完全离开传感器范围,这时候电平跳变为低电平,存在一个下降沿,捕获这个下降沿就是模组刚刚完全离开传感器范围的时刻。
因为最开始的时候没有回零,这时候模组是不知道自己当前到底处于什么位置的,但是在高低电平跳变的时候会发送中断,我们可以捕获这两个中断从而判断当前模组是否运动到指定的位置,从而将当前指定位置标记为零点。
2.回零策略
- 1.不管当前模组处于什么位置,都先向负向运动直到触发负限位
- 2.从负限位触发点开始向正向移动,PMAC是通过指定一个偏移值来完成的,所谓偏移值就是到达触发点后再偏移多少距离,这个偏移要求必须让模组移动到零位的正向
- 2.然后,模组负向运动直到准确停在零点触发点,当前标记为零点
- 1.负向运动到负限位直到触发,这里分为两种情况:
A.不在负限位的时候,直接负向移动直到上升沿触发B.在负限位的时候,正向移动直到下降沿触发注意一个使用上升沿,一个使用下降沿,是为了保证两种情况触发时模组位置是一样的,看示意图就懂了
- 2.按照步骤1指定的移动偏移值移动到零位的正向去,只要指定了偏移值,PMAC会自动完成这个偏移过程
- 3.从偏移后的位置负向移动,按照之前讲的先走过一点再反向走回从而精确停在零位,这个偏移可能很小,人眼不易观察出来。
3.PMAC回零代码
;程序功能:实现6轴回零运动。 ;********************************************************************** CLOSE ;确认所有缓冲区被关闭 &1 ;~~~~~~~~~~~~~~~~~~~~~~~~~ 以下部分为运动程序 ~~~~~~~~~~~~~~~~~~~~~~~ OPEN PROG 20 CLEAR ;6轴回零 If (M622 = 1) ;负限位有信号 I623=50 ;回零速度(Counts / msec),方向为正 I626=81920*16 ;回零偏置,单位1/16 Count I7123=2 ;使用负限位为触发信号 I7122=10 ;捕捉触发信号的下降沿 Home 6 ;回零 Dwell 20 Else ;负限位无信号 I623=-50 ;回零速度(Counts / msec),方向为负 I624=$120000 ;禁能限位 I626=81920*16 ;回零偏置,单位1/16 Count I7123=2 ;使用负限位为触发信号 I7122=6 ;捕捉触发信号的上升沿 Home 6 ;回零 Dwell 20 EndIf I623=-50 ;回零速度(Counts / msec),方向为负 I624=$100000 ;使能限位 I626=0 ;回零偏置,单位1/16 Count I7123=0 ;使用原位信号为触发信号 I7122=7 ;捕捉触发信号的上升沿及Z向的下降沿信号 Home 6 ;回零 Dwell 50 CLOSE
代码中需要说明如下:
- 1.使用负限位做标记的时候,必须禁能限位,否则一旦模组运动到限位传感器处会自动停止当前电机
- 2.这里在回原位(零位)的时候,捕捉模式设为7,既支持编码器的上升沿也支持光栅尺的零位信号
- 3.在前两步时,速度可以较快,最后一步准确回零的时候速度要慢
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。