五轴联动数控3D刀具半径补偿后置处理的实现
2013-03-20陈天福张平饶宇辉
陈天福,张平,饶宇辉
(广东工业大学机电工程学院,广东广州510006)
刀具半径补偿是数控(CNC)系统重要功能之一。在实际加工过程中,刀具由于长时间的切削加工导致磨损、变形,使得加工产品的尺寸精度不能满足加工要求。传统解决方法是:更换新的刀具或者重新测量刀具的半径再重新编写新的加工程序。前一种方法需要频繁更刀和对刀,加大了加工中刀具的成本;后一种方法会遇到NC程序维护上的困难,大大降低了机床生产的效率。因此,寻求一种简便而高效的方法来屏蔽由于刀具半径的变化而引起的加工误差成为亟需解决的问题。文中重点研究了五坐标数控系统的3D刀具半径补偿功能。
在国内,研究五轴联动刀具半径补偿的并不多,真正解决五轴联动空间刀补的系统还未见报道。陈良骥等[1]针对旋转头类型的五轴数控机床,推导出平底刀具的半径补偿和长度补偿算法;刘德福等[2]提出计算机数控系统空间刀具半径补偿原理,并提出了在CNC 中实现刀具半径补偿的方法;洪海涛等[3]提出了端铣的空间刀具补偿算法;胡自化等[4]提出了基于平面投影的三轴数控侧铣空间刀具半径补偿算法。但至今尚未有能将算法嵌入到CNC系统中并能有效指导实际生产的五轴数控侧铣空间刀具半径补偿理论。
文中将研究空间刀具半径补偿算法,并对编程实现后置处理作一个探讨。
1 3D刀具半径补偿的困难
实际加工中,刀具的磨损在所难免,因而会有加工误差的出现(如图1所示)。在刀具半径变化比较大时,加工精度不满足要求,加工的实际轮廓也不是所需要的,最终将造成加工产品的报废。在实现刀具半径补偿之后,不需要更换刀具,虽然在实际加工时刀具中心发生变化,但是能保证实际加工轮廓与理论加工轮廓吻合。这样就能节省换刀时间,解放劳动力,减少刀具成本,提高生产效率。
图1 3D刀具半径补偿的示意图
传统地,2D刀具半径补偿指的是无需更改数控程序,只需改变刀具半径的偏差值,就能实现刀具半径自动补偿。刀具在二维平面上沿工件轮廓偏置一个刀具半径值即可得到加工轨迹(需要考虑不同转接方式)。在五轴数控加工中,传统的2D刀补方法不适合3D,单纯在平面上作刀具偏置补偿无法满足要求,因为机床增加了刀具旋转运动,这使得3D刀具半径补偿比较难实现。其难点在于如何确定3D刀具半径补偿方向矢量。由于传统的刀位文件中并没有包含曲面的法矢量信息,将刀位文件转化为G代码时并不能确定刀具如何偏置补偿,因而需要借助刀位文件,建立起数学模型进行求解。
2 空间刀具半径补偿的数学模型建立
如图2所示,设刀具与加工曲面的切触点为P(xp,yp,zp),在点P处法矢量为n(nx,ny,nz),刀具刀轴矢量为l(lx,ly,lz),刀心点坐标O(ox,oy,oz),m为垂直于刀轴并与刀轴方向矢量l、切触点处法矢量n 在同一平面内的一个补偿方向向量,刀具半径为R,刃切半径为r。根据几何空间矢量的关系有:
图2 空间刀具半径补偿的数学模型示意图
在刀位文件中,可以得到刀具轨迹中切触点P(xp,yp,zp)、刀具轴向方向矢量l 及刀尖点(x,y,z)(沿刀轴方向偏置R-r的距离就可得到刀心点O坐标)的信息。刀位文件的格式如下:
根据已知条件,可以得到:
代入式(1),求得空间刀具补偿方向矢量为:
在半径及刃切半径改变后,可以求得补偿后的刀心点坐标:
注:文中以环形刀为例进行推导,而球头刀,平底刀满足的条件分别是R=r、r=0,分别将其代入式(1)可以推导出对应的补偿矢量计算公式,这里不详细介绍了。
3 后置处理的数学公式推导
以双转台A、C型五轴数控机床为例,NC数控加工代码的格式如下:
G01 X,Y,Z,A,C,nx,ny,nz,mx,my,mz
其中:G01表示直线加工运动,X、Y、Z为机床坐标系下的刀尖点坐标,A、C为两个轴的旋转角度,nx、ny、nz与mx、my、mz分别是补偿矢量n、m 在机床坐标系下的投影分量(用球头刀具加工时,只需要输出nx、ny、nz,用平底刀具加工时只需要输出mx、my、mz)。如此,只要确定这些值就可以很方便地生成NC代码。
设补偿后的刀心点坐标为Oc=(ocx,ocy,ocz,1),工件坐标系原点在机床坐标系中的值为(a,b,c),则工件坐标系到机床坐标系的平移矩阵表示为[5]:
设工作分别绕z轴和x轴旋转的角度为A、C(其中A、C角的计算方法可以参考文献[6]),则绕两轴旋转的矩阵为:
可以求得补偿后的刀心点坐标在机床坐标系中为Ov(ovx,ovy,ovz,1)表示为:
整理后,可以得到:
同样地,很容易得到切触点、刀具半径补偿方向矢量n 和补偿矢量m 在机床坐标系中的表示为:
4 后置处理编程实现
作者在VC++6.0 平台上开发了刀具半径补偿后置处理系统,后置处理功能实现包括:刀位文件信息读取,刀具半径补偿算法实现,机床运动求解,进给速度的计算,补偿后NC代码输出。算法设计流程图如图3所示。
图3 空间刀具半径补偿算法流程图
后置处理的界面如图4所示,图中左边的编辑框是读入的刀位文件,右边的编辑框是输出的带补偿的NC代码,在“操作”菜单里还可以操作带补偿的刀位文件,在右边编辑框内输出显示,最后都可以保存成“txt”或者“cls”格式文件输出。
图4 后置处理系统界面
5 实例验证
为了验证五轴联动数控空间刀具半径补偿算法及后置处理的正确性,作者借助Vericut软件建立起AC 双转台五轴数控加工机床的虚拟加工环境,对前面推导的算法进行模拟加工试验。这里分别针对常用的环形刀、球形刀、平底刀3种刀具进行模拟加工比较。
如图5(a)所示,取环形刀1 半径R=8 mm,刃切半径r=6 mm,对叶片模型进行加工。在后置处理系统中生成带补偿的NC代码,然后在Vericut 中模拟加工;改变环形刀具的相关参数,取环形刀2半径R=7 mm,刃切半径r=4 mm,同样在后置处理生成带补偿的NC代码,再在Vericut 中模拟加工,如图5(b)所示。比较可以看出:环形刀具半径R 和刃切半径r 发生改变时,二者模拟加工结果十分吻合,文中的环形刀空间刀具半径补偿算法是满足要求的。
图5 不同参数的环形刀进行模拟仿真加工的结果
对于球形刀加工的情形,取球形刀1 半径为R=8 mm 对叶片进行加工,然后改变刀具半径,取球形刀2的半径为R=7 mm,在后置处理系统中生成带补偿的NC代码,然后在Vericut软件中进行模拟加工,如图6所示。比较图6中(a)、(b)可以看出,二者加工结果非常吻合。可见在刀具半径变化后进行的球形刀空间刀具半径补偿算法满足实际要求。
同样的,对于平底刀加工的情况,也是取平底刀1的半径为R=8 mm 对叶片进行加工,改变刀具半径,取平底刀2的半径为R=7 mm,分别在后置处理系统中生成带补偿的NC代码,模拟加工分别如图7(a)、(b)所示。比较可知,平底刀空间刀具半径补偿算法是满足要求的。
图6 不同半径的球形刀进行模拟仿真加工的结果
图7 不同半径的平底刀进行模拟仿真加工的结果
6 结论
建立了五轴联动数控空间刀具半径补偿的数学模型,借助刀位文件的信息推导了相关计算方法,并编程实现了补偿的后置处理,最后借助Vericut数控模拟仿真加工软件验证五轴空间刀具半径补偿算法的正确性。文中相关研究对五轴数控系统开发及其后置处理的实现具有一定的参考值。
【1】陈良骥,王永章.五轴联动数控加工中的刀具补偿方法[J].制造技术与机床,2006(2):22-25.
【2】刘德福,陈峰.计算机数控系统三维刀具半径补偿研究[J].组合机床与自动化加工技术,2001(8):9-11.
【3】洪海涛,于东等.五轴端铣加工中3D刀具半径补偿研究[J].中国机械工程,2009,20(15):1770-1774.
【4】胡自化,张平,杨冬香,等.三轴数控侧铣空间刀具半径补偿算法[J].机械工程学报,2007,44(5):139-142.
【5】LEE Kunwoo.CAD/CAM/CAE系统原理[M].袁清珂,张湘伟,译.北京:电子工业出版社,2006:41-44.
【6】刘雄伟.数控加工理论与编程技术[M].2版.北京:机械工业出版社,2003:168-172.