基于51单片机超声波测距仪解析.docx

上传人:b****5 文档编号:6107035 上传时间:2023-01-03 格式:DOCX 页数:38 大小:815.45KB
下载 相关 举报
基于51单片机超声波测距仪解析.docx_第1页
第1页 / 共38页
基于51单片机超声波测距仪解析.docx_第2页
第2页 / 共38页
基于51单片机超声波测距仪解析.docx_第3页
第3页 / 共38页
基于51单片机超声波测距仪解析.docx_第4页
第4页 / 共38页
基于51单片机超声波测距仪解析.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

基于51单片机超声波测距仪解析.docx

《基于51单片机超声波测距仪解析.docx》由会员分享,可在线阅读,更多相关《基于51单片机超声波测距仪解析.docx(38页珍藏版)》请在冰豆网上搜索。

基于51单片机超声波测距仪解析.docx

基于51单片机超声波测距仪解析

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

摘要

利用超声波进行测距有许多优点比如不受光强度、色彩和电磁场等外界因素的影响,而且超声波传感器的价位较低、结构也较为简单,超声波以声速传播,方便收发与计算。

在汽车倒车雷达、移动机器人的避障、特别是测量距离等许多方面都已有了非常普遍的应用。

本次毕业设计的超声波测距仪是在STC89C51单片机的基础上设计的,在分析和了解了超声波的一些优点和特性后,又查看了利用超声波测距的基本原理。

最后决定使用51单片机系统和超声波传感器共同组成。

设计的超声波测距仪的硬件部分主要包括电源及复位模块、单片机与超声波模块组成的超声波发射模块、超声波接收模块、LED数码显示模块和扩展报警模块。

软件部分主要包括单片机主程序、根据超声波发射与接收计算距离程序、LED距离显示程序、按键控制程序和蜂鸣器报警程序,这样安排使得系统具有模块化的特点。

系统容易进行控制,具有可靠地的性能,具有较高的测量精度,最重要的是能对距离进行实时测量。

 

关键词:

单片机,测距仪,超声波,实时测量

DesignofUltrasonicDistanceMeterBasedon51MCM

ABSTRACT

Usingultrasonicranginghasmanyadvantagesforexample,fromtheeffectsoflightintensity,colorandelectromagneticfieldandotherexternalfactorsandpricelowerultrasonicsensors,thestructureissimple,ultrasonicsoundsvelocity,convenienttransceiverandcalculation.Inthecarreverseradar,mobilerobotobstacleavoidance,especiallymeasuringdistanceandmanyotheraspectshavebeenverycommonapplication.

ThegraduationdesignofultrasonicrangefinderbasedonSTC89C51MCUdesign,analysisandunderstandingofthesomeadvantagesandcharacteristicsofultrasonicandlookedattheuseofthebasicprincipleofultrasonicdistancemeasurement.Finally,thecompositionofthe51single-chipmicrocomputersystemandultrasonicsensorisdecided..Thedesignofultrasonicrangefinderhardwarepartconsistsofthepowerandresetmodule,SCMandultrasonicmoduleconsistsofultrasonicemissionmodule,ultrasonicreceivingmodule,LEDdigitaldisplayexpansionmoduleandalarmmodule.SoftwarepartmainlyincludesMCUprogram,accordingtotheultrasonictransmittingandreceivingcomputingprogramdistance,thedistanceofLEDdisplayprogram,keycontrolproceduresandbuzzeralarmprocedures,thisarrangementenablesthesystemtohavethecharacteristicsofmodular.Thesystemiseasytocontrolandhasthereliableperformance,andhasthehigheraccuracy,andthemostimportantisthereal-timemeasurementofthedistance.

 

KEYWORDS:

Singlechipmicrocomputer,Rangefinder,Ultrasonic,Real-timemeasurement

 

第1章绪论

 

1.1研究背景

超声波测距法是通过超声波测量从已知位置到被测物体表面的距离的利用超声波的方法。

超声波也是一种机械波,是一种频率在20kHz以上的声波。

超声波测距是人们根据蝙蝠通过超声波反射进行捕食的方法发现的,也是仿生学中非常出名的例子,对生产领域产生了很大的影响。

跟着电子测量技术的不断飞速发展,已经可以利用超声波实现精准测量了。

测量技术在经济的不断发展下得到了越来越广的应用,因此超声波凭借着性能稳定、成本低廉、精度高等优点得到了重视。

机器人技术在出现后发展迅猛,机器人的用途也不在局限在工业生产而是进入了人们的日常生活。

普遍的应用对于增加群众对机器人技术的认识变得非常重要。

机器人能够通过特有的感知系统感知并确定前面障碍物的位置和周围的环境以完成躲避障碍物、自动寻路、测距等功能。

超声波测距具有其他的测距技术没有的特点,比如测量精度高,成本低廉,对环境的要求低,使用简便等。

将红外、灰度等传感器和超声波结合在一起将可以共同作用使机器人实现自动寻路和绕开障碍等功能。

超声波由于传播方向较稳定、并且在介质里传播时能量削减缓慢,能够发送很远的距离,所以在测量距离的时候经常用到。

超声波最普遍的应用是在汽车倒车雷达、物位测量仪、测距仪、研发移动机器人以及一些特殊工业现场等场合。

以后超声波传感器很可能将会智能化、自动化,实现更加方便高效的测距仪器。

1.2研究的主要意义

超声波测距技术是一种非常有前景的的技术,近距离的超声测距不会被光线影响,并且结构比较简单,成本经济实惠。

超声波测量最重要的优点是:

环境介质很普遍,空气、液体和固体都能使用,因此适合使用的范围非常大。

更重要的是使用超声波检测能很大程度的降低劳动强度,可以避免工作人员在恶劣工作环境中可能受到的伤害,还能够提高距离结果的准确度;另外,超声波测距仪也可以作用到别的功能系统中,如在机器人的避障系统、车内置防撞系统、自动停车系统和倒车雷达,因此超声波测距仪对电子测量技术发展是非常重要的。

第2章系统电路设计

 

2.1系统结构设计

图2-1所示的是超声波测距仪的系统设计结构图。

主要由单片机、超声波传感器、按键、复位电路、LED显示电路、蜂鸣器及电源电路组成。

系统主要功能包括:

1.发射与接收超声波,通过计算收发时间差得到测量的距离;

2.LED显示测量距离;

3.接收用户按下按键的相应指令并做出处理;

4.系统运行出错时,使用电平式开关和上电复位电路进行复位处理。

 

图2-1超声波测距仪的系统结构图

2.2电路总体设计方案

2.2.1发射与接收电路设计方案

对于此次超声波测距仪的系统,难点就是如何生成稳定40KHz信号。

由于此次使用的是中心工作频率为40KHz的超声波传感器,当偏移这个频率时,接收端的敏感程度将有所下降,从超声波传感器的特性曲线中可以看出具体下降的幅度。

当发射端的频率为40KHz时,接收端能收到的强度最强的信号,因此计算的距离也就最大,但如果偏移中心频率时,测量距离就会产生缩短,这一点是本次设计的可能忽略的关键点。

如何生成一个40KHz的驱动信号,有多种方法,可以选择用电感、电容振荡器件做出一个产生信号的发生器,不过这种方式产生的信号频率稳定性较差,调准比较难,所以很难制作成功。

而此次设计中,选择用单片机产生一个稳定信号,因为使用了频率稳定性较好的晶振元件作为系统的时钟,所以系统频率有极高的稳定性,也能产生频率非常平稳的驱动信号,当编入的程序的要求不同的时候,也能够轻松地取到需要的频率。

电路中决定前面是否被障碍物阻挡是根据接收到的信号强度值的,所以本设计制作成功非常关键性的一点就是起控点的选择。

由于反射回来的超声波信号的强弱受环境因素的影响,因此需要很细心的进行调试。

