0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32编码器接口 以及应用编程

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 2020-03-14 10:36 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Ⅰ 关于编码器

编码器的种类有很多,什么增量式编码器、绝对值编码器,有轴或者无轴编码器,电压输出、推拉输出、集电极开路输出等等。但不管什么类型的编码器,其目的都类似,得到转动的角度,角速度、位移等。

本文讲述常见的增量式编码器,增量式编码器也可以叫正交编码器,也就是说可以通过其A、B的相位知道编码器是正转,还是反转,还可以根据编码器参数得出旋转了多少角度等。

常见的增量式编码器A、B、Z三根线代表什么意思呢?使用过编码器的人不难理解,这里简单给初学者讲述一下:

A、B两线提供相位相差90度的脉冲信号,用其来计算旋转的角度;Z线为过零点线,也就是说每转一转,经过某一点都会输出一个脉冲信号,主要用于“过零校正”,三线的信号大致如下图(左边):

有些编码器出来的线有一个对应的“非”信号线(如上图右边),其实主要用于抗干扰的。

更多关于编码器的描述,请网上搜索相关的知识进行了解,本文不再讲述。

STM32编码器接口模式

在STM32芯片中,都有这么一个定时器,叫通用定时器“General-purpose timers”,定时器里面存在这么一个模式,叫编码器接口模式“Encoder interface mode”。当然,具体是哪一个TIM,可参看芯片对应的数据手册,可以一目了然。

STM32提供的编码器接口模式主要针对的就是“正交编码器”,它可以利用定时器的“计数”功能,得出编码器计了多少个脉冲;同时,它可以根据编码器AB的相位得出编码器是正转,还是反转。

(图片来自STM32参考手册)

1.计算脉冲个数

有点类似TIM的捕获功能,捕获A相、B相的脉冲信号;只是编码器模式是捕获A(TI1)、B(TI2)相的边沿信号(如上图),相当于一个周期内,计4个脉冲信号的值。

2.计数器的增减(方向)

STM32的计数器会根据方向(+ 或者 -)来进行计数,TI1和TI2相位相差90,4个阶段的边沿,对应TI1和TI2不同电平信号,从这个不同的信号,硬件自身可以判断出其方向。在编码器模式下,有个寄存器(TIMx_CR1)中有一个方向位(DIR),会随着编码器旋转方向的改变而改变,我们可以通过读取该位来判断编码器的正转,还是反转。

3.TIM时基

STM32编码器接口模式,其实是通过利用AB相位TIM时基提供时钟信号,使其计数。

Ⅲ 应用编程

相信看了上面的一些描述,大家应该对编码器有所理解了。其实,在STM32中,可以通过配置编码器模式对应的函数,就能实现获取编码器传感器上面的信息了。

使用STM32提供的标准外设库,或者使用STM32CubeMX工具很容易将TIM配置成编码器模式。

1.标准外设库配置编码器

TIM_EncoderInterfaceConfig,它就是编码器接口的配置函数。简单的只需要配置该函数,使能TIM,即可实现采集编码器上面的信息。(当然,需要复杂的操作,还需要做其他相应的配置)

void ENCODER_Configuration(void){ TIM_EncoderInterfaceConfig(TIM3, TIM_EncoderMode_TI12, TIM_ICPolarity_Rising, TIM_ICPolarity_Rising); TIM_Cmd(TIM3, ENABLE);}

2.STM32CubeMX配置

STM32CubeMX是一套快速开发的工具,让很多不了解STM32底层的朋友可以快速的在STM32上编写应用程序。

本文说的配置编码器接口,在某些TIM上存在一个“Combined Channel”配置,可以理解为“连接通道”,也算是TIM的一种复用模式。选择里面的“Encoder Mode”即可。

Ⅳ 实例代码

本文提供的代码为一个使用标准外设库编写的简单Demo工程,其中里面附带一个工程(用于模拟编码器AB相波形的工程),如下如:

该工程主要配置TIM的编码器模式,通过定时读取编码器的方向(DIR),和计数(CNT),并通过串口打印出来。

下载地址:

百度网盘:

链接:https://pan.baidu.com/s/1jH8yOqM

密码:t4kx

GitHub:

https://github.com/EmbeddDeveloper/STM32F4_TIM_Encoder

CSDN:

http://download.csdn.net/download/ybhuangfugui/10165086

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编码器
    +关注

    关注

    45

    文章

    3903

    浏览量

    141442
  • 接口
    +关注

    关注

    33

    文章

    9444

    浏览量

    156142
  • STM32
    +关注

    关注

    2305

    文章

    11120

    浏览量

    371150
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Vishay USB编码器接口技术解析与应用指南

    Vishay/MCB Industrie RAMK/RAME USB编码器接口是一款设计用于Vishay MCB编码器(AMK和RAME系列,包括霍尔效应)的电子板。该接口板只需使用随
    的头像 发表于 11-12 11:51 386次阅读

    如何选择适合的SSI编码器

    如何选择适合的SSI编码器?选择适合的SSI编码器需要综合考虑应用场景、技术参数、环境适应性以及性价比等因素。以下是根据工业自动化领域专业技术人员需求整理的选型指南:
    的头像 发表于 11-03 14:53 239次阅读
    如何选择适合的SSI<b class='flag-5'>编码器</b>?

    Bourns发布全新增量式微型编码器

    Bourns 推出 PEC04 系列 4 mm 增量式微型编码器、PEC05 PEC05 系列 5 mm 增量式微型编码器以及 PEC06 型号 6 mm 增量式微型编码器。Bour
    的头像 发表于 09-22 16:05 901次阅读

    绝对值编码器与增量式编码器相比有哪些优势?

    绝对值编码器与增量式编码器相比有哪些优势?核心功能:断电后位置信息不丢失,绝对值编码器:通过机械结构或电子存储(如电池备份),能实时输出当前位置的唯一绝对值编码(如二进制、格雷码)。无
    的头像 发表于 08-11 13:57 1177次阅读
    绝对值<b class='flag-5'>编码器</b>与增量式<b class='flag-5'>编码器</b>相比有哪些优势?

    新品|Unit Step16,16 定位BCD旋转编码器控制单元

    UnitStep16是一款基于STM32G031G8U6微控制的16定位旋转编码器控制单元。其核心功能在于实时采集旋转编码器的BCD编码
    的头像 发表于 08-01 17:35 1127次阅读
    新品|Unit Step16,16 定位BCD旋转<b class='flag-5'>编码器</b>控制单元

    增量型编码器与绝对值型编码器怎么选择?

    在选择增量型编码器与绝对值型编码器时,需要考虑多个因素,包括应用需求、成本、精度、可靠性以及环境适应性等。以下是对两种编码器的详细比较及选择建议: 一、增量型
    的头像 发表于 07-10 10:34 849次阅读

    瑞萨RZ T2M与RZ T2L微控制编码器接口使用有何差异

    RZ T2M和RZ T2L两款芯片在编码器接口的硬件实现上有所差异。不少客户关注到这个差异之后,比较关心二者在编码器接口使用上有什么差异和注意事项。本文就客户的关注点展开详细的说明,在
    的头像 发表于 04-09 17:14 1663次阅读
    瑞萨RZ T2M与RZ T2L微控制<b class='flag-5'>器</b>的<b class='flag-5'>编码器</b><b class='flag-5'>接口</b>使用有何差异

    编码器与无轴承编码器,到底如何选择?

    在选择轴编码器与无轴承编码器时,需要根据具体的应用场景、性能需求、环境条件和成本预算等因素进行综合考虑。以下是对两者的详细对比,以帮助做出合适的选择: 一、工作原理与结构 1. 轴编码器
    的头像 发表于 03-11 15:33 987次阅读
    轴<b class='flag-5'>编码器</b>与无轴承<b class='flag-5'>编码器</b>,到底如何选择?

    伺服电机编码器怎么选型

    伺服电机编码器的选型是一个综合性的过程,需要考虑多个因素以确保所选编码器能够满足系统的性能要求。以下是一些关键的选型步骤和考虑因素: 一、明确应用需求 首先,需要明确伺服电机编码器的应用需求,包括
    的头像 发表于 03-11 12:01 1463次阅读
    伺服电机<b class='flag-5'>编码器</b>怎么选型

    DISCOAA编码器性质特点

    。它们广泛应用于各种工业、机械和自动化系统中。根据工作原理和测量类型,编码器可以分为多种类型,如绝对式编码器和增量式编码器以及电磁式、光电式、电感式、电容式、激光式等不同工作原理的
    的头像 发表于 02-20 13:50 622次阅读

    DISCOAA编码器类型功能

    DISCOAA编码器可能包括绝对编码器和增量编码器两种类型,其主要功能是将输入信号进行分析和处理,并将其转换为数字信号 ‌。 关于类型,虽然搜索结果中并未直接提及DISCOAA编码器
    的头像 发表于 02-20 13:47 672次阅读

    伺服电机编码器故障及维修

    伺服电机编码器故障及维修,伺服电机编码器4大常见故障,编码器信号丢失或不稳定,编码器零点偏移,编码器过热,
    的头像 发表于 01-21 14:49 4013次阅读
    伺服电机<b class='flag-5'>编码器</b>故障及维修

    拉线编码器关键参数详解

    在工业自动化和精密测量领域,拉线编码器以其高精度、长寿命和灵活的安装方式,成为了众多应用场合的首选。然而,面对市场上琳琅满目的拉线编码器产品,如何挑选一款符合自己需求的编码器,成为了许多工程师和采购人员面临的挑战。本文将详细介绍
    的头像 发表于 01-07 15:53 1205次阅读

    绝对值编码器是什么?有哪些特点呢

             在工业自动化领域,编码器是一种不可缺少的测量设备。而绝对值编码器作为其中的佼佼者,以其独特的性能和优势,在众多应用场景中发挥着重要作用。今天,就让我们一起来深入了解绝对值编码器
    的头像 发表于 12-17 09:07 2321次阅读

    伺服编码器接线方法 伺服编码器线可以自己延长吗?

    的接线方法主要有两种。第一种方法涉及将屏蔽层连接到相应的螺钉上,然后接入网线,再依次连接绿线和红线。以下是详细的步骤:      1. 准备工具和材料      确保手头有剥线刀、螺丝刀、网线以及双绞屏蔽线(伺服编码器线)。双绞屏
    的头像 发表于 12-09 01:02 3434次阅读