OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2956|回复: 4

单片机100ms采样测量转速不是很准

[复制链接]

7

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
76
金钱
76
注册时间
2019-4-21
在线时间
23 小时
发表于 2019-5-3 16:12:37 | 显示全部楼层 |阅读模式
我拿STM32F407做转速测量的实验,但是发现有一些不准求问原因
用的友善调试助手时间戳和转速显示(也用过XCOM感觉差不多)首先感觉时间戳就不是很准确,当然这可能是上位机的原因
TIM4_Int_Init(1000-1,8400-1);
void TIM4_IRQHandler(void)
{
        if(TIM4->SR&0X0001)//中断溢出
   {           
                 TIM4->SR&=~(1<<0);//清除中断标志位       
                 Encoder = (TIM3 -> CNT)*0.15;
                 TIM3 -> CNT=0;
                 printf("%f  \n",Encoder);
  }
}
这是我的程序
我不把TIM3 -> CNT清零,手动转的时候它的脉冲数很稳定。想问下这是什么原因呐

时间转速

时间转速
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

7

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
76
金钱
76
注册时间
2019-4-21
在线时间
23 小时
 楼主| 发表于 2019-5-3 19:41:43 | 显示全部楼层
回复 支持 反对

使用道具 举报

7

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
76
金钱
76
注册时间
2019-4-21
在线时间
23 小时
 楼主| 发表于 2019-5-5 08:46:20 | 显示全部楼层
站长,大佬,求解答
回复 支持 反对

使用道具 举报

49

主题

341

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
5262
金钱
5262
注册时间
2012-8-25
在线时间
1025 小时
发表于 2019-5-5 11:11:15 | 显示全部楼层
我也做过编码器测转速,我不清零,设置编码器计数器 ARR 是编码器 = line *4 *16 -1,*16 反正就是让他在一个采样周期不要过arr一半,这样就可以计算出一个周期有多少个cnt,还能知道正转反转.根据这个计算出转速,还要加滤波,基本才能稳定在一转.前提是转速要稳定,我用伺服测试的.
回复 支持 反对

使用道具 举报

7

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
76
金钱
76
注册时间
2019-4-21
在线时间
23 小时
 楼主| 发表于 2019-5-5 14:31:35 | 显示全部楼层
gotofly21 发表于 2019-5-5 11:11
我也做过编码器测转速,我不清零,设置编码器计数器 ARR 是编码器 = line *4 *16 -1,*16 反正就是让他在一个 ...

我也考虑过转速是否稳定的问题,我有一个激光测量转速的,重点是编码器测量的平均值和激光测量的平均值差了好几转。我也是伺服,这个也可以测正反转。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-4-30 09:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表