1.圆孔内腔(螺旋铣削/垂直铣削)
在孔系加工中,图样上往往标有不同直径尺寸的孔需要加工,通孔、不通孔、台阶孔等,钻头的直径尺寸还多一些,但立铣刀的直径尺寸只有那么几种,在孔的形状尺寸公差不是很严的情况下,如果能用立铣刀铣孔,可以收到较好的效果。
如果对于孔的圆度、圆柱度等形状公差有较严格的要求,在螺旋铣削或垂直铣削时,由于3轴或2轴联动,当刀具经过4个象限做反向运动时,丝杠间隙会影响孔的圆度、圆柱度,导致铣削没有镗削、铰削的孔的圆度/圆柱度精度高,但一般精度的加工还是可以满足的。
例:如图5-2所示,4个孔直径均为ϕ20.8mm,深度均为20mm,立铣刀直径为ϕ10mm,全部采用顺铣,即逆时针螺旋/圆弧铣削。
若采用螺旋下刀,设计加工方式为:使用切削刃过中心的平底立铣刀,从直径较小处开始螺旋下刀,到达内腔底部后抬刀,直径逐步扩大,铣削到内腔底部……直到走完最后一圈,提刀结束。
若采用中心垂直下刀,设计加工方式为:使用切削刃过中心的平底立铣刀,从内腔中心处下刀,直径逐步扩大铣削,直到走完最后一圈,然后返回中心……到达内腔底部后抬刀,铣削到内腔底部提刀结束。
图5-2 圆孔内腔加工
若用G66编写,主程序为:
O1000;
G40 G49 G80 G69 G15 G17;程序初始化
G90 G54 G00 X0 Y0 M08;
G43 Z80.H05 M03 S800;
G66 P1001 A20.8 B10.C0 Z-20.F400 Q1.;
X0 Y0;
X50.Y-40.;
X100.Y0;
X200.;
G67;
G30 G91 Z0 M09;
M05;
G00 G90(G91)X_Y_; 使工件靠近操作者
M30;
若用G65编写,主程序为:
O1000;
G40 G49 G80 G69 G15 G17; 程序初始化
G90 G54 G00 X0 Y0 M08;
G43 Z80.H05 M03 S800;
G65 P1001 A20.8 B10.C0 F500 Q1.X0 Y0 Z-20.;
G65 P1001 A20.8 B10.C0 F500 Q1.X50.Y-40.Z-20.;
G65 P1001 A20.8 B10.C0 F500 Q1.X100.Y0 Z-20.;
G65 P1001 A20.8 B10.C0 F500 Q1.X200.Y0 Z-20.;
G30 G91 Z0 M09;
M05;
G00 G90(G91)X_Y_;使工件靠近操作者
M30;
#1=A,圆孔内径,>0。
#2=B,平底立铣刀直径,>0。
#3=C,内腔上表面Z轴的绝对/相对坐标值。
#9=F,进给速度。
#17=Q,每次切削深度,>0。
#24=X,内腔中心X轴的绝对/相对坐标值。
#25=Y,内腔中心Y轴的绝对/相对坐标值。
#26=Z,内腔底面Z轴的绝对/相对坐标值。
(1)螺旋铣削 若采用螺旋铣削,则被调用的宏程序为:
说明:
①本程序适合在G90/G91方式下运行,运行前应把内腔加工起点平面以上的部分铣去。宏程序内采用G90方式计算各坐标位置。
适合于圆孔内腔直径>刀具直径,且为任意比例情况时的加工;如果圆孔内腔直径≤刀具直径,则跳转到N40程序段,提刀、取消局部坐标系后返回主程序,此时请检查A、B变量的赋值情况,或直接下刀加工,已无执行本程序的必要。
如果铣削深度<层降深度,跳转到N40程序段,请检查#3、#26、#17的赋值是否合理。
#5的取值范围为(0,0.5∗#2),以确保孔心没有凸台,此处取0.4∗#2。
②N8,如果内腔与刀具的半径差#7小于自变量刀具中心回转半径的起始值#5,那么半径的差就赋值给起始的回转半径,随后进入N10;如果不小于,直接进入N10。
N10,当刀具中心的回转半径≤其最大回转半径时,在END 1之间循环。随后移动刀具到+X轴起点,接近、接触工件。
N12,为了便于描述,把起刀点设在+X轴上,也可以设在-X、+Y、-Y轴上,对N24、N30、N32三段程序做一下修改就行了。
N18,因每次螺旋铣削到内腔底部后,刀具还要返回起始Z平面后,在XY平面做半径步距后再次螺旋铣削,所以保留了#3作为定值,使每次螺旋铣削到内腔底部后,Z平面有一个返回基准。所以把加工始点深度坐标值#3赋值给深度坐标值自变量#8,用其代替。同时,如果[#3-#26]/#17的值不是整数,当刀具铣削到了第“FIX[[#3-#26]/#17]”层时,为了把此时的深度和最终深度#26做比较,也需要深度坐标值自变量#8。
N20,当铣削深度坐标值>内腔底部坐标值时,在END 2之间循环。
N22,这段程序表明,即使[#3-#26]/#17的值不是整数,铣削深度也不会超差;如果没有这段程序,铣削深度就会超差。
N34,第一种情况:#7<#5时,由N8改变为“#5=#7”。一次性铣削到内腔底部后,经过判断,跳转至N40。
第二种情况,#7=#5时,同上。(www.xing528.com)
第三种情况,#7>#5时,刀具在经过“FIX[[#7-#5]/#6+1.]”次在XY平面步距的螺旋铣削后,经过判断,#7≠#5,进入N36、N38。
N36,经过判断,如果(最终回转半径-当前回转半径)<#6,即在XY平面还剩下<#6的距离没有铣削,那么经过N38 IF…THEN条件转折语句的强制赋值后,#5=#7,然后返回N10,最后一次螺旋铣削直至内腔底部,随后退刀、提刀。经过N34的判断,#5=#7,跳出,取消局部坐标系,返回主程序。
注意:如果没有N34,在以上三种情况下,经过N36的计算、N38的强制赋值,在经过第“FUP[[#7-#5]/#6+1.]”次,即最后一次在XY平面步距的螺旋铣削后,#5≡#7,无法跳出循环体1。
③如果需要逆铣,把N24、N30的“G03”改为“G02”即可,其余部分不变。
④如果有多个孔需要加工且在同一个上表面上,可以使用N40这段程序;如果仅加工这一个内腔,改为“”,使刀具返回安全平面;如果在该内腔下方还有一个直径小的内腔,则可以不编写这段程序,请在该主程序后的下一个程序段重新对G65中指定的初始深度、终止深度、内腔中心坐标值等赋值。
⑤N10程序段“WHILE[#5 LE#7]DO 1;”,即进入循环1时,自变量运算的初始值为“#5”,而非“#5+#6”,则应该在该自变量步距的N36前添加N34 IF…GOTO条件转移语句(N36后有N38 IF…THEN条件转折语句强制赋值时;若N36后无N38条件转折语句时,不需添加N34),当铣削完成时跳出该循环体。
如果数值的比较关系是GE,又有IF…GOTO条件转折语句时,同样需要IF…GOTO条件转移语句跳出该循环体。
如果数值的比较关系是LT或GT,又有IF…THEN条件转折语句,根据情况,如果在自变量变化后产生的移动指令后还有其他有关的移动指令,需要IF…GOTO条件转移语句跳出该循环体;如果无其他有关的移动指令,则不需要IF…GOTO条件转移语句。
(2)中心垂直下刀 采用中心垂直下刀,各变量说明同上例。则被调用的宏程序为:
说明:和螺旋下刀的解释类似。只是,螺旋下刀把刀具中心的旋转半径作为外层的自变量,铣削深度作为内层的自变量;垂直下刀则把铣削深度作为外层的自变量,刀具中心的旋转半径作为内层的自变量。宏程序内采用G90方式计算各坐标位置。
也可以采用倾斜下刀,和垂直下刀的程序类似,不再赘述。
2.内锥面/内扫掠(扫描)曲面加工
如图5-3所示,要在45钢上加工一个模具,其中一部分为扫掠(扫描)曲面,编写其宏程序。
各变量赋值说明:
#1=A,初始大圆的直径,>0。
#2=B,终止小圆的直径,>0。
#3=C,内腔初始深度Z轴的绝对/相对坐标值。
#5=J,初始大圆和终止小圆两个圆心在XY平面上的投影点之间的距离,≥0。
#7=D,刀具直径,>0。
#17=Q,每次下刀深度,>0。
#18=R,从+Z向-Z向看,在XY平面上,由上层初始大圆圆心的投影点指向下层终止小圆圆心的投影点之间的连线与+X轴之间的夹角。
#24=X,初始大圆圆心X轴的绝对/相对坐标值。
图5-3 内扫掠(扫描)曲面加工实例
#25=Y,初始大圆圆心Y的轴绝对/相对坐标值。
#26=Z,内腔终止深度Z轴的绝对/相对坐标值。
主程序如下:
01002;
G40 G49 G80 G69 G15 G17; 程序初始化
G90 G54 GOO XO YO M08;
G43 280.H05 M03 S800;
G65 P1003 A72.5 867.CO JO D16.F500 QO.05 RO XO YO Z-3.;
G65 P1003 A67.B34.C-3.Jl0.D16.F500 QO.08 R30.XO YO Z-11.;
G65 P1003 A25.B25.C-11.JO D16.F500 QO.08 RO X8. 66 Y5.Z-14.;
G30 G91 ZO M09;
M05;
G00 G90(G91)X_Y_; 使工件靠近操作者
M30;
中心垂直下刀加工宏程序如下:
说明:
#6的取值范围为(0,0.5∗#7),以确保孔心没有凸台,此处取0.4∗#7。
N11、N12,在当前铣削深度#11数据更新后,如果铣削深度超过了终止值,那么“#11=#26”,即把当前深度赋值为最终深度绝对坐标。
N13表述的为,Z#11平面上刀具中心在内腔中的最大回转半径,仅表示最大回转半径;如果设经过上层大圆圆心的垂线与上下层圆心间的连线之间的锐角为α,则tanα=#10/[#3-#26],若已知α,可用“tanα”来代替表达式中的“#10/[#3-#26]”;若未知α,请使用该表达式;Z#11平面上的圆心与初始大圆圆心在XY平面上的投影点之间的距离,表述在N14程序段里;随后刀具移动到将要加工的Z#11平面的圆心上,下刀。
N17,因不知道刀具最大回转半径#12和自变量刀具中心回转半径的起点#6的大小关系,所以在循环体2前作了一下判断和赋值,如果没有这段的判断,而恰好#12<#6,将会导致铣削半径>#12,工件报废。
N18,当前刀具中心回转半径≤刀具中心最大回转半径时,执行循环体2。
N19、N20,体现偏心铣削,偏心了#13。
N21,作了一个拦截,如果铣削到了当前Z#11平面上刀具中心最大回转半径#12处,就改道到N30,跳出循环体2。如果没有这段程序,刀具在该层铣削了“FUP[[#12-#6]/#8+1.]”次铣削时,#6≡#12,就无法跳出循环体2。
N22,刀具在Z#11平面经过第2次起每次半径扩大#8的“FIX[[#12-#6]/#8+1.]”次圆弧铣削后,若经过判断最后一次铣削的半径扩大量<#8,则进入N23强制赋值,数据更新;也即,进行了圆弧铣削N20程序段后,先进入N21的判断,如果不满足,则执行N22,再进入N23的强制赋值。
N30,这一层铣削完成后,两轴联动,移动到刚加工过的这一层的圆心上方,等待下一层的铣削。
N60,铣削完成后返回的平面,如果仅加工这一个内腔,可以编写为“G00 G90 Z 80.;”;如果还需加工另外一个内腔,且上表面相同,可以编写为“G00 G90 Z[#3+1.];”;如果在该内腔的下面还需要加工内腔,则可以不编写这段程序。
注意N7、N8、N9、N62、N70这5段程序,若是在多个X、Y位置连续加工,又以G91指定它们各自最上层内腔最上层的圆心的相对位置,而每个位置又铣削多层,则N3、N4、N5计算的只是当前加工的内腔在G91方式下孔心X、Y、Z轴的绝对坐标值,是无法返回到最上层内腔最上层的圆心的位置的,因此加了这三段程序,请在未加工该位置的最上层内腔前使“SKIP”灯灭,即读取N7、N8、N9,进入该最上层内腔加工后,点亮“SKIP”灯……进入该位置最下层的内腔加工后,按灭“SKIP”灯,即读取N62、N70;对下一个位置的多层内腔执行同样操作。若加工多个内腔,但每个内腔下面没有加工内容,则对这5段程序,“SKIP”灯灭或灯亮,效果都一样。
注意:这个程序的通用性很好,是内腔垂直下刀铣削程序的升级版。铣孔、铣内锥面、铣扫描曲面内腔,只要能满足数学意义,凡刀具能加工,就可使用该程序。
①A>B>0,J=0时,为内锥面铣削。
②A>B>0,(A-B)/2≥J>0时,为内扫掠(扫描)曲面铣削。
③A=B>0,J=0时,为圆孔内腔铣削。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。