1.11 数控加工的补偿
在20世纪60~70年代的数控加工中没有补偿的概念,因此编程人员不得不围绕刀具的理论路线和实际路线的相对关系来进行编程,容易产生错误。补偿的概念出现以后,大大提高了编程的工作效率。
在数控加工中有刀具半径补偿、刀具长度补偿和夹具补偿。这三种补偿基本上能解决在加工中因刀具形状而产生的轨迹问题。下面简单介绍这三种补偿在一般加工编程中的应用。
1.11.1 刀具半径补偿
在数控机床进行轮廓加工时,由于刀具有一定的半径(如铣刀半径),因此在加工时,刀具中心的运动轨迹必须偏离实际零件轮廓一个刀具半径值,否则实际需要的尺寸将与加工出的零件尺寸相差一个刀具半径值或一个刀具直径值。此外,在零件加工时,有时还需要考虑加工余量和刀具磨损等因素的影响。有了刀具半径补偿后,在编程时就可以不过多考虑刀具的直径大小了。刀具半径补偿一般只用于铣刀类刀具,当铣刀在内轮廓加工时,刀具中心向零件内偏离一个刀具半径值;在外轮廓加工时,刀具中心向零件外偏离一个刀具半径值。当数控机床具备刀具半径补偿功能时,数控编程只需按工件轮廓进行,然后再加上刀具半径补偿值,此值可以在机床上设定。程序中通常使用G41/G42指令来执行,其中G41为刀具半径左补偿,G42为刀具半径右补偿。根据ISO标准,沿刀具前进方向看去,当刀具中心轨迹位于零件轮廓右边时,称为刀具半径右补偿;反之,称为刀具半径左补偿。
在使用G41/G42进行半径补偿时,应采取如下步骤:设置刀具半径补偿值;让刀具移动来使补偿有效(此时不能切削工件);正确地取消半径补偿(此时也不能切削工件)。需要注意的是,在切削完成而刀具补偿结束时,一定要用G40使补偿无效。G40的使用同样遇到和使补偿有效相同的问题,一定要等刀具完全切削完毕并安全地退出工件后,才能执行G40命令来取消补偿。
1.11.2 刀具长度补偿
根据加工情况,有时不仅需要对刀具半径进行补偿,还要对刀具长度进行补偿。程序员在编程时,首先要指定零件的编程中心,然后才能建立工件编程的坐标系,而此坐标系只是一个工件坐标系,零点一般在工件上。长度补偿只是和Z坐标有关,因为刀具是由主轴锥孔定位而不可改变的,对于Z坐标的零点就不一样了。每一把刀的长度都是不同的,例如,要钻一个深为60mm的孔,然后攻螺纹长度为55mm,分别用一把长为250mm的钻头和一把长为350mm的丝锥。先用钻头钻深60mm的孔,此时机床已经设定了工件零点。当换上丝锥攻螺纹时,如果两把刀都设定从零点开始加工,丝锥因为比钻头长而攻螺纹过长,会损坏刀具和工件。这时就需要进行刀具长度补偿。铣刀的长度补偿与控制点有关。一般用一把标准刀具的刀头作为控制点,则该刀具称为零长度刀具。长度补偿的值等于所换刀具与零长度刀具的长度差。另外,当把刀具长度的测量基准面作为控制点,则刀具长度补偿始终存在。无论用哪一把刀具都要进行刀具的绝对长度补偿。
在进行刀具长度补偿前,必须先进行刀具参数的设置。设置的方法有机内试切法、机内对刀法和机外对刀法。对数控车床来说,一般采用机内试切法和机内对刀法。对数控铣床而言,采用机外对刀法为宜。不管采用哪种方法,所获得的数据都必须通过手动输入数据方式将刀具参数输入数控系统的刀具参数表中。
程序中通常使用指令G43(G44)和H3来执行刀具长度补偿。使用指令G49可以取消刀具长度补偿,其实不必使用这个指令,因为每把刀具都有自己的长度补偿。当换刀时,利用G43(G44)和H3指令同样可以赋予刀具自身长度补偿而自动取消了前一把刀具的长度补偿。在加工中心上,刀具长度补偿的使用,一般是将刀具长度数据输入到机床的刀具数据表中,当机床调用刀具时,自动进行长度的补偿。刀具的长度补偿值也可以在设置机床工作坐标系时进行补偿。
1.11.3 夹具偏置补偿
夹具偏置补偿可以让编程人员不考虑工件夹具的位置。当用加工中心加工小的工件时,工装上一次可以装夹几个工件,编程人员可以不用考虑每一个工件在编程时的坐标零点,而只需按照各自的编程零点进行编程,然后使用夹具偏置来移动机床在每一个工件上的编程零点。夹具偏置是使用夹具偏置指令G54~G59来执行或使用G92指令设定坐标系。当一个工件加工完成之后,加工下一个工件时使用G92来重新设定新的工件坐标系。
上述三种补偿在数控加工中是常用的,它给编程和加工带来很大的方便,能大大地提高工作效率。