1.铣圆柱内螺纹
用螺纹梳刀无论是铣右旋内螺纹还是铣左旋内螺纹,也无论是采用从上往下铣还是从下往上铣的走刀方法,都应使用半圆弧(投影)的螺旋线入刀和半圆弧(投影)的螺旋线出刀。
(1)从上往下铣圆柱内螺纹 图5-17所示为用螺纹梳刀从上往下铣圆柱内螺纹。为了使读者看清楚轨迹,图中只画了铣2整圈。加上入刀0.5圈、出刀0.5圈,总共走刀3圈。
图5-18所示为用螺纹梳刀从上往下铣右旋和左旋圆柱内螺纹的编程用图。
图5-17 用螺纹梳刀从上往下铣2整圈圆柱内螺纹
a)铣右旋内螺纹 b)铣左旋内螺纹
O520程序是适用于发那科系统的用螺纹梳刀从上往下铣右旋和左旋圆柱内螺纹的通用宏程序。以铣刀底面的圆心点作为对刀点。
O520;
N01 #1=a; (螺纹公称直径)
N02 #2=b; (螺距)
N03 #3=c; (螺纹整圈数,用它代替深度)
N04 #4=i; (螺纹左、右旋向代号,右旋取2,左旋取3)
N05 #5=j; (刀片最低刃齿到刀体底面间的距离)
N06 #6=k; (刀片的轴向刃齿个数)
N07 #7=d; (刀片数,常见的是1片)
N08 #8=m; (每刃每转进给量,选定)
N09 #11=h; (准备点的Z值)
N10 #19=s; (主轴转速S,选定)
N11 #20=t; (刀具补偿号)
图5-18 用螺纹梳刀从上往下铣圆柱内螺纹的编程用图
a)铣右旋内螺纹 b)铣左旋内螺纹
N12 #24=x; (螺纹孔中心在工作坐标系中的X值)
N13 #25=y; (螺纹孔中心在工件坐标系中的Y值)
N21 G54 G90 G95 G40 G00 X0 Y0; (设定工件坐标系,用每转进给,平移到工件XY平面原点)
N22 D#20 S#19 M03; (指令刀具半径补偿号,主轴正转)
N23 G52 X#24 Y#25; (建立局部坐标系)
N24 X0 Y0; (铣刀平移到螺纹孔中心)
N25 G43 H#20 Z#11; (激活刀具长度补偿,铣刀下降到准备点)
N26 Z0; (铣刀下降到螺纹顶面)
N27 Z[-#2∗[#6-2.5]-#5]; (铣刀下降到入刀段起点所在的平面)
N28 G[44-#4]G01X[-#1/2+#2]F[5∗#7∗#8]; (激活刀具半径补偿,铣刀平移到入刀段起点)
N29 G#4X[#1/2]Z[-#2∗[#6-2]-#5]I[#1/2-#2/2]F[#7∗#8/4]; (螺旋入刀段)
N30 #10=1; (#10代表铣螺纹的圈数,此处赋初始值)
N31 G91; (增量尺寸)
N32 WHILE[#10LE[#3-#6+2]]DO1; (循环头,若未铣够圈数就在循环尾之间循环执行)
N33 G#4Z-#2I-[#1/2]F[#7∗#8]; (铣一圈螺纹)
N34 #10=#10+1; (铣螺纹圈数增加1)
N35 END1; (循环尾)
N36 G#4X[-#1+#2]Z-[#2/2]I[-#1/2+#2/2]F[#7∗#8∗3]; (螺旋出刀段)
B37 G40G90G00X0Y0; (绝对尺寸,铣刀平移到刀中心与螺纹孔中心重合)
N38 G49Z#11; (撤销长度补偿,铣刀上升到起始位)
N39 G52X0Y0; (取消局部坐标系)
N40 X0Y0M05; (铣刀平移到工件坐标系原点之上)
N41 M30;
由于发那科系统的螺旋插补指令G02/G03最多只能插补一圈,所以在程序中使用了循环指令。
对于西门子802D系统,螺旋插补指令G02/G03可以插补多圈,所以程序中就不需要用循环指令了。PP520.MPF程序是适用于西门子802D的用螺纹梳刀从上往下铣右旋和左旋圆柱内螺纹的通用宏程序。
PP520.MPF
N01 R1=a; 螺纹公称直径
N02 R2=b; 螺距
N03 R3=c; 螺纹整圈数,用它代替深度
N04 R4=i; 螺纹左、右旋向代号,右旋取2,左旋取3
N05 R5=j; 刀片最低刃齿到刀体底面间的距离
N06 R6=k; 刀片的轴向刃齿个数
N07 R7=d; 刀片数,常见的是1片
N08 R8=m; 每刃每转进给量,选定
N09 R11=h; 准备点的Z值
N10 R19=s; 主轴转速S,选定
N11 R20=t; 刀具补偿号
N12 R24=x; 螺纹孔中心在工件坐标系中的X值
N13 R25=y; 螺纹孔中心在工件坐标系中的Y值
N21 G54 G90 G95 G40 G00 X0 Y0; 设定工件坐标系,用每转进给,平移到工件XY平面原点
N22 T1 D=R20 S=R19 M03; 指令刀具半径补偿和长度补偿号,主轴正转
N23 TRANSX=R24Y=25; 零点偏移
N24 X0 Y0; 铣刀平移到螺纹孔中心
N25 Z=R11; 铣刀下降到准备点
N26 Z0; 铣刀下降到螺纹顶面
N27 Z=-R2∗(R6-2.5)-R5; 铣刀下降到入刀段起点所在的平面
N28 G=44-R4G01X=-R1/2+R2F=5∗R7∗R8;激活刀具半径补偿,铣刀平移到入刀段起点
N29 G=R4X=R1/2Z=-R2∗(R6-2)-R5I=R1/2-R2/2F=R7∗R8/4;螺旋入刀段
N32 Z=-R2∗R3-R5I=-R1/2F=R7∗R8TURN=R3-R6+1;铣整圈螺纹
N35 X=-R1/2+R2Z=-R2∗(R13+0.5)-R5I=-R1/2+R2/2F=R7∗R8∗3;螺旋出刀段
N36 G40G00X0Y0; 撤销半径补偿,平移到刀中心与螺孔中心重合
N37 Z=R11;铣刀上升到准备点
N38 TRANS; 零点偏移注销
N39 X0Y0M05; 铣刀平移到工件坐标系原点之上
N40 M02
O520程序和PP521.MPF程序中都有13个变量/参数,使用时只要根据具体情况给这13个变量赋值即可。
(2)从下往上铣圆柱内螺纹 图5-19所示为用螺纹梳刀从下往上铣右旋和左旋圆柱内螺纹。为了使读者看清楚轨迹,图中只画铣2整圈。
图5-19 用螺插图纹梳刀从下往上铣2整圈圆柱内螺纹
a)铣右旋内螺纹 b)铣左旋内螺纹
图5-20所示为用螺纹梳刀从下往上铣右旋和左旋圆柱内螺纹的编程用图。
O521程序是适用于发那科系统的用螺纹梳刀从下往上铣右旋和左旋圆柱内螺纹的通用宏程序。以铣刀底面的圆心点作为对刀点。
O521;
N01 #1=a; (螺纹公称直径)
N02 #2=b; (螺距)
N03 #3=c; (螺纹整圈数,用它代替深度)
N04 #4=i: (螺纹左、右旋向代号,右旋取2,左旋取3)
N05 #5=j; (刀片最低刃齿到刀体底面间的距离)
图5-20 用螺纹梳刀从下往上铣圆柱内螺纹编程用图
a)铣右旋内螺纹 b)铣左旋内螺纹
N06 #6=k; (刀片的轴向刃齿个数)
N07 #7=d; (刀片数,常见的是1片)
N08 #8=m, (每刃每转进给量,选定)
N09 #11=h; (准备点的Z值)
N10 #19=s; (主轴转速S,选定)
N11 #20=t; (刀具补偿号)
N12 #24=x; (螺纹孔中心在工件坐标系中的X值)
N13 #25=y; (螺纹孔中心在工件坐标系中的Y值)
N21 G54 G90 G95 G40 G00 X0 Y0; (设定工件坐标系,用每转进给,平移到工件XY平面原点)
N22 D#20 S#19 M03; (指令刀具半径补偿号,主轴正转)
N23 G52 X#24 Y#25; (建立局部坐标系)
N24 X0 Y0; (铣刀平移到螺纹孔中心)
N25 G43 H#20 Z#11; (激活刀具长度补偿,铣刀下降到准备点)
N26 Z0; (铣刀下降到螺纹顶面)
N27 Z[-#2∗[#3+0.5]-#5]; (铣刀下降到入刀段起点所在的平面)
N28 G[39+#4]G01X[-#1/2+#2]F[5∗#7∗#8];(激活刀具半径补偿,铣刀平移到入刀段起点)
N29 G[5-#4]X[#1/2]Z[-#2∗#3-#5]I[#1/2-#2/2]F[#7∗#8/4];(螺旋入刀段)
N30 #10=1; (#10代表铣螺纹的圈数,此处赋初始值)
N31 G91; (增量尺寸)
N32 WHILE[#10LE[#3-#6+2]]DO1; (循环头,若未铣够圈数就在循环尾之间循环执行)
N33 G[5-#4]Z#2I-[#1/2]F[#7∗#8]; (铣一圈螺纹)
N34 #10=#10+1; (铣螺纹圈数增加1)
N35 END1; (循环尾)
N36 G[5-#4]X[-#1+#2]Z[#2/2]I[-#1/2+#2/2]F[#7∗#8∗3];(螺旋出刀段)
N37 G40G90G00X0Y0; (绝对尺寸,铣刀平移到刀中心与螺纹孔中心重合)
N38 G49 Z#11; (撤销长度补偿,铣刀上升到起始位)
N39 G52 X0 Y0; (取消局部坐标系)
N40 X0Y0M05; (铣刀平移到工件坐标系原点之上)
N41 M30;
PP521.MPF程序是适用于西门子802D系统的用螺纹梳刀从下往上铣右旋和左旋圆柱内螺纹的通用宏程序。
PP521.MPF
N01 R1=a; 螺纹公称直径
N02 R2=b; 螺距
N03 R3=c; 螺纹整圈数,用它代替深度
N04 R4=i: 螺纹左、右旋向代号,右旋取2,左旋取3
N05 R5=j; 刀片最低刃齿到刀体底面间的距离
N06 R6=k; 刀片的轴向刃齿个数
N07 R7=d; 刀片数,常见的是1片
N08 R8=m, 每刃每转进给量,选定
N09 R11=h; 准备点的Z值
N10 R19=s; 主轴转速S,选定
N11 R20=t; 刀具补偿号
N12 R24=x; 螺纹孔中心在工件坐标系中的X值
N13 R25=y; 螺纹孔中心在工件坐标系中的Y值
N21 G54 G90 G95 G40 G00 X0 Y0; 设定工件坐标系,用每转进给,平移到工件XY平面原点
N22 T1 D=R20S=R19M03; 指令刀具半径补偿和长度补偿号,主轴正转
N23 TRANS X=R24 Y=R25; 零点偏移
N24 X0 Y0; 铣刀平移到螺纹孔中心
N25 Z=R11; 铣刀下降到准备点(www.xing528.com)
N26 Z0; 铣刀下降到螺纹顶面
N27 Z=-R2∗(R3+0.5)-R5;铣刀下降到入刀段起点所在的平面
N28 G=39+R4G01X=-R1/2+R2F=5∗R7∗R8;激活刀具半径补偿,铣刀平移到入刀段起点
N29 G=5-R4X=R1/2Z=-R2∗R3-R5I=R1/2-R2/2F=R7∗R8/4;螺旋入刀
N32 Z=-R2∗(R6-2)-R5CR=R1/2F=R7∗R8TURN=R3-R6+1;铣整扣螺纹
N35 X=-R1/R2+R2Z=-R2∗(R6-2.5)-R5I=-R1/2+R2/2F=R7∗R8∗3;螺旋出刀
N36 G40G00X0Y0; 平移到刀中心与螺纹孔中心重合
N37 Z=R11; 铣刀上升到准备点
N38 TRANS; 零点偏移注销
N39 X0 Y0 M05; 铣刀平移到工件坐标系原点之上
N40 M02
O521程序和PP521.MPF程序中各有13个变量/参数,使用时只要根据具体情况给这13个变量(参数)赋值即可。
(3)举例 在材质为40CrMo工件上铣15/8-8UN螺纹。这种统一英制粗牙螺纹每25.4mm轴向长度内含有螺纹牙数为8,而工件上要求13个牙深。采购来的螺纹梳刀刀片是此制式,也是此螺距。刀片上有7个刃齿,刃尖的回转半径是15mm(标注值)。此刀杆上只能装1片刀片。准备点取在顶面之上100mm处,主轴转速取1000r/min,用1号刀具补偿,螺纹孔中心与工件坐标系XY平面原点重合。
图5-21所示为铣15/8-8UN内螺纹。
图5-21 铣15/8-8UN内螺纹
a)从上往下铣 b)从下往上铣
作者用的是发那科系统,采用的方法是图5-21a中所示的从上往下铣,因此使用O520通用宏程序。当时选定的进给量是每转每排刃齿(用此刀实际上就是每转)0.05mm。将13个变量赋值后,得O520程序中的前13段为如下:
N01 #1=41.275; (15/8-8UN统一英制螺纹的公称直径)
N02 #2=3.175; (15/8-8UN统一英制螺纹的螺距)
N03 #3=13; (图样上要求此螺纹有13整圈,用它代替深度)
N04 #4=2; (螺纹左、右旋向代号,此为右旋,取2)
N05 #5=2; (此刀片最低刃齿到刀体底面间的距离是2mm)
N06 #6=7; (此刀片的轴向刃齿有7个)
N07 #7=1; (此刀只能装1片刀片)
N08 #8=0.05; (每刃每转进给量定为0.05mm)
N09 #11=100; (准备点的Z值取在顶面之上100mm处)
N10 #19=1000; (主轴转速S取1000r/min)
N11 #20=1; (用01号刀具补偿号)
N12 #24=0; (螺纹孔中心与工件坐标系X-Y平面原点重合)
N13 #25=0; (螺纹孔中心与工件坐标系X-Y平面原点重合)
赋此值后的程序号改为O5200。
图5-22所示为执行按此赋值的O5200程序来铣15/8-8UN内螺纹的仿真轨迹。
图5-22 执行O5200程序来铣15/8-8UN内螺纹的仿真轨迹
从图中可以看到,用半圈入刀,铣螺纹8圈,再用半圈出刀。
既可以用调整切削刃刃尖回转半径值来调节铣出来的螺纹的直径,也可以用改变切削刃刃尖回转半径值来分粗铣和精铣。下面介绍作者当时用的方法。
把“形状”刀补页面中1号栏内铣刀半径值设为15.000后,用45钢材质的工件试铣第1次。用螺纹塞规检验,当时通规进不去。将此设定值改为14.975后试铣第2次,塞规虽能拧进去但比较紧。将此设定值改为14.960后试铣第3次,检验合格。在试切过程中,“磨耗”刀补页面中1号栏内铣刀半径值均设定为0。
考虑到40CrMo不是易切削材料,作者决定用粗铣3刀、精铣1刀来铣成。精铣单向铣0.1mm,粗铣用等截面积切削。理论牙高可取螺距的0.6倍,即1.905mm。单向粗铣总深度为1.805mm。计算第1刀单向切削深度d1值为
计算第2刀单向切削深度d2值为
计算3刀单向切削深度d3值为
具体操作方法为:粗铣第1刀前将“磨耗”刀补页面中1号栏内铣刀半径值设为0.863(0.1+0.331+0.432),粗铣第2刀前将此半径设为0.431(0.1+0.331),粗铣第3刀前将此半径设为0.1,精铣前将此半径设为0。
当时只加工几件(小批量),粗、精铣过程中是用手工来改变刀补值的。如果是批量生产,用手工改变不但影响效率(加工4刀需要运行4次程序),而且容易出错。对此,可采用以下两种方法实现程序连续运行铣完4刀。
1)第一种方法。发那科系统的刀补值是可编程的,对其用于铣床的系统,“磨耗”刀补页面中第n号刀补栏内铣刀半径设定值对应的系统变量为#[1200+n]。据此,作者当时在赋值的O5200中增加7段,其中在N21段与N22段之间加了如下5段:
N211 #30=1;(#30代表铣螺纹刀数序号,此处赋初始值)
N212 IF[#30EQ1]THEN#[1200+#20+#30-1]=0.863;(铣第1刀前把#20位内的半径设为此值)
N213 IF[#30EQ2]THEN#[1200+#20+#30-1]=0.431;(铣第2刀前把#20+1位内的半径设为此值)
N214 IF[#30EQ3]THEN#[1200+#20+#30-1]=0.1;(铣第3刀前把#20+2位内的半径设为此值)
N215 IF[#30EQ4]THNE#[1200+#20+#30-1]=0;(铣第4刀前把#20+3位内的半径设为此值)
又在N38段与N39段之间加如下2段:
N381 #30=#30+1;(铣螺纹刀数序号加1)
N382 IF[#30LE4]GOTO213;(如果铣螺纹刀数还不够就转面去铣下一刀)
此方法具有普遍意义。使用时要注意三点:①加出程序的段数。如果粗、精铣共3刀,那么就不加N215段;如果粗、精铣共5刀,那么还要增加N216段。②N382段中LE后的数据是分刀数。分3刀时,此值应改成3;分5刀时,此值应改成5。③从N212段开始这几段中等式后面的值应赋具体算出的值。
2)第二种方法。在此例刀补号取1(#20=1)的前提下,用手工将“磨耗”刀补页面中1、2、3、4号栏为铣刀半径值分别设为0.863、0.431、0.1和0,将“形状”刀补页面中1、2、3、4号栏内铣刀半径值都设为15.000。再对赋值的O5200程序做三处改动。
第一处是在N21段与N22段之间加1段:
N211 #30=1;(#30代表铣螺纹刀数序号)
第二处是将N22段中的D#20改成D[#20+#30-1]。
第三处是在N38段与N9段之间加如下2段:
N381 #30=#30+1;(铣螺纹刀数序号加1)
N382 IF[#30LE4]GOTO22;(如果铣螺纹刀数还不够就转回去铣下一刀)
此方法同样也具有普遍意义。
图5-23所示为此例加工用的螺纹梳刀和螺纹塞规的照片。
2.铣圆柱外螺纹
用螺纹梳刀铣圆柱外螺纹一般都采用从上往下铣的走刀方向。无论是从上往下铣左旋圆柱外螺纹还是铣右旋圆柱外螺纹,都建议使用平面切线入刀和平面切线出刀。
图5-24所示为用螺纹梳刀从上往下铣右旋和左旋圆柱外螺纹的编程用图。
图5-23 螺纹梳刀和螺纹塞规照片
图5-24 用螺纹梳刀从上往下铣圆柱外螺纹编程用图
a)铣右旋螺纹 b)铣左旋螺纹
O522程序是适用于发那科系统的用螺纹梳刀从上往下铣右旋和左旋圆柱外螺纹的通用宏程序。
O522;
N01 #1=a; (螺纹公称直径)
N02 #2=b; (螺距)
N03 #3=c; (螺纹整圈数,用它代替深度)
N04 #4=i; (螺纹左、右旋向代号,右旋取2,左旋取3)
N05 #5=j; (刀片最低刃齿到刀体底面间的距离)
N06 #6=k; (刀片的轴向刃齿个数)
N07 #7=d; (刀片数,常见的是1片)
N08 #8=m; (每刃每转进给量,选定)
N09 #11=h; (准备点的Z值)
N10 #18=r; (铣刀刃尖的公称回转半径)
N11 #19=s; (主轴转速S,选定)
N12 #20=t; (刀具补偿号)
N13 #24=x; (螺纹中心在工件坐标系中的X值)
N14 #25=y; (螺纹中心在工件坐标系中的Y值)
N21 G54G90G95G40G00X0Y0; (设定工件坐标系,用每转进给,平移到工件XY平面原点)
N22 D#20 S#19 M03; (指令刀具半径补偿号,主轴正转)
N23 G52 X#24 Y#25; (建立局部坐标系)
N24 X0 Y0; (铣刀平移到螺纹中心)
N25 G43 H#20 Z#11; (激活刀具长度补偿,铣刀下降到准备点)
N26 X[#1/2-0.6∗#2+#18]Y[#1/2+#18]; (铣刀平移到入刀段起点之上)
N27 Z[-#2∗[#6-2.5]-#5]; (铣刀下降到入刀段起点)
N28 G[39+#4]G01X[#1/2-0.6∗#2]Y0F[#7∗#8];(激活刀具半径补偿,切线入刀段)
N30 #10=1; (#10代表铣螺纹的圈数,此处赋初始值)
N31 G91; (增量尺寸)
N32 WHILE[#10LE[#3-#6+2]]DO1; (循环头,若未铣够圈数就在循环尾之间循环执行)
N33 G#4Z-#2I[#1/2+0.6∗#2]F[#7∗#8]; (铣一圈螺纹)
N34 #10=#10+1; (铣螺纹圈数增加1)
N35 END1; 循环尾
N36 G01 Y[-#1/2-#18]F[#7∗#8∗3]; (切线出刀段)
N37 G40 G90 G00 X[#1/2+#18]; (绝对尺寸,平移到退刀点)
N38 G49 Z#11; (撤销长度补偿,铣刀上升到起始位)
N39 G52 X0 Y0; (取消局部坐标系)
N40 X0 Y0M05; (铣刀平移到工件坐标系原点之上)
M41 M30;
PP522.MPF程序是适用于西门子802D系统的用螺纹梳刀从上往下铣右旋和左旋圆柱外螺纹的通用宏程序。
PP522.MPF
N01 R1=a; 螺纹公称直径
N02 R2=b; 螺距
N03 R3=c; 螺纹整圈数,用它代替深度
N04 R4=i; 螺纹左右旋向代号,右旋取2,左旋取3
N05 R5=j; 刀片最低刃齿到刀体底面间的距离
N06 R6=k; 刀片的轴向刃齿数
N07 R7=d: 刀片数,常见的是1片
N08 R8=m; 每刃每转进给量,选定
N09 R11=h; 准备点的Z值
N10 R18=r; 铣刀刃尖的公称回转半径
N11 R19=s; 主轴转速S,选定
N12 R20=t; 刀具补偿号
N13 R24=x; 螺纹中心在工件坐标系中的X值
N14 R25=y; 螺纹中心在工件坐标系中的Y值
N21 G54G90G95G40G00X0Y0; 设定工件坐标系,用每转进给,平移到工件XY平面原点
N22 T1 D=R20 S=R19 M03; 指令刀具半径补偿和长度补偿号,主轴正转
N23 TRANS X=R24 Y=25; 零点偏移
N24 X0 Y0; 铣刀平移到螺纹中心
N25 Z=R11; 铣刀下降到准备点
N26 X=R1/2-0.6∗R2+R18Y=R1/2+R18; 铣刀平移到入刀段起点之上
N27 Z=-R2∗(R6-2.5)-R5; 铣刀下降到入刀段起点
N28 G=39+R4G01X=R1/2-0.6∗R2Y0F=R7∗R8; 激活刀具半径补偿,切线入刀段
N32 G=R4 Z=-R2∗R3-R5I=-R1/2+0.6∗R2F=R7∗R8TURN=R3-R6+1;铣整圈螺纹
N35 G01Y=-R1/2-R18F=R7∗R8∗3;切线出刀段
N36 G40 G00 X=R1/2+R18; 撤销半径补偿,刀心平移到退刀点
N37 Z=R11; 铣刀上升到准备点
N38 TRANS; 零点偏移注销
N39 X0 Y0 M05; 铣刀平移到工件坐标系原点之上
M40 M02
O522程序和PP522.MPF程序中各有14个变量/参数,使用时只要根据具体情况给这14个变量(参数)赋值即可。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。