编码器信号的测量和处理是伺服电机控制的一个重要问题,电机转子的位置,速度,加速度都是来自于编码器信号。编码器脉冲信号测量和处理好了,将会得到准确的信息,这是控制的基础。反之将会误导控制。 一.编码器脉冲信号: 通常编码器都有A, B, Z脉冲信号,也有的另外加上有U, V, W脉冲信号。 A, B信号:为电机位置脉冲信号,通过A, B信号的相位差还可以辨别转向。A和B信号的频率相同,相位差90°,它们的占空比均为50%,通过电路可以将A, B信号的上升沿,下降沿分别处理成为脉冲,在一个A脉冲周期内,出现4个脉冲。Z信号:零位信号,电机每转一圈,在零位会产生Z脉冲信号,为了使Z信号更加可靠,一般规定只有在A,B信号都为高电平时出现Z信号上升沿才能确定为Z信号有效U, V, W信号: 用于启动位置的判断,关于启动位置判断的细节,请参考有关书籍二.A,B信号测量是注意事项: A, B信号经过处理变成4倍频的脉冲,分别出现在A周期的0°,90°,180°,270°。但是这种理想状态是不存在的,通常A, B脉冲的相位差并不正好为90°,A, B脉冲的高电平和电平的时间也不恰好相等。可以参考编码器厂家给出的数据。也就是说,4个脉冲的时间间隔并不相等,如果采用T法进行测量,必定造成实际转速不变而转速测量值却有波动的情况,这是必须要避免的问题。 解决这个问题的方法: 1. 做T法测量时,不能使用两个相邻的脉冲,而是要用相同信号的相同沿。解释一下,所谓相同信号比如是A信号,相同沿比如是上升沿,也就是用A的上一个上升沿到A的这个上升沿去进行T法测量。也可以用A的下降沿到下降沿,或者B的相同沿。这样的好处是准确性获得保障,坏处是周期是相邻沿的4倍,增加了延时。 2. 事先对每个沿的间距做测量,并算出修正系数,进行实时修正。这样做的好处是延时只有上个方案的1/4,坏处是不能确保沿到沿的准确性,因为各个相邻脉冲的时间差可能随电机角度而改变,在震动强时也可能随转速而改变。准确性不能完全得到保证。 三.Z信号测量时的注意事项: Z信号一旦受到干扰而产生误判,将会造成同步失败,电机电流将迅速增加而造成严重后果。所以对Z信号要格外注意抗干扰处理。我们这里只涉及软件的处理。 上面讲了,Z信号通过A,B,Z之间的相关性来让抗干扰能力增加。这种方法将干扰的可能性降低为原来的1/4。但是在干扰严重的高频斩波的环境下,这个措施还是不够的。下面再介绍一种方法,窗口法。窗口法就是在零位附近开个窗口,只有在这个窗口内出现的Z信号,并同时满足A, B, Z之间的电平关系,才认为是Z信号。在窗口外产生的Z信号不予认可。举个例子:采用每圈2500线的编码器,每圈所产生的4倍频脉冲为10000个。当脉冲达到9700到10300之间时,Z信号有效,其它时候Z信号均不认可。 有的先生可能会提出异议,既然Z信号可能出现干扰,那么A, B信号也同样会出现干扰。他的这种疑虑是有道理的,确实A, B信号也同样会受到干扰,造成窗口位置不正确。我是这样考虑这个问题的,我们所面对的干扰相对有效信号来说,是少量的,否则任何措施都将是无效的。造成干扰的情况和正常情况比较仅仅只占很少的比例,例如100个脉冲只有1个干扰信号。那么可以认为A, B信号总体是可靠的,和真实情况相差不大。与其相信Z信号,倒不如更多的相信A, B脉冲的位置积累信息。 有先生还会有疑虑,如果在窗口内Z信号受到干扰,那怎么办呢?那么这时电机位置在不是零位时被设置为零位,会造成位置误差,将会对电机运转造成影响,但是由于窗口开在接近零位,所以影响不大,在下一次零位校正后就会恢复。 采取窗口法后,大幅度减少Z信号受干扰的可能性。并且即使偶然受到干扰,也对电机运转的影响不大,很快就会恢复。 |