当前位置:首页 > 嵌入式 > 嵌入式硬件

摘要:本文设计并实现了一个以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作为温度补偿单元,因此结构简单、集成度较高、可靠性较强,通过实验验证,测量结果与实际距离相近,基本满足测量要求。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

与谷歌的合作使 Nordic 能够在 nRF Connect SDK 中嵌入开发人员软件,以构建与安卓移动设备兼容的谷歌Find My Device和未知跟踪器警报服务

关键字: 谷歌 SoC 嵌入式开发

嵌入式开发作为当今电子工程和信息技术领域的核心分支,涵盖了广泛的软硬件技术和系统集成方法,用于构建高性能、低成本、低功耗、体积小巧且功能专一的嵌入式系统。这些系统无处不在,从微型传感器节点到复杂的工业控制设备,从日常使用...

关键字: 嵌入式开发 Python

嵌入式开发是当今信息技术领域不可或缺的一部分,它融合了硬件设计、软件开发和系统集成等多个学科,专门用于创建那些被嵌入到特定设备或系统中的专用计算机系统。嵌入式开发的主要过程包括利用分立元件或集成器件进行电路设计、结构设计...

关键字: 嵌入式开发 硬件设计 软件开发

嵌入式开发作为一种专业且技术密集型的领域,涵盖了从硬件底层驱动、中间件到应用层软件开发等多个层面的工作,其所需的工具种类繁多,各有针对性,旨在提升开发效率、保证代码质量以及简化调试过程。

关键字: 嵌入式开发 keil

嵌入式开发作为信息技术领域的重要分支,其涉及的语言种类繁多,各具特色。这些语言的选择取决于目标平台的特性、性能需求、开发者的熟练程度以及项目的具体要求。本文将详细介绍几种常见的嵌入式开发语言,包括C语言、C++、汇编语言...

关键字: 嵌入式开发 C语言

嵌入式开发是一项综合了硬件设计、软件编程以及系统整合的技术活动,其目的是为了创造出能够在特定环境中高效、稳定运行的嵌入式系统。这一流程涵盖了多个紧密关联且不可或缺的阶段,从最初的客户需求分析到最终的产品测试和交付,每个环...

关键字: 嵌入式开发 硬件设计

嵌入式开发作为一个融合了计算机软硬件和系统工程的综合性领域,其成功与否往往取决于三个核心要素的有效整合与协调。这三个要素分别是:硬件平台的选择与设计、软件开发及其优化、以及系统级的设计与集成。深入理解并熟练掌握这三个方面...

关键字: 嵌入式开发 ARM

嵌入式开发作为信息技术的关键支柱,在全球数字化转型浪潮中扮演着无可替代的角色。从传统的嵌入式微控制器到如今先进的片上系统(SoC),再到与云计算、人工智能深度融合的智能终端,嵌入式系统的演进与发展始终紧跟时代脉搏。本文将...

关键字: 嵌入式开发 智能应用

嵌入式开发是一种专门针对特定硬件平台设计和实现软件系统的工程实践,它涵盖了从需求分析、系统设计、编程实现、调试测试直到产品部署及维护的全过程。本文将深入探讨嵌入式开发的主要阶段,分解其流程并阐述每个步骤的关键要点,以便于...

关键字: 嵌入式开发 嵌入式软件
关闭
关闭