初出茅庐的小李博客之认识编码器

news2024/12/22 23:56:11

编码器是什么:

一种将角位移或者角速度转换成一连串电数字脉冲的旋转式传感器,我们可以通过编码器测量到底位移或者速度信息。编码器通常由一个旋转部分和一个固定部分组成,旋转部分随着被测量的物体进行旋转,固定部分则保持不动。当旋转部分发生旋转时,编码器会产生一系列的电数字脉冲信号,这些脉冲信号可以用来确定旋转角度或角速度。

编码器输出类型分类:

编码器从输出数据类型上分,可以分为增量式编码器和绝对式编码器。

绝对编码器(Absolute Encoder):

绝对编码器可以直接读取物体的绝对位置或角度,无需进行初始参考点的校准。绝对编码器通常具有高精度和准确性,适用于需要精确位置或角度信息的应用。

增量编码器(Incremental Encoder):

增量编码器测量的是物体相对于初始位置的增量角度或角速度。它们通常需要一个初始位置的参考点,因此在启动时需要进行校准。增量编码器适用于需要监测运动变化的应用,但相对于绝对编码器可能需要更多的处理来确定绝对位置

编码器检查原理分类:

从编码器检测原理上来分,还可以分为光学式、磁式、感应式、电容式。常见的是光电编码器(光学式)和霍尔编码器(磁式)。

光学编码器(Optical Encoder):

光学编码器利用光学原理来测量旋转角度或线性位移。它包含一个光源(通常是发光二极管)和一个光敏元件(通常是光电二极管或光电传感器)。旋转部分上的编码盘或编码条上有一个特定的光学图案,当旋转发生时,光源会照射到光敏元件上,根据光敏元件接收到的光信号变化,可以测量出旋转角度或线性位移。

磁性编码器(Magnetic Encoder):

磁性编码器使用磁场来测量旋转角度或线性位移。它包括一个磁性编码盘或编码条,以及一个或多个磁敏传感器。编码盘上的磁性图案与传感器之间的磁场变化会导致输出信号的变化,从而测量出旋转角度或线性位移。

编码器的用途:

编码器在工业自动化、机器人控制、医疗设备、航空航天等领域都有广泛的应用,用于测量和控制旋转运动。它们的输出信号可以通过电子设备进行解码,从而得到准确的角度或角速度信息。

编码器检测原理:

光电编码器(Optoelectronic Encoder)是一种常见的增量式编码器,利用光学原理来测量旋转角度或线性位移。

它是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。光电编码器是由光码盘和光电检测装置组成。光码盘是在一 定直径的圆板上等分地开通若干个长方形孔。由于光电码盘与电动机同轴,电动机旋转时,检测装置检测输出若干脉冲信号,为判断转向,一般输出两组存在一 定相位差的方波信号

它主要是根据光是否被遮挡来输出不同的信号检测物体运动的变化。

下面是光电编码器的检测原理:

  1. 编码盘或编码条:光电编码器的旋转部分上通常有一个编码盘或编码条,上面有特定的光学图案,如透明间隔和不透明条纹。这些图案会在旋转过程中使光线与光敏元件之间产生周期性的遮挡和透射,从而生成脉冲信号。

  2. 光源:光电编码器中的光源通常是发光二极管(LED),发射的光线照射到编码盘或编码条上的光学图案上。

  3. 光敏元件:光电编码器中的光敏元件通常是光电二极管或光电传感器。它们安装在固定位置,用于接收从编码盘或编码条反射回来的光线。当光线经过透明间隔或被不透明条纹遮挡时,光敏元件会产生电信号变化。

  4. 信号处理:光敏元件产生的电信号被放大和处理,通常经过电子电路进行脉冲计数。在旋转过程中,光敏元件会在透明间隔和不透明条纹之间切换,从而产生一系列脉冲信号。这些脉冲信号的数量和频率与旋转角度或线性位移成正比。

  5. 脉冲输出:光电编码器通过脉冲信号输出来表示旋转角度或线性位移的变化。通常,有两路正交的脉冲信号(通常称为A相和B相),用于测量方向和增量变化。此外,一些光电编码器还可能具有Z相信号,用于标记一个完整的旋转周期。

