1524电机测速求助

2019-07-20 14:12发布

本帖最后由 sunfa1993 于 2016-8-29 22:05 编辑

本人STM32F407的定时器4的编码器模式,来测得电机转动产生的编码器脉冲,然后通过计算,求得转速。
可是转速测量一直不准确,在占空比10%时只有1000r/min,但是增加到50%,60%,70%甚至99%都会稳定在4500r/min左右,
并没有明显的增加转速。


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
sunfa1993
1楼-- · 2019-07-20 17:08
  while(1)
        {                       
          temp = (speed*6000)/(4*512);
         printf("电机速度:%d r/min ",temp);
         delay_ms(50)
               
        }
我定时10ms采集一次脉冲数,也就是speed,  1524电机转一圈会产生512个脉冲,所以speed/(4*512)就是10ms内转了多少圈,然后再*6000,也就是一分之内转了多少圈。

不知道我这样做对不对,

肯定有不正确的地方,希望各位大神教教我
sunfa1993
2楼-- · 2019-07-20 21:05
 精彩回答 2  元偷偷看……
正点原子
3楼-- · 2019-07-21 01:12
帮顶
xuyaqi
4楼-- · 2019-07-21 05:53
 精彩回答 2  元偷偷看……
xio123456
5楼-- · 2019-07-21 07:25
 精彩回答 2  元偷偷看……
szczyb1314
6楼-- · 2019-07-21 13:16
sunfa1993 发表于 2016-8-29 22:04
while(1)
        {                       
          temp = (speed*6000)/(4*512);

你用的是测频法,也就是M法。
每旋转一周输出N个脉冲,检测时间是T,计数器记录的脉冲数是M,
则每分钟的转速为(60*M)/(N*T)

一周热门 更多>