STM32单片机的高精度超声波测距系统设计

发布者:Heavenly999最新更新时间:2024-09-14 来源: elecfans关键字:STM32  单片机  高精度  超声波测距系统 手机看文章 扫描二维码
随时随地手机看文章

一、系统组成

STM32单片机的高精度超声波测距系统的设计主要由STM32单片机、超声波发射电路、接受电路、补偿电路和软件等构成。该系统将STM32单片机作为整个系统的核心,通过协调各部分电路工作,进而实现高精度的超声波测距口。


二、系统硬件设计

1、超声波发射电路

超声波发射电路两个最主要的组成部分就是超声波探头和超声波激励电路。超声波探头不仅是超声波发射电路的一个重要组成部分,更是整个超声波测距系统的重要组成部分。它是超声波测距系统中用以发射或接受超声波信号的主要器件。超声波激励电路的基本工作原理是首先利用相应的机理信号对一特定形式的电压进行处理之后,将其加载到超声波探头上,然后再通过超声波探头压电晶片将其自身所具有的电能转化为超声波信号图。

2、超声波縷收电路

超声波接收电路由超声波信号采集与超声波信号处理两部分组成,该电路主要负责对超声波回波信号进行捕捉。由于电脉冲信号是由超声波传感器在接收到超声波回波信号之后经过转变而形成的,所以在正常情况下,它是无法直接进人到STM32单片机当中的。另外,超声波在传播过程中,往往会有部分超声波因为在辅助介质中传播而发生耗损现象,且超声波回波信号减小的幅度也会随着被测物体距离的增大而增大。

受声波的反射、散射和(2.2.3超声波补偿电路)声束本身扩散等的影响,使得超声波在传播过程中其大小将会随着传播距离的改变而改变,传播距离越大,超声波信号则越小。在STM32单片机的高精度超声波测距系统设计过程中,为了提高测量结果的精度,设计人员通常会对衰减的超声波回波进行时间增益补偿,这就需要将超声波补偿电路加人到系统设计之内,超生波补偿电路的设计基本上都是采用具有时司增益控制功能的接收放大器。

3、超声波补偿电路

受声波的反射、散射和(2.2.3超声波补偿电路)声束本身扩散等的影响,使得超声波在传播过程中其大小将会随着传播距离的改变而改变,传播距离越大,超声波信号则越小。在STM32单片机的高精度超声波测距系统设计过程中,为了提高测量结果的精度,设计人员通常会对衰减的超声波回波进行时间增益补偿,这就需要将超声波补偿电路加人到系统设计之内,超生波补偿电路的设计基本上都是采用具有时司增益控制功能的接收放大器。

4、主控器

该系统的核心组成部分采用STM32单片机,该单片机对主控器主频与定时器的控制是通过PLL进行陪频,从而让主控器的频率可以达到72MHz。主控器拥有如此高分辨率的定时器,可以实现超声波测距的高精度测量巧]。

系统软件设计

STM32单片机的高精度超声波测距系统,其软件设计的主要流程如下:首先,对系统各个馍块进行初始化,通过STM32单片机的PWM产生频率为40KHz的、具有8个周期的脉冲方波,并将要在漠块中进行捕捉的超声波回波输人到捕捉指令当中;其次,待超声波回波顺利进人到接收电路之后,利用整形电路和放大电路等硬件对其进行相应的处理并传送到STM32单片机内,当STM32单片机捕捉到回波触发信号时,利用软件滤波和峰值时间检测法来计算出峰值时刻回波的到达时间;最后,借助相关计算公式得出被测距离值。


关键字:STM32  单片机  高精度  超声波测距系统 引用地址:STM32单片机的高精度超声波测距系统设计

上一篇:使用STM32CubeIDE更轻松地从编写代码切换到配置实用程序
下一篇:STM32CUBEMX开发GD32F303(15)----外部中断EXTI

推荐阅读最新更新时间:2024-11-09 18:07

