基于单片机的超声波测距系统设计实验报告 - 重

合集下载

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

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

基于STM32单片机的高精度超声波测距系统的设计一、本文概述超声波测距技术因其非接触、高精度、实时性强等特点,在机器人导航、车辆避障、工业测量等领域得到了广泛应用。

STM32单片机作为一种高性能、低功耗的嵌入式系统核心,为超声波测距系统的设计提供了强大的硬件支持。

本文旨在设计一种基于STM32单片机的高精度超声波测距系统,以满足不同应用场景的需求。

二、超声波测距原理本部分将介绍超声波测距的基本原理,包括超声波的产生、传播、接收以及距离的计算方法。

同时,分析影响超声波测距精度的主要因素,为后续系统设计提供理论基础。

三、系统硬件设计3、1在设计基于STM32单片机的高精度超声波测距系统时,我们遵循了“精确测量、稳定传输、易于扩展”的总体设计思路。

我们选用了STM32系列单片机作为系统的核心控制器,利用其强大的处理能力和丰富的外设接口,实现了对超声波发射和接收的精确控制。

在具体设计中,我们采用了回波测距法,即发射超声波并检测其回波,通过测量发射与接收之间的时间差来计算距离。

这种方法对硬件的精度和稳定性要求很高,因此我们选用了高精度的超声波传感器和计时器,以确保测量结果的准确性。

我们还考虑到了系统的可扩展性。

通过STM32的串口通信功能,我们可以将测量数据上传至计算机或其他设备进行分析和处理,为后续的应用开发提供了便利。

我们还预留了多个IO接口,以便在需要时添加更多的传感器或功能模块。

本系统的设计思路是在保证精度的前提下,实现稳定、可靠的超声波测距功能,并兼顾系统的可扩展性和易用性。

31、1.1随着物联网、机器人技术和自动化控制的快速发展,精确的距离测量技术在各个领域的应用越来越广泛。

超声波测距技术作为一种非接触式的距离测量方式,因其具有测量精度高、稳定性好、成本相对较低等优点,在工业自动化、智能家居、机器人导航、安防监控等领域得到了广泛应用。

STM32单片机作为一款高性价比、低功耗、高性能的嵌入式微控制器,在智能设备开发中占据重要地位。

基于stm32单片机的超声波测距仪设计报告

基于stm32单片机的超声波测距仪设计报告

基于stm32单片机的超声波测距仪设计报告1. 引言超声波测距仪(Ultrasonic Distance Sensor)是一种常用的测距设备,通过发送超声波脉冲并接收其反射信号来测量目标与测距仪之间的距离。

本报告将详细介绍基于stm32单片机的超声波测距仪的设计过程。

2. 设计原理超声波测距仪的基本原理是利用超声波在空气中的传播速度和反射特性来计算目标物体与测距仪之间的距离。

其中,stm32单片机作为测距仪的控制核心,通过发射超声波脉冲并测量接收到的回波时间来计算距离。

2.1 超声波传播速度超声波在空气中的传播速度约为340m/s,可以通过测量超声波往返的时间来计算出距离。

2.2 超声波反射信号当超声波遇到障碍物时,会产生反射信号,测距仪接收到这些反射信号并测量其时间差,再通过计算即可得到距离。

3. 硬件设计本设计使用stm32单片机作为核心控制器,并搭配超声波发射器和接收器模块。

3.1 超声波发射器超声波发射器负责产生超声波脉冲,并将脉冲信号发送到待测物体。

3.2 超声波接收器超声波接收器负责接收从物体反射回来的超声波信号,并将其转换为电信号。

3.3 stm32单片机stm32单片机作为测距仪的核心控制器,负责发射超声波脉冲、接收反射信号并计算距离。

4. 软件设计本设计涉及的软件设计包括超声波信号发射、接收信号处理和距离计算等。

4.1 超声波信号发射使用stm32单片机的GPIO口控制超声波发射模块,产生一定频率和周期的脉冲信号。

4.2 接收信号处理通过stm32单片机的ADC模块,将超声波接收器接收到的模拟信号转换为数字信号,并对信号进行处理和滤波。

4.3 距离计算根据接收到的超声波反射信号的时间差,结合超声波的传播速度,使用合适的算法计算出距离。

5. 实验结果与分析经过实际测试,基于stm32单片机的超声波测距仪达到了预期的效果。

能够精确测量目标与测距仪之间的距离,并显示在相关的显示设备上。

基于单片机的超声波测距系统的毕业设计

基于单片机的超声波测距系统的毕业设计
超声测距仪在先进的机器人技术上也有应用,把超声波源安装在机器人身上,由它不断向周围发射超声波并且同时接收由障碍物反射回波来确定机器人的自身位置,用它作为传感器控制机器人的电脑等等。由于超声波易于定向发射,方向性好,强度好控制,它的应用价值己被普遍重视。
如此广泛的应用使得提高人们对机器人的了解显得尤为重要。机器人通过其感知系统察觉前方障碍物距离和周围环境来实现绕障、自动寻线、测距等功能。超声波测距相对其他测距技术而言成本低廉,测量精度较高,不受环境的限制,应用方便,将它与红外、灰度传感器等结合共同实现机器人寻线和绕障功能。超声波由于指向性强、能量消耗缓慢且在介质中传播的距离较远,因而经常用于距离的测量。它主要应用于倒车雷达、测距仪、物位测量仪、移动机器人的研制、建筑施工工地以及一些工业现场等,例如:距离、液位、井深、管道长度、流速等场合。利用超声波检测往往比较迅速、方便,且计算简单、易于做到实时控制,在测量精度方面也能达到工业实用的要求,因此得到了广泛的应用。本课题的研究是非常有实用和有商业价值的。
超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时,如图2-1所示。超声波在空气中的传播速度为v,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:
(2-1)
图2-1超声波测距原理图
这就是所谓的时间差测距法[7],由于是利用超声波测距,要测量预期的距离,所以产生的超声波要有一定的功率和合理的频率才能达到预定的传播距离,同时这是得到足够的回波功率的必要条件,只有的得到足够的回波频率,接收电路才能检测到回波信号和防止外界干扰信号的干扰。经分析和大量实验表明,频率为40KHz左右的超声波在空气中传播效果最佳,同时为了处理方便,发射的超声波被调制成具有一定间隔的调制脉冲波信号。

(完整版)基于51单片机的超声波测距系统设计

(完整版)基于51单片机的超声波测距系统设计

完满 WORD 格式整理1设计任务本文采纳超声波传感器 ,IAP15 单片机以及 LCD显示模块设计了一种超声波测距显示器,能够实现丈量物体到仪器距离以及显示等功能。

是一种构造简单、性能稳固、使用方便、价钱便宜的超声波距离丈量器,拥有必定的适用价值。

2设计思路超声波测距超声波超声波是指频次在 20kHz 以上的声波,它属于机械波的范围。

最近几年来,跟着电子丈量技术的发展,运用超声波作出精准丈量已成可能。

跟着经济发展,电子丈量技术应用愈来愈宽泛,而超声波丈量精准高,成本低,性能稳固则备受喜爱。

超声波也按照一般机械波在弹性介质中的流传规律,如在介质的分界面处发生反射和折射现象,在进入介质后被介质汲取而发生衰减等。

正是因为拥有这些性质,使得超声波能够用于距离的丈量中。

跟着科技水平的不停提升,超声波测距技术被宽泛应用于人们平时工作和生活之中。

