2.3 逐点比较法的直线和圆弧的插补原理
逐点比较法的直线和圆弧的插补原理适用于开环系统。采用步进电动机驱动,每个时刻只有一个坐标轴运动。运动每走一步就与设定轨迹比较一下,以确定下一步的走向,从而逼近设定的轨迹。
逐点比较法插补原理可分为4个节拍。
①偏差判别→判别运动点是否偏离设定轨迹及偏离程度。
②驱动→根据①的结果运动点向逼近设定轨迹方向前进一步。
③偏差计算→运动到新点计算新的偏差。
④终点判别→是否到达轨迹终点,若没有到达终点返回到①节拍,若到终点则停止。
步进电动机驱动实现的轨迹实际是折线,与设定轨迹存在误差,其最大误差为脉冲当量。
2.3.1 逐点比较法插补原理
1. 动点运动方向
如图2-2所示,设(x,y)为直线OB上的点,则直线方程为
式中:xe,ye——插补直线的终点坐标。
根据式(2-1),取函数F
式(2-2)的值被称为“偏差函数”。
如图2-2所示,M(xi,yi)为步进电动机驱动实现运动轨迹上的点,也被称为“动点”。该动点可以在直线上,也可以在直线的上方或者下方,即动点轨迹与直线OB的关系有3种情形。
图2-2 直线插补
(1)动点在直线的上方:F=xeyi-xiye﹥0,或F﹥0。
(2)动点在直线上:F=0。
(3)动点在直线的下方:F﹤0。
因此,根据判别式偏差函数的大小,可决定下一步是x轴上的还是y轴上的步进电动机工作。
如图2-3所示,动点的运动方向可规定为:
图2-3 动点的运动方向
当F≥0时,表明动点在直线的上方或在直线上,应沿+x方向走一步(即+x方向走一个脉冲当量);当F﹤0时,表明动点在直线的下方,应沿+y方向走一步(即沿+y方向走一个脉冲当量)。
为什么这么规定?可用图2-3所示的动点运动方向加以说明(注:实际计算中所有坐标值(xe和ye)均取脉冲数)。
如图2-3所示,点在直线上方和下方各有4个可以运动的方向,显然上y+、上x-、下x+、下y-运动偏离设定的轨迹;只有上x+和下y+使合成运动朝终点目标方向;其他组合会产生振荡或与终点目标方向相反。点在直线上时沿+x和+y均可。
2. 偏差计算公式
步进电动机每走一步,都要重新计算偏差函数,以便确定下一步动点的运动方向。为了简化计算,可以采用递推公式的方法来计算偏差。
采用递推公式计算偏差,方法如下。
向+x方向走一步,则xi+1=xi+1
向+y方向走一步,则yi+1=yi+1,即
上述式(2-3)和式(2-4)被称为偏差计算的递推公式,即使用前一次计算的偏差值和终点值,只做一次加(或减)法便可得到新的偏差值,相对采用式(2-2)来计算偏差,少算两次乘法运算,其运算量在早期的控制器上可大大提高运算速度。如果控制器的运算速度很高,则也可用式(2-2)来计算偏差函数。采用式(2-2)进行计算,不存在迭代累积误差。
3. 插补的终点判别
(1)按插补总步数。
插补运算实现预定轨迹,可用插补总步数作为判别是否到达终点的条件,即
式中:N——插补的总步数。
式(2-5)表明y方向脉冲数+x方向脉冲数为总的插补步数。设插补步数计数变量n=N,每向x或y方向走一步,n步数减1,直到等于总步数n=0,停止。
(2)分别判断各坐标轴的运动步数,即用xe、ye作为判别条件。
图2-4 直线插补轨迹
4. 逐点比较法直线插补举例
图2-4中,对于第一象限直线OA,终点坐标xe=3,ye=2,插补从直线起点O开始,故F0=0;终点判别是判断进给总步数∑N=3+2=5,将其存入终点判别计数器中,每运动一步减1,若∑=0,则停止插补,运动轨迹如图2-4所示。
表2-1表示该直线逐点比较法直线插补计算的步骤。第一步,偏差为0,应向+x走一步,重新计算偏差小于0,同时将终点判别变量减1,进入第二步,由于偏差小于0,因此应向+Y走一步。其余类推。
表2-1 逐点比较法直线插补计算
5. 直线插补其他象限与第一象限关系
(1)由图2-5可看出,各象限进方向与x或y轴是对称的。
(2)只需改变运动方向(改变电机转向),其计算方法可以不用改变。因此可用式(2-6)、式(2-7)作为4个象限通用的递推公式(终点坐标取绝对值)。
图2-5 直线插补各象限关系
向x终点方向走一步:
向y终点方向走一步:
直线插补象限判别发电机转向关系如表2-2所示。
表2-2 直线插补象限判别及电机转向关系
6. 直线插补程序流程
直线插补程序流程框图如图2-6所示。
图2-6 直线插补程序流程框图
初始化包括:
(1)根据xe和ye值判断直线所在象限,并确定电机转向。
(2)确定的值。
(3)F=0。
2.3.2 圆弧插补原理
如图2-7所示为第一象限(逆时针)圆弧插补法。
图2-7 圆弧插补法
设圆弧半径为R,则圆弧方程为:x2+y2=R2。
取Fi=x2+y2-R2作为偏差判别函数,则动点Mi(xi,yi)有三种情形。
(1)在圆弧外:Fi﹥0;
(2)在圆弧上:Fi=0;
(3)在圆弧内:Fi﹤0。
规定在第一象限逆时针(逆圆)插补:当动点在圆弧内时,向+y方向走一步;当动点在圆弧外或圆弧上时,向-x方向走一步。由于插补向-x和向+y每次走的步数不一定相同,因此,动点x用角标i表示,动点y用角标j表示,即
向-x走一步后,动点x:xi+1=xi-1,动点yj不变,则
向+y走一步后,动点xi不变,动点y:yj+1=yj+1,则
同理,可推导第一象限的顺时针圆弧递推公式。
向+x走一步后:
向-y走一步后:
第一象限顺逆圆弧和其他象限圆弧的关系如图2-8所示。
图2-8 第一象限顺逆圆弧和其他象限圆弧关系
如图2-8(a)所示,第一象限为逆圆插补;第二象限,顺圆;第三象限,逆圆;第四象限,顺圆。如图2-8(b)所示,第一象限为顺圆插补;第二象限,逆圆;第三象限,顺圆;第四象限,逆圆。
仅以图2-8(a)第二象限的顺时针圆插补为例,第二象限顺圆与第一象限的逆时针圆弧相对于y轴对称,可以用第一象限的逆时针圆弧插补公式,不过要注意轴的驱动方向,以及坐标值应取绝对值。
表2-3表明各象限顺圆、逆圆,根据偏差判别,确定插补的走向关系。
表2-3 圆弧插补象限判别及电机转向关系
2.3.3 逐点比较法圆弧插补举例
如图2-9所示,对于第一象限圆弧AB,起点A(0,4),终点B(4,0),采用逐点比较法实现圆弧插补,其实现过程可用表2-4进行说明。
图2-9 第一象限圆弧逆圆插补轨迹
表2-4 第一象限圆弧逆圆插补方法
2.3.4 多段组合位置控制说明
对于多段组合,可以先通过移动坐标系方式,然后再用相关的插补方法进行位置控制。
如图2-10所示,图中直线AB、BC,圆弧CD、DF为设定轨迹,由A点运动到F点,经过坐标系移动,可以看出直线AB在第三象限,直线BC在第一象限,圆弧CD、DE、EF分别是第二象限、第一象限、第四象限的顺时针圆弧(圆弧象限需要过象限处理)。
图2-10 多段组合位置控制曲线