超声波传感器的测距系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
超声波传感器的测距系统
安全避障是移动机器人研究的一个基本问题。障碍物与机器人之间距离的获得是研究安全避障的前提,超声波传感器以其信息处理简单、价格低廉、硬件容易实现等优点,被广泛用作测距传感器。本超声波测距系统选用了senscomp 公司生产的polaroid6500 系列超声波距离模块和600 系列传感器,微处理器采用了atmel 公司的at89c51。本文对此超声波测距系统进行了详细的分析与介绍。
超声波传感器及其测距原理
超声波是指频率高于20khz 的机械波[1]。为了以超声波作为检测手段,必须产生超生波和接收超声波。完成这种功能的装置就是超声波传感器,习惯上称为超声波换能器或超声波探头。超声波传感器有发送器和接收器,但一个超声波传感器也可具有发送和接收声波的双重作用。超声波传感器是利用压电效应[1]的原理将电能和超声波相互转化,即在发射超声波的时候,将电能转换,发射超声波;而在收到回波的时候,则将超声振动转换成电信号。
超声波测距的原理一般采用渡越时间法tof(timeofflight)[2]。首先测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的声源与障碍物之间的距离,即
1、硬件电路设计
我们设计的超声波测距系统由polaroid600 系列传感器、polaroid6500 系列超声波距离模块和at89c51 单片机构成。
2.1polaroid600 系列传感器
此超声波传感器是集发送与接收一体的一种传感器。传感器里面有一个圆形的薄片,薄片的材料是塑料,在其正面涂了一层金属薄膜,在其背面有一个铝制的后板。薄片和后板构成了一个电容器,当给薄片加上频率为49.4khz、电压为300vacpk-pk 的方波电压时,薄片以同样的频率震动,从而产生频率为49.4khz 的
超声波。当接收回波时,polaroid6500 内有一个调谐电路,使得只有频率接近49.4khz的信号才能被接收,而其它频率的信号则被过滤。polaroid600 超声传感器发送的超声波具有角度为30 度的波束角[3],如图1 所示:
超声波传感器既可以作为发射器又可以作为接收器,传感器用一段时间发射一串超声波束,只有待发送结束后才能启动接收,设发送波束的时间为d,则在d 时间内从物体反射回的信号就无法捕捉;另外,超声
波传感器有一定的惯性,发送结束后还留有一定的余振,这种余振经
换能器同样产生电压信号,扰乱了系统捕捉返回信号的工作。因此,在余振未消失以前,还不能启动系统进行回波接收,以上两个原因造成了超声传感器具有测量一定的测量范围。此超声波最近可以测量37cm。
2.2polaroid6500 系列超声波距离模块
polaroid6500 系列超声波距离模块的硬件电路如图2 所示:
tl851 是一个经济的数字12 步测距控制集成电路。内部有一个420khz 的陶瓷晶振,6500 系列超声波距离模块开始工作时,在发送的前16 个周期,陶瓷晶振被8.5 分频,形成49.4khz 的超声波信号,然后通过三极管q1 和变压器t1 输送至超声波传感器。发送之后陶瓷晶振被4.5 分频,以供单片机定时用。tl852 是专门为接收超声波而设计的芯片。因为返回的超声波信号比较微弱,需要进行放大才能被单片机接收,tl852 主要提供了放大电路,当tl852 接收到4 个脉冲信号时,就通过rec给tl851 发送高电平表明超声波已经接收。
2.3at89c51 单片机
本系统采用at89c51 来实现对polaroid600 系列传感器和polaroid6500 系列超声波距离模块的控制。单片机通过p1.0 引脚经反相器来控制超声波的发送,然后单片机不停的检测int0 引脚,当int0 引脚的电平由高电平变为低电平时就认为超声波已经返回。计数器所计的数据就是超声波所经历的时间,通过换算就可以得到传感器与障碍物之间的距离。超声波测距的硬件示意图如图3 所示:
3、系统软件设计
系统程序流程图如图4 所示:
工作时,微处理器at89c51 先把p1.0 置0,启动超声波传感器发射超声波,同时启动内部定时器t0 开始计时。由于我们采用的超声波传感器是收发一体的,所以在发送完16 个脉冲后超声波传感器还有余震,为了从返回信号识别消除超声波传感器的发送信号,要检测返回信号必须在启动发射信号后2.38ms 才可以检测,这样就可以抑制输出得干扰。当超声波信号碰到障碍物时信号立刻返回,微处理器不停的扫描int0 引脚,如果int0 接收的信号由高电平变为低电平,此时表明信号已经返回,微处理器进入中断关闭定时器。再把定时器中的数据经过换算就可以得出超声波传感器与障碍物之间的距离。
4、实验数据处理
由于受环境温度、湿度的影响,超声传感器的测量值与实际值总有一些偏差,
表1 列出了本超声测距系统测量值与对应的实际值:
表1 超声测距系统测量值与实际值单位:cm
从表中的数据可以看出,测量值总是比实际值大出大约7cm,经过分析原因主要有三个方面:第一方面,超声波传感器测得的数据受环境温度的影响;第二方面,指令运行需占用一定的时间而使得测量的数据偏大;第三方面,为了防止其他信号的干扰,单片机开始计数时,驱动电路发送16 个脉冲串。对于单个回声的方式,当驱动电路接收到碰到障碍物返回的第四个脉冲时就停止计数,所以最终测得的时间比实际距离所对应的时间多出四个脉冲发送的时间。为了减小测量值与实际值的偏差,我们采用最小二乘法[4~5]对表1 的数据进行修正。
经过拟合,我们得到下面的方程:y=1.0145x-9.3354(其中:y 为实际值,x 为测量值)修正后本超声波测距系统测量值与实际值的对应关系如表2 所示:
表2 修正后超声测距系统测量值与实际值单位:
从修正后的数据我们可以看出,系统的测量误差在±2%以内,满足我们的测量要求。
5、结论
利用超声波传感器进行测距,其中主要的就是要保证在电路设计上一定要满足电路工作的可靠性、稳定性。经过实验与分析,我们认为用6500 系列距离模块和600 系列超声波传感器进行距离的测量简单、经济、可靠,测得数据的误差比较小。
(注:本资料素材和资料部分来自网络,仅供参考。请预览后才下载,期待您的好评与关注!)