增量编码器在步进电机控制中的使用

2019-08-13 19:53发布

     由于项目对步进电机精度控制的需要,决定引入编码器给步进电机作为反馈。选了一个3600的光栅编码器,用TIM5的编码器模式读取脉冲个数,然后TIM2和TIM4定时器主从模式控制步进电机。发现在从定时器进中断修改主定时器的步数和频率的时候,TIM5读取编码器脉冲个数时会不准。有没有使用过编码器的朋友出来给个建议看看应该怎么控制啊?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
20条回答
Acuity
2019-08-14 23:48
1、如果按照常规的控制模式控制步进电机,编码器没什么作用;因为步进电机必须有一个加速过程,速度没法突变,否则会失步;也就是说编码器检测到失步,也没法实时修正,只能等待当前动作停止下来再进行修正,当然这样还是有点作用的,实时性差一点而已,目前我就是用这种方式,但产品基本不带编码器,没什么意义;步进电机本来就用于精度要求不高开环场合,要求高的我上直流电机加编码器了,上PID实时性妥妥的;
2、之前有见过一个供应商,做步进电机驱动器,步进电机居然能想伺服电机那样溜,具体什么控制方式我水平有限研究不透;
3、你这个光栅是标准正交编码器吗?如果是正交编码器通过4倍频后,那不得了了;如果不是,那用标准的正交编码器,用stm32定时器的正交编码功能,这样丢脉冲的几率会降低很多;stm32f1定时器很鸡肋只有16位,所以用个100或者400线的正交编码器就可以了,再高stm32f1定时器算不过来,而且高精度编码器比电机贵多了;用正交编码器就简单了,读寄存器值就是编码器脉冲,关键还是算法。
结论:个人觉得步进电机加编码就是浪费(第2点提到的黑科技另外说),要求高精度,那直接用直流电机+编码器(直流伺服电机),速度、力矩、响应时间、控制精度、占用体积都甩步进电机几条街。

一周热门 更多>