![机电一体化系统设计](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=1739314540-1viiZowEtrZETmexdKonRYMrPCp1hTpV-0-066990e828b96bc9ef2eed5ffb8b826a)
式中:xe,ye——插补直线的终点坐标。
根据式(2-1),取函数F
![](https://epubservercos.yuewen.com/FF68B7/17214368604803006/epubprivate/OEBPS/Images/Figure-P24_9520.jpg?sign=1739314540-elhL0iyx4WMzkdw26cYuZPtVke2WyLbR-0-fdc546ef9417ee33eb668630f40177b9)
式(2-2)的值被称为“偏差函数”。
如图2-2所示,M(xi,yi)为步进电动机驱动实现运动轨迹上的点,也被称为“动点”。该动点可以在直线上,也可以在直线的上方或者下方,即动点轨迹与直线OB的关系有3种情形。
![](https://epubservercos.yuewen.com/FF68B7/17214368604803006/epubprivate/OEBPS/Images/Figure-P24_1496.jpg?sign=1739314540-qk5grsRkXdv1GUBfNQw7dlZ5gI6Ax3fc-0-c1640b448e03465782934cad55cb901b)
图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=1739314540-cv0QBpwmLb2Kr8Jgzq5rusOBtqK36Dxa-0-7f4b9ec2fd8395fdc7444d716848df04)
图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=1739314540-ixIfJFpkfdEWeTMMZfD3pEWU15WD5xSy-0-33d77391a970b8be1a7442eef81002c4)
向+y方向走一步,则yi+1=yi+1,即
![](https://epubservercos.yuewen.com/FF68B7/17214368604803006/epubprivate/OEBPS/Images/Figure-P25_9529.jpg?sign=1739314540-9Hv6iRvSf0t6ju77eSd1icJeoJUxbcPB-0-40046c98943a51103a2bdcaab6fe2a9d)
上述式(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=1739314540-QHSRvDoKxJhvwnhwfPUrs9PUiZPIydOU-0-a50221866825fac2908d0e484493862c)
式中: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=1739314540-JxWy2eUaodALJe1fGOlxzw56j7RkNroz-0-3d1d301874038f5d7b011198e2002037)
图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=1739314540-YhS5EO0zOVTXyOIFP2pRvVUSBFFBmiLr-0-d36647f7ccf6753114080e8f4e5959a5)
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=1739314540-XHYYEkEIufSBGXyFGBNrBYJoTnOf8sRg-0-845bcc2af7df87147df314aab44cf9ed)
图2-5 直线插补各象限关系
向x终点方向走一步:
![](https://epubservercos.yuewen.com/FF68B7/17214368604803006/epubprivate/OEBPS/Images/Figure-P26_9626.jpg?sign=1739314540-IA127TRLio9HpGZ1BS0rdj7BVGyJSEyR-0-716a54bb104f3d20a75f19a4a3c0cfa9)
向y终点方向走一步:
![](https://epubservercos.yuewen.com/FF68B7/17214368604803006/epubprivate/OEBPS/Images/Figure-P26_9627.jpg?sign=1739314540-AcEppKx4Imk8VyKhhUHn9IyGsFkSV3Cm-0-ca213da13de61988293b9e35cadf0ed7)
直线插补象限判别发电机转向关系如表2-2所示。
表2-2 直线插补象限判别及电机转向关系
![](https://epubservercos.yuewen.com/FF68B7/17214368604803006/epubprivate/OEBPS/Images/Figure-T26_9628.jpg?sign=1739314540-89q7sNLgxp2g3tlvMDOkxSiLnO2Inn9A-0-b2ca57d74179ce4e5c6af01da8580e6f)
6. 直线插补程序流程
直线插补程序流程框图如图2-6所示。
![](https://epubservercos.yuewen.com/FF68B7/17214368604803006/epubprivate/OEBPS/Images/Figure-P27_1838.jpg?sign=1739314540-towcLW5TiCArdLa90ic0DUTExopaOXoy-0-728bd17c2f26213ca06f49951c80bc45)
图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=1739314540-HZZRl7LxS8c26xUC6KPKz005ZTVFfJpN-0-a50748d140799e4c223d71cadc23a491)
图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=1739314540-n4aB9x6UVs6QgbE8Dm7vPaKYnhsAYr77-0-4517b20948b578d0315cf8131c728386)
向+y走一步后,动点xi不变,动点y:yj+1=yj+1,则
![](https://epubservercos.yuewen.com/FF68B7/17214368604803006/epubprivate/OEBPS/Images/Figure-P28_9636.jpg?sign=1739314540-zmnlncF3rOZBhJJUxgS3h1s5ah7yVlrM-0-05a6e67bc186cace32150b09d0a41776)
同理,可推导第一象限的顺时针圆弧递推公式。
向+x走一步后:
![](https://epubservercos.yuewen.com/FF68B7/17214368604803006/epubprivate/OEBPS/Images/Figure-P28_9638.jpg?sign=1739314540-aDzlVCY0EWsPasTkwW2XAPKC3xuv2RDc-0-cf369aeabc55124e6493000d289a1f11)
向-y走一步后:
![](https://epubservercos.yuewen.com/FF68B7/17214368604803006/epubprivate/OEBPS/Images/Figure-P28_9640.jpg?sign=1739314540-7aWcourWYrW3e7LAqf0g9K4nOVfSlZjQ-0-ba5b698480374ef0e3d84514bc88cbb4)
第一象限顺逆圆弧和其他象限圆弧的关系如图2-8所示。
![](https://epubservercos.yuewen.com/FF68B7/17214368604803006/epubprivate/OEBPS/Images/Figure-P28_9641.jpg?sign=1739314540-pCm2JLmUhYUVtjjnIEEml5pNgEuYxund-0-de77e057fa0f0dfd842d7bfc23b93fcb)
图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=1739314540-c4drSjXpg0gyxmSfvHiCc0tAERzDc96A-0-92eef9af555c6c61ab1ef0eb155b96e0)
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=1739314540-PLIxxo0KIXKNNskWwWRCO83cbYtqVCVX-0-b02319cd88f874b5d8f5f0d1c41fbc87)
图2-9 第一象限圆弧逆圆插补轨迹
表2-4 第一象限圆弧逆圆插补方法
![](https://epubservercos.yuewen.com/FF68B7/17214368604803006/epubprivate/OEBPS/Images/Figure-T29_9645.jpg?sign=1739314540-336GerITO3eLu0Ia1wrxwkcJPfdD2vVW-0-1ebf0b35a48ec47f59d1d0ddbae1574a)
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=1739314540-f0xaxuXb3elHlH4bcEuMtRd286OGubRc-0-00167139b0d4e5b259d87f998784d4db)
图2-10 多段组合位置控制曲线