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

news2024/11/19 16:41:35

摘    要

如今社会持续深化转型,在人工智能领域,传感器采集外部数据,经过处理器对数 据运算和处理,从而实现相应的功能。比如自动驾驶技术中,超声波传感器应用广泛, 超声波是一种频率在 20khz 以上的声波,具有声波传输的物理基本特性反射、折射、干 涉、衍射和散射。
本次选题经过对超声波技术的深入了解,旨在设计一个超声波测距仪,进行无接触 式空间距离测量,通过优化硬件,以及升级软件算法,使超声波技术在人们的生活中得 到广泛应用。该超声波测距仪器基于 stm32 单片机,利用超声波发射接收头,实现短距 离的数字信号传输,运用温湿度传感器采集所处环境的温度和湿度,集中处理数据,对 测量数据进行校准,保障数据的准确性,使得测距仪在严苛的条件下,仍然可以稳定运 行。最终在液晶显示屏呈现测量数据,能够达到便捷、快速、准确的距离测量。同时, 能够在手机客户端操作,利用蓝牙传输信息,更加便捷测距。但是,由于系统硬件的限 制,仪器存在一定程度上数据误差。

关键词:超声波;stm32;手机客户端
 


Design of ultrasonic rangefinder based on single chip computer

Abstract

Today's  society  continues  to  deepen  the  transformation,  in  the  field  of  artificial intelligence, sensors collect external data, through the processor to calculate and process the data,  so  as  to   achieve  the   corresponding  function.  For   example,  in  automatic  driving technology, ultrasonic sensors are widely used. Ultrasonic wave is a kind of sound wave with a  frequency  above  20khz,  which  has  the  physical  basic  characteristics  of  sound  wave transmission: reflection, refraction, interference, diffraction and scattering.
After  in-depth  understanding  of ultrasonic  technology,  this  topic  aims  to  design  an  ultrasonic rangefinder for non-contact space distance measurement, through optimizing the  hardware, as well as upgrading the software algorithm, so that ultrasonic technology is widely  used in people's life. The ultrasonic ranging instrument is based on stm32 microcontroller,  using ultrasonic  transmitting  and  receiving  head,  to  achieve  short  distance  digital  signal  transmission, the use of temperature and humidity  sensors to collect the temperature and  humidity of the environment, centralized data processing, calibration of the measured data,  ensure the accuracy of the data, so that the rangefinder in harsh conditions, still can run stably. Finally, the measurement data is presented on the LCD screen, which can achieve convenient,  fast and accurate distance measurement. At the same time, can operate in the mobile client,  using Bluetooth transmission information, more convenient ranging. However,  due to the  limitation of system hardware, the instrument has a certain degree of data error.

Key Words:Ultrasonic Wave;Stm32;Mobile Client
 


目    录
摘    要
Abstract 
1 绪论
1.1 选题背景及意义
1.2 选题的目的
1.3 课题主要内容
2 方案设计
2.1 超声波原理
2.2 整体方案
3 硬件电路设计
3.1 核心模块
3.1.1 STM32 处理器
3.1.2 HC-SR04 超声波传感器
3.2 辅助模块
3.2.1 蜂鸣器
3.2.2 温湿度传感器
3.2.3 显示屏
3.2.4 蓝牙串口通信
3.3 硬件电路
4 软件开发
4.1 微处理器程序设计
4.1.1 超声波测距仪的算法设计
4.1.2 主程序
4.1.3 超声波发射和收集中断子程序
4.1.4 辅助模块子程序
4.2 客户端应用软件设计
4.2.1 功能需求
4.2.2 软件设计
5 系统测试
5.1 功能实现
5.1.1 超声波测距仪实物
5.1.2 客户端应用软件功能
5.2 注意事项
结    论
参 考 文 献
致    谢
 

1 绪论

