基于单片机的超声波测距仪

收藏和点赞,您的关注是我创作的动力

文章目录

    • 概要
  • 一、本课题研究的主要内容
  • 二、超声波测距仪的整体方案
    • 2.2 超声波测距仪设计原理
  • 三、超声波测距仪系统硬件电路的设计
    • 3.1 超声波测距仪的基本结构
  • 四、 超声波测距仪系统的软件设计
    • 4.1 主程序软件设计
    • 仿真
  • 五、结论
  • 六、 文章目录

概要

  超声波测距仪以声波的形式传播,在传播的过程中受到的影响因素较少,其具有结构简单,成本低的特点并且方便的检测和计算。已被广泛应用于许多方面,例如机器人避开障碍物、车辆倒车和测量距离。
  本无线控超声波测距仪的控制核心是采取低成本的单片机,超声波测距仪系统采用软硬件相互配合,硬件部配备单片机最小系统,通过超声波模块发射与接受声波并产生信号传递给单片机主控,通过液晶显示当前的测量距离。放置按键进行人机交互,对超声波测距仪进行参数设置,具备蜂鸣器报警功能。软件部分由主程序、子程序和中断程序、显示报警子程序等几部分组成。通过软硬件相互配合实现测距仪的设计
  利用已知环境温度,与相对应声波在空气中传播的速度。通过发射与接收声波之间的时间差,采用单片机作为其主控将收集的数据进行算法处理,就可以设计出准确测量两点间距离的超声波检测系统。与其他非接触式测量传感器相比,超声波测距仪的处理速度和响应速度很快。并通过液晶屏对被测目标进行实时显示。因此本文介绍了超声波测距仪系统并对其结构和原理进行了分析。
关键词:单片机;非接触式;无线测距;液晶显示;超声波;

一、本课题研究的主要内容

此次设计的是超声波测距仪,它的主要功能是针对某段距离进行实时测量,其测量范围在5cm—300cm之间,将当前测量的距离通过液晶显示屏幕实时显示出来。
  测距时,测量的物体应该不小于0.5平方米,否则会影响实际的测量参数。本课题所用的超声波模块有一个发射端和一个接收端,通过超声波模块发射与接受声波将产生的电信号传递给单片机主控,通过液晶显示当前单片机计算出测量距离。放置按键进行人机交互,对超声波测距仪进行参数设置,并具备蜂鸣器报警功能。可以满足日常的需求。

二、超声波测距仪的整体方案

2.1方案比较
2.1.1 激光测距
  脉冲法与相位法都是激光测距的传统方法。脉冲法测距基本过程:测距仪将发射激光通过被测物体反射后,测距仪接收到反射光线,与此同时计算发射到接受的一个时间,通过计算光速与往返的时间乘积的一半,就是被测物体的距离。相位法测距的原理:相位激光测距仪利用射频波段的频率来调制激光束的振幅,测量对比调制光来回传播引起的相位延迟。然后依照调制光的波长转换由相位延迟表示的间隔。也就是说,间接的手段被用来确定光穿过一条线需要多长时间[2] 。
2.1.2 超声波测距
  超声波测距仪的原理是根据发射超声波和接收超声波的时间差,利用已知环境温度对应的超声波的传输速度,计算出发射电到障碍物的实际距离。这种方案与激光测距的相位法原理相似。由于超声波的指向性强,传播的过程中声波的能量消耗缓慢,在介质中的传播距离较远,因而超声波经常用于距离的测量。其特点是测量方便。综上所述两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。

2.2 超声波测距仪设计原理

超声波检测距离的方式有多种,最常见的一种就是回波探测法。回波检测法就是根据已知介质的温度和声波发射速度,通过超声波模块从物体中发射出一段声波,接触到另一段物体后声波再从反弹了回来,再通过接受和吸收一段反弹后的声波,测量这段从物体中发射出一段声波直至接受和吸收一段反弹后的声波之间的时间,就可以计算得出这段声波之间的距离值。其工作原理框图如下面的图2-1所示。
  超声波测距的原理:利用超声波向空气中发射出去,碰到被测物发生反射被接收,我们计算从发出到返回的时间t,一般来说测量距离S是远大于发射头与接收头的距离,近似可以认为发射与接收是在一条直线上,这样发射到接收经过的距离为2S,根据公式2-1即可算得障碍物距离发射点的距离S(在15℃的条件下声波的速度c约为340m6/s)。
