![机电一体化系统设计](https://wfqqreader-1252317822.image.myqcloud.com/cover/495/31794495/b_31794495.jpg)
2.3 逐点比较法的直线和圆弧的插补原理
逐点比较法的直线和圆弧的插补原理适用于开环系统。采用步进电动机驱动,每个时刻只有一个坐标轴运动。运动每走一步就与设定轨迹比较一下,以确定下一步的走向,从而逼近设定的轨迹。
逐点比较法插补原理可分为4个节拍。
①偏差判别→判别运动点是否偏离设定轨迹及偏离程度。
②驱动→根据①的结果运动点向逼近设定轨迹方向前进一步。
③偏差计算→运动到新点计算新的偏差。
④终点判别→是否到达轨迹终点,若没有到达终点返回到①节拍,若到终点则停止。
步进电动机驱动实现的轨迹实际是折线,与设定轨迹存在误差,其最大误差为脉冲当量。
2.3.1 逐点比较法插补原理
1. 动点运动方向
如图2-2所示,设(x,y)为直线OB上的点,则直线方程为
![](https://epubservercos.yuewen.com/FF68B7/17214368604803006/epubprivate/OEBPS/Images/Figure-P24_9518.jpg?sign=1738866030-r6yiFmm5z8dAzSY8pK1o8X6qamp7zQAp-0-379772f369277a1ea9942e5ba824b95c)
式中:xe,ye——插补直线的终点坐标。
根据式(2-1),取函数F
![](https://epubservercos.yuewen.com/FF68B7/17214368604803006/epubprivate/OEBPS/Images/Figure-P24_9520.jpg?sign=1738866030-I8085C6IgHtk32pIqaqUv2lbEmASQ8gW-0-f9cbeaf211df550c9fe3be8380b4adab)
式(2-2)的值被称为“偏差函数”。
如图2-2所示,M(xi,yi)为步进电动机驱动实现运动轨迹上的点,也被称为“动点”。该动点可以在直线上,也可以在直线的上方或者下方,即动点轨迹与直线OB的关系有3种情形。
![](https://epubservercos.yuewen.com/FF68B7/17214368604803006/epubprivate/OEBPS/Images/Figure-P24_1496.jpg?sign=1738866030-1pe1vviYY4esVpC2toyis39QP99LVvyq-0-2c209c8e0b9b6ada69b5f9eff906f03c)
图2-2 直线插补
(1)动点在直线的上方:F=xeyi-xiye﹥0,或F﹥0。
(2)动点在直线上:F=0。
(3)动点在直线的下方:F﹤0。
因此,根据判别式偏差函数的大小,可决定下一步是x轴上的还是y轴上的步进电动机工作。
如图2-3所示,动点的运动方向可规定为:
![](https://epubservercos.yuewen.com/FF68B7/17214368604803006/epubprivate/OEBPS/Images/Figure-P24_9614.jpg?sign=1738866030-aEP2qVyJgrnGH8mYGXQsIWzdhIDvyrEd-0-2f642ea9c7c8a4d8fcdfe7bbd3f86fa5)
图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
![](https://epubservercos.yuewen.com/FF68B7/17214368604803006/epubprivate/OEBPS/Images/Figure-P25_9528.jpg?sign=1738866030-iv0LoCvZYIFyogS0To0FKni0yVTgc5fq-0-ef6d7effbeb5ff31a10550215648cc90)
向+y方向走一步,则yi+1=yi+1,即
![](https://epubservercos.yuewen.com/FF68B7/17214368604803006/epubprivate/OEBPS/Images/Figure-P25_9529.jpg?sign=1738866030-GQe4Rh7MUBjwESwv9gGnXRWJWCJfSOpH-0-bf8025769a83215c90cfc9251459eac9)
上述式(2-3)和式(2-4)被称为偏差计算的递推公式,即使用前一次计算的偏差值和终点值,只做一次加(或减)法便可得到新的偏差值,相对采用式(2-2)来计算偏差,少算两次乘法运算,其运算量在早期的控制器上可大大提高运算速度。如果控制器的运算速度很高,则也可用式(2-2)来计算偏差函数。采用式(2-2)进行计算,不存在迭代累积误差。
3. 插补的终点判别
(1)按插补总步数。
插补运算实现预定轨迹,可用插补总步数作为判别是否到达终点的条件,即
![](https://epubservercos.yuewen.com/FF68B7/17214368604803006/epubprivate/OEBPS/Images/Figure-P25_9530.jpg?sign=1738866030-yncUi8uYK9hZY8MppohYy9p9HJfFBGaZ-0-48cf96651da57fd28983c2bc0f16dea3)
式中:N——插补的总步数。
式(2-5)表明y方向脉冲数+x方向脉冲数为总的插补步数。设插补步数计数变量n=N,每向x或y方向走一步,n步数减1,直到等于总步数n=0,停止。
(2)分别判断各坐标轴的运动步数,即用xe、ye作为判别条件。
![](https://epubservercos.yuewen.com/FF68B7/17214368604803006/epubprivate/OEBPS/Images/Figure-P25_1626.jpg?sign=1738866030-O7R7q85TiOdeNLLSyK2ooQehqfGPdNur-0-3ba110ffe862f94adff139e72610de91)
图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 逐点比较法直线插补计算
![](https://epubservercos.yuewen.com/FF68B7/17214368604803006/epubprivate/OEBPS/Images/Figure-T25_9623.jpg?sign=1738866030-oLzIWgt61qsyXBkWGca2xgUS8hqAi7vI-0-644062e8aebf9d0aeef1d6657fc6a63e)
5. 直线插补其他象限与第一象限关系
(1)由图2-5可看出,各象限进方向与x或y轴是对称的。
(2)只需改变运动方向(改变电机转向),其计算方法可以不用改变。因此可用式(2-6)、式(2-7)作为4个象限通用的递推公式(终点坐标取绝对值)。
![](https://epubservercos.yuewen.com/FF68B7/17214368604803006/epubprivate/OEBPS/Images/Figure-P26_1710.jpg?sign=1738866030-slTC9wv37fqsRNOvCd9HPHs5GoOISv5U-0-e02351b99c1d1d07b23930e4d626a9c9)
图2-5 直线插补各象限关系
向x终点方向走一步:
![](https://epubservercos.yuewen.com/FF68B7/17214368604803006/epubprivate/OEBPS/Images/Figure-P26_9626.jpg?sign=1738866030-aXPCu0XtDvnrNb3sPGhMaCqDoLYMgQ1A-0-9ee23ac30dd49e8c15568707822cdacd)
向y终点方向走一步:
![](https://epubservercos.yuewen.com/FF68B7/17214368604803006/epubprivate/OEBPS/Images/Figure-P26_9627.jpg?sign=1738866030-OasQZIpwQ5T9HqJp2UhI7AlD1H11NiLp-0-ee9bae9384fb1fe3db5473bcc062b0d8)
直线插补象限判别发电机转向关系如表2-2所示。
表2-2 直线插补象限判别及电机转向关系
![](https://epubservercos.yuewen.com/FF68B7/17214368604803006/epubprivate/OEBPS/Images/Figure-T26_9628.jpg?sign=1738866030-l8PeLIPBInvhOhQ90wU4EoAOUQsGKM9f-0-af6d8cac9f747b12fe6f4eafa1c00fdf)
6. 直线插补程序流程
直线插补程序流程框图如图2-6所示。
![](https://epubservercos.yuewen.com/FF68B7/17214368604803006/epubprivate/OEBPS/Images/Figure-P27_1838.jpg?sign=1738866030-3iz94gNBHcdCacnx1WlWrKpeqDjjyR9t-0-b3716f0fd424769508398e11101c1352)
图2-6 直线插补程序流程框图
初始化包括:
(1)根据xe和ye值判断直线所在象限,并确定电机转向。
(2)确定的值。
(3)F=0。
2.3.2 圆弧插补原理
如图2-7所示为第一象限(逆时针)圆弧插补法。
![](https://epubservercos.yuewen.com/FF68B7/17214368604803006/epubprivate/OEBPS/Images/Figure-P27_1874.jpg?sign=1738866030-rAsBfpJ0Xz2JUNmjSA2f2CtEXgde0Ewe-0-47b22bf28cf63fc84adc8bae1ebda31d)
图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不变,则
![](https://epubservercos.yuewen.com/FF68B7/17214368604803006/epubprivate/OEBPS/Images/Figure-P28_9635.jpg?sign=1738866030-qIFA7mpZqI2NMlFHquBFxrw4AJFgS8oO-0-98b9882597c327f069f5b5c441a46cab)
向+y走一步后,动点xi不变,动点y:yj+1=yj+1,则
![](https://epubservercos.yuewen.com/FF68B7/17214368604803006/epubprivate/OEBPS/Images/Figure-P28_9636.jpg?sign=1738866030-0Gd61BPJ70YtJM4JDKPmnzWAdtnoClFY-0-1245690c742c64c8e8c548854ee1117c)
同理,可推导第一象限的顺时针圆弧递推公式。
向+x走一步后:
![](https://epubservercos.yuewen.com/FF68B7/17214368604803006/epubprivate/OEBPS/Images/Figure-P28_9638.jpg?sign=1738866030-72rEQMUcYjSye7vYAkIygqJstj2anUtU-0-452f7ba9c07439af546752eb82dccf0c)
向-y走一步后:
![](https://epubservercos.yuewen.com/FF68B7/17214368604803006/epubprivate/OEBPS/Images/Figure-P28_9640.jpg?sign=1738866030-zb7BbJL8gzquiVVI57b3DJ2I5aNgVSZT-0-ab01caaeab889cbe8d70a46579301616)
第一象限顺逆圆弧和其他象限圆弧的关系如图2-8所示。
![](https://epubservercos.yuewen.com/FF68B7/17214368604803006/epubprivate/OEBPS/Images/Figure-P28_9641.jpg?sign=1738866030-VefgZeAIt1fgLwVJBniPdSzbl0fcbfWw-0-ee9595084f7048c8ef1b4f171dfc04b3)
图2-8 第一象限顺逆圆弧和其他象限圆弧关系
如图2-8(a)所示,第一象限为逆圆插补;第二象限,顺圆;第三象限,逆圆;第四象限,顺圆。如图2-8(b)所示,第一象限为顺圆插补;第二象限,逆圆;第三象限,顺圆;第四象限,逆圆。
仅以图2-8(a)第二象限的顺时针圆插补为例,第二象限顺圆与第一象限的逆时针圆弧相对于y轴对称,可以用第一象限的逆时针圆弧插补公式,不过要注意轴的驱动方向,以及坐标值应取绝对值。
表2-3表明各象限顺圆、逆圆,根据偏差判别,确定插补的走向关系。
表2-3 圆弧插补象限判别及电机转向关系
![](https://epubservercos.yuewen.com/FF68B7/17214368604803006/epubprivate/OEBPS/Images/Figure-T29_9644.jpg?sign=1738866030-shu0j4MhxowDeisbCUqavBb4Y3VPZQyo-0-01f69f88ad98a8e17c1aa73e068327bb)
2.3.3 逐点比较法圆弧插补举例
如图2-9所示,对于第一象限圆弧AB,起点A(0,4),终点B(4,0),采用逐点比较法实现圆弧插补,其实现过程可用表2-4进行说明。
![](https://epubservercos.yuewen.com/FF68B7/17214368604803006/epubprivate/OEBPS/Images/Figure-P29_2086.jpg?sign=1738866030-FpmbJYrTETRiXEfPbF25b90zsCsbqyBG-0-78ade7d0dfdee9e49a01ead7ae7eeecf)
图2-9 第一象限圆弧逆圆插补轨迹
表2-4 第一象限圆弧逆圆插补方法
![](https://epubservercos.yuewen.com/FF68B7/17214368604803006/epubprivate/OEBPS/Images/Figure-T29_9645.jpg?sign=1738866030-sq9drlkc4SUi4ka4BHiVdIkL4mS5HwXc-0-b649ec47bcd626598c3aecc626505b18)
2.3.4 多段组合位置控制说明
对于多段组合,可以先通过移动坐标系方式,然后再用相关的插补方法进行位置控制。
如图2-10所示,图中直线AB、BC,圆弧CD、DF为设定轨迹,由A点运动到F点,经过坐标系移动,可以看出直线AB在第三象限,直线BC在第一象限,圆弧CD、DE、EF分别是第二象限、第一象限、第四象限的顺时针圆弧(圆弧象限需要过象限处理)。
![](https://epubservercos.yuewen.com/FF68B7/17214368604803006/epubprivate/OEBPS/Images/Figure-P30_2359.jpg?sign=1738866030-kFTbT0PpkyfeJYA5NLXMTixkYWm2yflj-0-94d8203caaea4c91b5402201b90a14a0)
图2-10 多段组合位置控制曲线