一般的超声波测距仪可用于固定物位或液位的丈量,合用于建筑物内部、液位高度的丈量等。

超声在空气中测距在特别环境下有较宽泛的应用。

利用超声波检测常常比较快速、方便、计算简单、易于实现及时控制,并且在丈量精度方面能达到工业适用的指标要求,所以为了使挪动机器人能够自动闪避阻碍物行走,就一定装备测距系统,以使其及时获得距阻碍物的地点信息(距离和方向)。

所以超声波测距在挪动机器人的研究上获得了宽泛的应用。

同时因为超声波测距系统拥有以上的这些长处,所以在汽车倒车雷达的研制方面也获得了宽泛的应用。

超声波测距原理最常用的超声测距的方法是回声探测法,超声波发射器向某一方向发射超声波,在发射时辰的同时计数器开始计时,超声波在空气中流传,途中遇到阻碍物面阻拦就立刻反射回来,超声波接收器收到反射回的超声波就立刻停止计时。

超声波在空气中的流传速度为340m/s,依据计时器记录的时间 t ,就能够计算出发射点距阻碍物面的距离s,即:s=340t/2 。

因为超声波也是一种声波,其声速 V 与温度有关。

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

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

基于单片机的超声波测距仪设计超声波测距仪是一种利用超声波测量距离的装置,具有测量速度快、精度高、非接触等特点,在机器人导航、自动控制、无损检测等领域得到了广泛的应用。

随着单片机技术的不断发展,基于单片机的超声波测距仪设计成为了可能,具有体积小、成本低、易于集成等优点。

本文将介绍一种基于单片机的超声波测距仪的设计与实现方法。

超声波测距仪的工作原理是利用超声波的传输特性来实现距离的测量。

超声波发射器发出超声波,超声波在空气中传播,遇到障碍物或被测物体后反射回来,被超声波接收器接收。

根据超声波的传播速度和传播时间,可以计算出超声波发射器与被测物体之间的距离。

一般来说,超声波的传播速度为340m/s,因此,距离计算公式为:距离 =传播速度×时间 / 2。

本设计选用STM32F103C8T6单片机作为主控制器,该单片机具有高性能、低功耗、丰富的外设接口等特点,满足系统的要求。

超声波测距仪的硬件部分包括超声波发射器、超声波接收器、单片机控制器和显示模块。

具体设计方案如下:(1)超声波发射器:采用HC-SR04模块,该模块集成了超声波发射器和接收器,输出脉冲宽度为5ms,驱动电压为5V。

(2)超声波接收器:同样采用HC-SR04模块,接收反射回来的超声波信号,并将其转换为电信号输出。

(3)单片机控制器:选用STM32F103C8T6单片机,接收超声波接收器输出的电信号,通过计算得到距离值,并将其输出到显示模块。

(4)显示模块:采用液晶显示屏,用于显示测量得到的距离值。

(1)初始化模块:对单片机、HC-SR04模块和液晶显示屏进行初始化。

(2)超声波发射模块:通过单片机控制HC-SR04模块发射超声波,并开始计时。

(3)超声波接收模块:接收反射回来的超声波信号,并输出到单片机。

(4)距离计算模块:根据超声波的传播速度和传播时间,计算出超声波发射器与被测物体之间的距离,并将其存储在单片机的存储器中。

(5)显示模块:将计算得到的距离值输出到液晶显示屏上。

基于单片机的超声波测距系统实验报告

基于单片机的超声波测距系统实验报告

基于单片机的超声波测距系统实验报告一、引言超声波测距系统是一种基于超声波工作原理的测距技术,主要通过发送超声波信号并检测回波信号来测量目标物体与传感器之间的距离。

本实验旨在通过使用单片机搭建一个基于超声波的测距系统,通过实际测量和数据分析来验证其测距的准确性和可靠性。

二、原理超声波测距系统主要包括超声波发射器、超声波接收器和单片机控制系统三部分。

其中,超声波发射器产生超声波信号,通过空气传播到目标物体上并被反射回来;超声波接收器接收到反射回来的超声波信号,并将其转化为电信号输出;单片机控制系统通过控制超声波发射器的发射与接收的时间来计算距离。

三、实验步骤1.搭建硬件连接:将超声波发射器和接收器分别连接到单片机的GPIO引脚,并通过电阻和电容进行滤波处理。

2.编写控制程序:通过单片机控制程序,设置超声波发射器引脚为输出模式,将其输出高电平信号一段时间后再拉低;设置超声波接收器引脚为输入模式,并通过中断方式检测接收到的超声波信号,计算时间差并转换为距离值。

3.进行实际测量:将超声波发射器和接收器对准目标物体,启动测量程序并记录距离值。

4.多次实验并计算平均值:为了提高测距的准确性,进行多次实验并计算多次测量结果的平均值。

四、实验结果和讨论通过多次实验测量,我们得到了如下结果:测量1距离为30cm,测量2距离为31cm,测量3距离为29cm。

将这些结果进行平均,得到最终距离结果为30cm。

通过与实际测量的距离进行对比,我们发现测量结果基本与实际距离相符,误差控制在可接受范围内。

这表明我们搭建的基于超声波的测距系统具有较好的测距准确性和可靠性。

然而,我们也发现在一些特殊情况下,例如目标物体表面有较强的吸收或反射能力时,测量结果可能会出现误差。

这是因为超声波在传播过程中会受到传播介质和目标物体的影响,从而引发信号衰减或多次反射等现象。

在实际应用中,我们需要根据具体情况进行系统的优化和调整,以提高测距的精确度。

超声波测距仪单片机课设实验报告

超声波测距仪单片机课设实验报告

