五轴联动数控加工中的刀具补偿方法

    刀具补偿是现代计算机数控(CNC)系统所具有的重要功能之一,可分为刀具半径补偿和长度补偿两种。就目前而言,应用于二维轮廓加工的两坐标联动数控系统基本都具备刀具补偿功能,而多坐标(三坐标以上)联动数控系统中对于刀具补偿功能还未能得到较好解决。特别是五轴联动加工中,由于刀具的旋转运动,使得五轴联动刀具补偿较难实现。

    国外几个主要CNC生产商在其高档的五轴联动数控系统中已经带有刀具补偿功能,如SIEMENS的SINUMERIC840D系统具有将三维空间向量转换为实际机械轴角度的计算能力的“3D Tool Radius Compensation”功能,而所带的坐标转换(或位置变换)功能其实质就是五轴刀具长度补偿。国内有关五轴联动加工刀具补偿方法的研究并不多,因此,本文将对五轴加工中的刀具补偿问题进行深入研究,分别对五轴加工中的刀具半径补偿和长度补偿的实现方法进行详细叙述,以期能建立并完善五轴联动CNC系统的刀具半径和长度补偿功能。 

    一、五坐标加工数控程序的生成

    五坐标加工主要应用于复杂曲面零件如整体叶轮等的加工,因此其数控程序的生成必须借助于一些自动编程软件如UGII、HyperMill等。在应用这些软件进行五坐标数控编程时得到的刀位文件(CLF)是不依赖于具体机床结构和形式的,而且它提供了五轴曲面加工时刀具底端面中心(以下简称为刀具中心)在工件坐标系下要求位移到的位置坐标以及刀轴的方位矢量等信息,但CLF文件的生成却依据了选用刀具的形式(如平底刀等)和刀具半径等参数。

    因此,五轴加工程序的生成与刀具参数设定有密切的关系。另外,利用编程软件的后置处理模块根据选用五轴数控机床的结构形式等参数将CLF文件转换成加工曲面所需的数控程序。假定某加工程序段为:G01XxYyZzAaCc其中位置坐标值x、y、z可以是刀具中心坐标也可以是机床主轴端(Spindle none)的坐标a、c分别为绕X轴、Z轴的角度坐标值。当x、y、z为刀具中心坐标时称为刀具中心编程,当x、y、z为主轴端坐标时称为主轴端编程,如图1所示。

 

    但无论哪种编程方式都需数控系统具有刀具自动补偿功能才能加工出我们所需要的零件。以下将以图2所示结构形式五轴数控机床和刀具(平底刀)中心编程为例分别叙述五轴联动加工中的刀具半径补偿和长度补偿。

    二、现行五轴数控编程在刀具半径补偿方面的不足

    上节中叙述的五坐标数控加工编程方式和得到的数控指令格式是根据国际标准化组织(ISO)有关数控编程的标准ISO 6983进行的。对平面两轴或两轴半的加工而言,在ISO 6983中常使用G41/G42功能来补偿刀具半径。补偿时根据数控程序中提供的相关信息如G17/G18/G19进行加工平面选择配合G41/G42左右刀具补偿选取,利用一般较低档的控制器即可完成。

    但是,对于三轴特别是五轴加工,即刀具半径的补偿要在三维空间完成,ISO 6983中所提供的信息则显得不足,如G17/G18/G19、G41/G42等已经失效,插补程序段中提供的数据信息又仅仅是刀具中心点坐标和刀具轴的方位角,刀具半径补偿实际上不可能进行,因为控制器不知道该往哪个方向进行补偿,而这个方向对于刀具半径补偿非常重要。

    因此,如果要进行三维空间刀具半径补偿功能,则必须在数控加工程序段中提供补偿方向向量等信息,如FANUC15-MA(FANUC,1994)、CINCINNATI MILACRON ACRA-MATIC 950(CINCINNATI,1990)等,FANUC控制器采用了1JK码来表示,而CINCINNATI则是采用POR码来表示。

    另外,在后置处理方面,目前的CAM编程系统通常并不提供刀具补偿向量模式,只有在五轴机床的原厂商对其个别型式的五轴机床专用的后置处理程序,才提供了这种五轴三维刀具补偿向量模式的输出,但其价格却相当昂贵。本文假定得到的加工程序段中提供了刀具半径补偿向量。

    三、五轴刀具半径补偿

    在进行刀具中心编程时,由CAD/CAM软件生成的数控程序是根据编程刀具半径计算出来的刀具中心运动轨迹。实际加工时,必须保证刀具半径与编程时刀具半径相等。一旦刀具半径发生改变,尤其是刀具在加工的过程由于磨损而造成尺寸变化时,程序的重复使用就受到很大的限制,必须根据所用刀具半径返回CAD/CAM系统重新产生CLF文件经后置处理生成新的NC程序。

    这样会造成程序维护不易,生产效率无法提高,若考虑更换新刀具加工,则又存在增加备用刀具成本的缺点。如果所使用的五轴CNC系统带有刀具半径补偿功能,则原有的程序和刀具仍然可用,只需在加工前测量出刀具实际半径值即可,不必每次加工都保证所使用刀具半径与编程刀具半径相等。如图3所示的是使用刀具半径补偿功能前后对加工结果的影响。

    如图4所示,在加工过程中某数控加工程序段表示的刀具中心位置坐标、刀轴方位角度坐标以及补偿方向单位向量为 ,刀具与加工表面切触于点 ,进给方向垂直纸面向里,刀具底沿在纸面的投影为一椭圆。图4中实线表示编程使用的刀具,半径为Rp,点划线表示实际加工时所用的刀具,半径为R。显然当R=Rp时刀具底沿与理论加工表面切触于C,无须进行半径补偿而直接进行长度补偿计算主轴端点位置坐标即可。但是若RRP时,则必须先进行半径补偿,半径补偿的目的是要让实际加工刀具的底沿仍与理论加工表面切触于C。图5中虚线表示刀具沿补偿方向进行补偿后刀具的位置。

