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

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

3天内不再提示

基于光电编码器测距定位技术提高移动小车定位精度

电子设计 来源:信息化研究 作者:张东军,郭文成, 2021-06-29 17:39 次阅读

作者:张东军,郭文成,刘莲花

引 言

目前,使用超声波技术进行空间测量和定位已相当普遍。有的运用超声波的反射特性,有的综合运用红外和超声波传感器采取三边测距的定位方法,前者因为超声波传输介质的影响使测量精度无法提高,超声波衰减特性使其传播的距离有限,再利用反射特性更加缩短了传播的距离。后者虽然精度有所提高,测量的距离增加了,但是出现了测量盲区的问题,待测目标在某些位置不能同时检测到3个以上的超声波信号时,使系统无法定位。本文在第2种方法的基础上在系统中加入了光电编码器测距定位原理,消除其定位盲区的问题。

1 定位原理

1.1 红外超声三边测距定位原理

首先在室内建立一直角坐标系,规定好原点、X轴、Y轴、和Z轴。在室内上空固定位置设立3个参考点A、B、C,坐标分别为(x1,y1,z1)、(x2,y2,z2)、(x3,y3,z3)。使用红外超声系统测出目标点到3个参考点的距离L、M、N为:

由式(1)~式(3)解出目标点的坐标值(x,y,z)。这就是红外超声的定位原理,简单且容易编程实现。下面说明目标点与参考点间距离的测量原理。光速与超声波速度在量级上的极大差值是实现测距功能的基础。测距原理见图1。

超声波和红外光的传播速度为常量,其传播距离与时间的曲线均为直线,直线斜率即波速,易知曲线①为红外光曲线,曲线②为超声波曲线。指定距离D,设红外光与超声波在0时刻同时从某一参考点出发,红外光经t1时间走完指定距离,超声波经t2时间走完指定距离,则D=vt2,式中v为超声波速。令t=t2-t1,可得D=v(t+t1)。已知红外光速为3×108m/s,超声波在空气中速度为3.4×102m/s,在室内这样的距离范围,近似认为t1=0,得到D=vt。

系统在每个参考点安装单片机控制的红外和超声波发射管,在目标点安装红外和超声波接收管,同样连接单片机。某一时刻参考点发射红外和超声信号,目标点在接收到红外信号时启动单片机的内部计数器、在接收到超声信号时停止计数器,这样二者的时间差t被记录下来,将t与超声波速相乘就得到待测距离D。实际上,信号处理总是有延时的,由此带来的测量误差必须补偿,最终得到算式为:d=vt+n。式中:d为距离测量值;v为超声波速;t为单片机记录的红外光和超声披到达目标点的时间差值;n为系统器件延迟误差补偿项。

1.2 光电编码器测距定位原理

光电编码器是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器,这是目前应用最多的传感器,由光栅盘和光电检测装置组成。

光栅盘是在一定直径的圆板上等分地开通若干个长方形孔。由于光电码盘(称为译码轮,见图2)与电动机同轴,电动机旋转时,光栅盘与电动机同速旋转,经发光二极管电子元件组成的检测装置检测输出若干脉冲信号。发光二极管和光敏传感器组成光电耦合器。光敏传感器内部沿垂直方向排列有2个光敏晶体管A和B。由于译码轮有间隙,故当译码轮转动时,红外发光二极管发出的红外线时而照在光敏传感器上,时而被阻断,从而使光敏传感器输出脉冲信号。光敏晶体管A和B被安放的位置使得其光照和阻断的时间有差异,从而产生的脉冲A和脉冲B有一定的相位差。利用这种方法,就能测出码盘滚轴滚动方向。滚轴每转动一个小角度,车轮位置计数器加1,每隔一定时间,单片机把车轮位置计数器的值读出,通过计算得出车轮移动的位移(当小车转弯时为弧线长度和弧线切线方向),再把位移信息发送给上位机

基于以上原理,在同轴二轮驱动小车(同轴二轮驱动小车的2个轮子的运行轨迹总是平行的)的2个驱动轮子的正上方一定高度的a、b这2点安装红外超声定位单元,绝对定位每个点的坐标。在2个轮子各自轴上安装光电编码器测距单元,用来测量2个定位时刻点间轮子移动的距离和前进倒退情况。

对移动小车的定位分为3种情况:

a) 在某一定位时刻a、b这2点能够同时检测到3个参考点的信号(地面是平的,进行平面二维定位时只需2个信号),就用红外超声绝对定位方法计算移动小车的位置,计算出它们中点的位置(即移动小车的位置),并根据前一时刻a、b这2点的坐标、2个轮子间的固定距离判断出轮子相对于所建坐标系的运行方向。

b) a、b中只有1点能够同时检测到3个参考点的信号,则根据前一时刻a、b这2点的坐标、光电编码器测得2个轮子的移动距离长短比较、2个轮子间的同定距离计算出移动小车的位置和运行方向。

c) a、b这2点都不能同时检测到3个参考点的信号,则根据前一时刻a、b这2点的坐标、2个轮子的固定距离、光电编码器测得2个轮子的移动距离计算出小车的坐标和运行方向。

下面给出第2种情况的求解方法,见图3。通过比较光电编码器所测2个轮子的移动距离,可得出小车向移动距离短的轮子一侧转弯,已知红外超声测得的a′、b′、b点的坐标,2个轮子的间距d,线段aa′和bb′平行,ab和小车的运动方向垂直,根据几何知识可以求出a点的坐标和小车的移动方向,其他情况亦然。

2 系统的硬件结构

系统主要由超声波信标节点(参考点)、一个红外发射管、一个超声波发射头及各自的驱动电路微控制器SST89E564RD(以下简称564RD)8位单片机组成。普通节点(目标点)由8个红外接收管、8个超声波接收头及各自的驱动电路和8个564RD组成红外超声接收单元,每一个红外接收和超声波接收为一对,用一个564RD控制,分成2组,每组4对,在每个轮子的上方一定高度间隔90°与水平面成45°夹角向上分布。因为测量的目标点是移动物体,所以采用多通道同时接收的方法缩短每次测量所用的时间,提高定位精度。光电编码器测距单元由译码轮、光电偶合器和一片564RD组成。用1片564RD作为主控芯片,与8个超声波接收单元、2个光电编码器测距单元使用串口进行通信,主控制器渎取各个单元的测量数据,完成定位运算,同时起到同步各个单元工作的作用。564RD的晶振都为40 MHz。图4给出单个红外管和超声波发射电路,图5给出单个红外管超声波接收电路。超卢波的发射管为T40-16(对应接收管为R40-16),中心频率为40 kHz。红外发射管为SE303A(对应接收管为PH302),564RD用2个I/O口分别输出载频为40 kHz、调频为5 kHz的方波信号驱动红外发射管,以及载频为40 kHz、调频2 kHz的方波信号驱动超声波发射管。

3 系统的软件设计

系统上电后各单元进行初始化,各部分工作如下:

a) 超声波信标节点不断向外发射红外和超声波信号,每个节点的红外与超声波信号编码相对应,并且与其他节点的信号编码不同。

b) 普通节点每隔1 s(可以改变,但不能太长,否则小车出现拐弯时运行轨迹可能不平行)进行一次定位,主控制器通过串口向各个单元发出定位信号并启动内部定时器,延时100 ms后依次读取8个超声测距单元所测得的a、b这2点到参考点的距离信息和2个光电编码器测距单元记录的位移信息,计算出移动小车的位置和运行方向。定时器定时到1 s后重复此过程。主控制器的软件流程如图6所示。

c) 2个光电编码器测距单元初始化后立刻开始记录轮子的位移,串口收到定位信号后,将记录的位移信息存到指定位置,等待主控制器读取,并从0开始继续记录位移情况。

d) 普通节点检测到定位信号后,接收红外和超声波信号,记录一组相对应的红外超声信号的超声波传输时间,存到指定的位置,等待主控制器读取。在串口接收到定位信号的开始100 ms时间内有这样的信号,则把第1次接收到对应的时间存人指定的位置就不再检测接收了,如果100 ms时间内没有检测到相应的信号,就送数据0到指定的位置。

4 系统误差分析及实验测距结果

定位误差主要有以下5方面:超声波器件的形状和安装位置造成坐标系参考点和待测目标点的位置偏差;系统电路器件延迟产生的误差;小车是不断运动的,由于超声波传输速度比较慢,请求定位时刻到定位完成,小车已经移动了一定的距离;在不能连续检测到足够参考点信号时,位置的确定依靠前一时刻的测量,会造成累计误差;温度条件对超声波的影响。

图7给出了在室温20℃、超声波速度为340m/s、小车2个轮子间距离为0.2 m、移动速度为0.2 m/s、平面二维定位实验测量的一段轨迹,实验通过对前3个方面误差补偿计算,使定位精度达到3 cm。

5 结束语

因为光电编码器测距定位依靠前一测量点的信息,必然导致定位误差的累积;而红外超声三边测距法是一种只依靠当前测量点信息的绝对位置定位方法。此系统综合了这2种方法,消除了累积误差,并解决了定位盲区的问题,对移动小车有一个较准确的定位。

责任编辑:gt

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

    关注

    2548

    文章

    50653

    浏览量

    751794
  • 编码器
    +关注

    关注

    45

    文章

    3585

    浏览量

    134117
  • 超声波
    +关注

    关注

    63

    文章

    2989

    浏览量

    138206
收藏 人收藏

    评论

    相关推荐

    电机中的定位大师--编码器

    生活中经常使用的电梯是如何精确的把人们送到指定楼层的?机床又是如何做到精确切割物料的?伺服电机又是如何保证旋转位置精度的?这一切都要归功于一种神器——编码器,可是编码器又是什么?他又是如何精确的测量
    发表于 06-27 16:43

    智慧分拣高精度定位管理系统

    有效提升物流配送效率和服务力,提高行业竞争力,降低企业运营成本,是物流配送生产力发展的必然要求。而高精度定位系统为降低分拣误差率,降低人工干预,提高精准分拣效率提供有力的
    发表于 11-29 15:15

    直线电机定位精度和重复定位精度

    、直线电机的定位原理说明( 博扬直线电机)直线电机,通常根据机构所要求的精度,配合选择合适的光栅尺,形成闭环反馈,精度高直线电机和光栅尺大致决定了整个系统的定位
    发表于 07-12 06:56

    uwb定位技术的原理及定位方法

    的物体位置与实际位置的误差也较大,定位精度不高,而 uwb 定位采用了宽带脉冲通讯技术,具备极强的抗干扰能力,使定位误差减小。uwb
    发表于 08-10 16:25

    导航定位技术分类

    通过编码器获得轮式里程计的测量数据,车轮的转动被转换成线性位移。对于指定初始位置的运动估计,通过积分得运动增量,从而得到当前的位置信息。 · 该方法具有精度短、成本低、采样率高的优点 · 但车轮会产生打滑,定位误差会随着
    发表于 09-01 07:15

    如何使用编码器接口实现定位

    如何使用编码器接口实现定位
    发表于 02-11 07:32

    请问更换带编码器的电机后需要做哪些工作才能实现原来设定位置的精确控制?

    上料小车传动电机(自带编码器)带吸盘实现上料控制,小车轨道设置四个位置实现不同的控制要求。今天更换电机送电后小车无法实现精确定位,请问更换带
    发表于 11-10 07:41

    光电编码器,光电编码器的工作原理

    光电编码器,光电编码器的工作原理 光电编码器,是一种通过
    发表于 03-02 14:40 9001次阅读

    光电编码器,光电编码器是什么意思

    光电编码器,光电编码器是什么意思 光电编码器光电
    发表于 03-08 15:20 1504次阅读

    基于增量光电编码器永磁同步电机初始定位研究

    电子发烧友网站提供《基于增量光电编码器永磁同步电机初始定位研究.pdf》资料免费下载
    发表于 05-23 08:00 10次下载

    光电编码器型号含义_光电编码器应用实例

    本文主要阐述了光电编码器型号含义及光电编码器应用实例。
    的头像 发表于 11-06 11:21 1.8w次阅读
    <b class='flag-5'>光电</b><b class='flag-5'>编码器</b>型号含义_<b class='flag-5'>光电</b><b class='flag-5'>编码器</b>应用实例

    编码器定位功能,用PLC控制如何实现?

    严格来讲,编码器只会告诉你改如何定位,要如何执行,是需要靠数控系统(或者PLC之类控制)控制伺服或者步进电机来实现定位的,编码器好比人的眼
    的头像 发表于 04-07 10:16 2507次阅读

    光电编码器是什么?光电编码器原理应用与优缺点

    光电编码器是什么?光电编码器原理应用与优缺点:光电编码器是一种常用的位置传感
    的头像 发表于 06-14 09:13 3620次阅读
    <b class='flag-5'>光电</b><b class='flag-5'>编码器</b>是什么?<b class='flag-5'>光电</b><b class='flag-5'>编码器</b>原理应用与优缺点

    用PLC怎么实现编码器定位功能

    严格来讲,编码器只会告诉你改如何定位,要如何执行,是需要靠PLC之类控制或者步进电机来实现定位
    发表于 07-10 08:46 796次阅读
    用PLC怎么实现<b class='flag-5'>编码器</b>的<b class='flag-5'>定位</b>功能

    编码器是如何实现定位功能的呢?

    严格来讲,编码器只会告诉你改如何定位,要如何执行,是需要靠数控系统(或者PLC或运动控制之类控制)控制伺服或者步进电机来实现定位的,
    的头像 发表于 11-13 08:07 2112次阅读
    <b class='flag-5'>编码器</b>是如何实现<b class='flag-5'>定位</b>功能的呢?