微机本理与单片机系统课程安排之阳早格格创做博业:轨讲接通旗号与统制班级:接控1305姓名:贺云鹏教号:201310104指挥西席:李修国兰州接通大教自动化与电气工程教院2015 年12 月30 日超声波测距仪安排1 安排证明1.1 安排手段超声波测距的本理是利用超声波正在气氛中的传播速度为已知,丈量声波正在收射后逢到障碍物反射回去的时间,根据收射战接支的时间好估计出收射面到障碍物的本质距离.超声波测距主要应用于倒车指示、修筑工天、工业现场等的距离丈量.超声波正在气体、液体及固体中以分歧速度传播,定背性佳、能量集结、传输历程中衰减较小、反射本收较强.超声波能以一定速度定背传播、逢障碍物后产死反射,利用那一个性,通过测定超声波往返所用时间便可估计出本质距离,进而真止无交战丈量物体距离.超声波测距赶快、便当,且不受光芒等果素做用,广大应用于火文液位丈量、修筑动工工天的丈量、现场的位子监控、振荡仪车辆倒车障碍物的检测、移动呆板进探测定位等范围.1.2 安排要收本课题包罗数据测距模块、隐现模块.测距模块包罗一个HC-SR04超声波测距模块战一片AT89C51单片机,该安排采用HC-SR04超声波测距模块,通过HC-SR04收射战担当超声波,使用AT89C51单片机对于超声波举止计时并根据超声波正在气氛中速度为340米每秒的个性估计出距离.隐现模块包罗一个4位同阳极LED数码管战AT89C51单片机,由AT89C51单片机统制数码管动背隐现距离.1.3 安排央供采与单片机为核心部件,采用超声波模组,真止对于距离的丈量,丈量距离不妨通过隐现输出(LED,LCD).2 安排规划及本理超声波测距模块安排HC-SR04超声波测距模块可提供2cm-400cm的非交战式距离感测功能,测距粗度可达下到3mm.模块包罗超声波收射器、接支器与统制电路.当提供一个10uS以上正脉冲触收旗号,该模块里面将收出8个40kHz周期电仄并检测回波.一朝检测到有回波旗号则输出反响旗号.反响旗号的脉冲宽度与所测的距离成正比.由此通过收射旗号到支到的反响旗号时间隔断不妨估计得到距离由以上疑息,正在安排时采用二个定时器,定时器1用去定时800ms,当爆收中断时,开用HC-SR04超声波测距模块,即给其TRIG(收射)心支一个持绝20ms的正脉冲,定时器0用去对于超声波传播时间举止计时,即当ECHO(回波)心为下电通常开用计时,当ECHO心形成矮电通常关关计时.再根据超声波正在气氛中的传播速度为340米每秒,通过AT89C51估计出距离,当距离超出400cm时,隐现8888,表示超出处事距离.2.2 LED隐现模块安排将算得的距离通过一个4位LED数码管采与动背扫描举止隐现.2.3 其余功能的安排思量到本质的需要,本安排还应减少以下功能:1、减少一个指示灯.当ECHO(回波)心为下电通常,即超声波旗号正在气氛中传播时,指示灯面明.当数码管不克不迭仄常面明时,若指示灯仄常指示,则证明LED隐现模块爆收障碍;若指示灯不克不迭仄常面明,则证明超声波测距模块爆收障碍.2、减少一个锁存按钮.由于安排时咱们安排的为每800ms超声波测距模块开用一次,由于定时器会爆收缺面,制成测得距离不竭变更,减少一个锁存按钮,当决定隐现截止宁静时,按下按钮时,关关超声波测距模块,不妨使截止收会隐现.3、减少一个待机按钮.当按下锁存按钮后,再按下待机按钮,那时关关LED隐现,若再挨开待机按钮,那时LED 开用处事,隐现的数值为上一次被测距离.2.4 安排成本及定价商场仄衡代价:12元预计定价:10元3 硬件安排此系统的硬件安排主要包罗HC-SR04超声波测距模块、AT89C51单片机、4位LED隐现模块,并连进指示灯、待机开关战锁存开关.仿真时,将HC-SR04超声波测距模块用一个555延时电路去代替即可,其中安排改变滑动变阻器的阻值不妨模拟被测物体距离的变更.真验仿真电路图如图1所示.图1 安排硬件电路图4 硬件安排此系统的硬件安排主要包罗超声波测距模块安排、LED 隐现模块安排、战其余拓展模块.采与定时器1每800ms收射一个脉冲旗号开用超声波测距模块,采与定时器0估计超声波传播时间,并通过一个估计函数算得距离,而后支LED隐现屏举止径背扫描并隐现截止.4.1 步调过程图主步调过程图如图2所示.图2 步调过程图鉴于AT89C51单片机的超声波测距源步调睹附录一.5 系统仿真及调试截止鉴于AT89C51单片机的超声波测距仿真截止睹附录二.鉴于AT89C51单片机的超声波测距调试截止如图3所示.图3 系统步调调试截止6 归纳本安排通过对于超声波测距的钻研,与单片机分离,真止了超声波测距的目标,并减少了数据锁存、指示灯战待机的功能.仿真时由于硬件中不HC-SR04模块,果此用555延时电路去代替.通过那次课程安排,尔加深了对于单片机的明白,也为以去更佳的使用挨下了前提.末尾要感动李教授的指挥,正在李教授的耐性解问下,尔受益匪浅.参照文件[1] 李积英.数字电子技能.华夏电力出版社,2011[2] 深圳市捷什科技有限公司.HC-SR04超声波测距模块证明书籍.[3] 彭江.单片机本理及接心技能的开垦[J].硬件导刊,2011,12(8):66-70.附录一:真验源步调#include<reg51.h>#define uchar unsigned char#define uint unsigned int#define LED_port P0 //用于LED段选#define LED_pos P1 //用于LED位选sbit qq=P2^6; //待机按钮sbit suocun=P2^1; //锁存截止sbit RX=P1^4; //回波sbit TX=P1^5; //支波sbit D1=P3^7; //接支指示灯uint time=0; //定时器0时间uint timer=0; //定时器1时间unsigned long S=0; //用于隐现末尾估计得到的距离unsigned long W[2]={0,0}; //用于比较二次测算距离大小bit flag =0; //定时器0中断溢出标记位uchar value[4];uchar codeLED_seg[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x8 0,0x90}; //数码管段选uchar code pos[4]={0x01,0x02,0x04,0x08}; //数码管位选/*************************************************** *****/void Delay(uchar t) //延时函数{uchar i,j,k;for(i=0;i<t;i++)for(j=0;j<20;j++)for(k=0;k<20;k++);}/*************************************************** *****/void value_shift(uchar value[]) //将距离值的每一位搁到数组中{value[0]=S/1000;value[1]=S/100%10;value[2]=S/10%10;value[3]=S%10;}/*************************************************** *****/void Display(uchar value[]) //数码管隐现{uchar i;for(i=0;i<4;i++){LED_pos=pos[i];LED_port=LED_seg[value[i]];Delay(1);}}/*************************************************** *****/void zd3() interrupt 3 //T1中断用去扫描数码管战计800MS开用模块{ //那是计时器1中断TH1=0xf8; //赋初值,2msTL1=0x30;timer++;if(timer>=400){timer=0;TX=0; //800MS 开用一次模块//Delay(30); //一次超声波旗号时少30ms,仿真时只需加背脉冲,故屏蔽此句TX=1;}}/*************************************************** *****/void zd0() interrupt 1 //T0中断用去计数器溢出{flag=1; //中断溢出标记}/*************************************************** *****/void Count(void) //估计步调{TH0=0; //定时器0的初初值为0TL0=0;S=(time*1.845)/10; //算出去是mm,time*12*170/(11.0592*1000)mm=time*(1845/10000)mm W[0]=S;if(((W[0]-W[1])^2)<=100) //举止矫正,若二次截止出进小于10mm,则采与前一次截止S=W[1];elseW[1]=S;if (S>=4000) //最大距离4m,即4000mmS=8888;if (flag==1) //推断是可溢出{S=8888;flag=0;TH0=0;TL0=0;}}/*************************************************** *****/void main( void ){TMOD=0x11; //设T0为办法1,T1为办法1TH0=0; //中断0初初化TL0=0; //中断1初初化TH1=0XF8;TL1=0X30;ET0=1; //允许T0中断ET1=1;TR1=1;qq=1;suocun=0;EA=1;while(1){while(!RX) ; //当RX为整时等待,即echo为矮电仄TX=1;TR0=1;D1=1; //开开计数while(RX); //当RX为1计数并等待TR0=0; //关关计数D1=0; //关指示灯while(!qq) //待机按钮按下时,关总中断战位选{EA=0;P1=0X00;}qq=1;Count(); //估计value_shift(value);Display(value); //隐现while(suocun) //当按下锁存按钮时,关总中断并隐现{EA=0;Display(value);}EA=1;}}附录二:1.距离小于4m时的仿真图图1 距离小于4m2.距离大于4m时的仿真图图2 距离大于4m。

基于单片机的超声波测距系统设计

基于单片机的超声波测距系统设计

