机器人运行过程中,电机转动会产生各种干扰信号。通过两组电源给机器人驱动系统和控制系统供电,以消除干扰对稳定性的影响。

码盘加陀螺仪的方法在应用过程中发现陀螺仪的角度会随着机械振动发生漂移,影响定位精度。

光电编码器,是一种集光、机、电为一体的数字测角装置。作为一种重要的角度传感器,在众多领域用途广泛。光电编码器的核心部件是光电器件,它是能将光能转换为电能的一种传感器。光电转换的理论基础是光电效应,即金属、半导体等材料在光照下释放出光电子的现象。近年来随着科技的发展,传统的光学编码器在使用中存在许多无法克服的技术问题,特别是在航天、自控等领域对微型传感器的要求越来越高,要求光学编码器向高精度、高分辨率、小型化和智能化方向发展。

1.1 编码器概述

光电编码器是一种将位移或角度的模拟信号转换成相应的电脉冲或数字量角度/角速度检测元件,具有精度高、体积小、工作可靠、接口数字化等优点。光电编码器一般由透镜、光栅盘(码盘)、光敏元件和放大整形电路组成。工作时,光栅盘与电机同速旋转,同时一个带有辨向狭缝(或狭缝群)的扇形薄片与圆盘平行放置,当光线通过这两个做相对运动的光栅盘时,光敏元件接受到的光通量也时大时小地连续变化,经放大整形电路处理后变成脉冲信号。通过测量捕捉到的脉冲数目和频率即可测出工作轴的转角和转速。而电机的当前转速通过每秒光电编码器输出脉冲的个数可以计算出来。编码器原理图如下图所示:

1.2 编码器的种类和工作原理

根据检测原理,编码器可分为光学式、磁式、感应式和电容式。根据其刻度方法及信号输出形式,可分为增量式、绝对式以及混合式三种。绝对编码器是直接输出数字量的传感器,在转轴的任意位置都可读出一个固定的与位置相对应的数字码。编码盘上沿径向有若干同心码道,码道越多,分辨率越高,相邻码道的扇区数目是双倍关系。工作时,光敏元件根据受光照与否转换出相应的电平信号,形成二进制数。对于一个具有N位二进制分辨率的编码器,其码盘必须有N条码道。目前国内已有16位的绝对编码器产品。绝对式编码器图案如下图所示。

绝对式编码器与增量式编码器不同之处在于圆盘上透光、不透光的线条图形,与增量式编码器相比,绝对编码器有若干编码,根据码盘上的读数信息,检测绝对位置。它的特点是

(1) 可以直接读出角度坐标的绝对值。

(2) 抗干扰特性强、数据的可靠性大大提高,没有累积误差。

(3) 分辨率是由二进制的位数决定的。

(4) 不受停电、干扰的影响,什么时候需要知道位置,什么时候就去读取它的位置。

增量编码器是以脉冲形式输出的传感器。输出的信号为方波信号,其中又可以分为带换向信号的增量式编码器和普通的增量式编码器,普通的增量式编码器具备两相正交方波脉冲输出信号A、B,以及零位信号Z。通过内部两个光敏接收管转化其角度码盘的时序和相位关系,得到其角度位移量增加和减少。利用光电转换的原理输出三组方波脉冲A、B、Z相。A、B两组脉冲相位差90度,从而方便的判断旋转方向,故而增量编码器又叫正交编码器(如下图)。

编码器旋转一圈会输出固定的脉冲,脉冲数由编码器光栅线数决定。需要提高分辨率时,可利用90度相位差的A、B两路信号进行倍频或换用更高分辨率编码器。Z相为每转一个脉冲,只在固定的位置才会发出脉冲,用于基准点定位。

带换相信号的增量式编码器除具备ABZ输出信号外,还具备互差120度的电子换相信号UVW,UVW各自的每转周期数与电机转子的磁极对数一致。对于此类编码器,在这不讨论。

增量式光电编码相对角位移量通过计数电路对脉冲进行累计计数得到,其特点是结构简单、抗干扰能力强、可靠性高、机械平均寿命长、价格低廉,非常适合竞赛机器人,我们选用的增量式编码器一HEDS 5540,实物图

1.3 速度、方向、转角的测量

