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

embedded/2025/3/4 13:23:25/

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反相的情况:

请添加图片描述


http://www.ppmy.cn/embedded/169922.html

相关文章

美食推荐系统的微信小程序+论文源码调试讲解

第4章 系统设计 一个成功设计的系统在内容上必定是丰富的,在系统外观或系统功能上必定是对用户友好的。所以为了提升系统的价值,吸引更多的访问者访问系统,以及让来访用户可以花费更多时间停留在系统上,则表明该系统设计得比较专…

【量化科普】Alpha,阿尔法

【量化科普】Alpha,阿尔法 🚀量化软件开通 🚀量化实战教程 在量化投资领域,Alpha(阿尔法)是一个核心概念,它代表了投资策略或投资组合相对于市场基准的超额回报。简单来说,如果一…

MambaMorph:基于 Mamba 的医学 MR-CT 可变形配准框架

摘要​ 跨模态(如MR-CT、T1-T2)体素级空间对应在医学图像分析中至关重要。然而,现有配准方法在精度和临床适用性方面仍存在不足。本文提出MambaMorph,一种新型多模态变形配准框架,包含基于Mamba的注册模块和细粒度特征…

完全背包变体-排列和组合的循环顺序问题

排列,区分顺序:内层循环物品{1,2},可以让3-2->1-1和3-1->2-2都计算一遍。 组合不区分顺序:外层循环物品{1,2},只会按照物品顺序填充 总结:排列问题中,每个容量的状态更新时,允…

深入解析 .NET Core 的应用启动流程

随着 .NET Core 的发展,它逐渐成为构建跨平台、高性能 Web 应用的首选框架。了解 .NET Core 的应用启动流程是开发者成功使用该框架的关键,尤其是在调试、优化和部署时。本文将深入探讨 .NET Core 的应用启动过程,从创建 Web 主机、配置服务、…

Stepdown SLOPE for Controlled Feature Selection

文章:《Stepdown SLOPE for Controlled Feature Selection》 如何保证错选率可控地特征选择???? 研究背景 现有SLOPE方法主要关注FDR(错误发现率)控制,但在实际应用中需更严格地控…

使用 malloc 函数创建和操作二维整型数组

目录 一、引言 二、代码实现 三、代码详解 (一)头文件引入 (二)定义数组维度 (三)动态分配二维数组内存 (四)初始化二维数组 (五)输出二维数组 &…

Linux系统(以Ubuntu为例)安装高版本nodejs

运行以下命令可以下载并执行 nvm(Node Version Manager)的安装脚本。这个命令会从 nvm 的官方GitHub仓库下载特定版本的安装脚本并执行它,从而在你的系统上安装 nvm。 详细步骤 打开终端:首先,打开你的终端应用程序。…