基于单片机的超声波测距系统设计一、本文概述随着科技的飞速发展,超声波测距技术以其非接触、高精度、实时性强等优点,在众多领域如机器人导航、自动驾驶、工业控制、安防监控等中得到了广泛应用。

单片机作为一种集成度高、控制灵活、成本较低的微控制器,是实现超声波测距系统的理想选择。

本文旨在探讨基于单片机的超声波测距系统的设计原理、硬件构成、软件编程及实际应用,以期为相关领域的科研人员和技术人员提供参考。

本文将首先介绍超声波测距的基本原理和关键技术,包括超声波的传播特性、测量原理及误差分析。

接着,详细阐述基于单片机的超声波测距系统的硬件设计,包括单片机的选型、超声波收发模块的选择与连接、信号处理电路的设计等。

在此基础上,本文将介绍系统的软件设计,包括超声波发射与接收的时序控制、距离数据的处理与显示等。

还将讨论系统的低功耗设计、抗干扰措施以及在实际应用中的优化策略。

本文将通过具体实例,展示基于单片机的超声波测距系统在机器人定位、障碍物检测等场景中的应用,以验证系统的可行性和实用性。

本文期望能为相关领域的研究提供有益的参考,推动超声波测距技术的进一步发展和应用。

二、超声波测距原理超声波测距系统主要基于超声波在空气中的传播速度以及反射原理进行设计。

超声波是一种频率高于20kHz的声波,其传播速度在标准大气条件下约为343米/秒。

在超声波测距系统中,超声波发射器向目标物体发射超声波,当超声波遇到目标物体后,会发生反射,反射的超声波被超声波接收器接收。

测距的原理在于测量超声波从发射到接收的时间差。

设超声波发射器发射超声波的时间为t1,接收器接收到反射波的时间为t2,则超声波从发射到接收所经历的时间为Δt = t2 - t1。

由于超声波在空气中的传播速度是已知的,所以可以通过测量时间差Δt来计算目标物体与测距系统之间的距离D。

距离D的计算公式为:D = V * Δt / 2,其中V为超声波在空气中的传播速度。

在实际应用中,为了确保测量的准确性,通常会采用一些技术手段来减少误差。

基于52单片机的超声波测距系统的报告书

基于52单片机的超声波测距系统的报告书

一、项目综述1、超声波简介超声波是频率高于20KHz的声波,具有方向性好,穿透能力强等特点,被广泛应用于各行各业。

在日常生产生活中,很多场合如汽车倒车、机器人避障、工业测井、水库液位测量等需要自动进行非接触测距。

由于超声波对光线、色彩和电磁场不敏感,因此超声波测距对环境有较好的适应能力。

2、项目原理及应用(1)超声波测距原理:本项目采用往返时间检测法测距,其原理是超声波传感器发射一定频率的超声波,借助空气媒质传播,到达测量目标或障碍物后反射回来,经反射后由超声波接收器接收脉冲,其所经历的时间即往返时间,往返时间与超声波传播的路程的远近有关。

测试传输时间可以得出距离。

假定s为被测物体到测距仪之间的距离,测得的时间为t/s,超声波传播速度为v/m·s-1表示,则有关系式<1>s=vt/2 <1>在精度要求较高的情况下,需要考虑温度对超声波传播速度的影响,按式<2>对超声波传播速度加以修正,以减小误差。

v=331.4+0.607T <2>式中,T为实际温度单位为℃,v为超声波在介质中的传播速度单位为m/s(2)项目主要在超声波测距系统的基础上应用于高杆作物的测量,以便适时获得植物生长状况的数据。

二、项目过程(一)确定项目方案1.硬件部分1.1超声波发射部分采用由74HC04组成的推挽式电路进行功率放大以便使发射距离足够远。

1.2超声波接收部分集成芯片CX20106在接收部分电路中起了很大的作用。

CX20106是一款应用广泛的红外线检波接收的专用芯片,其具有功能强、性能优越、外围接口简单、成本低等优点,由于红外遥控常用的载波频率38 kHz与测距的超声波频率40 kHz比较接近,而且CX20106内部设置的滤波器中心频率f0五可由其5脚外接电阻调节,阻值越大中心频率越低,范围为30~60 kHz。

故本次设计用它来做接收电路。

CX20106内部由前置放大器、限幅放大器、带通滤波器、检波器、积分器及整形电路构成。

基于stm32单片机的超声波测距仪设计报告

基于stm32单片机的超声波测距仪设计报告

基于stm32单片机的超声波测距仪设计报告一、设计背景超声波测距仪是一种常见的测距设备,它利用超声波的特性进行测距。

在实际应用中,超声波测距仪被广泛应用于机器人、智能家居、车辆安全等领域。

本次设计的超声波测距仪基于stm32单片机,旨在实现简单、高效、精确的测距功能。

二、设计原理超声波测距仪的测距原理是利用超声波在空气中传播的速度和时间差来计算距离。

具体来说,超声波发射器向目标物体发射超声波,当超声波遇到目标物体时,会被反射回来,接收器接收到反射回来的超声波,并计算出超声波发射和接收的时间差,根据时间差和超声波在空气中传播的速度,就可以计算出目标物体与超声波测距仪之间的距离。

三、硬件设计本次设计的硬件主要包括超声波发射器、超声波接收器、stm32单片机、LCD显示屏和按键。

其中,超声波发射器和接收器采用HC-SR04模块,stm32单片机采用STM32F103C8T6,LCD显示屏采用1602A型号,按键采用矩阵按键。

超声波发射器和接收器的工作电压均为5V,超声波发射器发射的超声波频率为40kHz,超声波接收器接收到超声波后,会输出一个高电平信号,输出信号的持续时间与超声波发射和接收的时间差成正比。

stm32单片机通过GPIO口控制超声波发射器的工作,同时通过外部中断接收超声波接收器的输出信号,并计算出时间差。

LCD显示屏用于显示测距结果,矩阵按键用于控制测距仪的工作模式。

四、软件设计本次设计的软件主要包括超声波发射和接收控制程序、测距计算程序、LCD显示程序和按键控制程序。

超声波发射和接收控制程序通过GPIO口控制超声波发射器的工作,并通过外部中断接收超声波接收器的输出信号。

测距计算程序根据超声波发射和接收的时间差计算出距离,并将结果保存在变量中。

LCD显示程序用于显示测距结果,按键控制程序用于控制测距仪的工作模式。

五、实验结果经过实验,本次设计的超声波测距仪能够准确地测量目标物体与测距仪之间的距离,并将结果显示在LCD屏幕上。

超声波测距实验报告

超声波测距实验报告

超声波测距实验报告电子综合实验课程报告课题名称:超声测距仪专业:生物医学工程班级:,,级生物医学,,班姓名:敖一鹭刘晓莎尹曼邹燕一引言随着科学技术的快速发展,超声波将在测距仪中的应用越来越广。

但就目前技术水平来说,人们可以具体利用的测距技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。

声波测距作为一种典型的非接触测量方法,在很多场合,诸如工业自动控制,建筑工程测量和机器人视觉识别等方面得到广泛的应用。

和其他方法相比,如激光测距、微波测距等,由于声波在空气中传播速度远远小于光线和无线电波的传播速度,对于时间测量精度的要求远小于激光测距、微波测距等系统,因而超声波测距系统电路易实现、结构简单和造价低,且超声波在传播过程中不受烟雾、空气能见度等因素的影响,在各种场合均得到广泛应用。

然而超声波测距在实际应用也有很多局限性,这都影响了超声波测距的精度。

一是超声波在空气中衰减极大,由于测量距离的不同,造成回波信号的起伏,使回波到达时间的测量产生较大的误差;二是超声波脉冲回波在接收过程中被极大地展宽,影响了测距的分辨率,尤其是对近距离的测量造成较大的影响。

其他还有一些因素,诸如环境温度、风速等也会对测量造成一定的影响,这些因素都限制了超声波测距在一些对测量精度要求较高的场合的应用,如何解决这些问题,提高超声波测距的精度,具有较大的现实意义。

为了今后能够为社会做出更多有益的发明发现,超声测距课程设计应运而生。

二课题要求以单片机AT89C51为中心控制单元,配以超声波发射、接收装置,实现超声波发射及接收其遇到障碍物发生反射形成的回波信号,并根据超声波在介质中的传播速度及超声波从发射到接收到回波的时间,计算出发射点距障碍物的距离,设计出一套基于单片机的脉冲反射式超声波测距系统,利用单片机进行操作控制,用数码管作输出显示,设计发射、接收、检测、显示硬件电路和测距系统软件。

三基本要求1 能实现测距操作;2 能清晰稳定地显示测量结果, 具有测量完成提示;3 能正确实现单次测量;4 测量范围在0.5——2m;5 测量精确度2cm。

基于单片机的超声波测距系统设计

基于单片机的超声波测距系统设计

基于单片机的超声波测距系统设计摘要:随着社会的发展,在社会生活中应用超声波进行测距已经变得相当广泛。

由于超声波具有聚束、定向、反射、透射、频率高、波长短等特性,因而超声波测距技术的研究和开发具有实际意义。

利用超声波模块HC-SR04为主体,采用超声波回波时间差测量距离,并通过温度补偿实现距离修正,同时设置阈值范围,当超出距离范围时实现报警,对于人们的日常生活具有重要意义。

关键词:超声波;测距;温度补偿1.引言伴随着社会的高速发展,各种高科技产品进入了千家万户。

超声波的普遍应用和快速发展为我们的生活提供了便利。

基于单片机的超声波测距系统通过发射器发出特定频率的声波,声波在空气里传播时遇到墙体阻碍后会被反射回来,而接收器接收到反射回来的声波信号后就会记录下声波在空气中传播所经过的时间,通过计算回波时所形成的时间差和时间与声速的关系来确定被测距离。

超声波测距系统测距原理简单,适应环境能力强,而且价格低廉,可以应用在日常生活的方方面面,例如汽车、医疗、智能家居、物联网、安全防护等[1]。

2.系统方案设计由于超声波是声波的一种,在空气中传播时会受到许多方面的影响,于不同外界因素的影响下会有对应的不同的速度参数呈现出来。

超声波经由空气传播时可能造成影响的因素主要有湿度、气压、温度等因素,而这当中温度则会对声速的改变造成较为巨大的影响,故而本文将会着重着眼于温度给测距模块带来的影响,测算温度对声速的补偿,提高测距数据的准确性[2]。

由于超声波的方向性好、能耗低、声能衰减小等特性,便于应用于日常的测量场景,有效地增强了对外界空间进行测量时的精确程度。

本系统采用Arduino单片机作为控制器,利用OLED显示屏模块对测量数据进行显示,蓝牙模块通过无线的方式发送和接收信息,提高了系统的智能性和便捷性。

该超声波测距系统具有很大的实用性,应用层面十分广泛,同时也便于维护和更新[3]。

图1 超声波测距系统总体框架示意图3.系统模块介绍该测距系统采用Arduino控制器为系统提供控制单元进行基本输入输出操作,利用HC-SR04一体化的超声波收发传感器作为系统的测距装置,使用DHT11温湿度一体化模块进行温度参数的提取,搭载OLED显示屏进行结果的输出显示,通过蓝牙模块实现信息的发送与数据的接收与控制。

基于单片机的超声波测距系统实验报告

基于单片机的超声波测距系统实验报告

基于单片机得超声波测距系统实验报告一、实验目得1、了解超声波测距原理;2.根据超声波测距原理,设计超声波测距器得硬件结构电路;3.对设计得电路进行分析能够产生超声波,实现超声波得发送与接收,从而实现利用超声波方法测量物体间得距离;4.以数字得形式显示所测量得距离;5、用蜂鸣器与发光二极管实现报警功能、二、实验内容1、认真研究有关理论知识并大量查阅相关资料,确定系统得总体设计方案,设计出系统框图;2.决定各项参数所需要得硬件设施,完成电路得理论分析与电路模型构造。

3。

对各单元模块进行调试与验证;4、对单元模块进行整合,整体调试;5.完成原理图设计与硬件制作;6.编写程序与整体调试电路;7。

写出实验报告并交于老师验收。

三、实验原理超声波测距就是通过不断检测超声波发射后遇到障碍物所反射得回波,从而测出发射与接收回波得时间差t,然后求出距S=Ct/2,式中得C为超声波波速。

由于超声波也就是一种声波,其声速C与温度有关。

在使用时,如果温度变化不大,则可认为声速就是基本不变得。

如果测距精度要求很高,则应通过温度补偿得方法加以校正、声速确定后,只要测得超声波往返得时间,即可求得距离。

这就就是超声波测距仪得机理,单片机(AT89C51)发出短暂得40kHz信号,经放大后通过超声波换能器输出;反射后得超声波经超声波换能器作为系统得输入,锁相环对此信号锁定,产生锁定信号启动单片机中断程序,得出时间t,再由系统软件对其进行计算、判别后,相应得计算结果被送至LED显示电路进行显示、(一)超声波模块原理:超声波模块采用现成得HC-SR04超声波模块,该模块可提供2cm—400cm得非接触式距离感测功能,测距精度可达高到3mm、模块包括超声波发射器、接收器与控制电路。

基本工作原理:采用IO 口 TRIG触发测距,给至少10us 得高电平信号;模块自动发送 8 个 40khz 得方波,自动检测就是否有信号返回;有信号返回,通过 IO口ECHO 输出一个高电平,高电平持续得时间就就是超声波从发射到返回得时间。

基于单片机的超声波测距系统的设计

基于单片机的超声波测距系统的设计

基于单片机的超声波测距系统的设计1. 摘要基于单片机的超声波测距系统利用了超声波的频率在20KHZ以上,具有方向性强、耗能慢、传播距离远等优点。

在传感器技术与自动控制技术相结合的测距程序中,超声波测距是最常见的应用之一,被广泛应用于防盗、倒车雷达、水位测量、建筑工地和一些工业用地。

本系统的设计主要包含了硬件电路和软件程序两部分。

通过分析超声波测距的基本原理,选用合适的硬件电路部分,并写入相应的控制代码,以实现一个超声波测距系统的设计思路与方案。

在设计中,核心控制单元选用了STC89C52单片机,利用超声波传感器检测出超声波信号从传感器发出、碰到待测物并反射、最后接收器接收到返回的超声波信号这一过程的时间间隔,通过超声波在一定温度下的传播速度,利用公式得出传感器与待测物之间的距离,并将结果通过1602液晶显示出来。

系统还建立了按键模块和声光报警模块,以提升实用性,并建立了温度补偿模块,以提高测距的精确度。

系统采用模块化的结构,主要由温度检测模块、超声波测距模块、独立按键模块和供电电路四部分构成输入部分,由LCD1602显示模块、蜂鸣器、LED构成输出部分,由STC89C52单片机作为中控部分处理输入部分数据并控制输出部分。

