【自学嵌入式:stm32单片机】TIM编码器接口

TIM编码器接口

Encoder Interface 编码器接口

  • 编码器接口可接收增量(正交)编码器的信号,根据编码器旋转产生的正交- 信号脉冲,自动控制CNT自增或自减,从而指示编码器的位置、旋转方向和旋转速度
  • 每个高级定时器和通用定时器都拥有1个编码器接口
  • 两个输入引脚借用了输入捕获的通道1和通道2,通道3和通道4不能接编码器

使用编码器接口的好处是节约CPU资源,如果使用外部中断来计次,当电机告诉旋转时,编码器每秒产生成千上万个脉冲,程序就得频繁进入中断,CPU资源被简单低级的工作占用

一般用在自动控制场景,使用PWM驱动电机,再使用编码器测量电机的速度,然后再用PID算法进行闭环控制
image
image

正交编码器

image

工作模式

image
仅在一个边沿计数(假设记的是A相),就是
image
在两个边沿计数,就是
image
总结一句话就是正转的状态都向上计数,反转的状态都向下计数
一般情况下使用表格下面在两个边沿计数的模式,因为它的精度最高

实例(均不相反)

image
下图,TI2没有变化,但是TI1却跳变了好几次
image
这不符合正交编码器的信号规律,正交信号,两个输出交替变化,但是这里是毛刺信号,比如TI1上升沿,TI2低电平,查表得向上计数,这里自增,然后下一个状态,TI1下降沿,TI2还是低电平,查表,就是向下计数,所以这里自减...
image
通过加减加减来回改动,最后计数值还是原来那个值,并不受毛刺噪声的影响,这就是正交编码器抗噪声的原理。

实例(TI1反相)

image
TI1反相的意思:
image
这里TI1和TI2进来,都会经过这个极性选择的部分,在输入捕获模式下,这个极性选择是选择上升沿有效还是下降沿有效,编码器接口,显然时钟都是上升沿和下降沿都有效,上升沿和下降沿都需要计次,所以在编码器接口模式下,边沿检测极性选择不再是边沿的极性选择,而是高低电平的极性选择,如果选择上升沿的参数,就是信号直通过来,高低电平极性不反转,如果选择下降沿的参数,就是信号通过一个非门过来,高低电平极性翻转
image
所以这里就会有两个控制极性的参数,选择要不要在这里加一个非门,反转一下极性,如果两个信号都不反转就是均不反相,如果把TI1高低电平反转一下,就是这里的TI1反相,也就是时序图的TI1要取反才是正确的

posted @ 2025-08-14 16:51  秦瑞迁  阅读(76)  评论(0)    收藏  举报