2.3 逐点比较法的直线和圆弧的插补原理

逐点比较法的直线和圆弧的插补原理适用于开环系统。采用步进电动机驱动,每个时刻只有一个坐标轴运动。运动每走一步就与设定轨迹比较一下,以确定下一步的走向,从而逼近设定的轨迹。

逐点比较法插补原理可分为4个节拍。

①偏差判别→判别运动点是否偏离设定轨迹及偏离程度。

②驱动→根据①的结果运动点向逼近设定轨迹方向前进一步。

③偏差计算→运动到新点计算新的偏差。

④终点判别→是否到达轨迹终点,若没有到达终点返回到①节拍,若到终点则停止。

步进电动机驱动实现的轨迹实际是折线,与设定轨迹存在误差,其最大误差为脉冲当量。

2.3.1 逐点比较法插补原理

1. 动点运动方向

如图2-2所示,设(x,y)为直线OB上的点,则直线方程为

式中:xeye——插补直线的终点坐标。

根据式(2-1),取函数F

式(2-2)的值被称为“偏差函数”。

如图2-2所示,Mxi,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所示的动点运动方向加以说明(注:实际计算中所有坐标值(xeye)均取脉冲数)。

如图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,每向xy方向走一步,n步数减1,直到等于总步数n=0,停止。

(2)分别判断各坐标轴的运动步数,即用xeye作为判别条件。

图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可看出,各象限进方向与xy轴是对称的。

(2)只需改变运动方向(改变电机转向),其计算方法可以不用改变。因此可用式(2-6)、式(2-7)作为4个象限通用的递推公式(终点坐标取绝对值)。

图2-5 直线插补各象限关系

x终点方向走一步:

y终点方向走一步:

直线插补象限判别发电机转向关系如表2-2所示。

表2-2 直线插补象限判别及电机转向关系

6. 直线插补程序流程

直线插补程序流程框图如图2-6所示。

图2-6 直线插补程序流程框图

初始化包括:

(1)根据xeye值判断直线所在象限,并确定电机转向。

(2)确定的值。

(3)F=0。

2.3.2 圆弧插补原理

如图2-7所示为第一象限(逆时针)圆弧插补法。

图2-7 圆弧插补法

设圆弧半径为R,则圆弧方程为:x2+y2=R2

Fi=x2+y2-R2作为偏差判别函数,则动点Mixi,yi)有三种情形。

(1)在圆弧外:Fi﹥0;

(2)在圆弧上:Fi=0;

(3)在圆弧内:Fi﹤0。

规定在第一象限逆时针(逆圆)插补:当动点在圆弧内时,向+y方向走一步;当动点在圆弧外或圆弧上时,向-x方向走一步。由于插补向-x和向+y每次走的步数不一定相同,因此,动点x用角标i表示,动点y用角标j表示,即

向-x走一步后,动点xxi+1=xi-1,动点yj不变,则

向+y走一步后,动点xi不变,动点yyj+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所示,图中直线ABBC,圆弧CDDF为设定轨迹,由A点运动到F点,经过坐标系移动,可以看出直线AB在第三象限,直线BC在第一象限,圆弧CDDEEF分别是第二象限、第一象限、第四象限的顺时针圆弧(圆弧象限需要过象限处理)。

图2-10 多段组合位置控制曲线