通过Proteus仿真软件验证了硬件电路和软件代码设计。

2. 绪论随着科技的不断发展,人们对距离测量的需求日益增长。

在工业自动化、智能交通、机器人导航等领域,精确的距离测量是实现系统智能化和自动化的关键。

超声波测距技术因其非接触、高精度、低成本等优点,成为距离测量的首选方法之一。

基于单片机的超声波测距系统是利用单片机控制超声波的发射和接收,通过计算超声波在空气中传播的时间来测量距离。

相比传统的机械式测距方法,基于单片机的超声波测距系统具有更高的测量精度和更广泛的应用范围。

本文旨在设计一个基于单片机的超声波测距系统,通过研究超声波的特性、传感器的选择、硬件电路的设计和软件程序的编写,实现对目标距离的高精度测量。

超声波测距仪单片机课设实验报告

超声波测距仪单片机课设实验报告

超声波测距仪单片机课设实验报告微机原理与单片机系统课程设计专业:轨道交通信号与控制班级:交控1305姓名:贺云鹏学号: 201310104指导教师:李建国预计定价:10元利润:1.46元3 硬件设计此系统的硬件设计主要包括HC-SR04超声波测距模块、AT89C51单片机、4位LED显示模块,并连入指示灯、待机开关和锁存开关。

仿真时,将HC-SR04超声波测距模块用一个555延时电路来代替即可,其中调节改变滑动变阻器的阻值可以模拟被测物体距离的变化。

实验仿真电路图如图1所示。

图1 设计硬件电路图4 软件设计此系统的软件设计主要包括超声波测距模块设计、LED显示模块设计、和其他拓展模块。

采用定时器1每800ms发射一个脉冲信号启动超声波测距模块,采用定时器0计算超声波传播时间,并通过一个计算函数算得距离,然后送LED 显示屏进行动态扫描并显示结果。

4.1 程序流程图主程序流程图如图2所示。

图2 程序流程图4.2程序基于AT89C51单片机的超声波测距源程序见附录一。

5 系统仿真及调试结果基于AT89C51单片机的超声波测距仿真结果见附录二。

基于AT89C51单片机的超声波测距调试结果如图3所示。

图3 系统程序调试结果6 总结本设计通过对超声波测距的研究,与单片机结合,实现了超声波测距的目标,并增加了数据锁存、指示灯和待机的功能。

仿真时由于软件中没有HC-SR04模块,因此用555延时电路来代替。

通过这次课程设计,我加深了对单片机的理解,也为以后更好的运用打下了基础。

最后要感谢李老师的指导,在李老师的耐心解答下,我受益匪浅。

参考文献[1] 李积英.数字电子技术.中国电力出版社,2011[2] 深圳市捷什科技有限公司.HC-SR04超声波测距模块说明书.[3] 彭江.单片机原理及接口技术的开发[J].软件导刊,2011,12(8):66-70.[4] 王思明.张金敏.苟军年.张鑫.杨乔礼.单片机原理及应用系统设计.科学出版社.2012附录一:实验源程序#include<reg51.h>#define uchar unsigned char#define uint unsigned int#define LED_port P0 //用于LED段选#define LED_pos P1 //用于LED位选sbit qq=P2^6; //待机按钮sbit suocun=P2^1; //锁存结果sbit RX=P1^4; //回波sbit TX=P1^5; //送波sbit D1=P3^7; //接收指示灯uint time=0; //定时器0时间uint timer=0; //定时器1时间unsigned long S=0; //用于显示最后计算得到的距离unsigned long W[2]={0,0}; //用于比较两次测算距离大小bit flag =0; //定时器0中断溢出标志位uchar value[4];uchar code LED_seg[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //数码管段选uchar code pos[4]={0x01,0x02,0x04,0x08}; //数码管位选/********************************************************/void Delay(uchar t) //延时函数{uchar i,j,k;for(i=0;i<t;i++)for(j=0;j<20;j++)for(k=0;k<20;k++);}/********************************************************/void value_shift(uchar value[]) //将距离值的每一位放到数组中{value[0]=S/1000;value[1]=S/100%10;value[2]=S/10%10;value[3]=S%10;}/********************************************************/void Display(uchar value[]) //数码管显示{uchar i;for(i=0;i<4;i++){LED_pos=pos[i];LED_port=LED_seg[value[i]];Delay(1);}}/********************************************************/void zd3() interrupt 3 //T1中断用来扫描数码管和计800MS启动模块{ //这是计时器1中断TH1=0xf8; //赋初值,2msTL1=0x30;timer++;if(timer>=400){timer=0;TX=0; //800MS 启动一次模块//Delay(30); //一次超声波信号时长30ms,仿真时只需加负脉冲,故屏蔽此句TX=1;}}/********************************************************/void zd0() interrupt 1 //T0中断用来计数器溢出{flag=1; //中断溢出标志}/********************************************************/void Count(void) //计算程序{time=TH0*256+TL0; //这是最后算到的时间,往返时间,但应该再乘以12/11.0593M是一个机器周期,时间应该是time*12/11.059 TH0=0; //定时器0的初始值为0TL0=0;S=(time*1.845)/10; //算出来是mm,time*12*170/(11.0592*1000)mm=time*(1845/10000)mmW[0]=S;if(((W[0]-W[1])^2)<=100) //进行校正,若两次结果相差小于10mm,则采用前一次结果S=W[1];elseW[1]=S;if (S>=4000) //最大距离4m,即4000mmS=8888;if (flag==1) //判断是否溢出{S=8888;flag=0;TH0=0;TL0=0;}}/********************************************************/void main( void ){TMOD=0x11; //设T0为方式1,T1为方式1TH0=0; //中断0初始化TL0=0; //中断1初始化TH1=0XF8;TL1=0X30;ET0=1; //允许T0中断ET1=1;TR1=1;qq=1;suocun=0;EA=1;while(1){while(!RX) ; //当RX为零时等待,即echo为低电平TX=1;TR0=1;D1=1; //开启计数while(RX); //当RX为1计数并等待TR0=0; //关闭计数D1=0; //关指示灯while(!qq) //待机按钮按下时,关总中断和位选{EA=0;P1=0X00;}qq=1;Count(); //计算value_shift(value);Display(value); //显示while(suocun) //当按下锁存按钮时,关总中断并显示{EA=0;Display(value);}EA=1;}}附录二:1.距离小于4m时的仿真图图1 距离小于4m 2.距离大于4m时的仿真图图2 距离大于4m。

单片机超声波测距-实训报告

单片机超声波测距-实训报告

基于STC11F04E单片机的超声波测距仪实训报告目录摘要 (3)一.超声波测距原理 (4)二.超声波测距仪原理图 (4)1. 单片机最小系统电路/按键电路/LCD显示电路 (5)2. 程序下载电路/电源电路/指示灯电路 (5)3. 超声波发送电路 (5)4. 超声波接收电路 (5)5. 其他电路 (5)三.超声波测距仪功能介绍 (6)四.超声波测距仪图片 (6)五.实训心得 (8)六.程序设计简介 (9)七.超声波测距仪部分程序 (10)摘要本超声波测距仪是基于STC11F04E单片机的,该测距仪可测得精确距离为3~100CM,误差小于1CM,使用NOKIA 5110 LCD显示,全过程中文显示,便于用户使用。

单片机产生超声波经功率放大发送出去,接收到的超声波经CX20106产生中断让单片机计算距离,再通过LCD显示距离,本测距仪还有可调的报警距离设定功能、即将进入盲区提示功能、即将超出量程提示功能、开机显示各种预设画面功能。

其中,进入报警距离调整状态时还有对应按键功能提示的功能。

一.超声波测距原理超声波测距原理是通过超声波发射器向某一方向发射超声波(一般为40KHz的超声波),在发射时刻的同时开始计时,超声波在空气中传播时碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。

超声波在空气中的传播速度为v ,而根据计时器记录的测出发射和接收回波的时间差△t ,就可以计算出发射点距障碍物的距离S ,即:S = v•△t /2其中,超声波在空气中的传播速度给温度有关,速度V=332+0.607*T,T是环境温度,单位是摄氏度,因此,要精确测距要考虑温度的影响,采用温度补偿方式进行计算。

二.超声波测距仪原理图STC11F04E单片机最小系统电路/ 程序下载电路/按键电路/NOKIA 5110LCD显示电路电源电路/指示灯电路超声波发送电路超声波接收电路其他功能:温度检测电路/日期时间电路/外部存储电路1.单片机最小系统电路/按键电路/LCD显示电路STC11F04E单片机是51单片机的升级版,内置复位电路和振荡电路,本系统使用内置复位电路,按单片机说明书所说:在1号脚接1K电阻接地即可。

#基于单片机的超声测距系统设计-毕业设计

#基于单片机的超声测距系统设计-毕业设计

基于单片机的超声测距系统设计摘要超声波测距法迅速,方便,计算简单,易于做到实时控制,提过基于单片机的超声测距系统的设计能更加深入地了解单片机的实际使用。

本课题完成整个超声波测距系统设计,包括单片机控制电路,发射电路,接收电路,LCD显示电路和温度补偿电路。

本课题硬件部分设计采用最小系统板和所需的超声波收发电路。

程序由计算机仿真并烧入单片机实际调试,最终实物是一个能在5至200cm范围内准确测量距离的便携式系统,经实际测量误差控制在5%以内。

该系统的设计过程加深了对单片机的理解。

本设计的产品也能在实际生活中有很广泛的使用。

关键词:超声波,测距,补偿,模块DESIGN OF ULTRASONIC RANGINGBASED ON SINGLECHIPABSTRACTUltrasonic ranging is so quick and useful,it can be easy to translationed and be controled on time.We can learn much about singlechip during the design of Ultrasonic ranging base on singlechip.The system is made up by singlechip part,send and receive part,LCD part and temperature detective part.With the helping of smallest system and computer,the product which can detective the distance from 5cm to 200cm comes out.The error is only 0.5%. The system can help you take a good learning about singlechip.On the other hand,the system can be used in many environment by its practicality.Key Words: Ultrasonic,Ranging, temperature detective目录摘要 (I)ABSTRACT (II)目录 .................................................................................................................................................. I II 第1章绪论 (1)1.1课题的背景和意义 (1)1.1.1 课题的背景 (1)1.1.2 课题的意义 (1)1.2超声波测距的发展现状趋势 (1)1.3本课题任务 (2)第2章单片机 (2)2.1单片机原理及使用 (2)2.1.1 单片机原理 (2)2.1.2 单片机的使用 (3)2.2单片机发展前景 (3)2.3单片机程序编译环境 (4)2.3.1 KEIL C51 (4)2.3.2 uVision2集成开发环境 (5)2.3.3 编辑器和调试器 (5)2.3.4 C51编译器 (6)2.3.5 部分代码优化 (6)2.3.6 RTX51实时核模块 (7)2.3.7 测试程序 (8)2.3.8 C51 V7版增强功能介绍 (8)第3章超声波测距原理 (9)3.1超声波原理及使用 (9)3.1.1 超声波原理 (9)3.1.2 超声波使用 (9)3.2超声波测距原理 (10)第4章测距系统构成和误差分析 (11)4.1单片机控制器 (11)4.2传感器 (11)4.2.1 超声波传感器原理和选型 (11)4.2.2 温度传感器选型 (12)4.3LCD显示屏 (13)4.4系统误差 (13)4.4.1 系统误差分析 (13)4.4.2 系统误差补偿 (14)第5章系统设计 (15)5.1系统框图............................................................................................... 错误!未定义书签。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

指导教师评定成绩:审定成绩:自动化学院计算机控制技术课程设计报告设计题目:基于单片机的超声波测距系统设计单位(二级学院):学生姓名:专业:班级:学号:指导教师:负责项目:设计时间:二〇一四年五月自动化学院制目录一、设计题目 (1)基于51单片机的超声波测距系统设计 (1)设计要求 (1)摘要 (2)二、设计报告正文 (3)2.1 超声波测距原理 (3)2.2系统总体方案设计 (4)2.3主要元件选型及其结构 (5)2.4硬件实现及单元电路设计 (9)2.5系统的软件设计 (13)三、设计总结 (17)四、参考文献 (17)五、附录 (18)附录一:总体电路图 (18)附录二:系统源代码 (18)一、设计题目基于51单片机的超声波测距系统设计设计要求1、以51系列单片机为核心,控制超声波测距系统;2、测量范围为:2cm~4m,测量精度:1cm;3、通过键盘电路设置报警距离,测出的距离通过显示电路显示出来;4、当所测距离小于报警距离时,声光报警装置报警加以提示;5、设计出相应的电子电路和控制软件流程及源代码,并制作实物。

摘要超声波具有传播距离远、能量耗散少、指向性强等特点,在实际应用中常利用这些特点进行距离测量。

超声波测距具有非接触式、测量快速、计算简单、应用性强的特点,在汽车倒车雷达系统、液位测量等方面应用广泛。

本次课设利用超声波传播中距离与时间的关系为基本原理,以STC89C52单片机为核心进行控制及数据处理,通过外围电源、显示、键盘、声光报警等电路实现系统供电、测距显示、报警值设置及报警提示的功能。

软件部分采用了模块化的设计,由系统主程序及各功能部分的子程序组成。

超声波回波信号输入单片机,经单片机综合分析处理后实现其预定功能。

关键词:STC89C52单片机; HC-SR04;超声波测距二、设计报告正文2.1 超声波测距原理常用的超声测距的方法是回声探测法,超声波发射器向某一方向发射超声波,在发射时刻的同时计数器开始计时,超声波在空气中传播,途中碰到障碍物面阻挡就立即反射回来,超声波接收器收到反射回的超声波就立即停止计时。

设超声波在空气中的传播速度为340m/s (不计介质温度变化对速度的影响),根据计时器记录的时间t ,就可以计算出发射点距障碍物面的距离s ,即:s=340t/2。