霍尔编码器是一种通过磁电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。霍尔编码器是由霍尔码盘和霍尔元件组成。霍尔码盘是在一 定直径的圆板上等分地布置有不同的磁极。霍尔码盘与电动机同轴,电动机旋转时,霍尔元件检测输出若干脉冲信号,为判断转向,一般输出两组存在一定相位差的方波信号

它主要是利用外部磁场对半导体材料中电子运动轨迹的影响来检测位置变化。

下面是霍尔编码器的工作原理:

  1. 霍尔效应:霍尔效应是一种基本的物理现象,当电流通过具有霍尔电阻率的半导体材料时,受外部磁场影响,材料的一侧会产生电势差,这个电势差称为霍尔电压。霍尔电压的大小和方向与外部磁场的强度和方向有关。
  2. 霍尔元件:霍尔编码器中的霍尔元件是基于霍尔效应工作的传感器。它通常是一个薄片状的半导体材料,具有两个侧面连接的电极。当电流通过霍尔元件时,外部磁场的作用会导致在材料的一侧产生霍尔电压,从而形成一个电势差。
  3. 霍尔码盘:霍尔码盘是一个磁性的圆盘或条状物,上面布置有不同的磁极。这些磁极的分布呈现一定的规律,可以是正交编码、格雷码等。当霍尔码盘随着机械运动旋转时,磁极的变化会引起周围磁场的变化。
  4. 工作过程:当霍尔码盘旋转时,产生的磁场变化会影响附近的霍尔元件。这将导致霍尔元件产生电势差,从而产生霍尔电压。根据霍尔电压的变化,可以判断旋转角度或线性位移的变化。
  5. 信号处理:霍尔元件产生的霍尔电压会被放大和处理,通常使用电子电路将其转换为脉冲信号或数字量。这些脉冲信号可以用于测量位置的变化和方向。

EC11编码器:

在这里插入图片描述

EC11编码器是一种常见的增量式旋转编码器,广泛应用于各种电子设备和产品中,例如旋钮、开关、控制器等。它通常用于检测和测量旋转角度变化,以及提供用户界面控制。

以下是EC11编码器的工作原理:

  1. 机械结构:EC11编码器通常由一个中心旋钮、编码盘和内置的旋转传感器(通常是霍尔元件)组成。编码盘上通常有一系列的磁极或光学标记,这些标记随着旋钮的旋转而变化。
  2. 正交脉冲输出:当用户旋转EC11编码器的旋钮时,编码盘上的磁极或标记会在旋转传感器附近引发磁场或光信号的变化。旋转传感器会感知这些变化,并生成两组相位差90度的正交脉冲信号,通常称为A相和B相。这些脉冲信号的变化频率与旋钮的旋转速度成正比,而脉冲的相位关系则可以用于确定旋转方向(顺时针或逆时针)。
  3. 脉冲计数和处理:EC11编码器的输出脉冲信号通常被输入到微控制器、编码器接口电路或其他数字电子设备中。这些设备会对脉冲信号进行计数和处理,以测量旋转角度的变化。通过计数脉冲的数量,可以确定旋转的步数,从而获得旋转角度的信息。同时,根据A相和B相脉冲信号的相位差,可以判断旋转的方向。
  4. 按压功能:许多EC11编码器还具有中心按压按钮功能。当用户按下旋钮时,内置的开关会触发,产生一个用于触发操作的信号,如确认或选择。

编码器的信号输出:

编码器的信号通常由两组脉冲信号(A相和B相)组成,用于测量旋转角度或线性位移的变化。这些信号是编码器工作原理的核心部分,用于产生计数和判断旋转方向。