增量式光电编码器输出三组脉冲A, B和Z相,A, B两组脉冲相位差90度,而Z相为每转一个脉冲,用于基准点定位。利用A, B和Z相可以实现转速的测量、运动方向的判断以及转角的测量。当编码器正转时,A相脉冲波形比B相超前 ,而反转时,A相脉冲比B相滞后 。

增量式光电编码器系列有各种不同类型的输出电路可供选择,其输出电路类型一般有:带上拉电阻的 NPN 型、集电极开路 NPN 型、推挽输出型、差分输出型。

M测量法(适用于高转速场合)测量固定时间间隔内脉冲个数来确定转速。

T测量法(适用于低转速场合)测量相邻脉冲之间的时间间隔来确定转速。

(1) 转速测量

(2) 方向判别

光电编码器的检测窄缝群相位相差90度,可产生两列频率可变、固定1/4周期相位差(即90度)的正交编码脉冲序列A和B。当光电编码器正转时,光线首先通过检测窄缝群产生A信号的高电平,即A相超前B相90度;与之相反,当光电编码器反转时,A相则滞后B相90度。如下图所示。

由此可得,光电编码器输出脉冲的个数确定具体的位置和计算运动的速度,而驱动轮的运动方向可以通过两组脉冲信号A相和B相的相位差来(上升沿的前后顺序)判断。

(3) 位移计算

编码器安装在与主动轮同轴的从动轮上,与主动轮同步转动。设从动轮周长为L,编码器线数(旋转一周脉冲数即500)为M,t时间输出的脉冲数为N,t时间轮子走过的距离△S就是:通过方向输出引脚是高电平还是低电平决定是加计数还是减计数。

1.4 利用单片机进行码盘计数的方法

(1) 常规方法:

文献[2]中提到了码盘的四倍频来实现提高码盘精度的方法,以及码盘信号的抖动去除电路,同时给出了码盘辩向的方法。在利用单片机进行测量码盘信号时,本文结合实际情况给出了相关的参数计算,即所选用单片机是否可以用来测量码盘信号以及中断程序能够处理的指令数,对于单片机初学者有一定的指导作用。论文后面提供了C语言程序,方便读者领会。总体而言,此文言简意赅,思路清晰。当然,对于其中提到的jitter去除的电路的作用有待进一步研究。此种方法通常在51单片机、AVR及Arduino等单片机上运用较多。

(2) 特殊方法:

用常规方法有时候可能用起来比较复杂,还需要自己设计搭建jitter消除电路。而现在用的很多的STM32F1~STM32F4等系列的单片机已经集成了编码器接口,具体参见《STM32参考手册》13.3.12编码器接口模式。

STM32F4自带的正交码盘配置库函数

void TIM_EncoderInterfaceConfig  ( TIM_TypeDef *  TIMx, uint16_t  TIM_EncoderMode, uint16_t  TIM_IC1Polarity, uint16_t  TIM_IC2Polarity )

2.结论

用STM32F1~F4单片机都能很好的出进行增量式编码器的数据采集,另外STM32还带滤波功能。

参考文献

[1] 基于双码盘的竞赛机器人运动控制系统设计与研究,电子科技大学,李金彦,骆德渊,2009.5

[2] 基于单片机的增量式编码器计数系统,仪表技术与传感器,吴禄慎,熊辉,高项清,2013.No.9。

转载于:https://www.cnblogs.com/robohou/p/5898231.html

增量式编码器 绝对值编码器相关推荐

  1. 增量式与绝对值编码器的区别

    增量式与绝对值编码器的区别 增量式编码器 增量式编码器只能记住自己走了多少步,当然会有一个原点.在开机第一次走过原点一千,它是不知道自己的位置在什么地方. 绝对值编码器只要上电就能知道自己现在所处的位 ...

  2. 伺服电机中增量式与绝对值的详细介绍

    众所周知,伺服电机按编码器分为增量式电机和绝对值电机,接上一篇文章了解增量式与绝对值的详细区别! 增量编码除了普通编码器的ABZ信号外,增量型伺服编码器还有UVW信号,国产和早期的进口伺服大都采用这样 ...

  3. 编码器类型原理知识汇总(增量式/绝对式/绝对值)

    编码器以信号原理来分,有增量式编码器(SPC)和绝对式编码器(APC). 绝对式编码器可以记录编码器在一个绝对坐标系上的位置,而增量式编码器可以输出编码器从预定义的起始位置发生的增量变化. 增量式编码 ...

  4. 增量式编码器与绝对值编码器的区别

    增量式编码器只能记住自己走了多少步,当然会有一个原点.在开机第一次走过原点一千,它是不知道自己的位置在什么地方. 绝对值编码器只要上电就能知道自己现在所处的位置,绝对值编码器需要刻更多的线,成本高性能 ...

  5. 编码器知识汇总(增量式/绝对式/绝对值)

    编码器分类 编码器以信号原理来分,有增量式编码器(SPC)和绝对式编码器(APC). 绝对式编码器可以记录编码器在一个绝对坐标系上的位置,而增量式编码器可以输出编码器从预定义的起始位置发生的增量变化. ...

  6. 增量式编码器有哪些分类?增量式编码器是如何工作的?

    编码器可以对一些信号进行编码,由此可见编码器的重要性.为增进大家对编码器的认识,本文将对增量式编码器.增量式编码器分类以及增量式编码器的工作原理予以介绍.如果你对增量式编码器或者编码器具有兴趣,不妨继 ...

  7. 光电编码器的原理及应用场合_增量式光电编码器的构造和原理及应用

    内容摘要:光电编码器是一种精度高的数字化检测装置,外部有一个可以左右旋转同时又可按下的旋钮,被广泛用于车载电子设备的菜单选择和调节等.主要以日本阿尔卑斯EC11J微型光电编码器为例,分析了增量式光电编 ...

  8. 绝对值编码器工作原理是什么?单圈/多圈绝对值编码器有何区别?

    在前两篇文章中,小编对增量式编码器以及绝对式编码器有所阐述.为增进大家对编码器的认识,本文将对绝对值编码器予以介绍.通过本文,你将了解到什么是绝对值编码器.绝对值编码器的工作原理以及单圈/多圈绝对值编 ...

  9. 绝对值编码器与增量式编码器简析

    绝对值编码器与增量式编码器简析 一.增量式编码器 定义:将位移信号转换成周期性电信号,再把这个电信号转换换成脉冲信号,用脉冲的个数来表示位移的大小. 缺点:抗干扰能力弱,如果是漏了脉冲会导致计数不准造 ...

最新文章

  1. Linux软件包命令
  2. CentOS基础网络配置路由和默认网关
  3. java arraylist 序列化_无法序列化/反序列化ArrayList
  4. 连接器篇(一) 低频系列
  5. php中的preg_replace函数,PHP函数preg_replace()
  6. mysql死锁问题分析
  7. 【牛客 - 551C】CSL 的密码(后缀数组,后缀自动机,随机算法)
  8. mysql乐观锁重试_乐观锁加重试,并发更新数据库一条记录导致:Lock wait timeout exceeded...
  9. Docker学习总结(41)——Docker Compose 的两种安装方式总结
  10. IIS W3C日志记录字段和HTTP状态代码的说明
  11. java mvc jquery weui_weui开发笔记
  12. 微信公众号后台开发---永久素材失效
  13. 小型项目的微服务架构指南
  14. 编译报错:/usr/bin/ld: /usr/local/lib/libgflags.a(gflags.cc.o): relocation R_X86_64_32S against `.rodata‘
  15. 三点组成的三角形的面积计算公式(海伦公式)
  16. Python爬虫学习笔记 (11) [初级] 小练习 爬取Eason所有歌曲歌词 制作词云图
  17. pcap头文件位置 Linux,pcap文件头的组织格式
  18. Linux磁盘分区与LVM详解
  19. 深入理解Java虚拟机——运行时栈帧结构(局部变量表)
  20. 机器学习之Kmeans

热门文章

  1. 《美人天下》颠覆小公主之死 李治掌控全局_0
  2. 超全!52个数据可视化图表鉴赏~~
  3. 每日一题---摔手机
  4. SAP 标准成本、计划成本、目标成本、实际成本解析
  5. Halcon显示正常比列长宽比的方法
  6. Caused by: java.sql.SQLException: connection holder is null
  7. 记一次亚马逊扩容报错data size unchanged, skipping问题
  8. 全网最全斗音短视频新老账号起号技巧
  9. Markdown合并表格单元格
  10. python三维建模和cad比较_对比Revit和CAD三维建模的不同