如图2-1所示:超声波发射障碍物超声波接收图2-1 超声波的测距原理θcos S H = (2-1))(H L arctg =θ (2-2)式中: L —两探头中心之间距离的一半;又知道超声波传播的距离为:vt S =2 (2-3)式中: v —超声波在介质中的传播速度;t —超声波从发射到接收所需要的时间;将式2-1、2-2、2-3联立得:]cos[21H L arctg vt H = (2-4)其中,超声波的传播速度v 在一定的温度下是一个常数(例如在温度T=30度时,V=349m/s);当需要测量的距离H 远远大于L 时,上式变为:vt H 21= (2-5) 所以,只要需要测量出超声波传播的时间t,就可以得出测量的距离H.2.2系统总体方案设计本超声波测距系统由系统硬件电路及软件程序实现两部分构成。

其中由STC89C52单片机最小系统、HC-SR04超声波模块、电源接口电路、4位共阳极数码管显示电路、三极管驱动电路、蜂鸣器声光报警电路及键盘电路构成硬件系统。

以STC89C52单片机为核心,通过触发信号控制HC-SR04超声波测距模块发射超声波并接收回波,测算出前方障碍的距离,输入单片机进行运算,与预设报警距离比较后判断是否启动蜂鸣器声光报警装置。

根据系统功能要求及模块划分可绘制出系统硬件框图,如图2-2所示:图2-2 系统硬件框图2.3主要元件选型及其结构2.3.1 STC89C52芯片STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。

工作电压:5.5V~3.3V。

STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。

在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。

另外 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

最高运作频率35MHz,6T/12T可选。

其引脚图如图2-3所示:a引脚图b实物图图2-3 STC89C52引脚图2.3.2 HC-SR04超声波模块HC-SR04超声波模块具有性能稳定、测度距离精确、模块高精度、盲区小等特点,使用简单易操作,常用于距离测量。

其原理图及实物图如图2-4、图2-5所示:图2-4 HC-SR04超声波模块原理图图2-5 HC-SR04超声波模块实物图(1)接线方式:VCC(接电源)、Trig(控制端)、Echo(接收端)、GND(接地)(2)基本工作原理:a.采用I/O口TRIG触发测距,给至少10us的高电平信号;b.模块自动发送8个40kHz的方波,自动检测是否有信号返回;c.有信号返回,通过I/O口ECHO输出一个高电平,同时开始计时直到此口变为低电平,高电平持续的时间就是超声波从发射到返回的时间。

测试距离=(高电平时间*声速(340M/S))/2。

(3)电气参数表1 HC-SR04电气参数表(4)超声波时序图图2-6 超声波时序图(5)操作:初始化时将trig和echo端口都置低,首先向给trig发送至少10 us 的高电平脉冲(模块自动向外发送8个40kHz的方波),然后等待,捕捉echo 端输出上升沿,捕捉到上升沿的同时,打开定时器开始计时,再次等待捕捉echo 的下降沿,当捕捉到下降沿,读出计时器的时间,这就是超声波在空气中运行的时间,按照测试距离=(高电平时间*声速(340M/S))/2就可以算出超声波到障碍物的距离。

2.3.3 4位共阳数码管(1)共阳数码管的实物图、原理图如图2-7、图2-8所示:图2-7 4位共阳数码管实物图图2-8 4位共阳数码管原理图(2)工作原理:共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。

共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。

当某一字段的阴极为高电平时,相应字段就不亮。

(3)动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。

通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。

在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。

2.4 硬件实现及单元电路设计(1)单片机最小系统单片机系统由电源、晶振电路、复位电路组成。

如图2-9所示:图2-9 单片机最小系统(2)电源接口电路设计电源部分的设计采用3节5号干电池4.5V供电,如图2-10所示:图2-10 电源接口电路(3)超声波模块接口HC-SR04超声波模块接口如图2-11所示:图2-11 HC-SR04超声波模块接口(4) 4位共阳极数码管显示电路及三极管驱动电路显示电路如图2-12所示:图2-12 4位共阳数码管显示电路当I/O口输出低电平时,相应段被选通,反之则不然。

三极管驱动电路如图2-13所示:图2-13 三极管驱动电路当I/O口输出低电平时,相应位被选通,反之则不然。

(5)声光报警电路的设计声光报警电路如图2-14所示:图2-14 声光报警电路声光报警电路由一个蜂鸣器、一个三极管、一个发光二极管、两个电阻构成。

其中电阻起限流的作用,当I/O口输出低电平时,三极管饱和导通,蜂鸣器报警、LED亮,反之则不报警。

(6)键盘电路的设计键盘电路如图2-15所示:图2-15 键盘电路2.5系统的软件设计(1)各主要模块①超声波测距模块。

给超声波Trig口至少10us的高电平,启动测量,定时器T0计时,通过计算测得距离。

②显示模块。

包括数码管位选函数、段选函数及距离处理显示模块。

将超声波测距测量值、报警设定值显示在4位数码管上。

③键盘模块。

由键盘检测函数及键盘处理函数组成。

有设定键、加键、减键、复位键、开关键。

主要设置报警值。

④声光报警模块。

将测量值与设定报警值比较,若小于设定值,报警。

⑤特殊存储器eepom模块。

包括单片机eepom存储器读、写操作以及初始化。

其内存储设定报警值,掉电数据不丢失。

⑥定时器模块。

TO定时器用于超声波测距的计时。

T1定时器用于主程序扫描时间的控制。

(2)主程序源代码void main(){send_wave(); //测距离函数smg_display(); //处理距离显示函数time_init(); //定时器初始化init_eepom(); //初始化eepom(读取set_d)while(1){if(flag_300ms == 1) //300ms执行一次{flag_300ms = 0;clock_h_l(); //报警函数send_wave(); //测距离函数if(menu_1 == 0) //没有键按下时才给缓冲数组赋新值smg_display(); //处理距离显示函数if(zd_break_en == 1) //自动退出设置界面程序{zd_break_value ++; //每300ms加一次if(zd_break_value > 100) //30秒后自动退出设置界面{menu_1 = 0;smg_i = 3;zd_break_en = 0;zd_break_value = 0;}}}key(); //按键检测函数if(key_can < 4){key_with(); //按键处理函数,修改报警设定值}}}(3)主程序工作流程图图2-16 主程序流程图(4)超声波探测程序流程图图2-17 超声波探测程序流程图三、设计总结四、参考文献[1] C程序设计(第三版). 谭浩强 . 清华大学出版社 .[2] 新概念51单片机c语言教程 . 郭天祥 . 电子工业出版社[3] 传感器与检测技术 . 胡向东 . 机械工业出版社[4] 微控制其原理及应用 . 向敏 . 人民邮电出版社五、附录附录一:系统总体电路图图5-1 超声波探测程序流程图附录二:系统软件源代码/*****************************************************课设名称:基于51单片机的超声波测距系统设计*硬件平台: 超声波模块+51最小系统*显示模块:4个数码管*输入模块:3个按键*实现的功能:用超声波模块把距离测量出来,用数码管显示,可通过按键设置要报警的距离,低于设置* 的值则自动报警,一直按住调值的键会越加越快,超出量程(3.8m)则显示888 *接口说明:数码管位P3^4 P3^5 P3^6 P3^7* 超声波发射=>P3^2* 超声波接收=>P3^3按键用的接口是P2口*待改进的地方:温度补偿,提高精度*当前的缺陷:不能测出4m的距离*测量单位:米(m)****************************************************/#include <reg52.h>#include <intrins.h>#include <string.h>#include <eepom52.h>#define uchar unsigned char#define uint unsigned int//数码管段选定义设0 1 2 3 4 5 6 7 8 9uchar code smg_duan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//数码管位选uchar dis_smg[4] ={0,1,2,3};sbit smg_we1 = P3^4; //数码管位选端口sbit smg_we2 = P3^5;sbit smg_we3 = P3^6;sbit smg_we4 = P3^7;sbit c_send = P3^1; //超声波发射sbit c_recive = P3^0; //超声波接收uchar flag_hc_value; //超声波中间变量sbit beep = P2^3; //蜂鸣器IO口定义。

相关文档
最新文档