一、 刀具半径补偿的作用
在轮廓加工过程中,由于刀具总有一定的半径(如铣刀半径或线切割机的钼 丝半径),刀具中心的运动轨迹并不等于所需加工零件的实际轨迹,也就是说,数控机床进行轮廓加工时必考虑刀具半径。现以铣床为例(见图2-41),若要用半径为r的刀具加工外形轮廓为A的工件,那么刀具中心必须沿着与轮廓A偏离r距离的轨迹B移动,即铣削时刀具中心轨迹和工件的廓形是不一致的。我们可以根据轮廓A的坐标参数和刀具半径r的值计算出轨迹B的坐标参数,再编制成程序进行加工,但这很不方便。因为当材料、工艺变化或刀具磨损须要更换刀具时,须要重新制作程序。如果不考虑刀具半径,直接按照工件的廓形编程是比较方便的,但是这时刀具中心是按工件廓形运动,加工出来的零件比图纸要求缩小了。为了既能使编程方便,又能使刀具中心沿轨迹运动,加工出合格的零件来,就需要有刀具半径补偿(或称刀具偏移计算,简称刀偏)功能。
须要指出的是,刀具半径补偿通常不是程序编制人员完成的,程序编制人员只是按零件的加工轮廓编制程序。同时用指令G41,G42,G40告诉CNC系统刀具是沿零件内轮廓运动还是沿外轮廓运动。实际的刀具半径补偿是在CNC系统内部由计算机自动完成的。CNC系统根据零件轮廓尺寸(直线或圆弧以及其起点和终点)和刀具运动的方向指令(G41,G42,G40),以及实际加工中所用的刀具半径值自动地完成刀具半径补偿计算。
根据ISO标准,当刀具中心轨迹在编程轨迹(零件轮廓)前进方向右边时称为右刀具补偿,简称右刀补,用G42表示;反之,则称为左刀补,用G41表示;当不须要进行刀具半径补偿时用G40表示。
在实际轮廓加工过程中,刀具半径补偿执行过程一般可分为三步:
(1)刀具补偿建立。
(2) 刀具补偿进行。
(3) 刀具补偿撤消。
二、 刀具半径补偿计算
(1) 直线刀具补偿计算。如图2-43所示,被加工直线段的起点在坐标原点,终点A的坐标为(X,Y)。假定上一程序段加工完后,刀具中心在 点且其坐标已知。刀具半径为r,现在要计算的是刀具补偿后直线段 的终点坐标( , )。设直线段终点刀具补偿矢量 的投影坐标为( , ),则
(2-51)
因为 ∠XOA=∠ =
所以 (2-52)
将式(2-52)代入式(2-51)得
上式是直线刀具半径补偿计算公式,但是该公式是在增量编程方式下推出的。事实上,如果是绝对编程方式,仍然可以用式(2-51)计算直线刀具补偿,所不同的是式(2-51)中的(X,Y)和(X'',Y'')都应是绝对坐标值。
(2) 圆弧刀具半径补偿计算。如图2-44所示,被加工圆弧的圆心在坐标原点,圆弧半径为R,圆弧起点A的坐标为 ,圆弧终点B的坐标为 刀具半径为r。
图2-43 直线刀具补偿 图2-44 圆弧刀具半径补偿
假定上一程序段加工结束后刀具中心点为 ,且其坐标为已知。那么圆弧刀具半径计算的目的就是要计算出刀具中心圆弧 的终点坐标 。设 在两个坐标上的投影为 ,则
= +
= + (2-53)
因 ∠BOX=∠ =
故 =r =
=r = (2-54)
将式(2-54)代入式(2-53)得圆弧刀具补偿计算公式为
事实上,刀偏计算的方法很多,仅在NC系统中常用的就有DDA法、极坐标法、逐点比较法(又称刀具半径矢量法,或称 法)、矢量判别法等。这些刀具偏移计算方法的采用,大多与数控系统所采用的插补方法有关,也就是随数控系统的不同而异。下面将对 法、极坐标法、矢量判别法作以介绍。
1、刀具半径分量法( 法
在图2-45中,沿直线OA伸长(亦可缩短,图中未示出)一个刀具半径r后, 点的坐标是
式中 和 是刀具半径偏移量 (=r)在x和y轴上的分量。
在普通NC系统中,当读带机读入 和 后分别存放在 和 中,然后计算装置在不输出进给脉冲的情况下(即工作台不动),作直线插补运算。此时, 和 的数相当于直线插补时的终点坐标,所以在插补过程中 和 的内容是不变的。
另外再用两条寄存器 及 分别记取在直线 插补的过程中x轴和y轴的输出插补脉冲(此脉冲不输出,工作台不动),设其所记的数分别为 与 (i,j为插补脉冲序号)。当达到 时,停止插补运算,这时 及 中所存的数就是刀具半径r在x轴和y轴上的分量 和 。
有了 、 及 、 ,就可作加法运算
+ =
即 ( )+( )
图2-46
+ =
即 ( )+( )
这样 和 中寄存的就是 点的坐标值 及 了。
下面讨论 的判别。
首先求 值。对于拨盘输入的r值,为了避免作平方运算,可以用递推法来求 ,这就要多用 和 两条寄存器,如图2-46所示。
计算的递推公式如下:
= +1
=
用 存放 值, 存放 值,并设运算开始时 = =0,按图2-46逻辑线路逐次求和,结果如下:
第一次相加: = +1=0+1=1
第二次相加:
第三次相加:
……
依次递推,直到 中之值和刀具半径r相等为止。而 中的数值即为 。
对于 是否成立亦可按下式用递推法来进行判别。
=
在作刀具偏移直线插补过程中,除了用 和 分别寄存 和 外,还需有一条寄存器 来寄存判别值 。
每当 记入一个脉冲时计算:
= + +1
每当 记入一个脉冲时计算:
= + +1
初始时,令 =0; =0; =- 。在刀具半径偏移插补过程中,每发出一个插补脉冲,就进行一次 运算,并且判别是否为零。当 =0时,就满足 的条件,停止插补运算,这时存放在 和 中的数据就是r在x轴和y轴上的分量 和 ( , 值即为刀具半径补偿值)。由于此原理在计算刀偏值时须使用刀具半径r的平方值,因而被称为 法。
2、极坐标输入法
极坐标输入法如图2-47所示,曲线起、终点坐标A和E是以极坐标值表示的,有R, , , , 等5个数据,它们均已从程序输入,结合所键入的刀具半径r值,从而可求得各坐标分量为
=
=
=
=
其具体过程为:
(1) 键入r值;
(2) 输入R值,并计算 值;
(3) 输入 ,求出 ;
(4) 输入 ,求出 ;
(5) 输入 ,计算 ;
(6) 输入 ,求出 ;
(7) 求出终点判别值。
最后将修正后的坐标值 , , , 分别存放,刀具偏移计算结束。
图2-47 极坐标输入法
图2-48 矢量判别法
3、矢量判别法
如图2-48所示,设要加工的程序段为圆弧的 ,半径为R,加工开始时,刀具中心处在 点,它的刀具半径矢量为r。要求加工结束时,刀具中心处于圆弧终点 。为实现这种要求,可把刀具中心的运动分解成图示的两种运动: → 的运动和→ 的运动。
对于 → 的运动,实际上是以 点为中心作半径为R的圆弧插补,结果使刀具中心由 运动到 ,即此运动使刀具半径矢量平移到 。对于 → 的运动,则是把刀具半径矢量由r旋转到 ,与圆弧终点半径矢量重合。
这样,若把这两种运动结合起来,也就是在作轮廓线圆弧插补的同时,不断地修改刀具半径矢量r,使它保持与圆弧半径矢量R一致,就能实现刀具半径的补偿。
为了比较R与r的重合性,引入R和r的矢量积作为判别函数:
H= =
式中的 , , 、 分别表示R和r上任一点的坐标值。实际上,上式表示了两个矢量与x轴夹角大小之比较(见图2-48)。
当H=0时,表示R和r重合;
当H>0时,表示r超前R;
当H<0时,表示r滞后R。
把H=0的情况并入H>0中,且规定H<0时,作刀具偏移计算,并作矢量r的旋转;H 0时,停止刀具偏移计算,进行轮廓的圆弧插补。
r的旋转可按轮廓圆弧插补相同的方式进行。由此可见,刀具半径补偿的矢量判别法是通过判别函数H把两圆弧插补结合起来,而与圆弧插补本身的方法无关。所以,不管数控系统使用何种插补方法都可用矢量判别法进行刀具补偿计算,这是此种方法的一个优点。另一个优点是此法能在轮廓插补的同时进行刀具半径矢量的旋转,从而可省去单独计算刀具半径矢量偏移的时间。它的缺点是由于在偏差补偿的基础上进行刀具偏移计算,引入了一个新的偏差量H,使插补误差增加一倍,达两个脉冲当量。
三、 C功能刀具半径补偿
1、C刀补的基本概念
C功能刀具半径补偿简称为C刀补。上面介绍的在NC系统中常用的 法、极坐标输入法等一般的刀具半径补偿则称为B刀具补偿,或简称为B刀补。B刀补的共同点是:
(1) 利用上段程序求出下段程序的起点偏移后的坐标值,实质上主要是计算出刀具半径在本程序段终点的坐标分量。
(2) B刀补的执行过程一般都分三步,即刀补建立、刀补进行、刀补撤消。
(3) 对于两线段组成的尖角,在加工过程中,一般都要附加一段程序,而且附加的轨迹常常为圆弧,即所谓非圆滑过渡的附加程序。
尖角过渡问题的提出,是在加工如图2-49剖线部分外形轮廓等零件时,由 圆弧段开始,接着加工 直线段,粗看起来,似乎只有两个程序就可以了。但事实并非这样,因为第一个程序段加工圆弧 ,刀具中心沿圆弧 运动。结束时,刀具中心停在 点上,如果紧接着第二个程序,显然得不出直线段 ,只有使刀具中心走一个从 至 的附加程序后,才能正确加工出零件外形 段。 程序段称为“非圆滑过渡的附加程序”。
显然,为了使刀具中心由 点走到 点,最好的方法是走一个以B点为圆心,r为半径的圆弧。因此附加程序实质就是圆弧插补,B点是圆弧的中心,起点是 ,终点是 ,圆弧半径就是刀具半径r。
图2-49 点击进入观看动画
以极坐标输入法为例,此程序的输入数据为 , , , ,圆弧半径(等于r)不需要由穿孔带输入,已在刀具半径拨盘上拨出。因此,附加程序段的起点和终点坐标分别为
起点: 终点:
x,y两个方向应走的总步数为
=
由上式看出,附加程序实际上是刀具偏移计算的一个特例,即R=0的情况。
可见,在B刀补中是将尖角过渡和与零件轮廓相同的刀补计算分开进行的,尤其对于尖角过渡程序必须事先由编程人员给予足够的重视并认真编写。
图2-50B刀具补偿的交叉点和间断点实际上,当程序编制人员按零件的轮廓编制程序时,各程序段之间是连续过渡的,没有间断点,也没有重合段。但是,在进行了刀具半径补偿(B刀具补偿)后,在两个程序段之间的刀具中心轨迹就可能会出现间断点和交叉点。如图2-50所示,粗线为编程轮廓,当加工外轮廓时,会出现间断 ;当加工内轮廓时,会出现交叉点 。
对于只有B刀具补偿的CNC系统,编程人员必须事先估计出在进行刀具补偿后可能出现的间断点和交叉点的情况,并进行人为的处理。如遇到间断点时,可以在两个间断点之间增加一个半径为刀具半径的过渡圆弧段 。遇到交叉点时,事先在两程序段之间增加一个过渡圆弧段 ,圆弧的半径必须大于所使用的刀具的半径。显然,这种仅有B刀具补偿功能的CNC系统对编程人员是很不方便的。
但是,最早也是最容易为人们所想到的刀具半径补偿方法,就是由数控系统根据和实际轮廓完全一样的编程轨迹,直接算出刀具中心轨迹的转接交点 和 ,然后再对原来的程序轨迹作伸长或缩短的修正。
从前, 和 点不易求得,主要是由于NC装置的运算速度和硬件结构的限制。随着CNC技术的发展,系统工作方式、运算速度及存储容量都有了很大的改进和增加,采用直线或圆弧过渡,直接求出刀具中心轨迹交点的刀具半径补偿方法已经能够实现了,这种方法被称为C功能刀具半径补偿(简称C刀具补偿或C刀补)。
2、C刀补的基本设计思想
从前的刀具补偿方法(B刀具补偿)对编程限制的主要原因是在确定刀具中心轨迹时,都采用了读一段,算一段,再走一段的控制方法。这样,就无法预计到由于刀具半径所造成的下一段加工轨迹对本段加工轨迹的影响。于是,对于给定的加工轮廓轨迹来说,当加工内轮廓时,为了避免刀具干涉,合理地选择刀具的半径以及在相邻加工轨迹转接处选用恰当的过渡圆弧等问题,就不得不靠程序员来处理。
为了解决下一段加工轨迹对本段加工轨迹的影响,在计算完本段轨迹后,提前将下一段程序读入,然后根据它们之间转接的具体情况,再对本段的轨迹作适当的修正,得到正确的本段加工轨迹。
3、程序段间转接情况分析
在CNC系统中,所能控制的最基本的轮廓线型是直线段和圆弧段。随着前后两段编程轨迹的连接方式不同,相应的转接方式有:直线与直线的转接;圆弧与圆弧的转接;直线与圆弧的转接。根据两段程序轨迹的矢量夹角α和刀具补偿方向的不同,又可以有以下几种转接过渡方式:伸长型;缩短型;插入型。而插入型又分两种过渡方式,即直线过渡型和圆弧过渡型。下面分别加以介绍。
1) 直线与直线转接
图2-52是直线与直线相交,进行左刀具补偿的情况。图中编程轨迹为OA→AF。
在图2-52(a)、(b)中,AB和AD为刀具半径。对应于编程轨迹OA和AF,刀具中心轨迹JB与DK将在C点相交。这样,相对于OA与AF来说,将缩短CB与DC的长度。因此称这种转接为缩短型转接。
在图2-52(d)中,C点将处于JB与DK的延长线上,因此称之为伸长型转接。
对于图2-52(c)、(e)来说,若仍采用伸长型转接,势必要增加刀具非切削的空行程时间。为了解决这个问题,可以用两种方法:
(1) 插入直线。令BC等于 且等于刀具半径长度AB和AD,同时在中间插入过渡直线 ,也就是说,刀具中心除了沿原来的编程轨迹伸长移动一个刀具半径长度外,还必须增加一个沿直线 的移动。对于原来的程序段,等于在中间再插入一个程序段,称这种转接型式为插入型转接。
(2) 插入圆弧。在刀具中心轨迹JB与DK之间插入一个圆弧 ,该圆弧的圆心在A点,其半径为刀具半径长度AB。
显然,圆弧插入型转接要比直线插入型转接更加简单。但是圆弧插入型也有一个缺点,当刀具从B点沿圆弧BD移动到D点时轮廓尖角处始终处于切削状态,尖角加工的工艺性就比较差,这在磨削加工中尤其突出,所需加工的尖角往往会被加工成小圆角。
图2-53是直线接直线,进行右刀具补偿的情况。
在同一个坐标平面内直线接直线时,当第一段编程矢量逆时针旋转到第二段编程矢量的夹角 在0° 360°范围内变化时,相应刀具中心轨迹的转接将顺序地以上述三种类型的方式进行。
在图2-52和图2-53中, 为第一段编程矢量, 第二段编程矢量, 夹角即为逆时针转向的∠GAF。
点击进入动画观看刀补(a)(b)(c)(d)(e)
点击进入动画观看刀补(a)(b)(c)(d)(e)
对应图2-52和图2-53,表2-11列出了直线和直线连接时转接的全部分类情况。
表2-11 直线接直线时的转接分类
编程轨迹的连接 |
刀具补偿方向 |
sina>=0 |
cosa>=0 |
象限 |
转接类型 |
对应图号 |
G41G01/G41G01
|
G41
|
1 |
1 |
Ⅰ |
缩短 |
2-52(a) |
1 |
0 |
Ⅱ |
缩短 |
2-52(b) |
0 |
0 |
Ⅲ |
插入 |
2-52(c) |
0 |
1 |
Ⅳ |
伸长 |
2-52(d) |
G42G01/G42G01
|
G42
|
1 |
1 |
Ⅰ |
伸长 |
2-53(a) |
1 |
0 |
Ⅱ |
插入 |
2-53(b) |
0 |
0 |
Ⅲ |
缩短 |
2-53(c) |
0 |
1 |
Ⅳ |
缩短 |
2-53(d) |
2) 圆弧与圆弧转接
和直线接直线时一样,圆弧接圆弧时转接类型的区分也可以通过相接两圆的起点和终点半径矢量的夹角 的大小来判别。但是,为了分析方便,往往将圆弧等效于直线处理。
在图2-54中,当编程轨迹为 接 时, 和 分别为起点和终点的半径矢量,若为G41左刀具补偿, 角将仍为∠GAF。以图2-54(a)为例:
=∠ -∠ =∠ -90°-(∠ -90°)=∠GAF
点击进入动画观看刀补(a)(b)(c)(d)
比较图2-52与图2-54,它们的转接型式分类和判别是完全相同的,即当左刀具补偿顺圆接顺圆G41G02/G41G02时,它的转接类型的判别等效于左刀具补偿直线接直线G41G01/G41G01。的转接
3) 直线与圆弧
图2-54还可以看作是直线与圆弧的连接,亦即G41G01/G41G02接(OA接 )和G41G02/G41G01( 接AF)。因此,它们的转接类型的判别也等效于直线接直线G41G01/G41G01。
由上述分析可知,根据刀具补偿方向、等效规律及 角的变化这三个条件,各种轨迹间的转接形式的分类是不难区分的。
参阅有关文献。图2-55是直线接直线时转接分类判别的软件实现框图。
当然,在实际计算时,还要对图2-52至图2-54中的刀具半径矢量 , ,以及从直线转接交点指向刀具中心轨迹交点的矢量 , 等进行计算。这些矢量的详细计算过程不再赘述,读者可参阅有关文献。
图2-55 直线接直线转接分类的软件实现 |