在这里插入图片描述

在这里插入图片描述

图2-1 超声波反射原理

三、超声波测距仪系统硬件电路的设计

3.1 超声波测距仪的基本结构

超声波测距系统基本的结构组成有以下部分,STC89C52单片机,HC-SR04超声波模块,A/D转换模块,LCD显示模块,温度检测模块,蜂鸣器电路,电源按键以及按键电路,电源电路等部分组成。如图3-1所示,当单片机处理出现故障的时候可以利用复位电路按键将单片机的恢复为默认出厂设置,提高了系统的稳定性与可靠性。另外,时钟电路可以使得单片机以特殊的周期执行处理任务并且能保持单片机稳定的工作进程。在LCD显示模块可以设定预警距离的最大值和最小值,从而形成一个测量区间。如果测量值在区间内的时候系统一切正常,当测量值超过了设定的区间后控制蜂鸣器发出警报。

四、 超声波测距仪系统的软件设计

4.1 主程序软件设计

主程序的主要功能是负责LCD1602的显示、读取并处理超声波模块HC-RS04的测量距离值,按键设置有效距离,当测量的值超过预警值时,蜂鸣器发声报警。主程序流程图如图4-1所示。
在这里插入图片描述

仿真

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

五、结论

本次设计的超声波测距仪系统中,通过实际的测量数据可知,此次设计的测量范围是在5cm—300cm,对这个范围内的误差在2%,并且其灵敏度、可靠性、稳定性比较好
  此次设计采用的是回波探测法,由于受制于元器件的功率较小的原因,开始的设想是制作个5m内的测距仪,但是由于超声波模块功率低的原因导致无法实现原来的设想。故成品的测距范围只是5cm—300cm。此次所设计的超声波测距有一定的缺陷,声波的传输也受制于环境的湿度的影响,若在潮湿的环境中,会对声波的传输有着较大的干扰,而此次设计的超声波测距仪,缺少相应的湿度传感器从而会使在湿度大的环境中测量的距离误差变大。其次,此次设计的一大缺陷是,在测量的物体必须处于一个较空旷的环境,如果处于一个狭隘的环境进行测量,这样超声波在发射后会马上反弹回来,从而测不了距离,因此必须处于一个较空旷的环境测量,这个缺陷受制于超声波模块的设计,很难消除,所以这种测量较为麻烦。因此,在以后的设计中应该多关注可能使用到环境中尽可能的在更多的环境中使用。

六、 文章目录

目 录
摘 要I
AbstractII
目 录III
1、绪论1
1.1 选题的依据及意义1
1.2 国内研究现状1
1.3 国外研究现状1
1.4 本课题研究的主要内容2
1.5本章小结2
2、超声波测距仪的整体方案3
2.1 方案比较3
2.1.1 激光测距3
2.1.2 超声波测距3
2.2 超声波测距仪设计原理3
2.3 电子元器件的选择4
2.3.1 单片机的选择4
2.3.2 超声波测距模块选择4
2.4 本章小结4
3、超声波测距仪系统硬件电路的设计5
3.1 超声波测距仪的基本结构5
3.2 单片机最小系统概述及其作用5
3.3 电源供电模块6
3.4 超声波模块7
3.5 LCD 显示电路模块设8
3.6 按键电路9
3.7 蜂鸣器电路设计9
3.8 温度检测电路10
3.9 本章小结10
4、超声波测距仪系统的软件设计11
4.1 主程序软件设计11
4.2 超声波模块软件设计11
4.3 显示数据子程序12
4.4 报警子程序12
4.5 按键子程序13
4.6 本章小结13
5、系统调试14
5.1 系统调试14
5.1.1 硬件调试14
5.1.2 软件调试14
5.2 测距仪测试及结果15
5.2.1 超声波测距仪实物图15
5.2.2 实物试验16
结 论18
参考文献19
附 录20
1、超声波测距仪电路原理图20
2、元件清单21

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/164074.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[极客大挑战 2019]Upload 1

题目环境&#xff1a; 根据题目和环境可知此题目是一道文件上传漏洞 编写一句话木马脚本<?php eval($_POST[shell]);?>将脚本文件更改为jpg图片文件我这里是flag.jpg上传文件并burpsuite抓包Repeater重放 报错一句话木马里面有<?字符 换一种一句话木马继续编写木马…