基于STM32的四旋翼飞行姿态串级控制的设计与实现
四旋翼飞行器与传统的单桨直升机相比,其飞行原理简单,结构紧凑,单位体积所提供的升力大,且可以扭矩自平衡而不需要反扭桨。四旋翼飞行器只通过改变螺旋桨的速度来实现各种动作,是一种六自由度的垂直起降机,非常适合在静态和准静态条件下飞行,近几年在军事和民用领域广泛应用。然而四旋翼飞行器是个具有4个输入量,6个输出量的欠驱动系统,控制器的设计要求高。 姿态解算是姿态参考系统的关键技术,算法的优劣直接决定了解算效率和系统的精度。目前姿态描述的主要方式有:欧拉角、方向余弦、四元素法。欧拉角物理意义明确,但存在“奇点”。方向余弦计算没有“奇点”,但三角函数运算量大,不适合实时运算。四元素法没有“奇点”,而且运算为一般代数运算,运算量小,方法简
[单片机]
基于<font color='red'>STM32</font>的四旋翼飞行姿态串级控制的设计与实现
STM32——通用设备单元
不说废话,直接来说: 首先,STM32的通用设备单元包括了以下个部分,分别是通用输入/输出口(GPIO或者I/O)、外部中断单元、ADC转换模块、通用/高级定时器、实时时钟RTC、备份寄存器、入侵检测引脚。 通用输入/输出口 GPIO(总共有80个),分布在5个端口中,其中每个端口有16个GPIO,分别以A~E来命名这16个GPIO口。最大耐压值为5V。大部分的外部引脚都可以从通用的GPIO切换为用户设备的专用I/O口。STM32还有一个外部中断控制单元,允许将每个端口上的16个GPIO通过映射成为外部中断输入口。 外部中断单元 外部中断单元(共19个外部中断(EXTI)通道),通过内嵌向量中断控制器(NVIC)与中断
[单片机]
STM32F0单片机快速入门七 串口(UART)操作从轮询到中断
1.从轮询到中断 很多同学都不喜欢用中断,而偏爱用轮询的操作方式。 这是不是和我们的天性有关呢?每个人都喜欢一切尽在掌握中,肯定都不喜欢被打断。我们常常都有这样的经验:正在跟别人说一件事,然后突然有个电话打进来,Call打完后突然记不起来刚才讲到哪了!这种糟糕的体验对我们影响是如此深刻,以至于我们认定机器可能也是这样吧,频繁的中断会不会把事情搞乱呢?好在机器虽然大部分时间都比人笨一些,但在处理这种问题上却能做到一丝不苟。机器在中断来的时候总会老老实实地先把当前正在做的记录下来,然后转去处理中断事件,中断处理完后分毫不差地恢复原来的工作。 仔细想一想,我们是不是也可以在接电话前先用个小本儿记录一下正在讲的事情呢?我们为什么没有这么
[单片机]
STM32笔记(二)—STM32与寄存器概念(附寄存器版简易LED流水灯)
(内核+外设) ICode 总线 ICode 中的 I 表示 Instruction,即指令。我们写好的程序编译之后都是一条条指令,存 放在 FLASH 中,内核要读取这些指令来执行程序就必须通过 ICode 总线,它几乎每时每刻都需要被使用,它是专门用来取指的。 驱动单元 DCode 总线 DCode 中的 D 表示 Data,即数据,那说明这条总线是用来取数的。我们在写程序的时候,数据有常量和变量两种,常量就是固定不变的,用 C 语言中的 const 关键字修饰,是 放到内部的 FLASH 当中的,变量是可变的,不管是全局变量还是局部变量都放在内部的 SRAM。因为数据可以被 Dcode 总线和 D
[单片机]
<font color='red'>STM32</font>笔记(二)—<font color='red'>STM32</font>与寄存器概念(附寄存器版简易LED流水灯)
IAR stm32 printf重定向设置
在MDK中重定向的问题,各种教程。其实在IAR中是相似的,我是从野火的教程中复制的代码。 (1)在IAR中需要添加一个宏(_DLIB_FILE_DESCRIPTOR)。 (2)在USART1.c(根据自己的情况)文件中对fputc函数进行重定义就可以。 解释:这个宏是哪里来的?为什么要是重定义fputc()而不是别的函数? 在stdio.h文件中可以找到答案。
[单片机]
IAR <font color='red'>stm32</font> printf重定向设置
单片机外围模块漫谈之四,USB总线基本概念
USB概述 USB设备现在是用的非常普遍的一种接口了,它即插即用的特性给人们带来了很大的方便。在嵌入式的应用中, USB经常被用来作为与上位机通信的接口,还用来通过U盘存储数据等。USB按通讯速度可分为低速,全速和高速设备。在我们的应用中,低速和全速是最为普遍的,在此我们对USB从物理层到协议层做一个简要的介绍。高速USB的原理是一样的,在理解了低速和全速设备的工作原理后再去理解高速设备就比较简单了,在此我们暂不讨论。 低速(Low Speed, 1.5Mbps):键盘,鼠标,手写笔 全速(Full Speed, 12Mbps):音频 高速(High Speed, 480Mbps):视频 USB协议是开放的,可以从官方网站
[单片机]
基于单片机高精度海量数据采集与存储系统
  摘要:为满足在某些恶劣实验环境条件下数据的高精度采集。海量存储以便事后分析的需要,设计出了以MSP430F1611单片机为主控单元,采用16位高精度A/D转换芯片ADS1146实现数据采集;利用大容量TF存储卡实现数据的海量存储,并通过并口转USB芯片及相应的上位机软件实现数据上传以便进行事后分析。目前,该数据采集存储系统已在相关实验项目中得到应用,并获得了良好稳定的实验结果。   0 引言   随着信息技术的发展,特别是各种数字处理器件处理速度的提高,实现海量实时数据处理已成为现实。但是,在一些恶劣实验环境条件下,数据无法实现实时处理,仍需用到存储测试的方法。   存储测试是指在对被测对象无影响或影响在允许范围条件下
[单片机]
基于<font color='red'>单片机</font>的<font color='red'>高精度</font>海量数据采集与存储<font color='red'>系统</font>
单片机编程如何快速入门?
单片机是一门实践性很强的课程(是半软半硬的东西),所以必须是理论联系实践。 一、什么是单片机呢? 单片机 1、和我们的计算机(电脑)差不多,大家都知道,我们的计算机(电脑)里面有 (1)CPU (2)硬盘 (3)内存 (4)主板 (5)等等。 这些东西是装在一个叫主机的里面的。好大!一个CPU大概要400块,硬盘也要500左右,内存200左右,主板500左右,这些东西加在一起大概要1600块左右。如果配上其他的,一台电脑要3000到4000左右吧。 视图2、但是把这些东西(CPU,硬盘,内存,主板等等)用集成块做好后,如下图所视: 就成了我们要学习的“单片机”
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved