加工时最怕振动,尤其对表面质量要求较高的工件。但振动又到处存在,例如机械都有固有频率,一但有合适的激励,激励可能是进给轴的运动,可能是主轴的断续切削等,机械就会产生振动。消除振动需要看振动源是什么?是什么类型的振动。通常,减小振动都会采取降低加加速度的方法,让运动变得柔和,机械即使还有振动,其幅值对加工也不会有很大的影响了。
另一种常用的方式是设置Jerk time,采用滤波的方式,从根本上消除振动。但是,jerk time也有负面作用,就是会降低位置环增益,导致轮廓偏差变大,而且jerk time数值越大轮廓偏差也就越大。下面举例说明:
编写测试程序:
g0 x0 y0
g01
F5000
CYCLE832(0.05,_FINISH,1)
$AN_sltrace=1
x1 y0
x2 y0.5
X3 y0
x4 y0.5
X5 y0
X6 y0.5
X7 y0
X8 y0.5
X9 y0
X10 y0.5
X11 y0
X12 y0.5
M02
伺服跟踪(这里记录的是各轴位置值)得到的结果如下:
下面设置参数,激活JERK time
MD32400 $MA_AX_JERK_ENABLE =1
MD32410 $MA_AX_JERK_TIME =0.05 s
伺服跟踪(这里记录的是各轴位置值)得到的结果如下:
将两个结果和程序叠加在一起,看得更清楚:
蓝色曲线是编程轨迹(理论指令值)
绿色曲线是没有激活jerk time的运动轨迹(实际指令值)
红色曲线是激活jerk time后的运动轨迹
这表明激活jerk time后,运动轨迹偏离了指令轨迹(红色曲线偏离了绿色曲线)
在激活jerk time的情况下,能不能减小轮廓偏差? 能,使用CPRECON指令
我们将测试程序改为:
g0 x0 y0
g01
F5000
CYCLE832(0.05,_FINISH,1)
CPRECON
Ctol=0.01
$AN_sltrace=1
x1 y0
x2 y0.5
X3 y0
x4 y0.5
X5 y0
X6 y0.5
X7 y0
X8 y0.5
X9 y0
X10 y0.5
X11 y0
X12 y0.5
CPRECOF
M02
将伺服跟踪的结果和之前的结果叠加在一起:
蓝色曲线是编程轨迹
绿色曲线是没有激活jerk time的运动轨迹
红色曲线是激活jerk time后的运动轨迹
黄色曲线是激活CPRECON指令,并指定CTOL=0.01mm的运动轨迹
从上面测试可以看出,不论是CYCLE832使用连续路径指令还是CPRECON指令都能很好地控制工件轮廓的过渡,而且是以指定精度的方式进行控制的,这明显比单纯的设定拐角减速更好控制。
所以,SINUMERIK可以在保证加工连续性的同时,很好地确保精度。