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

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

3天内不再提示

采用DS18B20温度传感器实现超声波测距系统的设计

电子设计 作者:电子设计 2018-11-20 08:02 次阅读

测距技术在物位检测、医疗探伤、汽车防撞等民用、工业领域应用广泛,由于超声波的速度相对于光速要小的多,其传播时间就比较容易检测,并且易于定向发射,方向性好,发射强度好控制,且不受电磁干扰影响,因而利用超声波测距是一种有效的非接触式测距方法。但超声波在不同环境温度下传播速度不同,如忽略温度影响,将影响最终测量精度。本文介绍的超声波测距仪采用渡越时间检测法,使用了DS1 8B20温度传感器对现场温度进行检测,并通过软件计算实现波速的温度补偿,消除了温度对测量结果的影响,使测量误差降低。

1 系统工作原理

超声波测距原理如图1所示。

采用DS18B20温度传感器实现超声波测距系统的设计

图1 超声波测距原理

采用DS18B20温度传感器实现超声波测距系统的设计

式中c--超声波波速:t--从发射出超声波到接收到回波所用时间。

限制该系统的最大可测距离存在4个因素:超声波的幅度、反射的质地、反射和入射声波之间的夹角以及接收换能器的灵敏度。接收换能器对声波脉冲的直接接收能力将决定最小的可测距离。为了增加所测量的覆盖范围、减小测量误差,可采用多个超声波换能器分别作为多路超声波发射/接收的设计方法。

由于超声波属于声波范围,其波速c与温度有关,经过测量得出超声波的波速与温度的关系,如表1所示。

表1 声速与温度的关系表

采用DS18B20温度传感器实现超声波测距系统的设计

将测量的速度数据与温度数据进行一阶拟合得出:

c=331.6+0.6107xT (2)

式中T--当地温度。

在测距时,可通过温度传感器自动探测环境温度、确定其时的波速c.波速确定后,只要测得超声波往返的时间t,即可求得距离H,这样能较精确地得出该环境下超声波经过的路程,提高了测量精确度。

本设计方案中使用渡越时间检测法,测距仪工作原理为:在由单片机发出驱动信号的同时,开启单片机中的计时器,开始计时。发射探头发射出超声波,在由接收探头接收到第一回波的同时停止单片机计时器的计时,由于超声波在空气中的速度已知,根据公式即可求得探头与待测目标之间的距离。而且,可以在较短时间内多次发出超声波测量,完成后计算平均值然后显示。

超声波在相同的传播媒体里(大气条件)传播速度相同,即在相当大的频率范围内声速不随频率变化,但其频率越高,衰减得越厉害,传播的距离也越短。考虑实际工程测量要求,在设计超声波测距仪时,选用频率f=40kHz的超声波,波长为0.85cm.

2 系统硬件设计

本系统采用AT89C52单片机作为主控制器,使用3位数码管作为系统显示屏,超声波发射驱动需要的40 kHz脉冲由单片机P0.0发出,使用定时器进行计时和控制,超声波接收使用CX20106A作为接收主控芯片,使用DS18B20作为温度传感器进行温度校正。超声波测距器的系统原理图如图2所示。

采用DS18B20温度传感器实现超声波测距系统的设计

图2 系统设计原理图

2.1 超声波的发射电路设计

超声波发送模块是由超声波发射探头组成的,单片机的P0.0端口直接发送40 kHz的信号,使用9012三极管做为驱动放大,驱动压电晶片超声波换能器产生超声波,超声波发射电路如图3所示。超声波发射子程序的流程是,发射时首先装填计时器,并且开始计时,当超声波发射完毕时,定时器计时完毕,并且重新装填等待下次发射。

采用DS18B20温度传感器实现超声波测距系统的设计

图3 超声波发射电路

2.2 超声波接收电路设计

在接收电路中使用了红外线接收处理芯片CX20106A,因为它处理的是38 kHz的红外信号,而40 kHz的超声波信号和它比较接近,并且CX20106A芯片具有很强的抗干扰能力,这个芯片的外围电路很简单而且通过外围电阻调节它的中心处理频率,通过改变外围电路电容的大小也可以改变接收电路灵敏度和抗干扰能力。

经过试验后发现用单片机发40 kHz信号与使用CX20106A的电路搭配更加简单合理,使得时间的计算更为精确。

该系统的超声波接收模块是由超声波接收探头和红外线接收处理芯片CX20106A组成。如图4所示。超声波接收子程序的流程是,利用INT0中断检测回波信号,若有回波信号(INT0口低电平)就关闭外部中断,同时停止计时器的计时,将测距成功标志位标记为1(测距成功),同时提取时间值,计算待测距离,保存最终结果后打开外部中断,等待下次测量。

采用DS18B20温度传感器实现超声波测距系统的设计

图4 超声波接收电路

2.3 超声波测距显示电路

在显示模块选择时有两种,一种是用液晶显示屏,其具有轻薄短小,分辨率高,可显示汉字等各种符号的优点。但一般需要利用控制芯片创建字符库,编程工作量大;一种则是选用数码管,数码管具有低电耗、寿命长、易于维护的特点,同时精度比较高,称量快,精确可靠,编程容易,操作简单。缺点是不能实现汉字及多数据多行显示。综合考虑本次设计中选择了3位数码管显示。用PNP型三极管驱动数码管,并连接到单片机AT89C52的P0口上作位选。虽然显示上没有液晶显示屏那么完全,但是也能够完整直观地显示出需要的结果。图5为超声波测距硬件设计的显示电路。

采用DS18B20温度传感器实现超声波测距系统的设计

图5 超声波测距显示电路

