找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6331|回复: 6
打印 上一主题 下一主题
收起左侧

超声波测距仪设计

[复制链接]
跳转到指定楼层
楼主
ID:76686 发表于 2015-4-11 19:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
      测距技术在物位检测、医疗探伤、汽车防撞等民用、工业领域应用广泛,由于超声波的速度相对于光速要小的多,其传播时间就比较容易检测,并且易于定向发射,方向性好,发射强度好控制,且不受电磁干扰影响,因而利用超声波测距是一种有效的非接触式测距方法。但超声波在不同环境温度下传播速度不同,如忽略温度影响,将影响最终测量精度。本文介绍的超声波测距仪采用渡越时间检测法。制作好的实物如下图。



           1、 系统工作原理
           超声波测距原理如图1所示。


      

        式中c——超声波波速:t——从发射出超声波到接收到回波所用时间。
        限制该系统的最大可测距离存在4个因素:超声波的幅度、反射的质地、反射和入射声波之间的夹角以及接收换能器的灵敏度。接收换能器对声波脉冲的直接接收能力将决定最小的可测距离。为了增加所测量的覆盖范围、减小测量误差,可采用多个超声波换能器分别作为多路超声波发射/接收的设计方法。
       由于超声波属于声波范围,其波速c与温度有关,经过测量得出超声波的波速与温度的关系,如表1所示。


       将测量的速度数据与温度数据进行一阶拟合得出:
              c=331.6+0.6107xT (2)
       式中T——当地温度。
       在测距时,可通过温度传感器自动探测环境温度、确定其时的波速c。波速确定后,只要测得超声波往返的时间t,即可求得距离H,这样能较精确地得出该环境下超声波经过的路程,提高了测量精确度。
       本设计方案中使用渡越时间检测法,测距仪工作原理为:在由单片机发出驱动信号的同时,开启单片机中的计时器,开始计时。发射探头发射出超声波,在由接收探头接收到第一回波的同时停止单片机计时器的计时,由于超声波在空气中的速度已知,根据公式即可求得探头与待测目标之间的距离。而且,可以在较短时间内多次发出超声波测量,完成后计算平均值然后显示。
       超声波在相同的传播媒体里(大气条件)传播速度相同,即在相当大的频率范围内声速不随频率变化,但其频率越高,衰减得越厉害,传播的距离也越短。考虑实际工程测量要求,在设计超声波测距仪时,选用频率f=40kHz的超声波,波长为0.85cm。
       2 系统硬件设计
       本系统采用AT89C52单片机作为主控制器,使用3位数码管作为系统显示屏,超声波发射驱动需要的40 kHz脉冲由单片机P0.0发出,使用定时器进行计时和控制,超声波接收使用CX20106A作为接收主控芯片。超声波测距器的系统原理图如图2所示。

图2 超声波测距仪_系统原理图

       2.1 超声波发射、接收电路设计
       超声波发送模块是由超声波发射探头组成的,单片机的P0.0端口直接发送40 kHz的信号,直接驱动压电晶片超声波换能器产生超声波,超声波发射电路如图3左侧电路所示。超声波发射子程序的流程是,发射时首先装填计时器,并且开始计时,当超声波发射完毕时,定时器计时完毕,并且重新装填等待下次发射。
       在接收电路中使用了红外线接收处理芯片CX20106A,因为它处理的是38 kHz的红外信号,而40 kHz的超声波信号和它比较接近,并且CX20106A芯片具有很强的抗干扰能力,这个芯片的外围电路很简单而且通过外围电阻调节它的中心处理频率,通过改变外围电路电容的大小也可以改变接收电路灵敏度和抗干扰能力。经过试验后发现用单片机发40 kHz信号与使用CX20106A的电路搭配更加简单合理,使得时间的计算更为精确。


图3 超声波测距仪_超声波发送接收电路

       该系统的超声波接收模块是由超声波接收探头和红外线接收处理芯片CX20106A组成。如图3所示。超声波接收子程序的流程是,利用INT0中断检测回波信号,若有回波信号(INT0口低电平)就关闭外部中断,同时停止计时器的计时,将测距成功标志位标记为1(测距成功),同时提取时间值,计算待测距离,保存最终结果后打开外部中断,等待下次测量。
       2.2 超声波测距显示电路
       在显示模块选择时有两种,一种是用液晶显示屏,其具有轻薄短小,分辨率高,可显示汉字等各种符号的优点。但一般需要利用控制芯片创建字符库,编程工作量大;一种则是选用数码管,数码管具有低电耗、寿命长、易于维护的特点,同时精度比较高,称量快,精确可靠,编程容易,操作简单。缺点是不能实现汉字及多数据多行显示。综合考虑本次设计中选择了3位数码管显示。用PNP型三极管驱动数码管,并连接到单片机AT89C52的P0口上作位选。虽然显示上没有液晶显示屏那么完全,但是也能够完整直观地显示出需要的结果。图4为超声波测距硬件设计的显示电路。

图4 超声波测距仪设计_数码管显示电路图

       2.3 主电路原理图
       该系统主电路原理图如图5所示,单片机采用AT89C51系列,单片机使用外部时钟源,外接12MHZ的晶振,由P0.0口直接输出40 KHZ的驱动信号给放大电路。接收到回波后,经由CX20106的滤波,产生中断信号,并由p3.2口输出进行中断。显示电路采用简单实用的3位数码管,连接单片机AT89C51的P0口,而三极管连接P2口,作数码管的位选。工作时,首先将系统初始化,启动计时器。并由P0.0脚发出40KHZ的驱动信号,同时打开INT0中断,并且开始等待接收到的回波和中断信号,若接收到回波(单片机接收到中断信号),计时器停止计时,保存时间信息,并且根据温度补偿计算出当前环境下的声速,计算出当前待测距离后储存,并调用显示子程序。测出距离后结果将以十进制BCD码方式传送到LED显示,然后再发超声波脉冲重复测量过程。配套的超声波测距源程序可去这里找找。


图5 超声波测距仪设计_原理图




图6 超声波测距设计_元件安装图
图7 超声波测距设计_顶层PCB图
图8 超声波测距设计_底层PCB图

       3 结论

       经过实测,本测距仪能够迅速的测出5m以内的短距离障碍物,在设计的15度环境温度下,测量范围在30—500cm内,误差能控制在1cm以内,本设计具有简单实用,能耗低,成本低等特点,配套的超声波测距程序。经过实际测试,发现系统的精度能满足普通需求,若需要进一步提高精度,可采用DS18B20测温后进行温度补偿。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:79149 发表于 2015-5-16 14:38 | 只看该作者
看着不错
回复

使用道具 举报

板凳
ID:136096 发表于 2016-8-19 11:59 | 只看该作者
能不能把程序借的参考参考,我现在在做智能跟随小车,遇到了这问题。谢谢啦
回复

使用道具 举报

地板
ID:138687 发表于 2016-9-7 10:34 | 只看该作者
有仿真和pcb吗
回复

使用道具 举报

5#
ID:159841 发表于 2017-1-4 23:11 | 只看该作者
有没有程序啊
回复

使用道具 举报

6#
ID:160718 发表于 2017-1-8 11:04 | 只看该作者
为什么都要用51呢,现实中量产的好象很用这种
回复

使用道具 举报

7#
ID:218694 发表于 2017-7-12 21:32 | 只看该作者
有没有程序啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表