这时还要仔细观察随着距离的变化,电路中的直流控制电压的变化,从而选择出最合适的电压比较的起控点,这样才能实现当距离达到设置好的值时进行报警。

超声波测距仪开始测量距离时,单片机便开始执行相应程序。

此时P01口产生10us的TTL,51单片机也开始不断循环生成八个40kHz的脉冲信号,通过自身自动放大,而且将连续发射200us。

当P32口收到信号的时候会产生一个回响信号,此回响信号和测量的距离是有一个固定的比例关系。

使用51单片机执行程序后,P01端会发出一个40kHz的脉冲信号,然后使用三极管进行放大用来驱动超声波模块的发射端,发出超声波信号。

之后接收端要和发射端匹配,就收后需要把超声波进行调制转换成交变电压型信号。

之后在进行运算放大器的两级放大,电路内部的中心频率为f0=1/1.1

的压控震荡器,电容的作用是选择锁定带宽。

输入信号则放大25mv,输出端P32的电平也会有高变化成低,然后用来当中断请求的信号,在放到单片机内部去处理。

当超声波发射端打开的时候单片机的内部T0定时器也同时打开,然后根据定时器自身的计数功能计出超声波从发射到接收一共用了多长时间。

每次接收到反射回来的超声波时,接收电路的输出端就会发生负跳变,这时还会发生一个请求信号去请求中断,单片机接收到此外部请求中断后便会主动执行外部中断对应的服务子程序,并读出超声波发射接收时间差在据此计算距离。

图2-2发射与接收电路

2.2.2显示电路设计方案

显示设备是使用最普便的并很经典的输出设备,大部分电子设备都需要有显示器,之间的不同之处也就只是显示器的结构类型的不同。

显示器中最简单的就是LED发光二极管组成的。

其中还有结构功能都比较完整的CRT监视器,还有LCD液晶屏是显示器里屏幕比较大的。

在考虑到超声波测距仪的需求和对单片机资源的节省,所以选择使用LED驱动设备显示并使用串行的方式。

超声波测距仪需要显示的距离是在6米以内的,加上设置需要,所以使用4位LED数码管进行显示,距离使用厘米为单位。

LED显示器在单片机系统中经常使用的驱动方式有两种,一种是静态显示驱动,另一种是动态驱动显示。

其中静态显示驱动指的是让恒定的电流驱动需要亮的二极管,但是这样就需要让每个LED显示器的输入引脚都去对应一个独立的能进行锁存的I/O口。

这样的优点是显示时单片机向接受口传送的字形码不需要改变,当显示的数据发生变化时,只需要重新发送一个字形码即可。

这样做对单片机的使用较小,节省性能,但是对于硬件的要求太冗杂需要很多寄存器的设备。

而且如果增加显示位数也会非常麻烦,会大幅增加系统器件容量。

动态显示驱动是利用不同时间显示的方法对LED进行短暂驱动,之后逐位驱动显示各个LED,这需要一直循环显示每一位,而且LED的亮度取决于亮暗持续的平均水平。

在分析了这两种显示方式的优缺点后,最终确定使用动态驱动方式进行数据显示。

此次设计用P0口进行对LED的字形输出,使用八路输出的透明锁存器74hc573进行对数据的锁存,同时加上上拉电阻增加驱动电流是LED的亮度增加。

用P1口对LED显示的位进行控制,同时采用共阴型的LED显示器,避免刚上电时数码管闪烁。

2.2.3报警电路设计方案

系统报警电路需要有运算放大电路和蜂鸣器等原件。

其中放大电路用PNP三极管完成。

放大电路采用负反馈方式,也就是反相比例运算电路,反相比例运算电路主要的特点,就是输入信号是从反向输入端进行输入的,而且输入端还要接地处理。

因此由于“虚短”和“虚断”电路具有的特性,就是

=

=

=0。

其中常说的“虚短”就是使用理想的集成运放原理:

→∞,因此能够看成是两个输入端中间的差模电势差基本是0,也就是

d=

≈0,即

=

,不过

是确实有值的。

因为两个输入端之间的电势差等于0,但是又真的不是短路,所以叫做“虚短”。

而“虚短”是根据理想的集成运放中输入的电阻Rid→∞,因此也可以当成输入端没有电流,即

=

≈0,这样的话输入端又等于是断路,不过又没有断开,这就成了“虚断”。

在电路里,反相输入端和接地端的电位一样,不过又没有真的进行接地,把这种方法叫做“虚地”。

所以可以通过这种方法进行放大。

2.2.4系统复位电路设计

在平常使用单片机的时候,单片机系统除了会正常初始化,有时也会因为程序在运行时发生错误,或者人员操作时失误都有可能让系统变成锁死的状态。

所以需要有复位电路让系统能够重新开启来解决系统锁死的问题。

可见,系统中复位电路是非常必要的而且很重要。

单片机系统基本是全部使用外部的电路来进行复位的,在单片机时钟电路正常工作的时候,如果单片机上的RST端口上出现了连续的24个以上的时钟振荡脉冲产生的高电平,这时单片机就会进行复位变成初始化的状态。

设计制作复位电路的时候需要提供非常稳定的复位,也就是必须让RST端处于高电平。

需要注意的是如果RST端口的高电平一直不变,那么单片机就会出现重复复位。

单片机系统的复位电路一般使用下面的三种方式:

(1)上电自动复位

在系统通电的一瞬间,因为R•C电路会进入充电状态,所以RST端口就能够一直保持高电平,这样就能让单片机稳定的复位。

图2-5上电复位电路

(2)按键电平复位

让电路的复位按键和RST端口经过电阻和电源端VCC连接在一起,通过直接按键完成复位。

(3)正常较大的应用系统里,希望能确保复位电路的工作的可靠性,经常会把RC电路接到施密特电路之后,在跟单片机RST端和外围的电路复位端进行连接。

此方法在干扰较大的使用场合、工作环境中的电压波动较大等时候使用较普遍,而且,在系统中有许多的复位端时,就要求能同步复位,这种方法就能保证进行可靠的同步复位。

此次设计的超声波测距仪系统结构不是很复杂,所以为了拥有较好的复位效果又控制成本,所以决定使用上电自动复位方式。

第3章系统硬件设计

 

3.1单片机概述

3.1.1STC89C51主要性能

STC89C51是STC公司推出的一款抗干扰能力强,可靠性高,集成度高,性能好,低功耗的CMOS8位单片机。

片内含4kbytes的能够反复擦写的Flash只读程序存储器和256bytes的RAM(随机数据存储器),此芯片使用了STC公司的高密度、非易失性存储技术生产而成,能够和标准的MCS-51指令系统以及8052系列产品的引脚相兼容,芯片还内置了通用的8位中央处理器(CPU)和Flash存储单元。

STC89C51单片机凭借着强大的功能在各种各样的复杂的场合都有得到广泛的使用[5]。

3.1.2STC89C51外部结构及特性

STC89C51的封装外形有两种形式:

一种是双列直插式的40脚封装(DIP),另一种是方形的44脚封装(PLCC),其中直插式40脚封装(DIP)结构如图3-1所示,外部的总线分布如图3-2所示。

图3-1STC89C51引脚排列

图3-2仿真结构

STC89C51的4个8位I/O口的功能说明如下:

(1)P0口:

P0口可以当成通用的I/O口使用,能够输入和输出数据。

当成输出口使用时,每一位可以驱动8个TTL逻辑电平。

当P0端口被写入“1”时,引脚就会被用作高阻抗输入口。

在进行外部程序访问和数据存储器时,P0口也可以被当成是低8位的地址/数据复用端。

在这种使用模式下,P0就会有内部上拉电阻,不在是漏极开路。

在flash编程时,P0口又可以用来接收指令字节;当程序进行校验时,输出对应指令字节。

但是此时就要在外部加上上拉电阻了[5]。

