STM32F407 增量型编码器 计数不准

2019-12-16 22:35发布

STM32F407采用TIM2-5编码器计数模式脉冲计数不准。

1.电路已经做了差分信号传输-AM26LS31/32;
2.预分频设置对采样精度有什么影响?
3.(边沿计数,向上计数)大约1个小时候能明显看出1度到2度的积累误差,从哪里下手考虑?
4.溢出也考虑过了。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
38条回答
中星讯达
2019-12-17 06:15
brumby 发表于 2015-11-18 14:11
计数值溢出了吧? 应该还有个处理的,在毫秒中断中比较计数器的值(上次和本次的值),推断编码器的方向, ...

这个考虑过了,我计数到60000是重新装载的,EncoderConfig(TIM2, 60000, 1);       
下面是得到一个编码器的值的过程

NextCnt = TIM_GetCounter(TIM2);
                        Cnt = NextCnt - LastCH1Cnt;
                        if(Cnt>30000)
                        {
                                Cnt -= 60000;       
                        }
                        else if(Cnt<-30000)
                        {
                                Cnt += 60000;       
                        }

                        LastCH1Cnt = NextCnt;

                        CH1EncoderCnt += Cnt;

一周热门 更多>