§2—1 逐点比较法
逐点比较法是我国数控机床中广泛采用的一种插补方法,它能实现直线、圆弧和非圆二次曲线的插补,插补精度较高。
逐点比较法,顾名思义,就是每走一步都要将加工点的瞬时坐标同规定的图形轨迹相比较,判断其偏差,然后决定下一步的走向,如果加工点走到图形外面去了,那么下一步就要向图形里面走;如果加工点在图形里面,那么下一步就要向图形外面走,以缩小偏差。这样就能得出一个非常接近规定图形的轨迹,最大偏差不超过一个脉冲当量。
在逐点比较法中,每进给一步都须要进行偏差判别、坐标进给、新偏差计算和终点比较四个节拍。下面分别介绍逐点比较法直线插补和圆弧插补的原理。
一、 逐点比较法直线插补
如上所述,偏差计算是逐点比较法关键的一步。下面以第Ⅰ象限直线为例导出其偏差计算公式。
图2-1 直线插补过程
点击进入动画观看逐点比较法直线插补
如图2—1所示,假定直线 的起点为坐标原点,终点A的坐标为 为加工点,若P点正好处在直线 上,那么下式成立:
若任意点 在直线 的上方(严格地说,在直线 与y轴所成夹角区域内),那么有下述关系成立:
亦即:
由此可以取偏差判别函数 为:
由 的数值(称为“偏差”)就可以判别出P点与直线的相对位置。即:
当 =0时,点 正好落在直线上;
当 >0时,点 落在直线的上方;
当 <0时,点 落在直线的下方。
从图2—1看出,对于起点在原点,终点为A( )的第Ⅰ象限直线OA来说,当点P在直线上方(即 >0)时,应该向+x方向发一个脉冲,使机床刀具向+x方向前进一步,以接近该直线;当点P在直线下方(即 <0)时,应该向+y方向发一个脉冲,使机床刀具向+y方向前进一步,趋向该直线;当点P正好在直线上(即 =0)时,既可向+x方向发一脉冲,也可向+y方向发一脉冲。因此通常将 >0和 =0归于一类,即 ≥0。这样从坐标原点开始,走一步,算一次,判别 ,再趋向直线,逐点接近直线 ,步步前进。当两个方向所走的步数和终点坐标A( )值相等时,发出终点到达信号,停止插补。
对于图2—1的加工直线OA,我们运用上述法则,根据偏差判别函数值,就可以获得如图中折线段那样的近似直线。
但是按照上述法则进行 的运算时,要作乘法和减法运算,这对于计算过程以及具体电路实现起来都不很方便。对于计算机而言,这样会影响速度;对于专用控制机而言,会增加硬件设备。因此应简化运算,通常采用的是迭代法,或称递推法,即每走一步后新加工点的加工偏差值用前一点的加工偏差递推出来。下面推导该递推式:
已经知道,加工点的坐标为( )时的偏差为:
若 ≥0时,则向x轴发出一进给脉冲,刀具从这点即( )点向x方向前进一步,到达新加工点P( ), ,因此新加工点P( )的偏差值为
即: (2-1)
如果某一时刻,加工点P( )的 <0,则向y轴发出一个进给脉冲,刀具从这一点向y方向前进一步,新加工点P( )的偏差值为
即:
(2-2)
根据式(2—1)及式(2—2)可以看出,新加工点的偏差完全可以用前一加工点的偏差递推出来。
综上所述,逐点比较法的直线插补过程为每走一步要进行以下4个节拍(步骤),即判别、进给、运算、比较。
(1) 判别。根据偏差值确定刀具位置是在直线的上方(或线上),还是在直线的下方。
(2) 进给。根据判别的结果,决定控制哪个坐标(x或y)移动一步。
(3) 运算。计算出刀具移动后的新偏差,提供给下一步作判别依据。根据式(2
—1)及式(2—2)来计算新加工点的偏差,使运算大大简化。但是每一新加工点的偏差是由前一点偏差 推算出来的,并且一直递推下去,这样就要知道开始加工时那一点的偏差是多少。当开始加工时,我们是以人工方式将刀具移到加工起点,即所谓“对刀”,这一点当然没有偏差,所以开始加工点的 =0。
(4) 比较。在计算偏差的同时,还要进行一次终点比较,以确定是否到达了终点。若已经到达,就不再进行运算,并发出停机或转换新程序段的信号。
下面以实例来验证图2—1。设欲加工直线OA,其终点坐标为 =5*, =3*,则终点判别值可取为 (终点判别方法详见下述)。开始时偏差 ,加工过程的运算节拍如表2—1所示。
图2-2 逐点比较法直线插补过程
表2-1 逐点比较法直线插补运算举例
序号 |
工 作 节 拍 |
第1拍:判别 |
第2拍:进给 |
第3拍:运算 |
第4拍:比较 |
1 |
F00=0 |
+∆x |
F10= F00-ye=0-3= -3 |
E7= E8-1=7 |
2 |
F10(= -3)<0 |
+∆y |
F11 = F10+xe= -3+5=2 |
E6= E7-1=6 |
3 |
F11(= 2)>0 |
+∆x |
F21= F11-ye=2-3= -1 |
E5= E6-1=5 |
4 |
F21(= -1) <0 |
+∆y |
F22= F21+xe= -1+5=4 |
E4= E5-1=4 |
5 |
F22(= 4)>0 |
+∆x |
F32= F22-ye=4-3= 1 |
E3= E4-1=3 |
6 |
F32(= 1)>0 |
+∆x |
F42 = F32-ye=1-3= -2 |
E2= E3-1=2 |
7 |
F42(= -2)<0 |
+∆y |
F43= F42+xe= -2+5=3 |
E1=E2-1=1 |
8 |
F43(= 3)>0 |
+∆x |
F53= F43-ye=3-3=0 |
E0=E1-1=0 |
|
|
|
|
到达终点 |
二、 逐点比较法圆弧插补
加工一个圆弧,很容易联想到把加工点到圆心的距离和该圆的名义半径相比较来反映加工偏差。这里,我们以第Ⅰ象限逆圆弧为例导出其偏差计算公式。设要加工图2—3所示第Ⅰ象限逆时针走向的圆弧 ,半径为R,以原点为圆心,起点坐标为A( ),对于圆弧上任一加工点的坐标设为P( ),P点与圆心的距离 的平方为 ,现在讨论这一加工点的加工偏差。
图2-3 圆弧插补过程
点击进入动画观看逐点比较法圆弧插补
若点P( )正好落在圆弧上,则下式成立:
若加工点P( )在圆弧外侧,则 >R,即:
若加工点P( )在圆弧内侧,则 <R,即:
将上面各式分别改写为下列形式:
(加工点在圆弧上)
(加工点在圆弧外侧)
(加工点在圆弧内侧)
取加工偏差判别式为:
运用上述法则,利用偏差判别式,即获得图2—2折线所示的近似圆弧。
若P( )在圆弧外或圆弧上,即满足 ≥0的条件时,应向x轴发出一个负向运动的进给脉冲(—
DDA圆弧插补的终点判别可以利用两个终点减法计数器,把 和 坐标所需输出的脉冲数| |和| |分别存入这两个计数器中, 或 积分器每输出一个脉冲,相应的减法计数器减1,当某一坐标计数器为零时,说明该坐标已到达终点,这时,该坐标停止迭代。当两个计数器均为零时,圆弧插补结束。下面举一个DDA圆弧插补的具体例子。设有一个圆弧,起点为 (5,0),终点为 (0,5),即
和
见图2—15。
图2-15 DDA圆弧插补轨迹
图2-16 DDA圆弧插补过程
四、 改进DDA插补质量的措施
使用DDA法插补时,其插补进给速度 不仅与系统的迭代频率 (即脉冲源频率)成正比,而且还与余数寄存器的容量 成反比,与直线段的长度 (或圆弧半径 )成正比。它们之间有下述关系成立:
(2-12)
式中 ——插补进给速度;
——系统脉冲当量;
L ——直线段的长度;
N——寄存器的容量;
——迭代频率。
显然,即使编制同样大小的速度指令,但针对不同长度的直线段,其进给速度是变化的(假设 和 为固定),必须设法加以改善。常用的改善方法是左移规格化和进给速率编程(FRN)。
由上面DDA圆弧插补例子可以看出,当插补第Ⅰ象限逆圆时, 坐标率先到达。这时若不强制 方向停止迭代,将会出现超差,不能到达正确的终点。为了改善这一情况,常用余数寄存器预置数的办法来解决。
以下就来讨论使DDA法从原理走向实用必须解决的速度和精度控制问题。
1.进给速度的均匀化措施——左移规格化
从上述可知,数字积分器溢出脉冲的频率与被积函数寄存器中的存数成正比。如用DDA作直线插补时,每个程序段的时间间隔是固定不变的,因为不论加工行程长短,都必须同样完成 次的累加运算。就是说行程长,走刀快;行程短,走刀慢。所以各程序段的进给速度是不一致的。这样影响了加工的表面质量,特别是行程短的程序段生产率低。为了克服这一缺点,使溢出脉冲均匀,溢出速度提高,通常采用左移规格化处理。
所谓“左移规格化”处理,是当被积函数的值比较小时,如被积函数寄存器有 个前零时,若直接迭代,那么至少需要2i次迭代,才能输出一个溢出脉冲,致使输出脉冲的速率下降。因此在实际的数字积分器中,需把被积函数寄存器中的前零移去即对被积函数实现“左移规格化”处理。经过左移规格化的数就成为规格化数——寄存器中的数其最高位为“1”时,该数即称为规格化数;反之最高位为“0”的数称为非规格化数。显然,规格化数累加两次必有一次溢出,而非规格化数必须作两次以上或多次累加才有一次溢出。 |