(2)P1口:

P1口不在内置上拉的FET,但是却有一个上拉电阻。

只是这个上拉电阻的阻值比较大,所以他的上拉驱动能力很弱,如果不是应用系统需要有很低的功耗这种特殊要求,其他还是再外接个10K左右的上拉电阻比较好。

P1内部的下拉FET还有,所以当P1当做输入使用时,依旧需要首先对端口的数据锁存器发出1,让输出驱动FET变为截止,确保数据在读入时的正确性。

另外,P1.0和P1.2两个端口也能作位定时器/计数器方式2的外部计数输入,也可以作为定时器/计数器2的触发输入。

当进行flash编程或校验的过程中,P1口能够进行低8位地址字节的接收。

(3)P2口:

P2口也是一个内部拥有上拉电阻的8位双向I/O口。

当向P2端口写入“1”的时候,上拉电阻就会把端口拉高,这样P2口就能用来数据的输入了。

P2口当输入口使用时,引脚会让给外部电路拉低,因为内置的电阻缘故,会输出电流。

当单片机访问外部的程序存储器或用16位地址进行读取外部的数据存储器的时候,P2口就会输出高八位的地址。

当这样使用的时候,P2口就会利用内置的上拉电阻发出“1”。

当进行flash编程或校验的时候,P2口也能接收到高8位的地址字节和部分控制信号[4]。

(4)P3口:

P3口也是内置了上拉电阻的8位双向I/O口,跟P2口比较类似。

而且P3口还能实现AT89C52的一些独特的作用,如下所示。

表3-1P3口对应功能

P3.0

RXD(串行输入口)

P3.1

TXD(串行输出口)

P3.2

INTO(外部中断0输入口)

P3.3

INT1(外部中断1输入口)

P3.4

TO(定时器0外部输入)

P3.5

TI(定时器1外部输入)

P3.6

WR(片外数据存储器写选通)

P3.7

RD(片外数据存储器读选通)

3.1.3STC89C51内部组成

STC89C51单片机将下列的CPU、RAM、ROM、定时器/计数器、看门狗和多种功能的I/O口等元件集成到了一块半导体芯片上,基本上具有了大部分计算机才有的基本功能部件。

STC89C51单片机内包含的具体部分如下:

一个8位CPU。

一个芯片内置的振荡器和时钟电路。

4KBFlash程序存储器。

128BRAM数据存储器。

三个16位计数器/定时器。

可寻址64KB的外部数据存储器。

64KB的外部程序存储器。

32条可编程的I/O口(4组8位并行I/O端口)。

一个可编程全双工串口通信口。

8个中断源。

两个优先级嵌套中断结构。

STC89C52单片机的系统框图如图3-3所示,通过内部总线将各个模块进行连接。

 

图3-3STC89C51单片机框图

3.2超声波测距模块

3.2.1超声波传感器介绍

超声波传感器是根据仿生学的超声波原理制作出来的一种传感器。

超声波也是机械波,他是比声波的震动频率还要高的波。

通过电压对换能芯片的触发使其震动并发出超声波。

具有许多优点,如高频率、不容易发生散射、波长较短,还有最重要的特点就是方向性非常好,所以能够形成固定方向发射的信号。

超声波的穿透能力也非常好,不仅能在空气中传播,还能在固体和液体中传播,特别是一些不透光的固体,超声波能够传送几十米这么远。

超声波在传播过程中如果遇到了物质分界面或一些杂质都会形成较明显的反射波,如果是遇到了运动的物体还会发生多普勒现象。

由于超声波的这些特性,所以在国防、医学和工业生产中都得到了普遍的使用。

要想让超声波作为测量等操作的条件,就必须能够产生超声波并能够接收到超声波。

通常将能够满足这种要求的设备叫做超声波传感器,有时候也叫做超声探头。

超声波传感器是用压电晶片构成的,不仅能够进行超声波的发射,而且还能对超声波进行接收。

功率较小的超声传感器一般用来探测。