定义:将由编程刀具中心位置即指向刀具半径补偿后实际加工刀具中心的矢量称为刀具半径补偿向量,用Vr表示。

    由刀具半径补偿向量定义可得

式(2)中{ip,jp,kp}在程序段中已给出,为已知,由式(1)和式(2)可以很容易求得刀具半径补偿向量Vr为

由式(3)和式(4)可得到刀具半径补偿后实际加工刀具中心O的坐标分别为

    因为刀具半径补偿不能改变刀具姿态,也就是补偿前后刀具轴向方位角不变,刀具只是沿Vr平移,插补预处理时只需将得到的主轴端点坐标做平移变换即可。

    四、五轴刀具长度补偿

    ISO 6983标准中规定了刀具旋转的角度,从而也就能确定出刀具的轴向向量,因此刀具长度补偿仍然有效,长度补偿的方向即为刀具的轴向向量。从编程方面看,无论采用哪种编程得到的数控加工程序,CNC控制器中刀具长度补偿功能对最后的加工结果都非常重要。如果刀具中心编程得到的数控程序不经过长度补偿得到主轴端点坐标,则数控系统会将刀具中心点误认为是主轴端点,加工结果可想而知,如图5a所示。主轴端编程是根据编程中使用的刀具长度计算出来的主轴端点的运动轨迹。实际加工时,必须保证刀具长度与编程时刀具长度相等。一旦刀具长度发生改变,

    则刀具中心点不可能到达编程时的刀具中心,因此也需要对刀具长度变化进行补偿。如图5b所示为主轴端编程时刀具长度补偿前后对加工结果的影响。以下将讨论图5a所示刀具中心编程中的刀具长度补偿。

   图5a中假定加工刀具长度为l,刀具半径补偿后的刀具中心位置坐标及刀轴方位角度坐标分别为(x,y,z,ap,cp),要求的是主轴端点坐标(xs,ys,zs)。问题关键在于刀具轴向单位向量T的求解。如图2可知,初始状态下,刀具竖直向下且平行于机床坐标系的Z轴,即T0={0,0,1}。刀具分别绕X轴和Z轴旋转ap和cp角后刀轴单位向量为T,由坐标变换原理有

由式(6)可得

主轴端点坐标可由下式确定

    综合式(5)和式(8)可得图2所示结构形式的五轴联动数控机床采用刀具中心点编程时经刀具半径和长度补偿后的刀具主轴端点坐标表示为

 
    将式(9)中的位置坐标和摆角坐标(ap,cp)输入插补模块即可使刀具中心按照编程轨迹运行。

    五、结语

    基于刀具补偿功能在五轴数控加工中的重要性,本文在分析现行编程标准对于实现刀具半径补偿功能不足的基础上,通过引入刀具半径补偿向量讨论了图2所示结构形式的五轴联动数控机床的刀具长度和半径补偿的实现。对于其他形式的机床可以通过类似的方法分别实现刀具半径补偿和长度补偿。

作者:西部车床,如若转载,请注明出处:https://www.lathe.cc/2022/06/2948.html