如何编写大螺距圆弧螺纹宏程序?

邓衍强


记得我以前回答过如何加工圆弧螺纹等类似问题!大家只要在头条里面查找一下即可!里面有比较详细的参考案例及仿真过程!

所以,本文接下来,主要回答一下大螺距圆弧螺纹的加工思路,在厘清思路后采用宏或调用子程序等方法均可完成对圆弧螺纹的程序编制!

这样,我随手绘制一个样图,以便好进行讲解!如下图所示!

简单说就是如何控制球头刀具的圆心坐标,当每计算出一个圆弧上的点坐标,然后执行一个螺纹加工(G32等),让其逐渐完成一个圆弧的加工,这就是加工编程的思路!在能明白这个道理之后,你要考虑一下如何计算出圆弧上的每一个点坐标,这就需要用到圆的参数方程或标准方程,其中参数方程比较灵活一些x=R*cos(a),y=R*sin(a),从图中即可看出a的角度变化范围为【0,180】,配合循环语句IF或while即可完成圆弧螺纹的精加工轨迹!

对于螺距较大的螺纹,你可以采用分层进行加工,如图片上的所示,所谓的分层就是等距离偏移的圆弧,类似同心圆,在编程操作上,只要在添加几个循环语句即可,如把螺纹的牙深当作一个变量来控制分层,这样多几个循环的嵌套,即可完成程序的编制,进而解决题主所提出的问题!


数控张老师


大螺距梯形螺纹,因其齿形深,加工时需要切除的余量多,切削抗力大,容易造成扎刀甚至崩刀现象。本文通过分析宏程序编制中切削深度、左右借刀量确定方法,采用分层法车削,有效解决此难题。

数控车床在制造业中的广泛应用,既降低了操作者的劳动强度,又大幅度提高了零件的加工精度和生产效率。但是,大螺距梯形螺纹,因其齿形深,加工时需要切除的余量多,刀具接触面积大、进给快,切削抗力大,容易造成扎刀甚至崩刃现象,特别是在数控车床上,如果简单的使用螺纹加工指令G32、G92或G76等,更容易损坏刀具和工件。笔者在多年的技能教学实践中,通过不断探索、修改完善,逐渐总结出在数控车床上采用分层法车削,很好解决了此难题。

分层法车削梯形螺纹,实际是直进法和左右切削法的综合应用,把需要去除的余量分成若干层,每层的车削都采用左右借刀,有效减小刀刃与工件接触面积,即便螺旋槽很深,而每次作用在刀具上的切削力并不大,可有效解决车削大螺距螺纹时刀具受力过大等问题。

1. 需解决问题

(1)切削深度的控制。螺纹在加工过程中,切削深度是变化的,开始大以后逐渐减小。如图1所示以梯形螺纹加工为例,可采用下列方式来表达:梯形螺纹的大径、螺距、牙顶间隙、小径、加工直径和每层切深分别用参数#1、#3、#4、#8、#13以及#7,开始每层切削深度#7=0.5mm;当加工直径#13小于#1-#3/2(中径)时,每层切削深度#7=0.2mm;当加工直径#13小于#1-#3(大径减螺距)时,每层切削深度#7=0.1mm;当加工直径#13小于#1-#3-#4(大径-螺距-牙顶间隙)时,每层切削深度#7=0.05mm;当加工直径#13小于等于#8(小径)时,进行精加工。这样既保证了加工效率,又能保证加工质量。



图1 梯形螺纹

(2)左右切削借刀量的确定。由于是大螺距梯形螺纹,为减小切削力,刀尖的宽度总是小于牙槽底宽,在车削时要采用左右借刀车削的方法,有时同一切削层上要车削多刀才能完成。左右切削借刀量的确定非常关键,变量设置为参数#3是螺纹螺距p;参数#6是刀尖宽度;参数#9是螺纹牙顶宽f;参数#11是左侧借刀量;#12是每层右侧借刀量;当每层左侧车削一刀后,如果右侧借刀量#12小于等于刀尖宽度#6,车刀右移一个借刀量#12进行车削,本层车削完成,然后再车下一层。如果右侧借刀量#12大于刀尖宽度#6时,车刀右移一个刀尖宽度#6车削一刀,然后右侧借刀量减去一个刀尖宽度(#12=#12-#6)后,再与刀尖宽度#6比较,直到右侧借刀量#12小于等于刀尖宽#6时,车刀右移一个借刀量#12车削一刀,完成本层车削,进行下一层加工。 (3)螺纹精加工。当加工直径#13小于等于#8(小径)时,进行精加工。在径向不进刀情况下,依次精加工螺纹左侧、牙槽底部及螺纹左侧。车完后进行测量,若还未达到尺寸要求,可通过修改刀具磨耗方式,径向进刀,进行精加工,直至中径尺寸符合要求。

2. 车削大螺距梯形螺纹编程实例

车削如图1所示梯形螺纹Tr42×12-7h,螺纹长度50mm,空刀槽为18mm(1.5倍螺距)。以FANUC 0i mate为例编程。

o1234; T0101 M03 S200;调1号刀(梯形螺纹车刀)1号刀补,主轴正转,转速200r/min

G00 X42 Z20;快速进给至起刀点(工件编程原点在右端面中心处)

M08;打开切削液 #1=42;

赋值螺纹公称直径d=42mm #2=30;

赋值螺纹牙型角α=30° #3=12; 赋值螺纹螺距p=12mm #4=0.5;

赋值螺纹牙顶间隙ac=0.5mm #5=50;赋值螺纹长度50mm #6=3;

赋值刀尖宽度3mm,小于牙槽底宽W #7=0;

赋值径向每层切深初始值0mm #8=#1-#3-2*#4;

螺纹小径d3=d-2h3=d-p-2ac #9=0.366*#3;

螺纹牙顶宽f=0.366p #10=0.366*#3-0.536*#4;

螺纹牙槽底宽w=0.366p-0.536ac #11=tan[#2/2]* #7/2;

切深后左侧借刀量 #12=#3-#9-#6-2*#11;

切深后右侧借刀量 #13=#1-#7;

车削直径=公称直径-每层切深 #14=#3-#9-#6;

右侧借刀量初始值为螺距p-牙顶宽f-刀尖宽度 #7=0.5;

径向进刀0.5mm N10 IF[#13LE#8] GOTO 40;

当加工直径≤螺纹小径时,执行N40程序段 G0 Z[20+#11];

快速进给至左侧加工起刀点 G92 X#13 Z-[#5+#3/2] F#3;

左侧加工一刀螺纹 N18 IF[#12GT#6] GOTO 20;

如果右侧借刀量大于刀尖宽时,执行N20程序段 G0 W#12;起刀点快速向右移动一个借刀量 G92 X#13 Z-[#5+#3/2] F#3;右侧加工一刀螺纹

GOTO 30;执行程序段N30

N20 G0 W#6;起刀点快速向右移动一个刀尖宽度

G92 X#13 Z-[#5+#3/2] F#3;右侧加工一刀螺纹

#12=#12-#6;借刀量减去一个刀尖宽度

GOTO 18;执行程序段N18

N30 #13=#13-#7;车削直径减去径向进刀量

#11=#11+tan[#2/2]* #7/2;左侧借刀量

#12=#14-2*#11;右侧借刀量

IF[#13LT[#1-#3/2]] THEN #7=0.2;车削直径小于36mm,切深0.2mm

IF[#13LT[#1-#3]] THEN #7=0.1;车削直径小于30mm,切深0.1mm

IF[#13LT[#1-#3-#4]] THEN #7=0.05;车削直径小于29.5mm,切深0.05mm

GOTO 10;执行程序段N10

N40 G0 Z[20+#11];快速进给至左侧加工起刀点

G92 X#13 Z-[#5+#3/2] F#3;在螺纹左侧底径处精加工一刀

N50 IF[#12GT#6] GOTO 60;如果右侧借刀量大于刀尖宽时,执行N60程序段

G0 W#12;起刀点快速向右移动一个借刀量

G92 X#13 Z-[#5+#3/2] F#3;右侧加工一刀螺纹

GOTO 70;执行程序段N70

N60 G0 W#6;起刀点快速向右移动一个刀尖宽度

G92 X#13 Z-[#5+#3/2] F#3;右侧加工一刀螺纹

#12=#12-#6;借刀量减去一个刀尖宽度

GOTO 50;执行程序段N50

N70 G00 X100 Z100 M09;

M05;主轴停

用此方法加工梯形螺纹,程序已经参数化,工件尺寸变化后,按照注释调整#1至#7的变量赋值,即可再次实现梯形螺纹加工。也可推广用于加工蜗杆,按照注释调整#1至#10的变量赋值,即可实现蜗杆的加工。


分享到:


相關文章: