基于stm32的超声波测距系统
基于单片机超声波测距系统的设计和实现

基于单片机超声波测距系统的设计和实现超声波测距系统是利用超声波传播速度较快的特性,通过发射超声波并接收其回波来测量距离的一种常见的测距方式。
在本文中,我们将介绍基于单片机的超声波测距系统的设计和实现。
一、系统设计原理超声波测距系统主要由超声波发射器、超声波接收器、单片机和显示器组成。
其工作原理如下:1.发送超声波信号:超声波发射器通过单片机控制,向外发射超声波信号。
超声波的发射频率通常在40kHz左右,适合在空气中传播。
2.接收回波信号:超声波接收器接收到回波信号后,将信号经过放大和滤波处理后送入单片机。
3.距离计算:单片机通过测量超声波发射和接收的时间差来计算距离。
以声速343m/s为例,超声波的往返时间与距离之间的关系为:距离=时间差×声速/2、通过单片机上的计时器和计数器来测量时间差。
4.数据显示:单片机将计算得到的距离数据通过显示器显示出来,实时展示被测物体与超声波传感器之间的距离。
二、系统设计步骤1.系统硬件设计:选择合适的超声波模块,其具有超声波发射器和接收器功能,并可通过接口与单片机连接。
设计好电源电路以及超声波传感器与单片机之间的连接方式。
2.系统软件设计:根据单片机的型号和编程语言,编写相应的程序。
包括超声波信号的发射和接收控制,计时和计数功能的编程,距离计算和数据显示的实现。
3.硬件连接和调试:将硬件连接好后,对系统进行调试。
包括超声波模块与单片机的连接是否正确,超声波信号的发射和接收是否正常,计时和计数功能是否准确等。
5.优化和改进:根据实际测试结果,对系统进行优化和改进。
如增加滤波和放大电路以提高信号质量,调整超声波模块的发射频率,改进显示方式等。
三、系统实现效果完成以上设计和实施后,我们可以得到一个基于单片机的超声波测距系统。
该系统使用简单,测距精度高,响应速度快,适用于各种距离测量的应用场景。
同时,该系统还可根据具体需求进行各种改进和扩展,如与其他传感器结合使用,增加报警功能等。
基于stm32单片机的超声波测距仪设计报告

基于stm32单片机的超声波测距仪设计报告【文章标题】基于STM32单片机的超声波测距仪设计报告【引言】超声波测距是一种常见且有效的测量方法,被广泛应用于工业控制、自动化、智能家居等领域。
本文将深入讨论基于STM32单片机的超声波测距仪的设计原理、硬件搭建和软件编程,并分享对该设计的观点和理解。
【简介】1. 超声波测距原理简介(可使用子标题,如1.1)- 超声波的特性与应用- 超声波传感器原理及工作方式2. 设计方案(可使用子标题,如2.1)- 系统框图:硬件模块与连接方式- 所需材料清单及器件参数选择【正文】1. 超声波传感器的选型与特性比较(可使用子标题,如1.1)1.1 超声波传感器的种类与特点1.2 STM32单片机与超声波传感器的配合选择理由与原则2. 硬件电路设计与搭建(可使用子标题,如2.1)2.1 超声波发射电路设计与实现2.2 超声波接收电路设计与实现2.3 STM32单片机与超声波传感器的连接方法及引脚映射3. 软件编程实现(可使用子标题,如3.1)3.1 STM32单片机开发环境配置与准备3.2 程序框架和流程设计3.3 超声波信号处理与距离计算算法【总结】1. 设计成果总结与优缺点评价- 设计成果与功能实现总结- 设计过程中的挑战与解决方案- 设计的优点与改进空间2. 对基于STM32单片机的超声波测距仪设计的观点和理解- 本设计在硬件搭建和软件编程方面充分利用了STM32单片机的性能与功能- 超声波测距仪在工业自动化和智能家居等领域具有广阔应用前景 - 未来可以进一步提升设计的灵活性和可扩展性【参考资料】- 张三: 《超声波测距原理与应用技术》,出版社,2018年- 李四: 《STM32单片机与嵌入式系统设计》,出版社,2019年以上是本文基于STM32单片机的超声波测距仪设计报告,对这个主题的观点和理解。
希望这篇文章内容全面、深入,并能帮助您对超声波测距仪设计有更深刻的理解。
基于STM32单片机的高精度超声波测距系统的设计

基于STM32单片机的高精度超声波测距系统的设计一、本文概述超声波测距技术因其非接触、高精度、实时性强等特点,在机器人导航、车辆避障、工业测量等领域得到了广泛应用。
STM32单片机作为一种高性能、低功耗的嵌入式系统核心,为超声波测距系统的设计提供了强大的硬件支持。
本文旨在设计一种基于STM32单片机的高精度超声波测距系统,以满足不同应用场景的需求。
二、超声波测距原理本部分将介绍超声波测距的基本原理,包括超声波的产生、传播、接收以及距离的计算方法。
同时,分析影响超声波测距精度的主要因素,为后续系统设计提供理论基础。
三、系统硬件设计3、1在设计基于STM32单片机的高精度超声波测距系统时,我们遵循了“精确测量、稳定传输、易于扩展”的总体设计思路。
我们选用了STM32系列单片机作为系统的核心控制器,利用其强大的处理能力和丰富的外设接口,实现了对超声波发射和接收的精确控制。
在具体设计中,我们采用了回波测距法,即发射超声波并检测其回波,通过测量发射与接收之间的时间差来计算距离。
这种方法对硬件的精度和稳定性要求很高,因此我们选用了高精度的超声波传感器和计时器,以确保测量结果的准确性。
我们还考虑到了系统的可扩展性。
通过STM32的串口通信功能,我们可以将测量数据上传至计算机或其他设备进行分析和处理,为后续的应用开发提供了便利。
我们还预留了多个IO接口,以便在需要时添加更多的传感器或功能模块。
本系统的设计思路是在保证精度的前提下,实现稳定、可靠的超声波测距功能,并兼顾系统的可扩展性和易用性。
31、1.1随着物联网、机器人技术和自动化控制的快速发展,精确的距离测量技术在各个领域的应用越来越广泛。
超声波测距技术作为一种非接触式的距离测量方式,因其具有测量精度高、稳定性好、成本相对较低等优点,在工业自动化、智能家居、机器人导航、安防监控等领域得到了广泛应用。
STM32单片机作为一款高性价比、低功耗、高性能的嵌入式微控制器,在智能设备开发中占据重要地位。
超声波雷达测距实训报告

一、实训目的本次实训旨在通过实际操作,了解超声波雷达测距的原理和实现方法,掌握超声波传感器的基本使用技巧,并学会利用STM32单片机进行数据处理和显示,从而完成一个简单的超声波雷达测距系统。
二、实训器材1. STM32F103单片机开发板2. HC-SR04超声波传感器模块3. OLED显示屏4. 连接线5. 电源三、实训原理超声波雷达测距的原理是利用超声波在空气中的传播速度来测量距离。
当超声波传感器发射超声波时,它会遇到障碍物后反射回来,通过测量超声波从发射到接收的时间差,可以计算出障碍物与传感器之间的距离。
四、实训步骤1. 硬件连接:- 将HC-SR04超声波传感器模块的两个引脚分别连接到STM32单片机的GPIO引脚。
- 将OLED显示屏的相应引脚连接到STM32单片机的SPI或I2C接口。
- 将电源连接到STM32单片机和超声波传感器模块。
2. 软件设计:- 编写STM32单片机的初始化程序,配置GPIO引脚、SPI/I2C接口等。
- 编写超声波传感器的控制程序,用于控制超声波传感器的发射和接收。
- 编写数据处理程序,用于计算超声波从发射到接收的时间差,从而得到距离值。
- 编写OLED显示屏的显示程序,用于显示距离值。
3. 程序实现:- 使用STM32 HAL库函数或直接操作寄存器来实现程序。
- 通过定时器中断来实现超声波传感器的时序控制。
- 使用查表法或直接计算法来实现距离值的转换。
4. 系统测试:- 将系统放置在测试环境中,调整测试距离,观察OLED显示屏上显示的距离值是否准确。
- 分析测试结果,找出系统误差的来源,并进行优化。
五、实训结果与分析1. 测试结果:- 在不同的测试距离下,OLED显示屏上显示的距离值与实际距离基本相符,说明系统具有较高的测量精度。
2. 误差分析:- 超声波在空气中的传播速度受温度、湿度等因素的影响,导致测距误差。
- 超声波传感器的响应时间存在一定的延迟,也会导致测距误差。
基于单片机控制的超声波测距系统的设计

基于单片机控制的超声波测距系统的设计一、概述。
超声波测距技术是一种广泛应用的测距技术,它能够非常精确地测量物体到传感器的距离。
本文介绍的基于单片机控制的超声波测距系统主要由控制模块、信号处理模块和驱动模块三部分组成。
其中,控制模块主要实现超声波信号的发射与接收,信号处理模块主要实现对测量结果的处理和计算,驱动模块主要实现对LED灯的控制。
二、硬件设计。
1.超声波发射模块:采用 SR04 超声波发射传感器,并通过单片机的PWM 输出控制 SR04 的 trig 引脚实现超声波信号的发射。
2.超声波接收模块:采用SR04超声波接收传感器,通过单片机的外部中断实现对超声波信号的接收。
3.控制模块:采用STM32F103单片机,通过PWM输出控制超声波发射信号,并通过外部中断接收超声波接收信号。
4.信号处理模块:采用MAX232接口芯片,将单片机的串口输出转换成RS232信号,通过串口与上位机进行通信实现测量结果的处理和计算。
5.驱动模块:采用LED灯,通过单片机的GPIO输出控制LED灯的亮灭。
三、软件设计。
1.控制模块:编写程序实现超声波信号的发射与接收。
其中,超声波发射信号的周期为 10us,超声波接收信号的周期为 25ms。
超声波接收信号的处理过程如下:(1)当 trig 引脚置高时,等待 10us。
(2)当 trig 引脚置低时,等待 echo 引脚为高电平,即等待超声波信号的回波。
(3)当 echo 引脚为高电平时,开始计时,直到 echo 引脚为低电平时,停止计时。
(4)根据计时结果计算物体到传感器的距离,将结果通过串口输出。
2.信号处理模块:编写程序实现接收计算结果,并将结果通过串口与上位机进行通信。
具体步骤如下:(1)等待串口接收数据。
(2)当接收到数据时,将数据转换成浮点数格式。
(3)根据测量结果控制LED灯的亮灭。
以上就是基于单片机控制的超声波测距系统的设计。
该系统能够通过精确测量物体到传感器的距离并对测量结果进行处理和计算,能够广泛应用于各种实际场合。
基于STM32的HC-SR04超声波测距模块实验

基于STM32的HC-SR04超声波测距模块实验硬件环境STM32F407探索板(其他开发板皆可以)HC-SR04超声波模块软件环境KEIL5CUBEMX串口调试助手(sscom或其他)实验目标•了解HC-SR04超声波模块工作原理•实现超声波模块测距1、超声波模块介绍1.1 超声波测距原理及系统组成超声波测距是借助于超声脉冲回波渡越时间法来实现的。
设超声波脉冲由传感器发出到接收所经历的时间为t,超声波在空气中的传播速度为c,则从传感器到目标物体的距离D可用下式求出:D = ct/2,图2是相应的系统框图。
基本原理:经发射器发射出长约 6mm,频率为 40KHZ 的超声波信号。
此信号被物体反射回来由接收头接收,接收头实质上是一种压电效应的换能器。
它接收到信号后产生 mV 级的微弱电压信号。
1.2 HC-SR04模块原理HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测距精度可达高到3mm,模块包括超声波发射器、接收器与控制电路。
基本工作原理:(1)采用IO 口TRIG 触发测距,给最少10us 的高电平信呈。
(2)模块自动发送 8 个 40khz 的方波,自动检测是否有信号返回;(3)有信号返回,通过 IO 口 ECHO 输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。
测试距离=(高电平时间*声速(340M/S))/2,下面是实物图。
如上图接线,VCC供5V电源,GND为地线,TRIG触发控制信号输入,ECHO 回响信号输出等四个接口端。
1.3 超声波时序图以上时序图表明你只需要提供一个10uS以上脉冲触发信号,该模块内部将发出8个40kHz周期电平并检测回波。
一旦检测到有回波信号则输出回响信号。
回响信号的脉冲宽度与所测的距离成正比。
由此通过发射信号到收到的回响信号时间间隔可以计算得到距离。
公式:uS/58=厘米或者uS/148=英寸;或是:距离=高电平时间*声速(340M/S)/2;建议测量周期为60ms以上,以防止发射信号对回响信号的影响。
stm32与HC-SR04超声波传感器测距

stm32与HC-SR04超声波传感器测距⾸先,先来看⼀下这个模块的基本功能和原理。
HC-SR04超声波测距模块可提供2cm-400cm的⾮接触式距离感测功能,测距精度可达⾼到3mm;模块包括超声波发射器、接收器与控制电路。
像智能⼩车的测距以及转向,或是⼀些项⽬中,常常会⽤到。
智能⼩车测距可以及时发现前⽅的障碍物,使智能⼩车可以及时转向,避开障碍物。
注意是5v输⼊,但是我⽤stm32 的3.3v输⼊也是没有问题的。
⼆.⼯作原理1.给超声波模块接⼊电源和地。
2.给脉冲触发引脚(trig)输⼊⼀个长为20us的⾼电平⽅波3.输⼊⽅波后,模块会⾃动发射8个40KHz的声波,与此同时回波引脚(echo)端的电平会由0变为1;(此时应该启动定时器计时)4.当超声波返回被模块接收到时,回波引脚端的电平会由1变为0;(此时应该停⽌定时器计数),定时器记下的这个时间即为超声波由发射到返回的总时长。
5.根据声⾳在空⽓中的速度为344⽶/秒,即可计算出所测的距离。
要学习和应⽤传感器,学会看懂传感器的时序图是很关键的,所以我们来看⼀下HC-SR04的时序触发图。
我们来分析⼀下这个时序图,先由触发信号启动HC-RS04测距模块,也就是说,主机要先发送⾄少10us的⾼电平,触发HC-RS04,模块内部发出信号是传感器⾃动回应的,我们不⽤去管它。
输出回响信号是我们需要关注的。
信号输出的⾼电平就是超声波发出到重新返回接收所⽤的时间。
⽤定时器,可以把这段时间记录下来,算出距离,别忘了结果要除于2,因为总时间是发送和接收的时间总和。
下⾯是亲测可⽤的驱动程序。
芯⽚型号为stm32f103zet6,超声波测距后通过串⼝打印到电脑上⾯。
驱动和测距;//超声波测距#include "hcsr04.h"#define HCSR04_PORT GPIOB#define HCSR04_CLK RCC_APB2Periph_GPIOB#define HCSR04_TRIG GPIO_Pin_5#define HCSR04_ECHO GPIO_Pin_6#define TRIG_Send PBout(5)#define ECHO_Reci PBin(6)u16 msHcCount = 0;//ms计数void Hcsr04Init(){TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; //⽣成⽤于定时器设置的结构体GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(HCSR04_CLK, ENABLE);//IO初始化GPIO_InitStructure.GPIO_Pin =HCSR04_TRIG; //发送电平引脚GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//推挽输出GPIO_Init(HCSR04_PORT, &GPIO_InitStructure);GPIO_ResetBits(HCSR04_PORT,HCSR04_TRIG);GPIO_InitStructure.GPIO_Pin = HCSR04_ECHO; //返回电平引脚GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//浮空输⼊GPIO_Init(HCSR04_PORT, &GPIO_InitStructure);GPIO_ResetBits(HCSR04_PORT,HCSR04_ECHO);//定时器初始化使⽤基本定时器TIM6RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM6, ENABLE); //使能对应RCC时钟//配置定时器基础结构体TIM_DeInit(TIM2);TIM_TimeBaseStructure.TIM_Period = (1000-1); //设置在下⼀个更新事件装⼊活动的⾃动重装载寄存器周期的值计数到1000为1msTIM_TimeBaseStructure.TIM_Prescaler =(72-1); //设置⽤来作为TIMx时钟频率除数的预分频值 1M的计数频率 1US计数TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;//不分频TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM向上计数模式TIM_TimeBaseInit(TIM6, &TIM_TimeBaseStructure); //根据TIM_TimeBaseInitStruct中指定的参数初始化TIMx的时间基数单位TIM_ClearFlag(TIM6, TIM_FLAG_Update); //清除更新中断,免得⼀打开中断⽴即产⽣中断 TIM_ITConfig(TIM6,TIM_IT_Update,ENABLE); //打开定时器更新中断hcsr04_NVIC();TIM_Cmd(TIM6,DISABLE);}//tips:static函数的作⽤域仅限于定义它的源⽂件内,所以不需要在头⽂件⾥声明static void OpenTimerForHc() //打开定时器{TIM_SetCounter(TIM6,0);//清除计数msHcCount = 0;TIM_Cmd(TIM6, ENABLE); //使能TIMx外设}static void CloseTimerForHc() //关闭定时器{TIM_Cmd(TIM6, DISABLE); //使能TIMx外设}//NVIC配置void hcsr04_NVIC(){NVIC_InitTypeDef NVIC_InitStructure;NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);NVIC_InitStructure.NVIC_IRQChannel = TIM6_IRQn; //选择串⼝1中断NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //抢占式中断优先级设置为1 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //响应式中断优先级设置为1 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //使能中断NVIC_Init(&NVIC_InitStructure);}//定时器6中断服务程序void TIM6_IRQHandler(void) //TIM3中断{if (TIM_GetITStatus(TIM6, TIM_IT_Update) != RESET) //检查TIM3更新中断发⽣与否{TIM_ClearITPendingBit(TIM6, TIM_IT_Update ); //清除TIMx更新中断标志msHcCount++;}}//获取定时器时间u32 GetEchoTimer(void){u32 t = 0;t = msHcCount*1000;//得到MSt += TIM_GetCounter(TIM6);//得到USTIM6->CNT = 0; //将TIM2计数寄存器的计数值清零Delay_Ms(50);return t;}//⼀次获取超声波测距数据两次测距之间需要相隔⼀段时间,隔断回响信号//为了消除余震的影响,取五次数据的平均值进⾏加权滤波。
基于STM32的红外测距系统设计

