【江科协-STM32】6. TIM编码器接口

1. 编码器接口简介

编码器接口(Encoder Interface),可接收增量(正交)编码器的信号,根据编码器旋转产生的正交信号脉冲,自动控制CNT自增或自减,从而指示编码器的位置、旋转方向和旋转速度。

每个高级定时器和通用定时器都拥有一个编码器接口,两个输入引脚借用了输入捕获的通道1和通道2。

2. 正交编码器

正转时,A相上升沿,B相低电平;对应反转,B相则是低电平,以此类推。

当出现某个边沿时,我们看对应另一相的高低电平,如果对应另一相的状态出现在该表中,就是正转,计数自增。否则,就是自减。

3. 旋转编码器

旋转编码器:用于测量位置、速度或者旋转方向的装置,当其旋转轴旋转时,其输出端可以输出与旋转速度和方向对应的方波信号,读取方波信号的频率和相位信息即可得知旋转轴的速度和方向。

类型:机械触点式/霍尔传感器式/光栅式

接线的引脚有两个是电源,两个是AB相,还有一个编码器0位置的测量,还有一个是空脚,闲置。

4. 编码器接口应用

高级定时器和通用定时器都是只有一个编码器接口。

基本定时器没有编码器接口。

编码器接口有两个输入端,分别接到A相和B相。

回到这张图中:

编码器接口的输入有两个信号:TI1FP1和TI2FP2。

编码器接口的两个引脚,借用了输入捕获单元的前两个通道。最终编码器的输入引脚可以追溯到CH1和CH2。信号的通路是,CH1通过TI1-输入滤波器和边沿检测器通向编码器接口,CH2通过TI2-输入滤波器和边沿检测器通向编码器接口。

:::warning

我们之前一直使用的72MHz的内部时钟,和我们在时基单元初始化时设置的计数方向,并不会使用,因为此时计数时钟和计数方向都处于编码器接口托管的状态,计数器的自增和自减是受编码器控制的.

:::

输入捕获的前两个通道,通过GPIO口接入编码器的A、B相,然后通过滤波器和边沿检测极性选择,产生TI1FP1和TI2FP2两个信号,通向编码器接口,编码器接口通过预分频器控制CNT计数器的时钟,同时,编码器接口还根据编码器的旋转方向,控制CNT的计数方向,编码器正转时,CNT自增,编码器反转时,CNT自减,ARR也是有效的,一般是设置为65535,利用上补码的特点,在自减的时候输出负数。

5. 工作模式

注意到我们是可以忽略边沿的。比如可以仅在A相的上升沿和下降沿自增或者自减,而B相的两个状态忽略掉,不进行计数。

在前两种模式下,在一相的边沿计数,另一相忽略。

在第三种模式下,正转的状态都向上计数,反转的状态都向下计数。

一般都使用第三种模式。

在上图中,两个引脚都是用的第三种模式。

一个引脚不变,另一个引脚连续跳变好几次,可以归为毛刺信号。毛刺信号可以滤掉。正交编码器可以帮助我们滤掉这种噪声。

来看TI1反相的情况:

相关推荐
悠哉悠哉愿意2 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
Lester_11012 天前
STM32霍尔传感器输入口设置为复用功能输入口时,还能用GPIO函数直接读取IO的状态吗
stm32·单片机·嵌入式硬件·电机控制
LCG元2 天前
低功耗显示方案:STM32L0驱动OLED,动态波形绘制与优化
stm32·嵌入式硬件·信息可视化
三佛科技-187366133972 天前
120W小体积碳化硅电源方案(LP8841SC极简方案12V10A/24V5A输出)
单片机·嵌入式硬件
z20348315202 天前
STM32F103系列单片机定时器介绍(二)
stm32·单片机·嵌入式硬件
古译汉书2 天前
【IoT死磕系列】Day 7:只传8字节怎么控机械臂?学习工业控制 CANopen 的“对象字典”(附企业级源码)
数据结构·stm32·物联网·http
Alaso_shuang3 天前
STM32 核心输入、输出模式
stm32·单片机·嵌入式硬件
脚后跟3 天前
AI助力嵌入式物联网项目全栈开发
嵌入式硬件·物联网·ai编程
2501_918126913 天前
stm32死锁是怎么实现的
stm32·单片机·嵌入式硬件·学习·个人开发
z20348315203 天前
STM32F103系列单片机定时器介绍(一)
stm32·单片机