推荐做法:先将OA、OB脉冲四倍频(类似于DSP的QEP计数模块),具体实现的时候只需要记住OA、OB的每个脉冲跳变即可实现四倍频,同时要辩相,一般我们定义OA超前OB为电机旋转正方向,此时脉冲累加,否则为负方向,脉冲累减。知道了脉冲个数就好办了,如果松下伺服输出的脉冲个数为一圈2500个,由于我们四倍频了,故实际到我们这里就应该是10000个没圈,根据这个脉冲你就可以知道电机的相对位置。根据OC信号,你可以知道电机的绝对位置,一般定义OC出现的时刻就是电机转子的零位,因此每次检测到OC出现,就应该认为绝对位置出现,这样可以清除累积误差。根据收到的脉冲数,采用M法测速也可以计算出实际电机的转速。
上面的做法是伺服驱动器的通用做法,原理以及可行性都没有问题。