数控车床圆弧面螺纹车削研究与程序开发
2016-12-8 来源:四川工程职业技术学院机电工程系 作者:彭美武 西庆坤 苟建峰 钟成明
摘要: 在车削直螺纹或锥螺纹功能基础上, 提出了采用小线段螺纹插补实现圆弧面上螺纹车削的思想。为了求出逼近小线段坐标, 采用几何算法对圆弧的圆心进行计算, 确定加工圆弧的起始角和终止角, 然后通过坐标变换得到逼近小线段点相对工件原点的坐标。最后结合SINUMERIK 数控系统的R 参数功能, 实现了圆弧面螺纹车削的数控程序开发。
关键词: 圆弧面; 螺纹插补; 逼近; 几何算法; R 参数
目前, 几乎所有数控车床都具有螺纹加工功能及相应的指令, 如FANUC 数控采用G32、G92 或G76指令, SINUMERIK 数控系统采用G33 或CYCLE97 指令实现螺纹的车削加工, 但这些指令主要是直接对直螺纹或锥螺纹加工。像一些圆弧面蜗杆[1-2] 类零件,采用车削方式可以明显提高加工效率, 但这需要在圆弧面上进行螺纹加工, 而直接应用上面的指令是无法实现的, 需要复杂的技术处理。
因此, 为了解决这个难题, 方便对各类圆弧面蜗杆类零件进行加工, 有必要开发出圆弧面螺纹功能指令, 然后只需要调用该指令, 并进行简单数学及工艺方面的处理, 可以方便地加工出此类零件。下面介绍在SINUMERIK 数控系统中开发此功能的详细过程。
1.圆弧面螺纹功能开发方案
以常见的加工三角形螺纹为例, 如图1 所示, 在逆时针圆弧AB 上加工三角形螺纹, 螺距为P, 圆弧起点为A, 终点为B, 半径为R。其中弧长AB 包含加工螺纹时需要的引入段δ1、引出段δ2 长度。以工件右端面中心O 为坐标原点。
图1 圆弧面螺纹示意图
在逆时针圆弧AB 上加工三角螺纹, 一般可将圆弧AB 细分成若干小的直线段逼近, 然后应用G33 指令实现螺纹插补。每走一次循环, X 方向进给一个深度, 直到加工到螺纹牙底, 也就是从圆弧AB 开始,加工到圆弧CD。
要实现逆时针圆弧AB 小线段逼近, 最主要解决的问题是由已知条件算出圆弧的圆心O1, 然后根据圆心可以方便确定每次进刀圆弧起点的起始角θ1 和终止角θ2; 同时由圆参数方程确定出每次逼近线段相对圆心的坐标, 通过坐标变换确定出每个逼近线段点相对工件原点O 的坐标尺寸, 以便于编程。
同理, 也可以计算出通过圆弧起点为A、终点为B、半径为R 的顺时针圆弧AB 的圆弧圆心O2, 一样可以计算出每个逼近线段点相对工件原点O 的坐标尺寸。
2.圆弧面螺纹功能开发过程
2.1 圆心及相关尺寸的计算
2.1.1 圆心的计算
已知一个圆弧两点及半径, 求圆弧圆心坐标, 满足过这两点的圆弧有4 个, 圆心有2 个, 有顺时针优、劣弧, 逆时针优、劣弧。在数控车床, 由于是回转体零件以及车刀的角度问题, 一般不太可能是优弧, 所以这里只讨论劣弧对应圆心的计算问题, 也就是确定图1 中的O1、O2。同时, 在这里只研究从右至左加工螺纹。
通过两点及半径求圆心, 计算的方法很多, 比如带入法、矢量计算法[3] 、坐标变换法[4] 、中垂线法等, 但这些方法计算过程或公式相对较复杂, 在这里介绍一种几何算法确定圆心[5] 。如图2 所示是逆时针圆弧圆心几何算法原理图,连接线段AB, 通过圆心O1 向线段AB 作垂线, 交点为M, 则M 就是线段AB 的中点。过点M、O1 分别作平行于X 轴、Z 轴的平行线, 交点为E; 同样过点A、B 分别作平行于X 轴、Z 轴的平行线, 交点为点F。很显然△BAF∽△MO1E, 因此有:
图2 逆时针圆弧圆心几何算法原理图
公式(1) 中, 不考虑左边算式方向, 右边算式分子、分母均要考虑矢量方向, 令L1 = |BA |, L2 =
图3 顺时针圆弧圆心几何算法原理图
公式(2) 和公式(3) 中计算圆弧圆心Z 坐标时, 如果Xa = Xb 时, 则无法计算, 但是很明显这时的Z1 =ZM , Z2 = ZM 。因此, 在程序开发时需要先判断Xa 与Xb 是否相等。
2.1.2 圆弧起始角、终止角的计算
为了后续程序编制方便, 在这里采用圆的参数方程求每点逼近线段坐标, 因此需要确定圆弧的角度范围, 即要确定图2 中的θ1、θ2, 图3 中的θ3、θ4。由图2 可得:
文2
2.1.3 逼近点坐标计算
通过圆的参数方程求出每点逼近线段坐标时相对圆弧圆心的坐标, 而在加工过程中每点逼近线段坐标应该是相对工件原点O 的坐标值, 因此这需要坐标变换, 得到编程需要的坐标。假如每次要用直线逼近的圆弧半径为R, 则得到圆的参数方程:
2.2 R 参数程序设计
2.2.1 R 参数变量定义及分析
SINUMERIK 数控系统R 参数编程[6] 和FAUNC 数控系统宏程序编程一样, 通过对变量R 进行赋值,再配合循环功能, 可以方便地实现变量的数学运算和逻辑运算, 能解决许多有规律性或较复杂零件的编程。
采用R 参数定义变量, 主要包含初始变量和中间变量, 设定的主要初始变量如下: R0、R1: 圆弧起点A 坐标(Xa , Za ); R2、R3: 圆弧终点B 坐标(Xb , Zb ); R: 圆弧AB 半径; R5: 螺纹螺距; R6: 设置为2 或3, 分别代表顺时针圆弧或逆时针圆弧。
通过初始变量需要计算的中间变量主要有: R7、R8: 逆时针圆弧圆心坐标(X1, Z1); R9、R10: 顺时针圆弧圆心坐标(X2, Z2); R11、R12: 逆时针圆弧起始角、止角θ1、θ2; R13、R14: 顺时针圆弧起始角、终止角θ3、θ4; R15、R16: 逆时针圆弧逼近线段点相对工件原点O 的坐标(X, Z); R17、R18: 顺时针圆弧逼近线段点相对工件原点O 的坐标(X, Z)。
为了计算方便, 上述X 坐标均表示半径值。另外, 为了简化公式, 将部分公式也设为中间变量:
对于圆弧面螺纹, 每次X 向进一层深度, 每层圆弧的起点坐标和终点坐标是变化的, 因此需要对每层圆弧的起始角、终止角重新计算。根据分析, 得到每层圆弧螺纹切削循环子程序流程图如图4 所示, 顺时针、逆时针圆弧螺纹车削思路相同。
图4 每层圆弧螺纹车削子程序流程图
2.2.2 R 参数程序设计
以圆弧面螺纹螺距为2 mm、牙深为1. 299 mm 为例, 像加工直螺纹一样, 按照经验, 推荐每次X 向进给半径深度为0.45、0.35、0.25、0.2、0.05 mm,X 向每进一层深度, 调用一次螺纹加工子程序。为了保证每加工一层螺纹后, 能安全退刀到一固定点, 同时也是每次进刀的起始点, 这里需要设置一个循环起点。循环起点的设置可以根据具体圆弧尺寸设置, 也可以设置为(XM +R, Za ), 可保证退刀时候不会打刀。
圆弧面螺纹数控加工主程序如下:
YHLW.MPF; 主程序名
T1D1
S500 M03
R0=20 R1=4 R2=25 R3=-50 R4=30
R5=2 R6= 3; 变量赋初始值, 并设加工逆时针圆弧
R21= (R0+R2) /2+R4 ; 定义循环起点X 坐标(半径值)
R19 = SQRT ( POT ( R1 - R3 ) + POT ( R0 -R2) ); 计算L1
R20= SQRT (POT (R4) - POT (R19) /4); 计算L2
G00 X=2*R21 Z=R1; 刀具运动到循环起点
IF R6= =2 GOTOF SR; 如果R6=2, 转入加工顺时针圆弧螺纹车削程序段; 否则执行下面逆时针圆弧螺纹车削
R7= (R0+R2) /2-R20/ R19*(R1-R3); 计算X1
IF R0= =R2 GOTOF AA; 判断Xa与Xb是否相等,相等则转入AA 程序段
R8= (R1+R3) /2+R20/ R19*(R0-R2); 计算Z1 GOTOF BB
AA: R8= (R1+R3) /2; 计算Z1 BB: R22=R0-0. 45; 计算第一层X 向进给坐标
R23= R2-0.45; 圆弧终点X 坐标调整
G00 X=2*R22; X 向第1 次进刀
CYCLE35
R22=R22-0.35;
R23= R23-0.35
G00 X=2*R22; X 向第2 次进刀
CYCLE35
R22=R22-0.25;
R23= R23-0.25
G00 X=2*R22; X 向第3 次进刀
CYCLE35
R22=R22-0. 2;
R23= R23-0. 2
G00 X=2*R22; X 向第4 次进刀
CYCLE35
R22=R22-0.05;
R23= R23-0.05
G00 X=2*R22; X 向第5 次进刀
CYCLE35
GOTOFZZ
SR: R9= (R0+R2) /2+R20/ R19*(R1-R3);计算X2
IF R0= =R2 GOTOF CC; 判断Xa与Xb是否相等
R10= (R1+R3) /2-R20/ R19*(R0-R2); 计算Z2
GOTOF DD
CC: R8= (R1+R3) /2; 计算Z2 DD: R22=R0+0. 45; 计算第一层X 向进给坐标
R23= R2+0. 45; 圆弧终点X 坐标调整
G00 X=2*R22; X 向第1 次进刀
CYCLE36
R22=R22+0.35;
R23= R23+0.35
G00 X=2*R22; X 向第2 次进刀
CYCLE36
R22=R22+0.25;
R23= R23+0.25
G00 X=2*R22; X 向第3 次进刀
CYCLE36
R22=R22+0.2;
R23= R23+0. 2
G00 X=2*R22; X 向第4 次进刀
CYCLE36
R22=R22+0.05;
R23= R23+0.05
G00 X=2*R22; X 向第5 次进刀
CYCLE36
ZZ: G00 X100 Z100
M30
每层逆时针圆弧螺纹车削子程序程序如下:
CYCLE35. SPF;
R11= ATAN2 ( (ABS (R22-R7), ABS (R1-R8) ); 计算起始角θ1
R12 = 180 - ATAN2 ( ( ABS ( R23 - R7), ABS(R3-R8) );计算终止角θ2
R24 = SQRT ( POT ( R22 - R7) + POT ( R1 -R8) ); 计算进刀后的圆弧半径
PP: R11= R11+0. 1; 角度递增0. 1°
R15=R24*SIN (R11) +R7; 计算逼近线段点相对工件原点O 的X 坐标
R16=R24*COS (R11) +R8; 计算逼近线段点相对工件原点O 的Z 坐标
G33 X=2*R15 Z=R16 K=R5; 小线段螺纹插补
IF R11<R12 GOTOB PP; 判断是否到达终止角
G00 X=2*R21; X 向退刀循环起点的X 坐标
Z= R0; Z 向退刀循环起点的Z 坐标
Z= R0; Z 向退刀循环起点的Z 坐标M17
每层顺时针圆弧螺纹车削子程序程序如下:
CYCLE36. SPF;
R13=-ATAN2 ( (ABS (R22-R9), ABS (R1-R10) ); 计算起始角θ3
R14 = ATAN2 ( (ABS (R23-R9), ABS (R3-R10) ) -180;计算终止角θ4
R24 = SQRT ( POT ( R22 - R9) + POT ( R1 -R10) ); 计算进刀后的圆弧半径
PP: R13= R11-0.1; 角度递减0.1°
R17=R24*SIN (R13) +R9; 计算逼近线段点相对工件原点O 的X 坐标
R18=R24*COS (R13) +R10; 计算逼近线段点相对工件原点O 的Z 坐标
G33 X=2*R17 Z=R18 K=R5; 小线段螺纹插补
IF R13>R14 GOTOB PP; 判断是否到达终止角
G00 X=2*R21; X 向退刀循环起点的X 坐标Z= R0; Z 向退刀循环起点的Z 坐标M17
程序中X 向每次进给也可以用R 参数设定。同时, 如果每次X 向进给深度相同, 程序将大大简化,但现实加工并非如此。
3.结束语
通过对数控车床圆弧面上螺纹车削功能进行开发, 为各类圆弧面蜗杆类零件车削提供了基础平台,有了这个平台, 圆弧面蜗杆类零件车削程序将大大简化, 在实际生产中具有重要的意义。同时, 该功能的开发思路与方法同样适用于FANUC 等其他各类数控系统, 通过采用变量编程, 能很好地实现这个功能。
投稿箱:
如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com
如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com