如何在搜索引擎中应用AI大语言模型,提高企业生产力?

人工智能尤其是大型语言模型的应用&#xff0c;重塑了我们与信息交互的方式&#xff0c;也为企业带来了重大的变革。将基于大模型的检索增强生成&#xff08;RAG&#xff09;集成到业务实践中&#xff0c;不仅是一种趋势&#xff0c;更是一种必要。它有助于实现数据驱动型决策&…

正点原子嵌入式linux驱动开发——Linux WIFI驱动

WIFI的使用已经很常见了&#xff0c;手机、平板、汽车等等&#xff0c;虽然可以使用有线网络&#xff0c;但是有时候很多设备存在布线困难的情况&#xff0c;此时WIFI就是一个不错的选择。正点原子STM32MP1开发板支持USB和SDIO这两种接口的WIFI&#xff0c;本章就来学习一下如何…

Linux防火墙入门:学会使用firewalld和iptables

1 防火墙 1.1 防火墙介绍 防火墙就是过滤的表格&#xff0c;被记录在表格中的信息&#xff0c;才允许通过访问。 1.2 两种火墙策略 iptables dnf install iptables-services -y systemctl disable --now firewalld systemctl mask firewalld systemctl enable --now ip…

设置区块链节点输出等级为警告级,并把日志存储阈值位100MB并验证;

题目 获取指定区块链节点输出等级为警告级&#xff0c;并设置日志存储阈值位100MB并验证&#xff1b; 操作步骤 1.切换目录 cd nodes/127.0.0.1/node0 2.打开配置文件并修改 vim config.ini warn&#xff1a;警告

工业路由器网关的网络协议之NAT技术

在物联网通讯领域&#xff0c;NAT技术能将内网的一个私有IP转换成一个公网IP去接入互联网&#xff0c;解决组建局域网络时私有IP地址无法在公网上进行路由的问题。 NAT&#xff08;Network Address Translation&#xff09;的三种方式&#xff1a; 静态NAT 1、一个私有IP对应…

人大金仓三大兼容:SQL Server迁移无忧

SQL Server在数据库领域一直占据着重要地位。作为一款成熟稳定的关系型数据库管理系统&#xff0c;SQL Server在国内有着广泛的用户群体&#xff0c;医疗、海关、政务等行业的核心业务系统多采用SQL Server数据库。随着政策与市场的双重驱动&#xff0c;信息技术应用创新产业的…

Rust编程基础核心之所有权(上)

1.什么是所有权? Rust 的核心功能&#xff08;之一&#xff09;是 所有权&#xff08;ownership&#xff09;。虽然该功能很容易解释&#xff0c;但它对语言的其他部分有着深刻的影响。 所有程序都必须管理其运行时使用计算机内存的方式。一些语言中具有垃圾回收机制&#x…

Android项目升级到AndroidX

1、 2、 然后报错了&#xff1a; The gradle plugin version in your project build.gradle file needs to be set to at least com.android.tools.build:gradle:3.2.0 in order to migrate to AndroidX. 修改gradle版本 31报错了就用30.0.0了 3、 提示备份、然后执行do re…

matlab中的iddata函数的初步理解和使用程序举例

matlab中的iddata函数的初步理解和程序举例 一、iddata函数功能 iddata函数常用于系统识别分析领域数据分析方面。该函数在时域或频域中&#xff0c;将用于系统识别的输入输出数据及其特性数据的生成对象数据类型。即&#xff0c;可以使用iddata函数封装要标识的系统的输入和…

【题解】2023 DTS算法竞赛集训 第1次

比赛地址&#xff1a;https://www.luogu.com.cn/contest/143650 P1319 压缩技术 https://www.luogu.com.cn/problem/P1319 简单的签到模拟题 #include <iostream>//c标准库 using namespace std; int main(){int a,n,t0,i0,b,s0;//t判断有没有回车&#xff0c;i判断输…

jenkins部署job

apt install fontconfig openjdk-11-jre wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/2.429/jenkins.wardeb包安装 wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/debian-stable/jenkins_2.414.3_all.debdpkg -i jenkins_2.414.3_all.deb 访问 http://…