基于STM32的红外测距系统设计摘要随着现代科学技术的发展,出现了很多新的领域,为了实现对物体近距离、高精度的无线测量,本论文对红外测距领域进行了研究。
本论文采用单片机作为处理器,编写A/D转换程序及LCD显示程序,红外传感器作为工作模块,完成一套高精度显示、实时测量的红外测距系统。
本系统结构简单、体积小、测量精度高、成本低、方便使用.本论文所介绍的是一种基于STM32单片机并运用日本夏普公司型号为GP2Y0A21的红外传感器所设计的红外测距系统。
首先,介绍红外线及红外传感器的分类及应用、STM32单片机的简介与功能;其次,阐述红外测距系统工作原理及基本结构并对单片机、红外传感器、LCD液晶显示屏的工作电路做了介绍;再次,对系统进行了整体设计构想,先后对系统硬件及软件进行设计,并对整个系统的功能进行了调试。
最后对整个设计进行总结,说明红外测距系统实现的可行性。
关键词红外测距;单片机;A/D转换;LCDSTM32—based infrared ranging system designAbstractWith the development of modern science and technology, there are many new areas,in order to achieve the object close range, high—precision wireless measurement,this topic of infrared ranging is studied. This topic using SCM as the processor, to write A/D converter and LCD display program, an infrared sensor as a working module,complete set of precision display, real—time measurement of infrared ranging system. This system has the advantages of simple structure,small size and high accuracy, low cost and convenient use.This paper introduced is based STM32 microcontroller and use of Japan’s Sharp Corporation model GP2Y0A21 infrared sensor designed infrared ranging system。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
湖北民族学院信息工程系课程设计报告书题目: 基于nrf24l01的超声波测距系统课程:单片机课程设计专业:电子信息班级: 03114学号: 03114学生姓名:指导教师:2014年5月3日信息工程学院课程设计任务书学号 03114 学生姓名专业(班级)电子信息设计题目基于nrf24l01的超声波测距系统设计技术参数STM32F103VET6单片机,vcc 5v 、 72mhz 、spi端口、lcd显示屏Hcsr04模块 nrf24l01设计要求通过超声波测距磨块测量小于4米的距离,测量精度0.5cm。
并且通过无线传输模块实现数据的无线通信。
工作量5000字工作计划前期完成资料的选取阶段,后期进行技术分析然后进行程序的编写和代码的相关调试;最后对系统进行完善整理资料编写报告。
参考资料电子技术基础(数字部分),康华光主编,高等教育出版社电子技术基础(模拟部分),康华光主编,高等教育出版社李士雄,丁康源主编,数字集成电子技术教程,高等教育出版社周良权方向乔编《数字电子技术基础》高等教育出版社陈小虎主编《电工电子技术》高等教育出版社李朝青,刘艳玲单片机原理及接口技术(第4版)北京航空航天大学出版社指导教师签字教研室主任签字2014年5月3日信息工程系课程设计成绩评定表学生姓名:学号:03 专业(班级):电子信息课程设计题目:基于nrf24l01的超声波测距系统成绩:指导教师:年月日摘要本系统是基于无线通信模块的一个超声波测距系统具有4米范围内的有效距离测量。
采用nrf24l01无线通信模块可在2米的范围内实现有效通信科信控制部件采用stm32f103vet6单片机可实现高速转换便于实时距离转换测试。
Hcsr04超声波测距系统实现精度0.5cm的距离测量关键词:nrf24l01、m3、Hcsr04。
1 任务提出与方案论证 (7)1.1 简介 (7)2 总体设计 (9)2.1模块组成简介 (9)2.2 nrf24l01无线通信模块 (10)2.3相关原理图 (11)2.4 超声波测距模块 (12)参考文献 (15)1 任务提出与方案论证1.1 简介超声波测距仪主要是通过声速来测量的,肉眼看不见射出的线。
装置上有设置瞄点装置,只要把仪器对准要测量的目标,就会出现一点在测距仪的显示屏幕上。
超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,所以经常用超声波来测量距离,如测距仪和物体测量仪,超声波测距仪装置上有设置瞄点装置,只要把仪器对准要测量的目标,就会出现一点在测距仪的显示屏幕上,主要是通过声速来测量的,肉眼看不见射出的线。
超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。
超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s=340t/2 。
这就是所谓的时间差测距法。
超声波测距的原理是利用超声波在空气中的传播速度为已知,测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时间差计算出发射点到障碍物的实际距离。
超声波测距仪由超声波发生电路、超声波接收放大电路、计数和显示电路组成。
超声波发生电路为超声波发生电路。
双定时器EN556(U2b)组成单稳态触发器。
R6和C6构成微分电路,其作用是:当按键S2按下时,低电平变成正负尖顶脉冲,经过VD1得到负尖顶脉冲,触发单稳态触发器翻转。
单稳态翻转输出的高电平持续约1 ms,即tw≈1.1R5C5≈1 ms。
EN556(U2n)组成多谐振荡器,接地电阻测试仪振荡频率f1=1/T1≈1/{0.7[(R1+R2)+2(R3+R4)]C3≈40 kHz。
该振荡器振荡受单稳态触发器输出电平控制。
当单稳态触发器输出高电平时,多谐振荡器产生振荡,EN556的引脚5输出约40个频率为40 kHz、占空比约50%的矩形脉冲。
考虑到多谐振荡器起振阶段不稳定,因此设计输m脉冲数较多。
若输出脉冲数太少,则发射强度小,测量距离短。
但脉冲数过多,发射持续时间长,在距离被测物较近时,脉冲串尚未发射完,这样导致先发射出的脉冲产生的回波将到达接收端,影响测距结果,造成测距盲区增大。
(U1)的U1a~U1e组成超声波脉冲驱动电路,可提高驱动超声波发送传感器的脉冲电压幅值,有效进行电/声转换,增强发射超声波的能力,增大测量距离。
40 kHz脉冲串的一路经U1a反相,再经由U1b和U1e并联的反相器反相;其另一路经南U1c和U1d并联的反相器反相。
超声波发生器内部结构有两个压电晶片和一个共振板。
当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。
反之,如果两电极间未外加电压,当共振板接收到超声波本时,将压迫压电晶片作振动,将机械能转换为电信号,就成为超声波接收器。
在超声探测电路中,发射端得到输出脉冲为一系列方波,其宽度为发射超声的时间间隔,被测物距离越大,脉冲宽度越大,输出脉冲个数与被测距离成正比。
超声测距大致有以下方法:①取输出脉冲的平均值电压,该电压 (其幅值基本固定 )与距离成正比,测量电压即可测得距离;②测量输出脉冲的宽度,即发射超声波与接收超声波的时间间隔 t,故被测距离为 S=1/2vt。
本测量电路采用第二种方案。
由于超声波的声速与温度有关,如果温度变化不大,则可认为声速基本不变。
如果测距精度要求很高,则应通过温度补偿的方法加以校正。
超声波测距适用于高精度的中长距离测量。
因为超声波在标准空气中的传播速度为331.45米/秒,由单片机负责计时,单片机使用12.0M晶振,所以此系统的测量精度理论上可以达到毫米级。
超声波仿真采用AT89C52,实际运用AT89S52单片机,晶振:11.0592M,单片机用P1.0口输出超声波换能器所需的40KHZ方波信号,利用外中断1口监测超声波接收电路输出的返回信号,显示电路采用简单的4位共阳LED数码管,断码用74HC245,位码用三极管驱动。
超声波测距的算法设计: 超声波在空气中传播速度为每秒钟340米(15℃时)。
X2是声波返回的时刻,X1是声波发声的时刻,X2-X1得出的是一个时间差的绝对值,假定X2-X1=0.03S,则有340m×0.03S=10.2m。
由于在这10.2m的时间里,超声波发出到遇到返射物返回的距离,超声波测距器的系统框图如下图所示:2 总体设计2.1模块组成简介超声波实物用的是STM32系列的单片机,晶振:8M倍频后可以达到72M,单片机用PE0以及PE4口输出超声波换能器所需的40KHZ方波信号,利用外中断0口监测超声波接收电路输出的返回信号,显示电路采用相匹配的TFT屏幕,STM32F系列属于中低端的32位ARM微控制器,该系列芯片是意法半导体(ST)公司出品,其内核是Cortex-M3。
该系列芯片按片内Flash 的大小可分为三大类:小容量(16K和32K)、中容量(64K和128K)、大容量(256K、384K 和512K)。
芯片集成定时器,CAN,ADC,SPI,I2C,USB,UART,等多种功能。
从32K到512K 字节的闪存程序存储器(STM32F103XXXX中的第二个X表示FLASH容量,其中:“4”=16K,“6”=32K,“8”=64K,B=128K,C=256K,D=384K,E=512K)--最大64K字节的SRAM。
因为STM32 内部没有集成专用的液晶屏和触摸屏的控制接口,所以在显示面板中应自带含有这些驱动芯片的驱动电路(液晶屏和触摸屏的驱动电路是独立的),STM32 芯片通过驱动芯片来控制液晶屏和触摸屏。
它使用 ILI9341 芯片控制液晶屏,通过 TSC2046 芯片控制触摸屏。
主要由单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分组成。
采用STM32来实现对CX20106A红外接收芯片和T40-16系列超声波转换模块的控制。
采用hcsr04超声波测距模块进行距离的测量。
控制口发一个10US 以上的高电平,就可以在接收口等待高电平输出.一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,方可算出距离.如此不断的周期测,就可以达到你移动测量的值了。
模块工作原理:(1)采用 IO 触发测距,给至少10us 的高电平信号;(2)模块自动发送8 个40khz 的方波,自动检测是否有信号返回;(3)有信号返回,通过IO 输出一高电平,高电平持续的时间就是(4)超声波从发射到返回的时间.测试距离=(高电平时间*声速(340M/S))/2;2.2 nrf24l01无线通信模块nRF24L01是由NORDIC 生产的工作在2.4GHz~2.5GHz 的ISM 频段的单片无线收发器芯片。
无线收发器包括:频率发生器、增强型“SchockBurst ”模式控制器、功率放大器、晶体振荡器、调制器和解调器。
当工作在发射模式下发射功率为0dBm 时电流消耗为11.3mA ,接收模式时为12.3mA ,掉电模式和待机模式下电流消耗更低。
性能参数小体积,QFN20 4x4mm 封装。
宽电压工作范围,1.9V~3.6V ,输入引脚可承受5V 电压输入;工作温度范围,-40℃~+80℃;工作频率范围,2.400GHz ~2.525GHz 。
;发射功率可选择为0dBm 、-6dBm 、-12dBm 和-18dBm ;数据传输速率支持1Mbps 、超声波模块 通信模块M3单片机LCD通信模块M3单片机LCD2Mbps;低功耗设计,接收时工作电流12.3mA,0dBm功率发射时11.3mA,掉电模式时仅为900nA,126个通讯通道,6个数据通道,满足多点通讯和调频需要。
增强型“ShockBurst”工作模式,硬件的CRC校验和点对多点的地址控制, 4线SPI通讯端口,通讯速率最高可达8Mbps,适合与各种MCU连接,编程简单;可通过软件设置工作频率、通讯地址、传输速率和数据包长度;MCU可通过IRQ引脚快判断是否完成数据接收和数据发送。
2.3相关原理图电路原理引脚定义接线图2.2.1主要技术参数:1:使用电压:DC5V 2:静态电流:小于2mA3:电平输出:高5V 4:电平输出:底0V5:感应角度:不大于15度 6:探测距离:2cm-450cm7:高精度:可达0.3cm板上接线方式,VCC、trig(控制端)、 echo(接收端)、 out(空脚)、 GND 注: TRIP引脚是内部上拉10K的电阻,用单片机的IO口拉低TRIP引脚,然后给一个10us以上的脉冲信号。
OUT脚为此模块作为防盗模块时的开关量输出脚,测距模块不用此脚!2.2.2URF04模块工作原理:(1)采用IO触发测距,给至少10us的高电平信号;(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;(3)有信号返回,通过IO输出一高电平,高电平持续的时间就是超声波从发射到返回的时间.测试距离=(高电平时间*声速(340M/S))/2;本产品使用方法简单,一个控制口发一个10US以上的高电平,就可以在接收口等待高电平输出.一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,方可算出距离.如此不断的周期测,就可以达到你移动测量的值了~~模块工作原理:(1)采用IO触发测距,给至少10us的高电平信号;(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;(3)有信号返回,通过IO输出一高电平,高电平持续的时间就是超声波从发射到返回的时间.测试距离=(高电平时间*声速(340M/S))/2;2.2.3相关原理时序图3 总结经运行表明,本电路可以实现将将距离实时的精确地测量出来,。