DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 95|回复: 0
打印 上一主题 下一主题

超声波测距模块的设计与实现

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-16 16:34:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
摘要:本文设计并实现了一个以MCS-51单片机为核心的超声波测距模块。该模块由超声波发射单元、超声波接收单元、温度测量单元、显示单元和ISP下载单元等组成,由单片机产生超声波的发射信号并对其传播时间进行测量,依据超声波在空气中的传播特性,换算出距离数据,从而实现测量距离的目的。设计中采用LM386作为超声波的发射驱动,采用集成芯片CX20106作为超声波接收单元,结构简洁,集成度高。通过实验表明,该模块性能可靠,能较准确地测出与障碍物之间的距离,达到了设计要求。
关键词:超声波测距;MCS-51单片机;LM386;CX20106

0 引言
??? 在多数项目研发中,距离测量显得越来越重要,常用的测距方式主要有雷达测距、红外测距、激光测距和超声测距等4种。雷达测距对天气的依赖性较强,且成本较高;红外测距测量范围窄;激光测距精度高、抗干扰力强、但成本高,且光学系统需细心维护;超声波测距指向性强、传输距离远、受环境影响小、传播时间容易检测,而且超声波传感器结构简单、性能可靠、成本低、易于集成,因此本文采用超声波方式进行距离测量。

1 超声波测距原理
??? 超声波发生器内部有两个压电晶片和一个共振板,当两极外加脉冲信号的频率等于压电晶片的固有振荡频率时,压电晶片将发生共振,并带动共振板振动,从而产生超声波;同理,当共振板接收到超声波时,将压迫压电晶片产生振动,将机械能转换为电信号。
??? 测距原理如图1所示。




??? 被测距离

。式中:s为超声波传播距离;h为发射探头与接收探头之间的距离。
??? 由于s远大于h,因此可近似认为d=s,则d=s=ct/2,t为发射超声波与接收超声波的时间间隔,c为超声波在空气中的传播速度。
??? 在空气中,常温下超声波的传播速度是334m/s,但其传播速度c易受空气中温度的影响,声速与温度关系如表1所示,由此可修正超声波传播速度
???






??? 可见,只要测得超声波发射和接收回波的时间差t以及环境温度T,就能得到较为精确的距离。

                          
                       
                          
                               
2 方案设计
2.1 电路设计
??? 设计的超声测距模块由超声波发射单元、超声波接收单元、温度测量单元、液晶显示单元和ISP下载单元等部分构成,系统框图如图2所示。




2.1.1 单片机单元
??? 单片机是整个系统的控制核心,本文选用AT89S51,测量时,由单片机输出40 kHz左右的脉冲信号,驱动超声波发射器发出超声波脉冲,同时启动单片机计时器,开始计时。超声波达到目标时回传,经空气传播被超声波接收器接收,此时计时停止,经计算可得超声波从发射到接收的时间间隔t,从而得到距离数据。
2.1.2 超声波发射单元
??? 考虑到单片机端口驱动能力有限,本文采用LM386对输出信号进行功率放大,LM386多用于音频放大,也可用于超声波发射。如图3所示,LM386第1脚和第8脚之间串接的E1、R1,可使电路获得较大的增益,T0为单片机输入的脉冲信号,经功率放大后由第5脚输出,驱动探头发射超声波。




                          
                       
                          
                               
2.1.3 超声波接收单元
??? 为了顺利接收回波信号,本文采用索尼公司生产的集成芯片CX20106,如图4所示,CX20106是一款红外线检波接收的专用芯片,由于红外遥控常用的载波频率38kHz与超声波频率40kHz比较接近,而且CX20106内部设置的滤波器中心频率f0可由其5脚外接电阻调节,范围为30~60 kHz,因此本文采用它来做接收电路。




??? 回波信号先经过CX20106内部的前置放大器和限幅放大器,将信号调整到适当的幅值,由滤波器进行频率选择,滤除干扰信号,再经整形,送给输出端7脚,7脚与单片机INT0连接,当接收到与滤波器中心频率相符的回波信号时,输出端7脚即输出低电平,触发中断。
2.1.4 温度测量、液晶显示与ISP单元
??? 温度测量单元选用1Wire总线器件DS18B20作为传感器,实现对温度数据的采集,液晶模块实现测量数据的显示,ISP单元实现程序代码的在系统下载,电路图从略。
2.2 软件设计
??? 软件部分主要包括主程序和中断服务子程序,如图5所示。主程序主要完成系统初始化、温度读取和超声波发射;中断服务子程序主要完成计数值的读取、距离计算、输出显示等工作。





3 实验结果及分析
??? 表2是利用本文的测距模块实际测量的结果。由表中数据可见,在30cm范围内误差较大,这是由于超声波信号的发射必须有一个上升时间,如果距离太近单片机难以及时处理回波信号,无法正确检测回波到达时间,因而测量误差明显增加;而距离在30em以上时,由于引入温度补偿单元,因而误差相对较小。





4 结束语
??? 本文设计的超声波测距模块,采用了集成元件LM386、CX20106作为发射和接收的核心器件,并引入了DSl8B20作为温度补偿单元,因此结构简单、集成度较高、可靠性较强,通过实验验证,测量结果与实际距离相近,基本满足测量要求。
                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-7-29 04:02 , 耗时 0.998751 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

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