2.4 温度补偿电路设计

本系统中,选择使用温度芯片DS18B20作为温度传感器。DS18B20支持"一线总线"接口,测量温度范围为-55~125℃,在-10~85℃范围内,精度为±0.5℃。现场温度直接以"一线总线"的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量。DS18B20引脚说明如表2所示。

表2 DS18B20引脚说明

采用DS18B20温度传感器实现超声波测距系统的设计

DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。

温度补偿电路的设计如图6所示,数据输入/输出脚连接到单片机的P0.1脚,电源接口接入+5 V的电压,外加5.6 kΩ的上拉电阻,因为DS18B20是单总线温度传感器,数据线是漏极开路,如果DS18B20没接电源,则需要数据线强上拉,给DS18B20供电;如果DS18B20接有电源,则需要一个上拉即可稳定的工作。由于DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内,检测的温度值在内部进行转换,温度测量结果直接以数字信号输出,单片机对由DS18B20输出的信号进行读取,经过软件对温度数字值实现处理。

采用DS18B20温度传感器实现超声波测距系统的设计

图6 温度补偿电路

2.5 主电路原理

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

采用DS18B20温度传感器实现超声波测距系统的设计

图7 超声波测距主电路图

3 结论

经过实测,本测距仪能够迅速的测出250 m以内的短距离障碍物,在30-200 cm范围内,误差能控制在1 cm以内,本设计具有简单实用,能耗低,成本低等特点。经过实际测试,发现系统的精度能满足普通需求,若需要进一步提高精度,可采用精度更高但系统更加复杂的双频超声波测距的方法。

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

    关注

    48

    文章

    2648

    浏览量

    154290
  • 超声波
    +关注

    关注

    63

    文章

    2808

    浏览量

    136690
  • 医疗
    +关注

    关注

    8

    文章

    1726

    浏览量

    58136
收藏 人收藏

    评论

    相关推荐

    DS18B20温度传感器工作原理及其应用电路图

    的条件下读取ROM。    (3)电路更加简洁,仅用一根I/O口实现测温。    (4)只适应于单一温度传感器测温情况下使用,不适于采用电池供电系统
    发表于 02-21 14:43

    温度补偿的超声波测距程序

    程序名:带温度补偿的超声波测距程序编写人:曾文豪杰编写日期:2012年11月11日程序设计思路:1.利用DS18B20将环境的温度测量出来。
    发表于 12-14 22:49

    DS18B20代码问题

    DS18B20测温和超声波测距程序中的问题DS18B20测温中,测得的数据需要加0x30,超声波测距
    发表于 01-18 00:13

    DS18B20温度传感器是什么

    传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20DS1822 “一线总线”
    发表于 04-27 08:14

    DS18B20温度传感器实验

    单片机驱动DS18B20温度传感器实现温度的串口打印显示,本实验中STM32基于HAL库开发。本文全程记录实验过
    发表于 08-18 07:44

    基于CAN总线的超声波测距仪设计

    实验10 基于CAN总线的超声波测距仪设计实验利用CAN总线来实现数据的传送。文章目录代码讲解(c8t6)温度传感器
    发表于 08-19 07:51

    如何去实现基于51单片机的超声波测距温度补偿呢

    由STC89C52单片机+超声波测距传感器(HC-SR04)+DS18B20温度传感器+LCD1
    发表于 11-18 09:04

    如何利用STC89C52实现超声波测距系统的设计资料分享

    、LCD1602、超声波测距DS18B20题目扩展:液位检测系统。资料预览效果图:总体资料:原理图:软件设计流程:系统框图:本设计以STC
    发表于 11-19 07:42

    如何去实现基于单片机超声波测距和语音控制系统设计

    电路组成:51单片机 +18B20温度传感器+超声波测距模块+1602液晶显示+按键+语音播报电路+小喇叭;供电方式:充电宝或USB电源(5
    发表于 11-19 06:41

    基于超声波测距的倒车报警系统的设计资料分享

    超声波,产生使单片机开始计数和停止计数的信号,从而计算超声波往返的时间。利用温度传感器DS18B20测量
    发表于 12-02 07:16

    怎样设计制作一个超声波测距

    40KHZ,采用74LS04芯片构成超声波发射电路,CX20106A芯片构成超声波检测接收电路,数字温度传感器
    发表于 12-08 07:39

    怎样去设计一种基于超声波测距仪的倒车雷达电路呢

    (毕设)超声波测距仪——倒车雷达电路(原理图和PCB源文件)倒车雷达电路功能概述:该作品主体为超声波测距,使用US-015超声波模块,最大量
    发表于 12-31 06:25

    基于STM32的超声波测距系统设计

    自动控制、建筑工程测量和机器人视觉识别等领域应用非常广泛。3 软件算法3.1 基本流程系统以STM32 单片机为核心,实现对各部分的控制和响应。测距软件的基本流程:首先使用美国DALAS 公司生产的
    发表于 01-06 06:56

    如何去实现一种基于蓝牙的超声波无线测距的设计

    设计简介:本设计是基于蓝牙的超声波无线测距的设计,主要实现以下功能:① 实现通过DS18B20测量当前
    发表于 01-06 06:28

    使用DS18B20实现超声波采集温度测距的程序和仿真等资料说明

    本文档的主要内容详细介绍的是使用51单片机和DS18B20超声波测距模块实现采集温度测距,越
    发表于 01-29 16:10 17次下载
    使用<b class='flag-5'>DS18B20</b><b class='flag-5'>实现</b><b class='flag-5'>超声波</b>采集<b class='flag-5'>温度</b>和<b class='flag-5'>测距</b>的程序和仿真等资料说明