TIM编码器接口

1.简介

1.编码器接口:Encoder Interface

2.工作流程概述:可以接收增量(正交)编码器的信号,根据编码器旋转产生的正交信号脉冲,自动控制CNT自增或自减,从而致使编码器的位置,旋转方向和旋转速度

3.每个高级定时器和通用定时器都拥有一个编码器接口

4.两个输入引脚借用了捕获通道1和通道2(CH1和CH2)

2.正交编码器

1.工作原理:当编码器旋转时,会输出下图所示的方波信号,旋转速度越快,方波频率越高,所以方波频率代表了速度,但无法测量方向(旋转方向无论正反,方波波形相同),可以用正转时,A相提前B相二分之Π,反转时,A相滞后B相二分之Π(正转时A,B相提前不绝对,是极性问题)

2.作用:可以测量位置,或者带有方向的速度值

3.与定义方向引脚相比正交信号精度更高(A,B相均可计次,相当于计次频率提高一倍),正交信号可以抗噪声(正交信号中,两个信号交替跳变,可通过设置一个抗噪声电路,在一个信号不变,另一个信号连续跳变时,计次值不会变化)

4.正交信号计次和区分旋转方向如图中右边表格所示

5.编码器输出模式:相当于从模式控制器,控制CNT的计数时钟和计数方向

3.编码器接口基本结构

4.编码器工作模式

执行逻辑:正转的状态都向上计数,反转的状态都向下计数

5.编码器示例图

1.均不反相

抗噪声原理:在编码器电平不断跳变时,计数器不断加,减,最后的值不变

2.TI1反相

1.输入捕获模式下,编码器极性选择是高低电平极性选择(选择上升沿,就是信号直通过来,高低电平极性不反转,选择下降沿参数,高低电平极性反转)

2.反相后实际给编码器接口的电平是将高低电平取反

6.程序编写流程

1.RCC开启时钟,开启GPIO和定时器的时钟

2.配置GPIO,把需要的引脚配置为输入模式

3.配置时基单元,选择预分频器

4.配置输入捕获单元(只有滤波器和极性有用)

5.配置编码器接口模式

6.调用TIM_Cmd启动定时器

7.所需库函数

TIM_EncoderInterfaceConfig:定时器编码器接口配置

参数含义

1.TIMx:选择定时器

2.TIM_EncoderMode:选择编码器模式

3.TIM_IC1Polarity,TIM_IC2Polarity:选择通道1和通道2的电平极性

8.上拉和下拉输入选择原则:外部模块默认高电平,选择上拉输入,输入高电平,外部模块默认输入低电平,选择下拉输入,输入低电平,不确定外部模块默认电平,选择浮空输入,但是会导致电平不断跳变

相关推荐
小心亦新1 小时前
STM32学习13 定时器1中断
stm32·嵌入式硬件·学习
QK_003 小时前
阿波罗学习--day1
stm32·单片机
czhaii4 小时前
单片机光学自动打靶机寻点流程分析
单片机·嵌入式硬件·硬件工程
是摆烂第一名呀4 小时前
【rk3506】U-Boot串口时钟未配置,导致串口彻底失效
linux·arm开发·驱动开发·嵌入式硬件
我叫洋洋4 小时前
VMware Workstation 16 桥接网络修复记录
linux·嵌入式硬件
LS_learner5 小时前
数学建模嵌入式中的串行流水线 + 消息并发
嵌入式硬件
【云轩】5 小时前
离散量输入输出电路设计:V/地、V/开、地/开信号与单片机接口的电路实现
单片机·嵌入式硬件·mongodb
2401_854151555 小时前
STM32 低功耗模式:SLEEP / STOP / STANDBY 怎么选
stm32·单片机·嵌入式硬件
非鱼䲆鱻䲜6 小时前
CCS 20.5.0的printf重定向串口怎么实现?
linux·单片机·电赛·ccs