1.编码器接口简介

- 编码器有两个输出,一个A相,一个B相,然后接入STM32的定时器的编码器接口,编码器接口自动控制定时器时基单元中的CNT计数器进行自增或自减。假设CNT初始值为0,若编码器右转,CNT++,右转产生一个脉冲,CNT就加一次,右转产生多少脉冲,CNT就自增到多少;若编码器右转CNT++,编码器左转CNT--,左转产生一个脉冲,CNT减一次,左转产生多少脉冲,CNT就自减到多少,若先右转产生10个脉冲,再左转产生5个脉冲,那CNT计数值为10-5=5
- 编码器接口,相当于是一个带有方向控制的外部时钟,它同时控制这CNT的计数时钟和计数方向。所以CNT的值就可以表示编码器的位置,如果我们每隔一段固定时间取CNT的值,再把CNT清零,取出CNT的值就相当于编码器的速度。相当于测频法。
- 在单片机中,只有高级定时器和通用定时器有编码器接口,但如果一个定时器被配置成编码器接口模式,其他工作基本无法进行,编码器接在每个定时器的CH1和CH2通道,CH3和CH4不能接编码器。
2.正交编码器

- 增量式编码器也成为正交编码器,是通过两个信号线的脉冲输出来进行数据处理,一个输出脉冲信号就对应于一个增量位移,编码器每转动固定的位移,就会产生一个脉冲信号 通过读取单位时间脉冲信号的数量,便可以达到测速的效果
- 增量式编码器有两个脉冲输出,A相和B相,并且两个相位永远存在90°相位差。 如果两个信号相位差为90度,则这两个信号称为正交。由于两个信号相差90度,因此可以根据两个信号哪个先哪个后来判断方向、并且可以根据AB相脉冲信号数量测得速度,位移等
编码器接口有三种计数模式,三种计数模式如下

通过A,B相的边沿和另一相的高低电平来判断此时处于正转还是反转。
本文详细介绍了STM32中编码器接口的工作原理,包括编码器的A/B相脉冲处理、正交编码器的使用、不同计数模式以及接线图示例。此外,还展示了如何在main.c和TIM.c文件中初始化和配置编码器接口,以及TIM2中断处理实现速度测量。
最低0.47元/天 解锁文章
2896

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



