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

摘    要

如今社会持续深化转型,在人工智能领域,传感器采集外部数据,经过处理器对数 据运算和处理,从而实现相应的功能。比如自动驾驶技术中,超声波传感器应用广泛, 超声波是一种频率在 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 所示。


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何保护IP地址?安全匿名上网的方法

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

Zabbix6 - Web管理网络拓扑/端口流量监控配置手册

Zabbix6 - Web管理网络拓扑/端口流量监控配置手册 概述: 1)Zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。 Zabbix由两部分构成,Zabbix Server与可选组件Zabbix Agent。通过C/S模式采集数据,通过B…

WEB 工程路径

WEB 工程路径 相对路径 使用相对路径来解决, 一个非常重要的规则:页面所有的相对路径,在默认情况下,都会参考当前浏览器地址栏的路径 http://ip:port/工程名/ 资源来进行跳转。 相对路径带来的问题 如上图,若在a.h…

MySQL进阶-----前缀索引、单例与联合索引

目录 前言 一、前缀索引 1. 语法 2. 如何选择前缀长度 3. 前缀索引的查询流程 二、单列索引与联合索引 三、索引设计原则 前言 本期是MySQL进阶篇当中索引的最后一期内容,这里我们主要接着上一期继续讲解前缀索引、单例与联合索引。(上一期链接&…

02 Python进阶:CGI编程

什么是CGI CGI是通用网关接口(Common Gateway Interface)的缩写,它是一种标准协议,用于Web服务器执行外部程序或脚本与Web浏览器进行交互。通过CGI,Web服务器能够动态生成网页内容,处理用户提交的表单数据…

从零开始 使用OMNET++结合VEINS,INET和SUMO的联合仿真

背景知识 当我们探索未来的交通系统和智能交通解决方案时,车辆到一切(Vehicle-to-Everything, V2X)通信技术显得尤为重要。V2X是指在车辆与车辆(V2V)、车辆与基础设施(V2I)、车辆与行人&#x…

年薪50w的网络安全工程师是如何炼成的?

前言 一、什么是网络安全 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 无论网络、Web、移动、桌面、云等哪个领域,都有攻与防…

“三电”打不过极氪007、比亚迪海豹?我还是选小米SU7 Pro

文 | AUTO芯球 作者 | 雷歌 我真是越来越烦小米汽车的这帮脑残粉了。 小米SU7热闹的发布会过后, 友商们开始在价格上狙击小米SU7。 这两天, 问界M7降价2万,22万多就能提, 极氪001现在送1.6万的选装配置, 银河E…

ChatGPT 上线新功能:DALL·E 可以编辑图片了

ChatGPT 上线新功能:DALLE 可以编辑图片了。可以对生成的图片内容进行修改、添加和删除。 前几天看到消息说还在内测中,今天就体验上了。 这是官方文档:https://help.openai.com/en/articles/9055440-editing-your-images-with-dall-e 界面…

【fastadmin】脚本模式下,日志钩子函数执行出现死循环,导致内存溢出奔溃

问题出现原因是想对项目中error级别的日志,接入钉钉告警,方便查看 于是使用钩子方法,日志写入完成后,自动调用自定义的告警方法中 1、在application/tags.php 中添加log_write_done > [app\\common\\behavior\\Common, ],2、在…

GPTs构建广告文案Agent(只需要一个网址链接即可生成文案及配图)

在大家已经有账号的前提下,我们来看看怎么做!!! 进入GPTs的编辑界面 如下图: 如何配置呢? Name:给我们的GPTs起个名字。Description:简单介绍一下,我们创建的GPTs是…

家用洗地机选购指南,哪款洗地机性价比高且用户评价好?

在当今快节奏的生活中,无论是商业场所还是家庭,清洁环境都是我们追求的目标之一。而一台高性价比的洗地机在频繁清洁地面时尤为重要。市面上的洗地机种类繁多,如何选择适合自己的洗地机成为了一个挑战。那么,到底哪款牌子的洗地机…

隐语SecretFlow实训营-第9讲:隐语多方安全计算在安全核对的行业实践

业务背景:安全核对产生的土壤 行业背景: 隐私计算技术,实现数据可用不可见、可用不可得。 产品方案:从试点到规模化的路 基于隐语SCQL的数据比对应用:风洞隐私安全核对。 支持 1 to N的规模化核对。 特色功能&…

经典卡尔曼滤波完整公式推导

文章目录 1. 例子1.1 kalman跟踪车道线1.2 鼠标跟踪-匀速运动 2. 卡尔曼滤波3. 卡尔曼公式推导3.1 数学基础1(递归)3.2 数学基础2(数据融合、协方差、状态空间方程、观测器问题)3.3 卡尔曼增益公式推导3.4 误差协方差矩阵3.5 误差来源3.6 滤波调参 运动模型参考资料 1. 例子 1…

【重学C语言】三、C语言最简单的程序

【重学C语言】三、C语言最简单的程序 最简单的程序头文件使用尖括号 < >使用双引号 ""区别与注意事项示例 主函数认识三个错误 常量和变量常量ASCII 码表转义字符 关键字数据类型关键字存储类关键字修饰符关键字控制流程关键字函数相关关键字其他关键字 变量变…

SQL语句生成器,支持MSSQL/MYSQL/SQLITE/ACCESS/EXCEL

经过7个月的艰苦开发&#xff0c;SQL语句生成器终于和各位见面了&#xff0c;因为工程量浩大&#xff0c;一度做到崩溃&#xff0c;差点烂尾&#xff0c;好在经过N次激烈思想斗争后还是坚持了下来累累累累累累累 本软件能够自动生成SQL语句及对应的易语言代码&#xff0c;还有相…

HCIA笔记

console 登录设备的特点&#xff1a; 1、带外&#xff0c;不依赖网络本身的连通性。 2、独占&#xff0c;console口不能被多人同时使用&#xff0c;具备唯一性。 3、本地&#xff0c;console口长度有限&#xff0c;一般只能在机房或者设备现场来使用。 4、只能实现命令行的管理…

安泰电子 :电压放大器的技术指标有哪些

电压放大器是电子设备中常见的一种电路&#xff0c;它的作用是将输入信号的电压放大到所需的输出电压。电压放大器的技术指标描述了其性能和特征&#xff0c;涵盖了许多方面。下面西安安泰将详细介绍一些电压放大器的技术指标。 增益&#xff1a;增益是电压放大器最基本的指标之…

央视曝光!耗资超800万元建高标准农田,两年后改建光伏电站

近期&#xff0c;央视报道揭露湖北部分乡村存在基本农田被光伏项目侵占的情况。报道称湖北孝感市安陆市木梓乡发现光伏项目占用基本农田&#xff0c;却只得每亩500元租金且光伏项目未配套农业种植&#xff0c;导致村民收入减少和噪音扰民的情况。 据央视走访调查该地发现存在工…

【C++第三阶段】模板类模板通用数组实现案例

以下内容仅为当前认识&#xff0c;可能有不足之处&#xff0c;欢迎讨论&#xff01; 文章目录 模板怎么使用模板函数模板注意事项普通函数与函数模板的区别普通函数与函数模板调用规则函数模板限制 类模板类模板语法类模板与函数模板区别类模板中成员函数创建时机类模板对象做函…