定时器之编码器模式

2023-11-13

1.什么是编码器

编码器(encoder)是将信号或数据进行编制、转换为可用以通讯、传输和存储的信号形式的设备。编码器把角位移或直线位移转换成电信号,前者称为码盘,后者称为码尺。

2.分类

按照读出方式编码器可以分为接触式和非接触式两种;按照工作原理编码器可分为增量式(光编)和绝对式(磁编)两类。增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小。绝对式编码器的每一个位置对应一个确定的数字码,因此它的示值只与测量的起始和终止位置有关,而与测量的中间过程无关。

1.光电编码器(增量式编码器):

 增量式编码器:增量式编码器通常有3个信号输出,分别为A相、B相、Z相(有些也标称为C相)输出,A相与B相之间相互延迟1/4周期(90度)的脉冲输出,根据延迟关系可以区别正反转,而且通过取A相、B相的上升和下降沿可以进行2或4倍频;Z相为单圈脉冲,即每圈发出一个脉冲。 增量测量法的光栅由周期性栅条组成。位置信息通过计算自某点开始的增量数(测量步距数)获得。由于必须用绝对参考点确定位置值,因此圆光栅码盘还有一个参考点轨。将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小。

 当A相的上升沿B相对应是低电平就是正转, 当A相的上升沿B相对应是高电平就是反 转,

2.磁编码器(绝对式编码器):

绝对式编码器:就是对应一圈,每个基准的角度发出一个唯一与该角度对应二进制的数值,通过外部记圈器件可以进行多个位置的记录和测量。 通过读取编码盘上的二进制的编码信息来表示绝对位置信息的。 编码盘是按照一定的编码形式制成的圆盘。如中a)是二进制的编码盘,b)是格雷码编制,图中空白部分是透光的,用“0”来表示;涂黑的部分是不透光的,用“1”来表示。通常将组成编码的圈称为码道,每个码道表示二进制数的一位,其中最外侧的是最低位,最里侧的是最高位。如果编码盘有4个码道,可形成16个二进制数,因此就将圆盘划分16个扇区,每个扇区对应一个4位二进制数,如0000、0001、…、1111。

格雷码说明:于制造和安装精度的影响,码盘回转在交替码段过程中会产生读数误差,该误差可用格雷码盘形式避免,该盘特点:任意相邻的两个代码间只有一位代码变化。 编码器通电时就可立即得到位置值并随时供后续信号处理电子电路读取。无需移动轴执行参考点回零操作。绝对位置信息来自圆光栅码盘,它由一系列绝对码组成。单独的增量刻轨信号通过细分生成位置值,同时也能生成供选用的增量信号。 单圈编码器的绝对位置值信息每转一圈重复一次。多圈编码器也能区分每圈的位置值。

3.增量式编码器和绝对式编码器区别

在增量编码器的情况下,位置是从零位标记开始计算的脉冲数量确定的;而绝对型编码器的位置是由输出代码的读数确定的,在一圈里,每个位置的输出代码的读数是唯一的,因此当电源断开时,绝对型编码器并不与实际的位置分离。如果电源再次接通,那么位置读数仍是当前的、有效的,不像增量编码器那样,必须去寻找零位标记。

 3.编码器几个重要概念:

1.分辨率:编码器的轴每转一圈所输出的脉冲数。编码器以每旋转360度提供多少的通或暗刻线称为分辨率,也称解析分度、或直接称多少线,一般在每转分度5~10000线。

2.最大响应频率:编码器在1秒钟内能响应的最大脉冲数。其公式为: 最高响应频率(Hz) =  编码器分辨率 × 轴的转速(r/min)/60  另称PPS

3.最大转速:是指编码器机械系统能够承受的最高转速。

4.绝对编码器信号传输方式:并行、串行输出或总线型输出。输出电路与增量编码器相似,有集电极开路PNP、NPN型、差分驱动、推挽式。

增量式编码器信号接口:由于A、B两相相差90度,可通过比较A相在前还是B相在前,以判别编码器的正转与反转,通过零位脉冲,可获得编码器的零位参考位。 单相(线)连接,单端信号,用于单方向计数,单方向测速。 A、B两相连接,单端信号,用于正反向计数、判断正反向和测速。 A、B、Z三相连接,单端信号,用于带参考位修正的位置测量。 A、A-,B、B-,Z、Z-连接,差分信号,由于带有对称负信号的连接,电流对于电缆贡献的电磁场为0,衰减最小,抗干扰最佳,可传输较远的距离。

4.STM32的编码器接口:

高级控制定时器和通用定时器有专用编码器接口模式 两个输入TI1和TI2被用来作为编码器的接口,设置TIMx_SMCR寄存器中SMS=001,则计数器只在TI2的边沿计数;设置SMS=010,只在TI1的边沿计数;设置SMS=011,则计数器同时在TI1和TI2边沿计数。 通过设置TIMx_CCER寄存器中的CC1P和CC2P位,可以选择TI1和TI2极性;结合SMS位控制,可以实现2、4倍频检测。CC1NP和CC2NP必须保持低电平。 如果需要,还可以对输入滤波器编程。

TI1和TI2两个输入用于连接增量编码器。如果使能计数器(在TIMx_CR1寄存器的CEN位中写入“1”),则计数器的时钟由TI1FP1或TI2FP2上的每次有效信号转换提供。TI1FP1和TI2FP2是进行输入滤波器和极性选择后TI1和TI2的信号,如果不进行滤波和反相,则TI1FP1=TI1,TI2FP2=TI2。将根据两个输入的信号转换序列,产生计数脉冲和方向信号。

根 据该信号转换序列,计数器相应递增或递减计数,同时硬件对TIMx_CR1寄存器的DIR位进行相应修改。任何输入(TI1或TI2)发生信号转换时,都会计算DIR位,无论计数器是仅在TI1或TI2边沿处计数,还是同时在TI1和TI2处计数。 编码器接口只能是TI1和TI2,TI3和TI4是不具备编码器功能的。

 编码器接口模式就相当于带有方向选择的外部时钟。这意味着,计数器仅在0到 TIMx_ARR寄存器中的自动重载值之间进行连续计数(根据具体方向,从0递增计数到ARR,或从ARR递减计数到0)。因此,在启动前必须先配置TIMx_ARR。同样,捕获、比较、预分频器、重复计数器及触发输出功能继续正常工作。编码器模式和外部时钟模式2不兼容,因此不能同时选择。

 在此模式下,计数器会根据增量编码器的速度和方向自动进行修改,因此,其内容始终表示编码器的位置。计数方向对应于所连传感器的旋转方向。

外部增量编码器可直接与MCU相连,无需外部接口逻辑。不过,通常使用比较器将编码器的差分输出转换为数字信号。这样大幅提高了抗噪声性能。用于指示机械零位的第三个编码器输出可与外部中断输入相连,用以触发计数器复位。

 5.实例

实例:显示了计数信号的产生和方向控制。它还显示了当选择了双边沿时,输入抖动是如何被抑制的;抖动可能会在传感器的位置靠近一个转换点时产生。

配置如下:

1。CC1S=“01”(TIMx_CCMR1寄存器,TI1FP1映射到TI1上)。 CC2S=“01”(TIMx_CCMR1寄存器,TI2FP2映射到TI2上)。

2.CC1P=“0”,CC1NP=“0”,且IC1F=“0000”(TIMx_CCER寄存器,TI1FP1未反相,TI1FP1=TI1)。

3.CC2P=“0”,CC2NP=“0”,且IC2F=“0000”(TIMx_CCER寄存器,TI2FP2未反相,TI2FP2=TI2)。

4.SMS=“011”(TIMx_SMCR寄存器,两个输入在上升沿和下降沿均有效)。

5.CEN=“1”(TIMx_CR1寄存器,使能计数器)。

 就算从正转到反转或者反转到正转产生的抖动对于计数是不会有影响的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

定时器之编码器模式 的相关文章

随机推荐

  • Java6.0中Comparable接口与Comparator接口详解 下

    Part IV 说到现在 读者应该对Comparable接口有了大概的了解 但是为什么又要有一个Comparator接口呢 难道Java的开发者都吃饱撑着没事做吗 再谈Comparator接口之前 大家应该先了解一个叫 策略模式 的东东 一
  • WIN10操作系统 Visual Studio 2017 C# ASP.net Web 简单接口+MySQL数据库+NPOI导出到EXCEL开发、发布及部署到局域网详细教程(一)

    本文利用Visual Studio 2017 C 编写一个简单的WEB程序发布和部署到局域网内 目的是实现 在局域网内任意一台未安装OFFICE办公软件的电脑上打开浏览器后在地址栏输入IP地址和端口号 即可链接到WEB网页 点击 导出到EX
  • Linux 镜像文件ISO下载

    Linux 镜像文件ISO下载地址 http archive kernel org centos vault 7 5 1804 isos x86 64 选择 CentOS 7 x86 64 Minimal 1804 iso 下载就OK 下载
  • 华为机试题81-字符串字符匹配

    描述 判断短字符串S中的所有字符是否在长字符串T中全部出现 请注意本题有多组样例输入 数据范围 1 len S len T 200 进阶 时间复杂度 O n 空间复杂度 O n 输入描述 输入两个字符串 第一个为短字符串 第二个为长字符串
  • 登录工程二:现代 Web 应用的典型身份验证需求

    朋友就职于某大型互联网公司 前不久 在闲聊间我问他日常工作的内容 他说他所在部门只负责一件事 即用户与登录 而他的具体工作则是为各个业务子网站提供友好的登录部件 Widget 从而统一整个网站群的登录体验 同时也能令业务开发者不用花费额外的
  • 解决MySQL版本与JDBC驱动版本不对应导致的错误

    我的MySQL版本是5 7 21的 对应的JDBC驱动应该是mysql connector java 5 1 46 bin jar 如果使用低版本的驱动 就会出现如下错误 HTTP Status 500 javax servlet Serv
  • .exe已停止工作_R027---Uipath调用python程序的exe

    一 缘起 看到不少朋友问Uipath调用python的方法 这里说一个方法 调用python程序编译后的exe 其他开发语言的程序也可以这么调用 由于调用的是exe文件 所以 其实没有用到UiPath Python Activities 用
  • Ubuntu常用命令大全

    转自 https www jb51 net os Ubuntu 56362 html 一 文件 文件夹管理 ls 列出当前目录文件 不包括隐含文件 ls a 列出当前目录文件 包括隐含文件 ls l 列出当前目录下文件的详细信息 cd 回当
  • 层次分析法的理解

    AHP 层次分析法 层次分析法的特点 基本概念 重要性表 判断矩阵 为什么要引入判断矩阵呢 判断矩阵的特点 一致矩阵 为什么要定义一致矩阵呢 一致矩阵的特点 一致矩阵的引理 一致性检验的步骤 判断矩阵计算权重 算术平均法求权重 几何平均法
  • 一个很好用的小控件----给所有view右上角添加数字(类似未读消息之类的)

    下面这种效果 Badge 用法很简但 见下面的demo Created by Fangchao on 2015 2 25 EActivity R layout activity usercenter public class UserCen
  • 软件测试及原则

    软件测试 英语 software testing 描述一种用来促进鉴定软件的正确性 完整性 安全性和质量的过程 换句话说 软件测试是一种实际输出与预期输出间的审核或者比较过程 软件测试的经典定义是 在规定的条件下对程序进行操作 以发现程序错
  • 几种压缩算法

    一 行程长度压缩 原理是将一扫描行中的颜色值相同的相邻像素用一个计数值和那些像素的颜色值来代替 例如 aaabccccccddeee 则可用3a1b6c2d3e来代替 对于拥有大面积 相同颜色区域的图像 用RLE压缩方法非常有效 由RLE原
  • Java多线程:线程8锁案例分析

    线程8锁案例分析 通过分析代码 推测打印结果 并运行代码进行验证 1 两个线程调用同一个对象的两个同步方法 被synchronized修饰的方法 锁的对象是方法的调用者 因为两个方法的调用者是同一个 所以两个方法用的是同一个锁 先调用方法的
  • 编译filament

    从github上下载github 每次都被中断 于是灵机一动 从码云上下载1 8下载 果然速度快 先cmake 发现需要python 把enable java去掉 编译后试试 hellopbr
  • nginx系统学习5--常用配置4--防盗链配置

    6 4 防盗链配置 6 4 1 操作 01 配置 server listen 7000 server name www test com www test1 com root html www test location index tes
  • PTA数组2

    目录 1 方阵对角线元素求和及计数 2 使用选择法升序 3 输入10个正整数到a数组中 对a 10 数组中的素数升序排序 4 对a 10 数组中的素数排序 1 方阵对角线元素求和及计数 对输入的一个N N的方阵 求其两条对角线上的元素之和及
  • Excel根据身份证号提取省份

    身份证号码各位的含义 1 2位省 自治区 直辖市代码 3 4位地级市 盟 自治州代码 5 6位县 县级市 区代码 7 14位出生年月日 比如19670401代表1967年4月1日 15 17位为顺序号 其中17位 倒数第二位 男为单数 女为
  • 关于多线程的爬取心得和用法

    最近爬取一些学习上所要用到的东西 因为要搞得东西比较多 写的爬取的速度大大下降 于是我就尝试提升以下程序爬取的速度 正好学过多线程 灵机一动就搞了个多线程的程序爬取 此次没有啥好说的 有啥不懂请看注释 import queue import
  • (Java 功能篇) Java Proxool

    本文题目没有强调的是Java应用 不是Java Web应用 原因是从网上找有关Proxool的例子 全是一个摸样 都是将讲解Java Web中的应用 真没劲 难道Proxool离开了web就不能用了 不信你可以google一把看看 在阅读了
  • 定时器之编码器模式

    1 什么是编码器 编码器 encoder 是将信号或数据进行编制 转换为可用以通讯 传输和存储的信号形式的设备 编码器把角位移或直线位移转换成电信号 前者称为码盘 后者称为码尺 2 分类 按照读出方式编码器可以分为接触式和非接触式两种 按照