使直流电机旋转指定角度

时间:2024-10-22 11:30:45

1、首先,要控制直流电机旋转指定角度,一定是要有编码器的,单片机通过编码器读取脉冲,计数作为反馈。正交编码器就好。我用的是带编码器的蜗轮蜗杆减速电机。如下图。

使直流电机旋转指定角度

2、第二步,开始编程,我用的是stm32f103rct6.stm32的定时器具有读取正交编码器噻趟墙脉脉冲的功能,只需要简单的配就女蒿鸳置就好了。重点在红色箭头那里,设置的是双边沿计数。也就是说一个脉冲记两次数。应为正交编码器用两个通道,所以一个脉冲记4个数。

使直流电机旋转指定角度
使直流电机旋转指定角度

3、下面,我这里用的是TIM3,脉冲计数保存在TIM3->CNT中。也可以通过库函数读取脉冲计数值

使直流电机旋转指定角度
使直流电机旋转指定角度

4、接下来,还需要知道直流电机的转一圈的线数,也就是电机转一圈会产生多少脉冲。我这个电机转一圈会产生11个脉冲,以为就是说转一圈TIM3->CNT的值增加或减少44。

5、因为还有蜗轮蜗杆减速器,需要将减速比也算上,实现角度与TIM3->CNT值的转换。这个蜗轮蜗杆减速比为564.所以期望旋转的角度对应的线数为:angle/360*44*564.

使直流电机旋转指定角度

6、接下来就好办了,给电机速度让电机旋转,正转,哌囿亡噱TIM3->CNT增加,反转TIM3->CNT减小.可以使用定时器中断,也可以使用while,来判别期望线数与TIM3->CNT差值的大小,自己设定一个范围,到达这个范围之后让点击停止就好了。

© 手抄报圈