以下是关于编码器信号的一些重要信息:

  1. A相和B相脉冲信号:编码器通常输出两组相位差90度的脉冲信号,称为A相和B相。这些信号是正交的,意味着它们的变化情况可以用于判断旋转的方向(顺时针或逆时针)。

  2. Z相信号:一些编码器还可能输出一个Z相信号,也称为索引信号。Z相信号在一个完整的旋转周期内只产生一个脉冲,用于标记一个旋转周期的起始点。当编码器旋转到零点时,Z信号会发出一个脉冲表示现在是零位置 表示编码器转了1圈,可用来记录编码器转了多少圈

在这里插入图片描述
3. 脉冲数量:脉冲信号的数量与旋转角度或位移的变化成正比。通过计数这些脉冲,可以确定物体的旋转角度或线性位移的变化。

如果一个编码器是500线,说明这个编码器转一圈对应的信号线会输出500个脉冲

  1. 脉冲周期:脉冲信号的周期取决于编码器的分辨率。分辨率越高,每度或每单位位移产生的脉冲就越多,从而提供更精确的测量。

  2. 脉冲宽度:脉冲信号的宽度通常是固定的,但也可以在某些编码器中进行调整。脉冲宽度影响到信号的频率和精度。

编码器的信号可以通过适当的电子电路进行捕获和处理,以获取旋转角度或位移的信息。在微控制器或其他数字系统中,这些信号可以进一步用于计数、方向判断和实际的应用控制。

编码器正反旋转输出信号:

在这里插入图片描述

波形特点总结:

正转的时候信号线A先输出信号,信号线B后输出 A相超前B相90度 证明是正转
反转的时候信号线B先输出信号,信号线A后输出 B相超前A相90度 证明是反转

STM32的编码器工作模式:

STM32的定时器编码器模式包括三种。这三种编码器模式是:

  1. 仅在TI1计数(A相):在这种模式下,定时器仅根据A相信号(TI1输入通道)进行计数,B相信号(TI2输入通道)不会被计数。

  2. 仅在TI2计数(B相):在这种模式下,定时器仅根据B相信号(TI2输入通道)进行计数,A相信号(TI1输入通道)不会被计数。

  3. 在TI1和TI2都计数(A相和B相都计数):这种模式下,定时器会同时根据A相和B相信号(TI1和TI2输入通道)进行计数,通过相位差来判断旋转方向。

仅在TL1计数(A相)特点:

当TI2(B相)为高电平时:

1时刻: TI1(A相)下降沿, 则向上计数(正转)。

2时刻:TI1(A相)上升沿, 则向下计数(反转)

当TI2(B相)为低电平时:

3时刻: TI1(A相)上升沿, 则向上计数(正转)。

4时刻:TI1(A相)下降沿, 则向下计数(反转)
波形图:
在这里插入图片描述

仅在TL2计数(B相)特点

当TI1(A相)为高电平时:

1时刻: TI2(B相)上升沿, 则向上计数(正转)。

2时刻:TI2(B相)下降沿, 则向下计数(反转)

当TI2(B相)为低电平时:

3时刻: TI2(B相)下降沿, 则向上计数(正转)。

4时刻:TI2(B相)上升沿, 则向下计数(反转)
波形图:
在这里插入图片描述
在TL1和TL2都计数(A相和B相都计数)特点
一个脉冲信号周期完成4次跳变。精度提高

1时刻:TI2为低电平,TI1上升沿跳变,计数器向上计数;

2时刻:TI1为高电平,TI2上升沿跳变,计数器仍然向上计数;

3时刻:TI2为高电平,TI1下降沿跳变,计数器仍然向上计数;

4时刻:TI1为低电平,TI2下降沿跳变,计数器仍然向上计数。
在这里插入图片描述

三种工作模式如何选择:

需要增加测量的精度时,可以采用4倍频方式,即分别在A、B相波形的上升沿和下降沿计数,分辨率可以提高4倍,如果只是测速,不要求方向,那么只需要用单片机随意选择一个信号线就行了,然后定时器边沿触发,检测脉冲计数即可
一般是定时器的通道1和2才能作为编码器输入口,对应编码器输出的两相。
GPIO配置为配置为上拉输入模式一个定时器做一种工作,如果你配置了编码器模式,那么剩下的通道就不能配置其他模式两相计数模式下, 读出来数需要/4

