1、编码器原理
如果两个信号相位差为90度,则这两个信号称为正交。由于两个信号相差90度,因此可以根据两个信号哪个先哪个后来判断方向、根据每个信号脉冲数量的多少及整个编码轮的周长就可以算出当前行走的距离、如果再加上定时器的话还可以计算出速度。
2、为什么要用编码器

从上图可以看出,由于TI,T2一前一后有个90度的相位差,所以当出现这个相位差时就表示轮子旋转了一个角度。但有人会问了:既然都是脉冲,为什么不用普通IO中断?实际上如果是轮子一直正常旋转当然没有问题。仔细观察上图,如果出现了毛刺呢?这就是需要我们在软件中编写算法进行改正。于是,我们就会想到如果有个硬件能够处理这种情况那不是挺好吗?
本文介绍了STM32中通用定时器作为编码器模式的工作原理和应用场景。编码器通过正交信号判断方向和距离,硬件编码器如STM32的定时器3在PC6和PC7引脚上支持编码器输入。文章讨论了编码器的转速限制、IO配置、计数方式、多圈计数、滤波设置以及如何处理高速运转时的计数误差。并提供了一个使用TIM8的编码器配置示例。
订阅专栏 解锁全文
3784

被折叠的 条评论
为什么被折叠?



