反向间隙补偿原理与实现

反向间隙补偿又称为齿隙补偿。机械传动链在改变转向时,由于反向间隙的存在,会引起伺服电机的空转,而无工作台的实际运动,称为失动。

反向间隙补偿原理是在无补偿的条件下,在轴线测量行程内将测量行程等分为若干段,测量出各目标位置的平均反向差值-B,作为机床的补偿参数输入系统。CNC系统在控制坐标轴反向运动时,自动先让该坐标反向运动-B值,然后按指令进行运动。

在半闭环系统中,系统接收的实际值来自于电机编码器,轴在反向运行时指令值和实际值之间会相差一个反向间隙值,这个值就是反向间隙误差值。在全闭环系统中,系统接收的实际值来自于光栅尺,实际值中已包含反向间隙,故不存在反向间隙误差。

反向间隙补偿在坐标轴处于任何方式时均有效。当系统进行了双向螺距补偿时,双向螺距补偿的值已经包含了反向间隙,此时不需设置反向间隙的补偿值。

反向间隙误差测量的方法:

①使运动部件从停留位置向负方向快速移动50 mm。

②把百分表触头对准运动部件的正侧一方,并使表针回零。

③使运动部件从停留位置再向负方向快速移动50 mm。

④使运动部件从新的停留位置再向正方向快速移动50 mm。

⑤读出此时百分表的值,此值叫做反向间隙误差,包括了传动链中的总间隙,反映了其传动系统的精度。

注意:1. 上述动作可通过编一简单程序实现。程序执行第④条时为了读书方便,程序应在停留点延时3~5 S。

2.上述动作应重复进行5次,取其算术平均值作为反向间隙误差值。

以上内容参考自该内容:FANUC反向间隙补偿原理及方法 (baidu.com),感谢作者当了我的嘴替,谢谢。

在半闭环系统中大多数情况需要开发者自行补偿,如下代码可参考:

long LastMovePulse;                    //上一次运动的脉冲数,有正负方向。
long pos;                              //本次运动的脉冲数
long ReverseCompensationPulse = 20;    //反向补偿脉冲数

if (pos * LastMovePulse < 0)
{
    if (pos > 0)
        pos += ReverseCompensationPulse;
    else
        pos -= ReverseCompensationPulse;
}
LastMovePulse = pos;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值