|
在数控铣床上加工螺纹有攻螺纹、铣削和挤压3种方法。由于挤压不属于切削的范畴,所以本书只讨论攻螺纹和铣螺纹。攻螺纹又分柔性攻螺纹和刚性攻螺纹。由于现在的数控铣床都支持刚性攻螺纹加工,所以在攻螺纹加工中只讨论刚性攻螺纹。 5.1 刚性攻螺纹与铣螺纹的比较刚性攻螺纹与铣螺纹各有特点。 (1)加工出螺纹的表面质量 用刚性攻螺纹法加工出的螺纹表面在丝锥换向处有停止线,而铣削加工出的螺纹表面是连续的。对于高压密封螺纹,其表面是不允许有停止线的。 (2)加工出螺纹的尺寸精度 用铣螺纹法加工时可以通过修改程序数据或修改刀补值来调节螺纹的径向尺寸,而刚性攻螺纹加工时无法调节螺纹的径向尺寸。 (3)不通螺纹孔完整螺纹部分的深度 由于以下两个原因,对于同样深度的不通(底)孔,用铣削方法可以比用刚性攻螺纹法加工出较深的完整螺纹部分:一是丝锥头部呈锥形,用这部分切削刃攻出的牙的高度是不完整的;二是攻螺纹时切屑堆积在孔底,致使丝锥攻不到底。铣削时可以采用从下往上铣来避免这个问题。 (4)外螺纹加工和大直径内螺纹加工 因为没有直径很大的丝锥,所以无法用刚性攻螺纹法加工大直径螺纹,而用螺纹铣刀可以铣大直径内螺纹。对于无法车削的外螺纹,无法用丝锥加工,只能用螺纹铣刀加工。 (5)加工效率 一般来说,刚性攻螺纹的效率要比铣螺纹的效率高,尤其是在有色金属和易加工材料上加工螺纹时更是如此。在铣螺纹方法中,用螺纹梳刀(包括镶嵌式螺纹梳刀和整硬螺纹铣刀)比用横向刃齿铣刀加工效率高。在用横向刃齿螺纹铣刀加工时,用横向多刃齿铣刀比横向单刃齿铣刀(有点像螺纹车刀)的加工效率高。 (6)刀、刃具的适用范围 用同一把横向单刃齿和多刃齿铣刀可以加工若干种螺距(用泛螺纹刀片)、不同直径、不同旋向的圆柱螺纹或圆锥螺纹。用同一把螺纹梳刀和整硬螺纹铣刀能铣(与铣刀)同螺距、不同直径、不同旋向的螺纹。 (7)刀、刃具的整体与分体 铣底径小于ϕ10mm的内螺纹用的横向单、多刃齿铣刀一般是整体结构,铣底径大于ϕ10mm用的这类螺纹铣刀一般是分体结构。螺纹梳刀用于铣外螺纹和底径大于ϕ25mm左右的内螺纹,其结构一般为分体镶嵌式。整硬螺纹铣刀当然是整体结构。 (8)切削参数可变项数 用丝锥攻螺纹时只能改变主轴转速这一项,无法改变径向切削深度等其他项。用螺纹铣刀铣内、外螺纹时,可分层铣削。这对加工大齿螺纹和在难加工材料上加工螺纹尤为重要。 (9)刀、刃具寿命 比较而言,丝锥的寿命较低,螺纹铣刀的寿命较高。 (10)对机床输出扭矩的要求 攻螺纹要求机床有较大的输出扭矩。小扭矩机床不能用于攻大直径圆柱螺纹。攻圆锥螺纹对机床的输出扭矩要求更高,用中等输出扭矩的机床来攻中等直径的锥螺纹也可能攻一段后攻不下去。而无论用哪一种铣刀铣螺纹,对机床的输出扭矩要求都不高。 生产中,应根据工件的材质、螺纹的精度要求、批量、生产节拍和机床等具体条件和要求,参考上述两种加工方法的特点,选择是用攻螺纹还是用铣削的方法来加工。 5.2 刚性攻螺纹的条件和编程5.2.1 刚性攻螺纹的条件对于机床,可做刚性攻螺纹的基本条件是配备伺服主轴和数控系统有刚性攻螺纹攻能,现在的绝大部分数控铣床和加工中心都具备这两个硬性条件或者前提条件。 但是,机床要能顺利地刚性攻螺纹,仅有这两个条件还不够,还要对参数做一系列调整。例如,对于发那科0i-C和0i-D系统,要调整串行接口主轴αi系列参数表中的若干参数(#4000~#4999,不连续)和有关刚性攻螺纹的参数(#5200~#5399,不连续)。其中,前部分参数用来设定主轴先行前馈系数、主轴速度环前馈系数、刚性攻螺纹时的速度回路比例增益、速度回路积分增益和刚性攻螺纹时原点复归位置的增益变更比例等。这部分参数一般在机床出厂前已由电气工程师调好。后部参数用来设定的内容较广泛,包括位置偏差、回路增益和指令方法等。这部分参数一般也在机床出厂前已设置好,不过用户使用时可根据需要对某个或某些参数进行重新设定。如果出现回退时把丝扣拉坏(精度)的情况,最好请专业人员来做必要的调整。 5.2.2 刚性攻圆柱螺纹编程刚性攻圆柱螺纹前首先要正确选择丝锥(当然是机用丝锥)。丝锥一般是整体硬质合金加表面涂层,它有如下要素:米制/英制;粗齿/密齿;加工材质;加工通孔/不通孔;直槽或左旋/右旋槽;有/无内冷(孔);螺纹公称直径;螺距;螺纹的左/右旋向;公差等级;丝锥长度。这些要素都反映在丝锥牌号内的英字母及数字中。各制造商的牌号表示方法不同,采购和使用时要查询具体制造商的产品样本。 丝锥上槽的旋向选用原则为:对于铸铁材质的工件,攻通孔螺纹和攻不通螺纹孔都采用直槽丝锥;对于钢质工件,攻通孔螺纹应选用左旋槽丝锥,而攻不通螺纹孔应选用右旋槽丝锥,因为用左旋槽丝锥攻螺纹时切屑往下排,而用右旋槽丝锥攻螺纹时切屑往上排。 表面有涂层的丝锥可用较高的切削速度。对高速钢丝锥表面做离子注入后可提高其攻螺纹性能。 下面用两个例图来介绍刚性攻螺纹的加工程序。图5-1中有4个M16通孔螺纹,图5-2中有6个沿圆周均布的M16不通螺纹孔。Z向原点都取在工件顶面上(一般是这样),都只攻一次(一般是这样),攻螺纹时主轴转速都取150r/min,在底部停留时间都取0.5s,回退速度选择与攻螺纹速度相同。由于图5-1中是通孔螺纹,所以选用左旋槽丝锥,而图5-2中是不通螺纹孔,所以选用右旋槽丝锥。两个工件材料都是钢质。 先介绍用发那科0i-MA系统机床只攻例图一上D孔的程序O501。 O501; N01 G54 G95 G98 G00 X0 Y0 Z100; (每转进给,初始点复归) N02 G43 H1 Z40; (建立刀具长度补偿,垂直下降) N03 M29 S150; (刚性攻螺纹并指定主轴转速) N04 G84 X25 Y25 Z-26 R5 P500 F2; (攻螺纹,攻完后回到B点所在的初始平面) N05 G80; (刚性攻螺纹注销) N06 G49 G00 Z100; (注销刀具长度补偿,垂直上升) N07 X0 Y0 M05; (平移到工件坐标原点) N08 M30; 图5-1 刚性攻螺纹例图1 其中,N01段中用G98指令R点复归,即攻螺纹循环结束时回到R点所在的平面。攻单孔螺纹一般用G98,也可以用G99。N01段中用G95指令每转进给,也可用G94指令每分钟进给。由于在本程序中指令为每转进给,所以N04段中用F2。由于只攻一次,所以G84 段中可省略K指令。如果改用每分钟进给(即将N01段中的G95改为G94),那么G84段中的F指令值应等于主轴转速与螺距的乘积(即150×2),故此处应指令F300。 下面介绍连续攻例图一中的D、E、F、G4个螺纹孔的适用于0i-MA系统的程序O502。此程序中主轴用每分钟进给。 O502; N01 G54 G94 G99 G00 X0 Y0 Z100; (每分钟进给,R点复归) N02 G43 H1Z40; (建立刀具长度补偿,垂直下降) N03 M29 S150; (刚性攻螺纹并指定主轴转速) N04 G84 X25 Y25 Z-26 R5 P500 F300; (攻D孔,回到R点所在平面) N05 Y125; (攻E孔,回到R点所在平面) N06 X125; (攻F孔,回到R点所在平面) N07 G98 Y25;( 攻G孔,回到B点所在的初始平面) N08 G80; (刚性攻螺纹注销) N09 G49 G00 Z100; (注销刀具长度补偿,垂直上升) N10 X0 Y0 M05; (平移到工件坐标原点) N11 M30; 为了安全起见,攻最后一个孔后使丝锥抬到初始平面。注意上述两个程序中刚性攻螺纹是用G84指令,而且必须在其紧前加一段“M29S_;”。 如果用发那科0i-MD系统,那么只攻例图一中D孔的程序应为O503。 O503; N01 G54 G95 G98 G00 X0 Y0 Z100; (每转进给,初始点复归) N02 G43 H1 Z40; (建立刀具长度补偿,垂直下降) N04 G84.2 X25 Y25 Z-26 R5 P500 F2 S150; (刚性攻螺纹,攻完后回到B点所在的初始平面) N05 G80; (刚性攻螺纹注销) N06 G49 G00 Z100; (注销刀具长度补偿,垂直上升) N07 X0 Y0 M05; (平移到工件坐标原点) N08 M30; 适用于发那科0i-MD系统、连续攻例图一中D、E、F、G4个螺纹孔的程序为O504。 O504; N01 G54 G95 G99 G00 X0 Y0 Z100; (每转进给,R点复归) N02 G43 H1 Z40; (建立刀具长度补偿,垂直下降) N04 G84.2X25 Y25 Z-26 R5 P500 F2 S150; (刚性孔螺纹,攻完D孔后回到R点所在平面) N05 Y125; (攻E孔,回到R点所在平面) N06 X125; (攻F孔,回到R点所在平面) N07 G98 Y25; (攻G孔,回到B点所在的初始平面) N08 G80; (刚性攻螺纹注销) N09 G49 G00 Z100; (注销刀具长度补偿,垂直上升) N10 X0 Y0 M05; (平移到工件坐标原点) N11 M30; 注意O503和O504两个程序中刚性攻螺纹用的是G84.2指令,攻螺纹时的主轴转速S指令字也在这个程序段中。 用西门子802D系统的单动指令编写只攻例图一上D孔的PP501.MPF程序。 PP501.MPF N01 G54 G90 G00 X0 Y0 Z100; 设定工件坐标系 N02 T1 D1; 指令刀具半径补偿和长度补偿号 N03 G17 X25 Y25 Z40 M08; 到达XY平面中的B点 N04 Z5; 铣刀下降到R点 N05 SPOS=0; 主轴处于位置控制状态 N06 G331 Z-26 K2 S150; 攻螺纹 N07 G332 Z5 K2; 回退 N08 G00 Z100 M09; 垂直抬刀 N09 X0 Y0 M05; 水平移到XY平面中的原点 N10 M02 在N06和N07程序段中的K指令为正值,攻螺纹时主轴正转,回退时主轴反转,所以 这是攻右旋螺纹(当然是用攻右旋螺纹的丝锥)。用西门子802D系统循环指令编写只攻例图一上D孔的PP502.MPF程序。 PP502.MPF N01 G54 G90 G00 X0 Y0 Z100; 设定工件坐标系 N02 T1 D1; 指令刀具半径补偿和长度补偿号 N03 G17 X25 Y25 Z40 M08; 到达XY平面中的B点 N04 CYCLE84(40,0,5,,26,0.5,3,16,,0,150,150);刚性攻螺纹循环 N05 G00 Z100; M09;垂直抬刀 N06 X0 Y0 M05; 水平移到XY平面中的原点 N07 M02 其中,N04段是刚性攻螺纹循环指令。小括号内共有12个参数,参数之间用11个逗号隔开。这里第七个参数指令为3,表示循环结束时执行M03,即使主轴正转。这里的螺距用螺纹大径值间接指令,第八个参数指令为16,表示螺纹大径是16mm,相应的米制粗牙螺纹的螺距是2mm,所以第九个参数可空位。 如果螺距用数据直接指定,那么N04段中括号内的第八个参数位空着,第九个参数指令为2。 下面介绍沿圆周均布孔攻螺纹的方法(见图5-2)。由于这种加工经常遇到,所以作者编制了通用宏程序,并举例说明。 沿圆周均布孔攻螺纹,编写适用于发那科0i-MA系统的宏程序O505。 O505; #1=50; (孔中心所在圆的半径) #2=30; (第一个孔中心所在的α角) #3=6; (孔个数N) #4=26; (攻螺纹底面与参考平面间的距离) 图5-2 刚性攻螺纹例图2 #5=5; (起始平面与参考平面间的距离) #6=500; (丝锥在攻螺纹底面的停留时间毫秒单位) #7=2; (螺距) #8=100; (准备点的Z坐标值) #9=40; (初始平面与参考平面间的距离) #19=150; (主轴转速) N01 #20=360/#3; (相邻两孔间的间隔角度) N02 #21=#2; (当前孔中心所在的α角,此处赋初始值) N03 G54G95G99G00X0Y0Z#8; (G95表示每转进给) N04 G43H1Z#9; (下降到初始平面) N05 M29S#19; (刚性攻螺纹指令之一——设定攻螺纹转速) N06 G84 X[#1∗COS[#21]]Y[#1∗SIN[#21]]Z-#4R#5P#6F#7; (刚性攻螺纹指令之二) N07 #21=#21+#20; (下一个孔中心所在的α角) N08 IF[#21LT360]GOTO06; (如果未到最后一个孔就回上去继续攻) N09 G00 Z#9; (上升到初始平面) N10 G80; (刚性攻螺纹指令取消) N11 G49 Z#8; (抬刀) N12 X0 Y0 M05; (平移到工件坐标系XY平面原点) N13 M30; O505程序实际上是一个通用宏程序,只是此处已按图5-2所示零件的具体情况给变量赋值了。程序中共有10个变量。对于需要沿圆周均布孔上攻螺纹的不同零件,只要改(赋)这10个变量的值即可,而N01~N13段的程序不用改变。 沿圆周均布孔攻螺纹,编写适用于发那科0i-MD系统的宏程序O506。 O506; #1=50; (孔中心所在圆的半径) #2=30; (第一个孔中心所在的α角) #3=6; (孔个数N) #4=26; (攻螺纹底面与参考平面间的距离) #5=5; (起始平面与参考平面间的距离) #6=500; (丝锥在攻螺纹底面的停留时间,单位为ms) #7=2; (螺距) #8=100; (准备点的Z坐标值) #9=40; (初始平面与参考平面间的距离) #19=150; (主轴转速) N01 #20=360/#3; (相邻两孔间的间隔角度) N02 #21=#2; (当前孔中心所在的α角,此处赋初始值) N03 G54 G95 G99 G00 X0 Y0 Z#8; (G95表示每转进给) N04 G43 H1Z#9; (下降到初始平面) N06 G84 X[#1∗COS[#21]]Y[#1∗SIN[#21]]Z-#4R#5P#6F#7S#19; (刚性攻螺纹指令) N07 #21=#21+#20; (下一个孔中心所在的α角) N08 IF[#21LT360]GOTO06; (如果未到最后一个孔就回上去继续攻螺纹) N09 G00 Z#9; (上升到初始平面) N10 G80; (刚性攻螺纹指令取消) N11 G49 Z#8; (抬刀) N12 X0 Y0 M05; (平移到工件坐标系XY平面原点) N13 M30; O506程序实际上也是一个通用宏程序,只是此处已按图5-2所示零件的具体情况给10个变量赋值了。程序中共有10个变量,使用时只要根据具体零件和具体工艺参数给这10个变量重新赋值即可。 沿圆周均布孔攻螺纹,编写适用于西门子802D系统的宏程序PP506.MPF。 PP506.MPF R1=50; 孔中心所在圆的半径 R2=30; 第一个孔中心所在的α角 R3=6; 孔个数N R4=26; 攻螺纹深度 R5=5; 起始平面与参考平面间的距离 R6=0.5; 丝锥在攻螺纹底面停留时间,单位为s R7=2; 螺距 R8=100; 准备点的Z坐标值 R9=40; 初始平面与参考平面间的距离 R19=150 主轴转速 N01 R20=360/R3; 相邻两孔的间隔角度 N02 R21=R2; 当前孔中心所在的α角,此处赋初始值 N03 G54 G17 G90 G00 X0 Y0 Z=R8 N04 T1D1M08 N05 Z=R9 N06 MA1:G00X=R1∗COS(R21)Y=R1∗SIN(R21); 平移到孔中心之上 N07 CYCLE84(R9,0,R5,,R4,R6,3,,R7,0,R19,R19);刚性攻螺纹循环 N08 R21=R21+R20; 计算下一个孔中心所在的α角 N09 IFR21<360GOTOBMA1; 如果未到最后一个孔就回上去继续攻螺纹 N10 G00 Z=R8 M09; 抬刀 N11 X0 Y0 M05; 平移到工件坐标系XY平面原点 N12 M02 同样,PP506.MPF也是一个通用宏程序,只是此处也按图5-2所示零件的具体情况给10个参数赋值了。程序中共有10个参数,使用时只要根据具体零件和具体工艺参数给这10个参数重新赋值即可。
|