刀具半径补偿是数控铣削加工中的常用功能,本文就数控铣削加工中刀具半径补偿的建立和取消、刀具半径补偿量的和计算方法、刀具半径补偿功能的应用等进行了介绍。
在数控铣床上进行工件轮廓的数控铣削加工时,由于存在刀具半径,使得刀具中心轨迹与工件轮廓(即编程轨迹)不重合。如果数控系统不具备刀具半径自动补偿功能,则只能按刀心轨迹,即在编程时给出刀具的中心轨迹,如图1所示的点划线轨迹进行编程。其计算相当复杂,尤其是当刀具磨损、重磨或换新刀而使刀具直径变化时,必须重新计算刀心轨迹,并修改程序。这样既复杂繁锁,又不易保证加工精度。当数控系统具备刀具半径补偿功能时,数控程序只需按工件轮廓编写,加工时数控系统会自动计算刀心轨迹,使刀具偏离工件轮廓一个半径值,即进行刀具半径补偿。
[/align]
1. 刀具半径补偿量的
数控系统的刀具半径补偿就是将计算刀具中心轨迹的过程交由数控系统执行,编程员假设刀具的半径为零,直接根据零件的轮廓形状进行编程。因此,这种编程方法也称为对零件的编程,而实际的刀具半径则存放在一个可编程刀具半径偏置寄存器中。在加工过程中,数控系统根据零件程序和刀具半径自动计算刀具中心轨迹,完成对零件的加工。当刀具半径发生变化时,不需要修改零件程序,只需修改放在刀具半径偏置寄存器中的刀具半径值或者选用存放在另一个刀具半径偏置寄存器中的刀具半径所对应的刀具即可。
现代数控系统一般都设置有若干个可编程刀具半径偏置寄存器,并对其进行编号,刀具补偿之用,可将刀具补偿参数(刀具长度、刀具半径等)存入这些寄存器中。在进行数控编程时,只需调用所需刀具半径补偿参数所对应的寄存器编号即可。实际加工时,数控系统将该编号对应的刀具半径偏置寄存器中存放的刀具半径取出,对刀具中心轨迹进行补偿计算,生成实际的刀具中心运动轨迹。
在进行数控加工前,必须预先设置好刀具半径补偿量。刀具半径经补偿量的,通常由有关代码刀具补偿号,并在代码补偿号中输入刀具半径补偿量,刀具补偿号必须与刀具编号相对应。在加工中,如果没有更换刀具,则该刀具号的补偿量一直有效。
对于刀具半径补偿量的确定,如果是标准刀具*次使用,可以采用刀具厂家提供的有关参数来确定,如果是已使用过或重磨过的刀具,则应根据实测数据来确定。
2. 刀具半径补偿的建立与撤消
数控铣削加工刀具半径补偿分为刀具半径左补偿和刀具半径右补偿,分别用g41和g42定义。根据iso标准,沿刀具前进方向当刀具中心轨迹位于零件轮廓右边时,称为刀具半径右补偿,如图2a所示。反之称为刀具半径左补偿,如图2b所示。当不需要进行刀具半径补偿时,则用g40取消刀具半径补偿。
[/align]
(1)刀具半径补偿的建立
刀具半径补偿的建立就是在刀具从起刀点(起刀点位于零件轮廓之外,距离加工零件轮廓切入点较近)以进给速度接近工件时,刀具中心轨迹从与编程轨迹重合过渡到与编程轨迹偏离一个刀具半径值的过程。刀具半径补偿偏置方向由g41(左补偿)或g42(右补偿)确定,如图3所示。
在图3中,建立刀具半径左补偿的有关指令如下:
n10 g90 g92 x-10. y-10. z0;定义程序原点,起刀点坐标为(-10,-10,0)。
n20 s900 m03;启动主轴。
n30 g17 g01 g41 x0 y0 d01;建立刀具半径左补偿,刀具半径偏置寄存号d01。
n40 y50. ;定义首段零件轮廓。
其中,d01为调用d01号刀具半径偏置寄存器中存放的刀具半径值。
建立刀具半径右补偿的有关指令如下:
n30 g17 g01 g42 x0 y0 d01;建立刀具半径右补偿。
[/align]
2)刀具半径补偿的取消
与建立刀具半径补偿过程类似,在零件zui后一段刀具半径补偿轨迹加工完成后,刀具撤离工件,回到退刀点,在这个过程中应取消刀具半径补偿,其指令用g40。退刀点也应位于零件轮廓之外,距离加工零件轮廓退出点较近,可以与起刀点相同,也可以不相同。在图3中假如退刀点与起刀点相同的话,其刀具半径补偿取消过程的命令如下:
n100g01x0y0;加工到工件原点。
n110g01g40x-10y-10;取消刀具半径补偿,退回到退刀点。
(3)注意事项
☆g41、g42为模态指令;
☆g41(或g42)必须与g40成对使用;
☆编入g41(或g42)、g40程序段,用g01(g40程序段亦可用g00,但一般用g01)功能及对应坐标参数;
☆g41(或g42)与g40之间的程序段不得出现任何转移加工,如镜像、子程序加工等。
3.刀具半径补偿量的变化
在刀具半径补偿代码中输入的刀具半径补偿量是一个标量数值,而数控系统内部认定的补偿量是一个补偿矢量,补偿矢量由数控系统自行计算。补偿矢量的大小与刀具补偿代码的补偿量相等,其方向在每个程序段中随刀具的移动不断变化。
刀具半径补偿量的变化一般在换刀时出现。对连续的程序段,当刀具半径补偿量变化时,某一程序段终点的矢量(同时也是下一程序段起点的矢量)要用该程序段的刀具补偿量进行计算,如图4所示。
[align=center][/align]
4.刀具半径补偿量的正负与刀具的刀心轨迹
在数控程序的编制中,一般我们把刀具的半径补偿量在补偿代码中输入为正值(+),如果把刀具半径补偿量设为负值(—)时,在走刀轨迹方向不变的情况下,则相当于把数控程序中的补偿位置指令,g41、g42互换,即加工工件外侧的刀具变为在内侧加工,如图、图5b所示。在加工表面不变的情况下,刀具走刀轨迹方向将发生相应的变化。
[align=center]
[/align]
5.刀具半径补偿的开始与z轴的切入操作
开始切削加工前,在离开工件的位置预先加上工刀具半径补偿(通常在xoy平面或与xoy平面平行的平面上),之后进行z轴方向的切入。为保证程序运行后得到正确的工件轮廓而不产生过切,编程时必须注意加工程序的结构。
如图6所示,在xoy平面内(或平行于xoy平面的平面内)使用刀具半径补偿功能(有z轴移动)进行轮廓切削,设起点在(0,0,100)处,当刀具半径补偿从起点开始时,由于接近工件及切削工件时要有z轴移动,按以下程序加时就会出现过切现象,并且系统不会报警停止。
[align=center]
o 0001
n1 g90 g54 s1000 m03 ;
n2 g00 z100 ;
n3 x0 y0 ;
n4 g01 g41 x20 y10 d01 f100 ;
n5 z2 ;
n6 z-10 ;
n7 y50 ;
n8 x50 ;
n9 y20 ;
n10 x10 ;
n11 g00 z100 ;
n12 g40 x0 y0 ;
n13 m05 ;
n14 m30 ;
根据刀具半径补偿功能编程规则,在xoy平面内(或平行于xoy平面的平面内)建立刀具半径补偿后,不能连续出现两段z轴的移动指令,否则会出现补偿位置不正确。当半径补偿从n4程序段开始建立的时候,数控系统只能预读其后的两个程序段,而n5、n6两段程序段都是z轴移动指令,没有xoy平面内的坐标移动,系统无法判断下一步补偿的矢量方向,这时系统并不报警,补偿照样进行,但是n4程序段执行后刀心轨迹目标点发生了变化,不再是图中的p点,而是如图6b所示的p1点,这样就产生了过切(图中阴影部分)。为避免这种过切,可以在建立半径补偿之前,选择一个不会发生干涉的安全位置,使z轴以快速运动接近工件后,再以进给速度进给到切削深度。将上述程序改为:
n1 g90 g54 s1000 m03;
n2 g00 z100;
n3 x0 y0;
n4 z5;
n5 g01 z-10 f100;
n6 g41 x20 y10 d01;
n7 y50;
n8 x50;
n9 y20;
n10 x10;
n11 z100;
n12 g40 x0 y0 m05;
n13 m30。
采用这个程序段进行加工,就可以避免过切的产生。
6.刀具半径补偿功能的应用
(1)刀具因磨损、重磨、换新而引起刀具直径改变后,不必修改程序,只需在刀具参数设置中输入变化后刀具直径。如图7所示,1为未磨损刀具,2为磨损后刀具,两者直径不同,只需将刀具参数表中的刀具半径r1改为r2,即可适用同一程序。
[align=center]
(2)用同一程序、同一尺寸的刀具,利用刀具半径补偿,可进行粗、精加工。如图8所示,刀具半径为r,精加工余量为△。粗加工时,输入刀具直径d=2(r+△),则加工出虚线轮廓。精加工时,用同一程序、同一刀具,但输入刀具直径d=2r,则加工出实线轮廓。
[align=center]
p1——粗加工刀心轨迹
p2——精加工刀心轨迹
图8 利用刀具半径补偿进行粗精加工
(3)在现代数控系统中,有的已具备三维刀具半径补偿功能。对于四、五坐标联动数控加工,还不具备刀具补偿功能,必须在刀位计算时考虑刀具半径。