卢红
上海市大众工业学校 上海 201899
随着数控技术的高速发展,数控机床加工不再局限于直线、圆弧等轮廓的加工,各种复杂非圆曲线、异形螺旋线等轮廓的加工日益增多。近年来,数控技能大赛以考核选手的计算机编程能力为主,选手要熟练运用CAD/CAM自动编程软件完成零件程序的编制,随着数控技能大赛的深入发展,竞赛内容日渐丰富,经常出现CAD/CAM编程软件难以单独完成的题目,旨在考核选手手工编程的能力。例如异形螺纹加工,而圆弧螺纹在各类异形螺纹加工中最具有普遍性和代表性。圆弧螺纹是一种在轮廓表面形成圆弧螺旋线的非标螺纹,在数控车床上比较难加工,但只要制定合理的加工工艺、加工方法和加工程序,完全可以在数控车床上完成高精度、高性能的圆弧螺纹。
CAD/CAM自动编程省力,但生成的程序冗长,空刀行程比较多,且非圆曲面上的圆弧螺纹用CAD/CAM编程软件根本不能实现。因此随着工件复杂程度不断增加,宏程序的手工编制能力显得尤为重要。实践证明,通过螺纹编程指令G32/G92和宏程序功能的有机结合,可以比较容易地实现圆弧螺纹的加工[1,2]。
螺纹的加工方法主要有直进法、斜进法、左右切削法、分层法和侧向进刀法等。由于圆弧螺纹的牙型、螺距较大,因此,在螺纹车削过程中,背吃刀量大、走刀快且切削阻力大,导致圆弧螺纹车削难度加大,容易发生“爆刀”和“扎刀”现象。为防止此类现象出现,笔者认为采用宏程序编程进行“分层法”切削圆弧螺纹可以有效解决问题。
“分层法”加工圆弧螺纹,实际上就是将螺纹背吃刀量根据实际情况分成若干层,而且每层的背吃刀量很小,切削力也大大减小,从而有效降低了车削难度。在圆弧螺纹车削过程中,刀具始终保持只有一个侧刃参与切削,切屑流出顺畅,受力和受热情况得到有效改善[3,4]。
圆弧螺纹加工最好选用圆弧车刀。因为圆弧车刀圆弧较长,所以,加工时刀痕较均匀,工件表面质量较好。对于较大螺距螺纹加工,特别需要考虑机床和刀具的刚性,尽量避免选用与圆弧螺纹牙型半径相等的圆弧车刀,否则容易在加工过程中出现“扎刀”现象。对于凹半圆的圆弧螺纹,刀具圆角半径要小于圆弧螺纹牙型半径,为考虑刀具的刚性,刀具圆角半径也不宜过小。
如图1所示,零件右端外圆柱面的圆弧螺纹分布在φ34mm的外圆柱面上,螺纹的牙型为R2.5mm的圆弧,导程为6mm,槽深为1.5mm,圆弧螺纹牙型的中心位于φ36mm的外圆上,将编程坐标系(即工件坐标系)原点定在零件右端面中心上,螺纹的加工起始位置为Z0mm,终止位置为Z-36mm。
图1 外圆柱面上的圆弧螺纹
本例中选用R1.5mm 的圆弧车刀,由于圆弧螺纹的半径为2.5mm,而圆弧车刀的刀位点在圆心,数控机床的运动轨迹实际上就是刀具刀位点与工件坐标系的位置关系,因此本例中圆弧车刀的圆心轨迹其实就是半径为1mm的圆弧AB,其圆心轨迹半径值的大小为螺纹圆弧半径与刀具圆角半径的差值,如图2所示。根据“分层法”和“左右切削法”螺纹加工方法,将圆弧螺纹背吃刀量1.5mm分成若干层进行切削,当切削第一层时,向左借刀时刀具的圆心位于B点,向右借刀时刀具的圆心位于A点,这就决定了圆弧车刀圆心轨迹牙型背吃刀量的起始角度30°和终止角度﹣90°。以角度为自变量,分别把圆心轨迹上每一个点的坐标依次求出来,每求出一个坐标(X,Z)就采用G92螺纹加工指令加工一遍,每一层完成左右切削,通过宏程序的判断语句实现循环加工,从而完成分层加工,最后把完整的圆弧走完即可[5,6]。
图2 圆弧车刀及加工轨迹
如图3所示,圆弧上任意点A的坐标可以通过三角函数关系求得,AC=AD×sinθ(X方向),DC=AD×cosθ(Z方向)。角度θ作为自变量,变化范围﹣90°~30°,用#1表示;圆弧螺纹X方向的变量用#2表示,即#2=1sin[#1];圆弧螺纹Z方向的变量用#3表示,即#3=1cos[#1];当前层X方向的螺纹直径用#4表示,由于圆弧螺纹圆心位于φ36mm外圆直径上,#2计算的是X方向单边值,要换成直径值,所以需要乘以2,即#4=36+2 [#2]。
图3 圆心轨迹坐标计算
采用R1.5mm的圆弧车刀加工圆弧螺纹,以圆弧车刀的圆心作为宏程序编程的刀位点。
00003;程序名
G99 G97 G40;程序初始化
T0202;选用R1.5mm的圆弧车刀
M04 S300;后置式刀架,主轴反转,转速300r/min
G00 X40.Z9.;刀具快速定位到定刀位置
#1=30; 切削第一层圆弧螺纹时牙型背吃刀量的起始角度30°
N1 #2=1*SIN[#1];圆弧螺纹X方向的变量(1为螺纹圆弧半径减去刀具圆角半径的值)
#3=1*COS[#1];圆弧螺纹Z方向的变量,即左右切削时的借刀量
#4=36+2*[#2];螺纹加工时的X坐标(#2计算的是X方向单边值,要换成直径值,所以需要乘以2)
G00 X40.Z[9-#3];螺纹刀向左借刀切削
G92 X#4 Z-44.F6.;螺纹加工
G00 X40.Z[9+#3];螺纹刀向右借刀切削
G92 X#4 Z-44.F6.;螺纹加工
#1=#1-5;牙型角度变量减小
IF [#1GE-90]GOTO1;判断角度是否在范围之内(﹣90°为背吃刀量终止角度)
G00 X100.;X向退刀
Z100.;Z向退刀
M05;主轴停止
M30; 程序结束
如图4所示,零件右端的圆弧螺纹分布在椭圆面上,椭圆的长半轴38mm,短半轴15.5mm,螺纹的牙型为R2.5mm的圆弧,导程为6mm,槽深为1mm,将编程坐标系(即工件坐标系)原点定在零件右端面中心上,螺纹的加工起始位置为Z0mm,终止位置为Z﹣30mm。
图4 椭圆面上的圆弧螺纹
选用R1.5mm 的圆弧车刀,加工椭圆面上的圆弧螺纹时,圆弧车刀既要按照圆弧螺纹R2.5mm圆弧轨迹运动,又要按照椭圆的规律车削螺纹。根据刀具刀位点与工件坐标系的关系,刀具圆心实际上走的是半径为1mm的圆弧,并且刀具圆心是按照长半轴39.5mm、短半轴17mm的椭圆规律进行螺旋线运动。考虑到螺纹升降速的影响,分别在导入段和导出段延伸一个导程进行螺纹加工,故螺纹的加工起始位置变为Z6mm,终止位置变为Z﹣36mm。加工轨迹如图5所示。
图5 加工轨迹
根据“分层法”和“侧向进刀法”螺纹加工方法,将圆弧螺纹背吃刀量1mm分成若干层进行切削。当进行圆弧螺纹切削时,刀具圆心在长半轴39.5mm、短半轴17mm的椭圆轨迹上变化,同时分别处于位置1、位置2、……位置8共8个位置。比较各圆的起始角度和终止角度,位置1、位置2、位置3及位置4各圆的起始角度为负值,终止角度也均为负值;而位置5、位置6、位置7及位置8各圆的起始角度为正值,而终止角度均为负值,其中位置8的起始角度最大,位置1的终止角度最小,即圆弧车刀圆心轨迹牙型背吃刀量的起始角度为14.31°,终止角度为﹣194.31°,如图6所示。以角度为自变量,分别把圆心轨迹上每一个点的坐标依次求出来,每求出一个小圆坐标系下的坐标(X,Z),就换算到椭圆坐标系下的(X,Z),最后再换算到工件坐标系下的(X,Z),采用G32螺纹加工指令加工,完成当前层螺纹切削,通过宏程序的判断语句实现循环加工,完成分层加工,最后把完整的圆弧走完即可。
图6 圆弧车刀圆心轨迹牙型背吃刀量的起始角度和终止角度
如图6c所示,圆弧上任意点D的坐标可以通过三角函数关系求得,CD=OD×sinθ(X方向),OC=OD×cosθ(Z方向)。角度θ作为自变量,用#1表示,变化范围从﹣194.31°~14.31°,圆弧螺纹X方向的变量用#2表示,即#2=1×sin[#1],圆弧螺纹Z方向的变量用#3表示,即#3=1×cos[#1]。将小圆整体平移到椭圆坐标系下,圆弧螺纹加工起始位置用#4表示,其变动范围为﹣21~21,通过椭圆方程Z2/39.52+X2/172=1计算椭圆坐标系下位置1小圆中心的X值,用#6表示,即#6=17SQRT[1-#4×#4/1560.25]。然后,将小圆整体平移到工件坐标系下,变量#7表示工件坐标系下小圆上任意点的X坐标,由于#2和#6计算的是X方向单边值,要换成直径值,所以需要乘以2,即#7=2 [#2+#6],变量#8表示工件坐标系下小圆上任意点的Z坐标,即#8=#4+#3-15。
采用R1.5mm的圆弧车刀加工圆弧螺纹,以圆弧车刀的圆心作为宏程序编程的刀位点。
00004;程序名
G99 G97 G40;程序初始化
T0303;选用R1.5mm的圆弧车刀
M04 S300;后置式刀架,主轴反转,转速300r/min
G00 X40.Z15.;刀具快速定位到定刀位置
#1=14.31; 切削第一层圆弧螺纹牙型时背吃刀量的起始角度为14.31°
N10 #2=1*SIN[#1];φ2mm小圆坐标系下刀具圆心的X坐标(1为螺纹圆弧半径减去刀具圆角半径的值)
#3=1*COS[#1];φ2mm小圆坐标系下刀具圆心的Z坐标,即(#2,#3)为φ2mm小圆坐标系下的刀具圆心坐标
#4=21;椭圆坐标系下位置1小圆中心Z值
N20 #5=#4*#4;
#6=17*SQRT[1-#5/1560.25];椭圆坐标系下位置1小圆中心X值
#7=2*[#6+#2];工件坐标系下小圆上任意点的X坐标(#2和#6计算的是X方向单边值,要换成直径值,所以需要乘以2)
#8=#4+#3-15;工件坐标系下小圆上任意点的Z坐标,即(#7,#8)为工件坐标系下小圆上任意点的坐标
G32 X#7 Z#8 F6.;螺纹加工(按椭圆规律车削圆弧螺纹)
#4=#4-6;Z向步距一个螺纹导程
IF [#4GE-21]GOTO 20;判断螺纹加工是否到终止位置(椭圆坐标系下位置8小圆中心Z值)
G01 X40.;X向退刀
G00 Z15.;快速回到螺纹定刀位置
#1=#1-5;牙型角度变量减小
IF [#1GE-194.31]GOTO 10;判断角度是否在范围之内(﹣194.31°为背吃刀量终止角度)
G00 X100.;X向退刀
Z100.;Z向退刀
M05;主轴停止
M30;程序结束
宏程序编程是使用变量并利用变量的赋值和表达式判断来对程序进行编辑,最终达到循环执行功能的一种程序编制方法,因此宏程序表达简洁、精练且准确。利用宏程序进行圆弧螺纹编程时,需要编程人员具备较高的数学逻辑运算能力、程序编写能力,并对螺纹加工方法有详细地了解与掌握。本文以FANUC系统数控车床后置式刀架为例,若变成前置式刀架,起始角度、终止角度及参数的计算都会有所变化,希望编程人员能够触类旁通,灵活变化。