1.1 选题背景及意义
传统的测距方法在实际使用中存在局限性,当空间环境状况不明晰的情况下,传统 测距无法准确计量距离数据。在自然界,蝙蝠依靠自身特殊结构发出高频声波能够在黑 夜中判断飞行轨迹,进行捕猎觅食,不过这种频段的声波人耳无法听到。人们通过自然 界研究出超声波用于无接触式空间测距,并不断改进技术,超声波技术的应用,也越来 越普及。
目前国内外的研究现状,主要是对硬件性能优化,以及数据算法改良等方面。王楠 等通过设计新型硬件板块,提高性能。熊春山等使用波头技术与零交叉点检测的方式[1], 胡跃辉等对测距数值采取加权算术平均处理的方法,都是进一步改善超声波测距的精 度。随着研究的深入,超声波技术在机械制造、石油化工、航海交通等领域,此外在医 学、生物科学等领域中也占据重要地位。
超声波测距仪能够在空间环境复杂,比如当前区域可见度低或者具有腐蚀性化学物 质在地面上,那么超声波测距能够完全达到测量标准,并且保证人员相对安全,因为超 声波探头发射和接收都在整体模块上,它是一种非接触式测量距离的技术,这些优势是 传统测距所达不到的,也使得该项技术广泛应用。
1.2 选题的目的
超声波测距仪相较于传统测距,具有便捷、无接触式等测量优势。本测距仪基于 stm32 单片机,通过超声波发射接收头,实现对短路径精准测量。
(1)本设计使用 stm32 系列单片机为主控板,其它传感器为辅助模块,制作实物; (2)将超声波测距仪输出的的数据进行短距离传输,并在显示终端进行结果显示; (3)利用温湿传感器,收集环境温湿度数据,对距离数值进行校准,降低误差值; (4)使用 APP Inventor 工具设计手机客户端应用软件,采用蓝牙通信,传输数据; (5)通过在客户端应用软件设置参数,使蜂鸣器对安全距离做出相应的提醒。
1.3 课题主要内容
本文主要包括方案设计、硬件电路组装优化、软件开发、系统测试及总结。通过分 析研究和方案规划设计出满足实际应用需求的超声波测距仪实物。
(1)了解技术本质原理,收集资料;
(2)根据需求,分析模块功能结构;
 


(3)确定仪器硬件整体方案,选购各项模块,并组装仪器;
(4)分析功能需求,设计程序框架,编写主控板和手机客户端程序;
(5)对系统进行测试以及展现,手机客户端调用主控板,并进行距离测量。
 


2 方案设计

2.1 超声波原理
超声波属于特殊的声波[2] ,声波属于机械波的范畴。机械波是由物体振动引起的, 必须依靠介质传输,具有基本的物理特性。超声波具有机械波的特性,并广泛应用于清 洗、消毒、碎石等广泛应用于行业。超声波发射模块内部构造,如图 2.1 所示。


 
图 2.1 超声波发射模块内部构造

超声波模块的设计,原理是电磁感应。通过磁场作用拨片,并产生震动,发射出去。 同时,反射回来之后,再把振动频率转化为电信号。
2.2 整体方案
超声波测距仪选用 STM32 系列单片机为主控板,以及其他模块为辅助模块。通过分 析各项模块的电路接入需求,设计组装连接图,以面包板为基础电路板,使用镊子、美 工刀、电路表等工具将各个模块连接起来,局部到整体,逐步将个模块之间连接起来, 构建仪器模型。并采用电流表和电压检测接处,判断电流和电压稳定情况,判断是否有 虚接问题,同时要保障相关电路连接准确。
实际组合过程中,由于 LCD10602 屏幕分辨率较低,引脚过多,不适用实际设计。 所以,进行综合分析,选择 0.96 寸液晶显示屏,其性能好,引脚仅有四个,利用 IIC 协议通信,极大提高引脚端口利用率。
在完成硬件后,使用 KEIL 工程软件,进行程序模块化编程,能够有效对单项区域
 


程序功能进行测试,而主程序主要负责调用和整合子程序,使得整体架构稳定合理。在 算法设计上,采用准确数学公式理论,利用硬件设备提供的算力,能够使得计算数据快 速精准,为实际应用保障测量数据的准确性。对于手机客户端,登录谷歌插件 Inventor 官网,设计界面排版和逻辑设计。整体系统架构,如图 2.2 所示。

 
图 2.2 整体系统架构

对系统进行调试,优化稳定性,实现超声波测距仪无接触式空间测距,同时提供手 机客户端对仪器进行短距离无线操作。手机客户端通讯简图,如图 2.3 所示。

 
图 2.3 手机客户端通讯简图
 


3 硬件电路设计

3.1 核心模块

3.1.1 STM32 处理器
STM32 系列单片机具有高性能、低成本的特性,基于 Cortex-M3 架构[3] ,内置高速 的处理器以及运算内存 , 能够轻松运行复杂的程序 。本仪器采用芯片型号为 STM32F103RCT6 的系统板作为仪器主控板,对传感器采集的数据进行处理和运算,并控 制各项模块实现相应功能。同时本设计核心功能程序复杂度中等,STM32 系列单片机可 以提供充足的算力支持,保障程序稳定的运行。STM32F103RCT6 系统板,如图 3.1 所示。

 
图 3.1 STM32F103RCT6 系统板

 
图 3.2 STM32F103RCT6 系统板原理图
 


STM32F103RCT6 系统板原理图,如图 3.2 所示。系统板整体电路由单片机、复位电 路、晶振电路构成[4] ,外围电路接口包括 SWD 烧录接口和 USB 电源接口。
3.1.2 HC-SR04 超声波传感器
超声波传感器具有特殊结构,能够发射出高频的声波,经过时间间隔,接收反射回 来的声波,并通过处理器计算得到当前位置距离目标物的精确数据。
本仪器选用 HC-SR04 型号的超生波传感器,其测量最大范围是 4m,误差是±1cm, 价格便宜,能够满足设计基本功能要求 。模块在接入仪器的过程中断电操作,带电情 况下会损坏内部电子元器件,影响其工作寿命,并且需要选择被测物体反射面平整,否 则会影响测量数据准确性。超声波时序图,如图 3.3 所示。

 
图 3.3 超声波时序图

主控板向模块 Trig 引脚端口发送大于 10us 的高电平脉冲,触发模块发射和接收声 波,并通过 Echo 引脚端口反馈与距离等比的脉冲信号,进而主控板处理脉宽时间得出 时间间隔,计算距离数据。超声波传感器与主控板引脚端口连接,Trig 与 B5,Echo 与 B6。HC-SR04 超生波传感器,如图 3.4 所示。

 
图 3.4 HC-SR04 超生波传感器
 


3.2 辅助模块

3.2.1 蜂鸣器
蜂鸣器通过电压振动拨片,发出鸣响,对安全距离进行报警。本仪器设计选用型号 是有源高电平蜂鸣器,主控板对连接的 I/O 端口拉高电平,即可发出鸣响。模块发生孔 不能存在异物,同时保证在正常温度下工作,超过 40℃或低于 0℃都会影响工作情况。 蜂鸣器与主控板引脚端口连接,I/O 与 A11。有源蜂鸣器,如图 3.5 所示。

 
图 3.5 有源蜂鸣器
3.2.2 温湿度传感器
温湿度传感器,采用内置特殊材料,因温度变化而变化,进而转化为数字信号。本 仪器设计选用 DHT11 型号温湿度传感器,价格便宜。湿度测量范围:25%--90%(0-50℃), 温度测量范围:-15℃--55℃ , 需要注意使用环境[5]。模块应避免长时间下在太阳光照射, 会降低性能,使用高质量屏蔽线,提高数据传输稳定性。
主控板对连接的 DATA 引脚端口发生送信号,模块进入高速模式,开始工作。模块 与主控板之间采用单总线数据格式,数据格式分为两部分。温湿度传感器与主控板引脚 端口连接,DATA 与 A15。DHT11 温湿度传感器,如图 3.6 所示。
 
图 3.6 DHT11 温湿度传感器
 


3.2.3 显示屏
主控板将计算出的距离数据,利用屏幕显示出来,方便用户观察使用。本仪器设计 选用型号 0.96 寸显示液晶屏,其性能比较高,但是价格稍贵一些。模块需要在常温环 境下工作,同时避免碰撞,造成内部背光灯管微型器件损坏,影响成像效果。
模块与主控板之间采用 IIC 通信协议进行数据传输[6] ,IIC 总线完成交互通讯仅需 两条线,一条 SCL 时钟线,另外一条双向数据线 SDA。液晶显示屏与主控板引脚端口连 接,SCL 与 B12,SDA 与 B13。0.96 寸显示液晶屏,如图 3.7 所示。

 
图 3.7 0.96 寸显示液晶屏
3.2.4 蓝牙串口通信
蓝牙技术能够建立临时性的短距离连接,可以双向传输数据,而且功耗较低便于在 移动设备上运行。从性价比方面考虑,采用 JDY-31 类型蓝牙模块。在接入仪器时,注 意电源所提供电压,要适配模块工作电压,否则会对内部元器件造成影响。
模块与主控板之间采用 UART 串口通讯方式,开发方便。同时,与手机客户端采用 蓝牙通讯协议,进行短距离双向数据传输。TXD:数据发送端,与主控板 A10 相接。RXD: 数据接收端,与主控板 A9 相接。JDY-31 蓝牙 3.0 模块,如图 3.8 所示。

 
图 3.8 JDY-31 蓝牙 3.0 模块
 