且拥有很多不一样的结构,比如可分直探头(纵波)、斜探头(横波)等。

3.2.2HC-SR04超声波测距芯片的性能特点

1.管脚简介

HC-SR04超声波传感器共有四个引脚,一个超声波发射头和一个超声波接收头组成。

四个引脚的作用分别是:

(1)VCC为5V电源;

(2)GND为地线;

(3)TRIG信号输入;

(4)ECH0输出回响信号。

管脚排列情况如图3-4所示。

VCC

TRIG

ECH0

HC-SR04

GND

 

图3-4外形及管脚排列图

下图是超声波传感器的实物图,跟上图的管脚排列一一对应。

图3-5超声波传感器

2.HC-SR04的电气参数

HC-SR04超声波元件是以在直流5V为正常工作电压。

电流15毫安。

频率为40赫兹。

有效使用范围在2cm~5cm。

测量角度为15度。

当有得到10us的高平电信号的TTL脉冲时,便能有回响信号出现。

规格尺寸为45*20*15mm。

详细的参数如表3-1。

 

表3-2电气参数

电气参数

HC-SR04超声波模块

工作电压

DC5V

工作电流

15mA

工作频率

40Hz

最远射程

4.5m

最近射程

2cm

测量角度

15度

输入触发信号

10us的TTL脉冲

输出回响信号

输出TTL电平信号,与射程成比例

规格尺寸

45*20*15mm

3.2.3超声波时序图

观察下面的超声波传感器的时序图,可以发现需要有一个10us以上的脉冲对系统传感器进行触发,这样传感器内部才能够自己产生8个40KHZ的周期电平并且对发射波进行接收。

当接收端发现有反射波时就会产生回响信号。

测量的距离跟回响信号的脉冲宽度是成正比的。

然后就能够根据统计发射信号发出到接收到回响信号的时间差算出实际的测量距离了。

由于统计的是一个来回的时间所以需使用公式:

距离=高电平时间*声速/2

 

 

图3-6时序图

需要注意的是:

超声波器件应尽量避免带电连接,如果必须带电连接,就必须先将器件的GND端做接地处理,不然将对器件的正常工作产生不好的影响。

测量距离的时候,需要测量的物体外表需要尽量大于0.6平方米而且让被测面尽可能的平坦,不然测量出来的距离会不稳定或产生误差。

3.3驱动显示电路及报警电路

3.3.1LED数码管显示电路

超声波测距仪的显示部分使用了一个4位的8段LED二极管,主要是在显示测量距离时和设置警报值时使用。

数码管采用了共阴极的方式,共阴方式就是把LED二极管的所有阴极全部都接到一块,作为一个公共的阴极。

所以在使用共阴形LED数码管时必须把公共的阴极与GND相联。

哪一个二极管需要发光就让他的的阳极变成高电平。

在显示数据时使用动态扫描的方式进行显示,使用前先把LED数码管的8个对应位的端口a~g和dp的名字一样的连在一起,然后让I/O口对每个LED的公共阴极COM分别进行驱动。

当单片机输出端进行字形码输出的时候,每个LED都能够得到这个字形码,但是具体是让哪个LED亮,就要看COM端的电平了。

用单片机的I/O口与COM口接在一块。

这时单片机会把位选码发送到I/O口上,决定究竟是哪一个LED需要发光。

利用这种方法逐个输出字符时,每一个LED亮的时间都是非常短的,不过人眼是分辨不出来的,所以看起来好像是每一位都一直在显示,没有熄灭过。

这样也能体现出动态显示方式很省电的优点,因为动态显示的时候一个时间点只能有一个LED是发光的。

具体的原理图如图3-7。

图3-7显示电路

3.3.2蜂鸣器报警电路

蜂鸣器是使用直流电压进行供电的使用整体结构的电子发声器,在计算器、儿童玩具、车辆电子设备、固定电话、传真机、打印机、各类报警器、定时装置等产品的发声模块中都有非

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1