当前位置: 首页 > news >正文

十九、STM32的TIM(十)(编码器)

前言:在嵌入式系统中,编码器(Encoder) 是一种常见的位置与速度检测装置。它能将轴的机械旋转信号转化为电信号输出,从而实现对旋转角度、转速的测量。
在本篇文章中,我们将使用 STM32F103C8T6 的 定时器(TIM)编码器模式 来读取编码器的旋转方向与脉冲计数值,并在显示屏上实时显示角度或速度。

一、STM32 TIM 编码器模式介绍

        STM32 的定时器(TIM1~TIM4)中,部分定时器支持 编码器接口模式(Encoder Interface Mode)。该模式可以自动根据 A、B 相信号完成计数方向识别和计数操作,无需手动外部中断检测。

        编码器模式的 3 种配置方式

TIMx_SMCR 寄存器中的 SMS[2:0] 位用于选择编码器接口模式:

一般情况下,我们使用 Encoder Mode 3,既能对 A、B 两路边沿进行检测,也能自动判断正反转方向。

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

2.每个高级定时器和通用定时器都拥有1个编码器接口。

3.两个输入引脚借用了输入捕获的通道1和通道2。

二、编码器的基本原理

        编码器根据输出信号类型可分为:

增量型编码器(Incremental Encoder)

绝对型编码器(Absolute Encoder)

在 STM32 的应用中,最常用的是 增量型编码器。

        增量型编码器工作原理

增量型编码器通常输出两路相位相差 90° 的方波信号,称为 A 相 与 B 相。
通过检测 A、B 两路信号的相位关系,可以判断转动方向:

每当编码器旋转一格,A/B 相就会产生一个脉冲。

若一圈输出 1024 个脉冲,则可通过计数得到旋转角度或转速。

三、正交编码器

        正交编码器是一种增量式编码器(Incremental Encoder),通过输出两路相位相差 90° 的方波信号 —— A 相 与 B 相,来表示旋转状态。

        接口基本结构:

        工作模式:

        在Tl1和Tl2上计数的模式:

四、优势

        1.TIMx 的两个输入通道(CH1、CH2)分别接收 A 相与 B 相信号;

        2.硬件自动识别信号相位关系,自动计数并判断方向;

        3.程序无需处理中断或手动判相,极大减轻 CPU 负担。

代码部分将在下一章体现。

http://www.dtcms.com/a/560627.html

相关文章:

  • FSDP(Fully Sharded Data Parallel)全分片数据并行详解
  • Transformer 模型详解:从输入到输出的全流程剖析
  • 网站开发工单营销型网站建设设定包括哪些方面
  • EF Core 数据库迁移
  • 【攻防实战】通达OA文件上传联动Cobalt Strike打穿三层内网(下)
  • 网站备案 教程广州花都区网站建设
  • FPC-40P-05转接板-嘉立创EDA设计
  • Java核心概念深度解析:从包装类到泛型的全面指南
  • 灵途科技亮相NEPCON ASIA 2025 以光电感知点亮具身智能未来
  • flash-attn安装过程中编译错误
  • 世界最受欢迎的免费架站平台经营网站 备案信息
  • 7.1 阴影贴图
  • Elastic AI agent builder 介绍(三)
  • React18中在有路由的情况下父组件如何给子组件传递数据?
  • 边缘计算和云计算有什么区别?
  • 做哪种网站流量大嵌入式软件开发工程师工作内容
  • 【第二十周】机器学习笔记09
  • Linux定时任务:crontab使用教程(附案例)
  • 网站建设配色方案wordpress对接静态网页
  • Instant Mail临时邮箱v7.3.0 最新解锁版
  • MPK(Mirage Persistent Kernel)源码笔记(5)--- 执行引擎
  • 微网站菜单网站开发用哪个框架
  • 【Cache缓存】基本概念
  • 数据结构:单链表(1)
  • 4.2 【2018统考真题】
  • swoole怎么做直播网站网站的安全维护
  • 学做ps的软件的网站新网站百度收录要几天
  • Redis数据结构命令
  • 【Dify】通过Docker-Compose的安装部署(Linux系统)
  • SEO优化学习指南