3.3 硬件电路
本硬件设计采用常规电路,实物采用标准化、模块化制作,并符合硬件基础构造。 另外,充分满足程序功能要求,同时要将硬件设计和软件设计共同规划,做到最佳匹配。 同时,需要确定整体功耗数据,优化电路设计,能够在适合的驱动下稳定运行。主控板 与各模块的电路连接,如表 3.1 表述。

表 3.1 引脚端口对应表

模块名称模块引脚端口STM32 引脚端口


蓝牙串口通讯器RXD
TXD
GND
VCCA9
A10
GND
5v


超声波探头Trig
Echo
GND
VCCB5
B6
GND
5v

液晶显示屏SCL
SDA
GND
VCCB12
B13
GND
3.3v

蜂鸣器I/O
GND
VCCA11
GND
3.3v

温湿度传感器DATA
GND
VCCA15
GND
3.3v

仪器整体的组成,由主控板和超声波传感器作为核心模块[7] ,蜂鸣器、温湿度传感 器、蓝牙模块、显示屏作为辅助模块。同时采用面包板为电路基础板,以及各类杜邦线 连接各项模块。仪器可视化电路图(仅供参考),如图 3.9 所示。


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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

STM32-04基于HAL库(CubeMX+MDK+Proteus)中断案例(按键中断扫描)

文章目录 一、功能需求分析二、Proteus绘制电路原理图三、STMCubeMX 配置引脚及模式,生成代码四、MDK打开生成项目,编写HAL库的按键检测代码五、运行仿真程序,调试代码 一、功能需求分析 在完成GPIO输入输出案例之后,开始新的功能…

如何防止IP泄露,安全匿名上网?

当互联网成为每个家庭的重要组成部分后,IP地址就成了你的虚拟地址。您的请求从该地址开始,然后 Internet 将消息发送回该地址。那么,您担心您的地址被泄露吗? 对于安全意识高或者某些业务需求的用户,如果您正在寻找保护…

用户认证安全性测试

用户认证安全性测试 认证与会话管理认证--Authentication01 常见认证方式02 session认证Session Fixation攻击Session保持攻击 03 Token认证多因素认证session和token区别 04 暴力破解密码的那些事密码设置推荐策略 会话--Authorization 权限控制权限管理方式垂直权限管理水平权…

redis 集群 (主从复制 哨兵模式 cluster)

目录 一 主从复制 (一)相关理论 1,主从复制定义 2,主从复制的作用 3,主从复制架构图 4 sync 同步过程 5,主从复制流程 (二) 实验模拟 1, 实验环境 2, 修…

【ArduinoQuartus】在小脚丫STEP CYC10上安装PulseRain Reindeer并在软核上运行基础功能

【Arduino&Quartus】在小脚丫STEP CYC10上安装PulseRain Reindeer并在软核上运行基础功能 一、将Reindeer软核下载到STEP CYC10(一)下载PulseRain Reindeer软核(二)配置Reindeer软核到开发板1.将sof文件转换为jic文件2.将jic文…

【动态】江西省小型水库安全监测能力提升试点项目通过验收

近日,由北京国信华源科技有限公司和长江勘测规划设计研究有限责任公司联合承建的江西省小型水库安全监测能力提升试点项目圆满通过验收。 在项目业主单位的组织下,省项目部、特邀专家、县水利局二级项目部以及项目设计、监理、承建等单位的代表组成验收工…

OpenHarmony实战:小型系统器件驱动移植

本章节讲解如何移植各类器件驱动。 LCD驱动移植 移植LCD驱动的主要工作是编写一个驱动,在驱动中生成模型的实例,并完成注册。 这些LCD的驱动被放置在源码目录//drivers/hdf_core/framework/model/display/driver/panel中。 创建Panel驱动 创建HDF驱动…

Nginx从安装到高可用实用教程!

一、Nginx安装 1、去官网http://nginx.org/下载对应的nginx包,推荐使用稳定版本 2、上传nginx到linux系统 3、安装依赖环境 (1)安装gcc环境 yum install gcc-c(2)安装PCRE库,用于解析正则表达式 yum install -y pcre pcre-devel(3)zlib压缩和解压缩…

C++输出格式控制

setprecision(n)可控制输出流显示浮点数的数字个数。C默认的流输出数值有效位是6,所以不管数据是多少,都只输出六位。如果setprecision(n)与setiosflags(ios::fixed)或者setiosflags(ios_base::fixed)合用,可以控制小数点右边的数字个数。set…