STM32的编码器接口介绍:

定时器A相引脚B相引脚编码器模式
TIM1PA8PA9TI12
TIM2PA0PA1TI12
TIM3PA6PA7TI12
TIM4PB6PB7TI12
TIM5PA0PA1TI12
TIM8PC6PC7TI12

总结:

EC11是一种增量式编码器,其实生活中鼠标的中间的滚轮,汽车用CD上调整频率和音量的旋钮,用的都是编码器 ,了解了编码器是怎样工作之后,下期写一遍文章详细讲讲如何用STM32的定时器来识别编码器的旋转方向跟计数值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/868985.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大数据-玩转数据-Redis 安装与使用

一、说明 大多数企业都是基于Linux服务器来部署项目,而且Redis官方也没有提供Windows版本的安装包。因此课程中我们会基于Linux系统来安装Redis. 此处选择的Linux版本为CentOS 7. Redis的官方网站地址:http://download.redis.io/releases 二、下载 m…

PG常用SQL

数据库 创建数据库 PostgreSQL 创建数据库可以用以下三种方式: 1、使用 CREATE DATABASE SQL 语句来创建。2、使用 createdb 命令来创建。3、使用 pgAdmin 工具。 CREATE DATABASE 创建数据库 CREATE DATABASE 命令需要在 PostgreSQL 命令窗口来执行&#xff0…

Redis安装和配置(Linux)

一、安装准备 VMware虚拟机准备: https://www.vmware.com/cn/products/workstation-pro.html Centos7.0准备: https://www.centos.org/ 二、安装 安装好VMware以后,进入VMware,然后创建新的虚拟机 创建好虚拟机以后,进行安装C…

Fast SAM与YOLOV8检测模型一起使用实现实例分割以及指定物体分割

Fast SAM与YOLOV8检测模型一起使用 部分源代码在结尾处可获取 晓理紫 1 使用场景 实例分割数据集的获取要比检测数据的获取更加困难,在已有检测模型不想从新标注分割数据进行训练但是又想获取相关物体的mask信息以便从像素级别对物体进行操作,这时就可以…

Vue实现详细界面里面有一个列表

目录 Vue实现详细界面里面有一个列表 理一下思路: 效果如下: 1、 主页面正常写 2、详细界面(重点) 3、详细界面里面的列表(重点) 要点: Vue实现详细界面里面有一个列表 理一下思路: 1、首先需要这条数据的主键id&#xff…

包装类+初识泛型

目录 1 .包装类 1.1 基本数据类型对应的包装类 1.2.1装箱 ​1.2.2拆箱 2.初识泛型 2.1什么是泛型 2.2泛型类 2.3裸类型 2.4泛型的上界 2.5泛型方法 1 .包装类 基本数据类型所对应的类类型 在 Java 中,由于基本类型不是继承自 Object ,为了在泛型…

LeetCode150道面试经典题--同构字符串(简单)

1.题目 给定两个字符串 s 和 t ,判断它们是否是同构的。如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的。每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上&#xff0c…

2022年06月 C/C++(一级)真题解析#中国电子学会#全国青少年软件编程等级考试

第1题&#xff1a;倒序输出 依次输入4个整数a、b、c、d,将他们倒序输出&#xff0c;即依次输出d、c、b、a这4个数。 时间限制&#xff1a;1000 内存限制&#xff1a;65536 输入 一行4个整数a、b、c、d&#xff0c;以空格分隔。 0 < a,b,c,d < 108 输出 一行4个整数d、c、…

11.集群调度

文章目录 集群调度调度约束list-watc机制的概念pod的创建流程 调度过程Scheduler 作用预选策略优选策略指定调度节点nodeNamenodeSelector 亲和性node亲和pod亲和pod反亲和 污点&#xff08;Taint&#xff09;和容忍&#xff08;Tolerations&#xff09;污点(Taint)容忍(Tolera…

QT的界面切换

QT的界面切换 步骤一: 创建一个新的 ui 界面

pycharm配置conda虚拟环境

&#x1f4d5;作者简介&#xff1a;热编程的贝贝&#xff0c;致力于C/C、Java、Python等多编程语言&#xff0c;热爱跑步健身&#xff0c;喜爱音乐的一位博主。 &#x1f4d7;本文收录于贝贝的日常汇报系列&#xff0c;大家有兴趣的可以看一看 &#x1f4d8;相关专栏深度学习、…

安装paddlehub后测试运行报错

昨晚按照官网提示安装paddle和paddlehub后&#xff0c;运行paddle测试成功了。但是当我测试paddlehub的时候总是提示缺少模块&#xff0c;非常纳闷&#xff0c;后面发现是官方的坑&#xff0c;所以在这里做个笔记。 测试paddlehub报错&#xff1a; #安装paddlehub命令 pip in…

权限管理之admin数据不可编辑

效果图 在线地址&#xff1a;https://codesandbox.io/s/authorizedbyrole-yzy4r2?file/src/util/directive.js 当前用户为非管理员角色 环境 vuetify2.6.6 vuex javascript 事情经过 一般的系统&#xff0c;都是采用**RBAC模型&#xff1a;基于用户-角色-权限控制** 所以在…

前端接口修改工具 Requestly具体操作

更新于2023年8月12日18:17:56&#xff0c;插件版本可能会变&#xff0c;界面可能会有所变化 插件下载地址&#xff1a;https://chrome.google.com/webstore/detail/requestly-open-source-htt/mdnleldcmiljblolnjhpnblkcekpdkpa 注意&#xff0c;必须用谷歌浏览器&#xff0c;…

安达发|APS车间排产软件对PCB企业有哪些意义?

PCB(printed circuit board)即印制线路板&#xff0c;简称印制板&#xff0c;是电子工业的重要部件之一。几乎每种电子设备&#xff0c;小到电子手表、计算器&#xff0c;大到计算机、通信电子设备、军用武器系统&#xff0c;只要有集成电路等电子元件&#xff0c;为了使各个元…

中科亿海微乘法器(LPMMULT)

引言 FPGA&#xff08;可编程逻辑门阵列&#xff09;是一种可在硬件级别上重新配置的集成电路。它具有灵活性和可重构性&#xff0c;使其成为处理各种应用的理想选择&#xff0c;包括数字信号处理、图像处理、通信、嵌入式系统等。在FPGA中&#xff0c;乘法器是一种重要的硬件资…

WPS-0DAY-20230809的分析和利用复现

WPS-0DAY-20230809的分析和初步复现 一、漏洞学习1、本地复现环境过程 2、代码解析1.htmlexp.py 3、通过修改shellcode拿shell曲折的学习msf生成sc 二、疑点1、问题2、我的测试测试方法测试结果 一、漏洞学习 强调&#xff1a;以下内容仅供学习和测试&#xff0c;一切行为均在…

STM32CubeMX之freeRTOS中断系统

任何中断的优先级都大于任务 优先级是从5-15 而不是0-15 因为前几个已经被freertos所控制了&#xff0c;因为操作系统不是万能的&#xff0c;所以我们需要弄一些中断凌驾在我们操作系统之上&#xff0c;中断中必须使用中断相关的函数&#xff01; 中断不能使用阻塞函数&#…

数据结构:力扣OJ题

目录 ​编辑题一&#xff1a;链表分割 思路一&#xff1a; 题二&#xff1a;相交链表 思路一&#xff1a; 题三&#xff1a;环形链表 思路一&#xff1a; 题四&#xff1a;链表的回文结构 思路一&#xff1a; 链表反转&#xff1a; 查找中间节点&#xff1a; 本人实力…

特语云用Linux和MCSM面板搭建 我的世界基岩版插件服 教程

Linux系统 用MCSM和DockerWine 搭建 我的世界 LiteLoaderBDS 服务器 Minecraft Bedrock Edition 也就是我的世界基岩版&#xff0c;这是 Minecraft 的另一个版本。Minecraft 基岩版可以运行在 Win10、Android、iOS、XBox、switch。基岩版不能使用 Java 版的服务器&#xff0c;…