中间件复习之-RPC框架

什么是RPC框架? RPC(Remote Procedure Call):远程过程调用。当多个应用部署在多个服务器上时,由于他们不在一个内存空间上,因此需要网络来进行通信,而RPC允许它像调用本地方法一样调用远程服务。 RPC原理 服务消费方通过RPC客户…

UE5 C++ LevelSequence

前言 最近在用UE C做一些功能,用到了Level Sequence功能,但是看了下UE官方论坛包括一些文章基本没有关于C 处理Level Sequence 这块内容,有的也是一些修改或者源码原理的一些内容分析,接下来我就把我新建Sequence包括一些库的调用…

CleanMyMac X中文---一键优化Mac,释放存储空间新利器

CleanMyMac X是一款专业的苹果笔记本系统管理工具,旨在全面优化和清理Mac内存,释放更多有效空间,使Mac始终保持最佳状态。它具备智能扫描功能,能够准确识别并清理系统垃圾、冗余文件以及大型和废旧文件,有效释放磁盘空…

深入了解美颜技术开发:利用深度学习打造直播美颜SDK

直播美颜不仅让主播在镜头前更加自信,也让观众享受到更美好的视觉体验。而在美颜技术的背后,深度学习技术正扮演着至关重要的角色。 一、美颜技术的发展历程 这些算法往往无法达到自然的效果,容易出现过度处理或者失真的情况。随着深度学习…

CSS3新增的语法(四)

CSS3新增的语法(四)【布局】 14. 多列布局15.伸缩盒模型1. 伸缩盒模型简介2. 伸缩容器、伸缩项目3. 主轴与侧轴4. 主轴方向5. 主轴换行方式6. flex-flow7. 主轴对齐方式8. 侧轴对齐方式8.1 一行的情况8.2 多行的情况 9.flex 实现水平垂直居中10. 伸缩性1…

【opencv】教程代码 —Histograms_Matching(1)反向投影:在给定图像中寻找特定的颜色或颜色分布...

1. calcBackProject_Demo1.cpp 反向投影函数的使用 /*** file BackProject_Demo1.cpp* brief 示例代码,演示反向投影函数的使用* author OpenCV团队*/#include "opencv2/imgproc.hpp" // 包括图像处理相关功能的头文件 #include "opencv2/imgcodecs…

VMware创建Ubuntu虚拟机详细教程

下载ISO映像文件 进入官网下载:Download Ubuntu Desktop | Download | Ubuntu 下面是一些其他的下载路径: 中国官网 https://cn.ubuntu.com/ 中科大源 Index of /ubuntu-releases/ (ustc.edu.cn) 阿里云开源镜像站 ubuntu-releases安装包下载_开源镜像…

使用 BeeWare 构建 Python GUI 应用程序

点击下方卡片,关注“小白玩转Python”公众号 本文探讨使用 BeeWare 套件通过 Python 构建应用程序的基础知识,详细介绍其功能、优点以及与其他流行框架的比较。 由于 Python 语言的简单性和多功能性,用它构建应用程序变得越来越流行。在 Pyth…

Centos7安装单机版Kafka

下载 链接:https://pan.baidu.com/s/1W8lVEF6Y-xlg6zr3l9QAbg?pwdhbkt 提取码:hbkt 上传到服务器/opt目录 安装 # kafka安装目录为 /opt/kafka cd /opt; mkdir kafka; mv kafka_2.13-2.7.0.tgz ./kafka;cd kafka; #解压 tar -zxvf kafka_2.13-2.7.0…

边缘计算盒子与云计算:谁更适合您的业务需求?

边缘计算盒子和云计算,这两个概念听起来可能有点复杂,但其实它们就是两种不同的数据处理方式。那谁更适合您的业务需求呢?咱们来详细说说。 边缘计算盒子,就像是个小型的数据处理中心,放在离你业务现场比较近的地方。它…

STM32 TIM DMA burst 输出变频 PWM 波形

1. 问题背景 客户需要 MCU 输出一组变频的 PWM 波形来控制外围器件,并且不同频率脉冲的个数也不同。STM32U5 芯片拥有 TIM1/TIM8 高级定时器,还有通用定时器TIM2/TIM3/TIM4/TIM5 以及 TIM15/TIM16/TIM17。TIM 模块中,可通过修改 ARR 寄存器的…