超声波传感器测距离.docx

上传人:b****3 文档编号:5446028 上传时间:2022-12-16 格式:DOCX 页数:38 大小:292.32KB
下载 相关 举报
超声波传感器测距离.docx_第1页
第1页 / 共38页
超声波传感器测距离.docx_第2页
第2页 / 共38页
超声波传感器测距离.docx_第3页
第3页 / 共38页
超声波传感器测距离.docx_第4页
第4页 / 共38页
超声波传感器测距离.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

超声波传感器测距离.docx

《超声波传感器测距离.docx》由会员分享,可在线阅读,更多相关《超声波传感器测距离.docx(38页珍藏版)》请在冰豆网上搜索。

超声波传感器测距离.docx

超声波传感器测距离

目录

一、课程设计任务书2

二.超声波传感器测距原理4

2.1超声波传感器4

2.2超声波测距原理概述5

三.系统总体设计方案6

四.系统的硬件结构设计8

4.1单片机最小系统原理概述8

4.2超声波发射电路14

4.3超声波检测接收电路14

4.4超声波测距系统的显示电路设计15

4.5PROTUES仿真硬件电路图15

五.系统软件的设计16

5.1超声波测距仪的算法设计16

5.2程序流程图16

5.3主程序设计18

5.4定时中断服务子程序设计18

5.5超声波发生子程序和超声波接收中断程序设计19

六.调试结果20

七.系统误差来源及解决方案分析22

八.收获体会23

参考文献24

附录一超声波测距电路原理图25

附录二程序清单26

附录三元件清单36

一、课程设计任务书

《智能仪器综合设计》课程设计任务书

题目:

超声波测距系统设计

一、课程设计任务

超声波测距主要应用于倒车雷达、建筑施工工地以及一些工业现场,如液位、井深、管道长度等场合。

超声波测距的原理是,发射器发射出超声波,遇到被测物体后返回声波由接收器接收,测量出超声波发射和接收到回波的时间差,超声波波速与时间差乘积的一半即为被测距离。

该超声波测距系统以AT89S52单片机为核心进行设计。

二、课程设计目的

通过本次课程设计使学生掌握:

1)智能仪器的一般设计、实现方法;2)超声波传感器测距的工作原理;3)智能仪器设计的实际调试技巧。

从而提高学生对智能仪器的设计和调试能力。

三、课程设计内容和要求

1、掌握超声波传感器的测距原理,测量结果数显;

2、根据超声波测距原理,设计超声波测距系统的硬件结构电路并画出原理图;

3、用PROTUES对所设计的系统进行仿真;

4、给出软件设计流程图;

5、系统软硬件连调,给出该测距系统的性能指标,并对产生的误差进行分析。

四、课程设计报告要求

报告中提供如下内容:

  1、目录

2、正文

(1)课程设计任务书;

(2)超声波传感器测距原理;

(3)系统总体设计方案;

(4)超声波测距系统硬件电路的设计,包含发射电路、接收电路和显示模块的设计,用PROTEL软件绘制硬件原理图并列出器件清单,用PROTUES仿真;

(5)软件设计:

程序流程图及清单(子程序不提供清单,但应列表反映每一个子程序的名称及其功能);

(6)调试结果:

各个关键点波形和实测数据组;

(7)系统误差来源及解决方案分析;

3、收获、体会

4、参考文献

五、课程设计进度安排

周次

工作日

工作内容

1

布置课程设计任务,查找相关资料

2

熟悉智能仪器综合实验平台所提供的相关资源

3

完成总体设计方案

4

画出硬件原理图并进行仿真

5

完成硬件接线,编写程序并调试

1

编写程序并调试

2

编写程序并调试

3

编写程序并调试及准备课程设计报告

4

完成课程设计报告并于下午两点之前上交

5

答辩

本课题共需两周时间

七、课程设计考核办法

本课程设计满分为100分,从课程设计平时表现、课程设计报告及课程设计答辩三个方面进行评分,其所占比例分别为20%、40%、40%。

 

二.超声波传感器测距原理

2.1超声波传感器

超声波是由机械振动产生的,可以在不同的介质中以不同的速度传播,其频率高于20KHz。

由于超声波指向性强,能量消耗缓慢,在介质中传播距离远,因而超声波可以用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。

超声波测距是一种非接触式的检测电路,因而利用超声波检测距离,设计比较方便,计算处理也较简单,并且在测量精度方面也能达到要求。

由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量。

利用超声波检测距离,设计比较方便,计算处理也较简单,并且在测量精度方面也能达到农业生产等自动化的使用要求。

超声波发射器如今有两类,一类是用电气方式产生超声波,一类是用机械方式产生超声波。

电气方式包括压电型、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。

它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。

目前较为常用的是压电式超声波发生器。

本系统选用的是压电式超声波传感器。

它是利用压电效的应原理,压电效应有逆效应和顺效应,实际上是利用压电晶体的谐振来工作的。

超声波发生器它有两个压电晶片和一个共振板,当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。

反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。

发射器发出的超声波以速度υ在空气中传播,在到达被测物体时被反射返回,由由接收器接收,其往返时间为t,由s=vt/2即可算出被测物体的距离。

由于超声波也是一种声波,其声速v与温度有关,表2.1列出了几种不同温度下的声速。

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

如果测距精度要求很高,则应通过温度补偿的方法加以校正。

表2.1超声波波速与温度的关系

温度(℃)

-30

-20

-10

0

10

20

30

100

声速(m/s)

313

319

325

323

338

344

349

386

 

2.2超声波测距仪原理概述

超声波测距的原理一般采用渡越时间法TOF(timeofflight)。

其原理为:

检测从超声波发射器发出的超声波,经气体介质的传播到接收器的时间,即渡越时间。

渡越时间与气体中的声速相乘,就是声波传输的距离。

超声波发射器向某一方向发射超声波,在发射时刻的同时单片机开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。

单片机发出40kHZ的信号,经放大后通过超声波换能射器输出;反射后的超声波经超声波换能器作为系统的输入,锁相环对此信号锁定,产生锁定信号启动单片机中断程序,读出时间为t,再由软件进行判别、计算,得出距离数并送LED显示。

限制超声波系统的最大可测距离存在四个因素:

超声波的幅度、反射物的质地、反射和入射波之间的夹角以及接受换能器的灵敏度。

接受换能器对声波脉冲的直接接收能力将决定最小可测距离。

 

3.系统总体设计方案

超声波测距的原理是利用超声波的发射和接受,根据超声波传播的时间来计算出传播距离。

实用的测距方法有两种,一种是在被测距离的两端,一端发射,另一端接收的直接波方式,适用于身高计;一种是发射波被物体反射回来后接收的反射波方式,适用于测距仪。

此次设计采用反射波方式。

测距仪的分辨率取决于对超声波传感器的选择。

超声波传感器是一种采用压电效应的传感器,常用的材料是压电陶瓷。

由于超声波在空气中传播时会有相当的衰减,衰减的程度与频率的高低成正比;而频率高分辨率也高,故短距离测量时应选择频率高的传感器,而长距离的测量时应用低频率的传感器。

超声波测距系统主要由超声波接收器、发射器、放大电路、单片机和显示器几部分组成,其系统框图如下图3.1所示:

图3.1超声波测距系统框图 

显示模块中,通过测得数据经p0口送至LCD进行显示,LCD显示原理:

液晶显示模块是128×64点阵的汉字图形型液晶显示模块,可显示汉字及图形,内置8192个中文汉字、16X16点阵、128个字符、8X16点阵及64X256点阵,显示RAMGDRAM可与CPU直接,接口提供两种界面来连接微处理机8-位并行及串行两种连接方式具有多种功能光标显示画面移位睡眠模式等。

显示资料RAM提供642个位元组的空间,最多可以控制4行16字和64个字的中文字型显示,当写入显示资料RAM时可以分别显示CGROMHCGROM与CGRAM的字型,ST7920A可以显示三种字型:

半宽的HCGROM字型CGRAM字型及中文CGROM字型,三种字型的选择由DDRAM中写入的编码选择,在0000H0006H的编码中将自动的结合下一个位元组,组成两个位元组的编码达成中文字型的编码,A140D75F各种字型详细编码如下:

1显示半宽字型将8位元资料写入DDRAM中范围为02H7FH的编码

2显示CGRAM字型将16位元资料写入DDRAM中总共有0000H0002H0004H0006H

四种编码

3显示中文字形将16位元资料写入DDRAMK,范围为A1A1H-F7FEH的编码。

绘图显示RAM提供64*32个位元组的记忆空间,最多可以控制256*64点的二维绘图缓冲空间,在更改绘图RAM时,先连续写入水平与垂直的坐标值,再写入两个8位元的资料到绘图RAM而地址计数器AC会自动加一。

在写入绘图RAM的期间,绘图显示必须关闭整个写入绘图RAM的步骤如下:

1关闭绘图显示功能

2先将水平的位元组坐标X写入绘图RAM地址

3再将垂直的坐标Y写入绘图RAM地址

4将D15D8写入到RAM中

5将D7D0写入到RAM中

6打开绘图显示功能

 

4.系统的硬件结构设计

硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波检测接收电路四部分。

单片机采用AT89S52或其兼容系列。

采用12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。

单片机用P1.0端口输出超声波换能器所需的40kHz的方波信号,利用外中断0口监测超声波接收电路输出的返回信号。

显示电路采用简单实用的LED。

4.1单片机最小系统原理概述

AT89S52单片机是整个系统的主控制器,欲使单片机正常工作,必须要设计单片机的最小系统。

单片机最小系统,是指最少的元件组成的单片机可以工作的系统。

对于51系列的单片机来说,最小系统一般应该包括单片机、晶振电路、复位电路。

一般的晶振电路中晶振的负载电容为15p或12.5p,如果再考虑元件引脚的等效输入电容,则两个22p的电容构成晶振的振荡电路就是比较好的选择。

单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始执行。

单片机也一样,当单片机系统在运行中,受到环境干扰出现程序跑飞的时候,按下复位按钮内部的程序自动从头开始执行。

51单片机的最小系统原理图如下图4.1所示。

 

图4.151单片机最小系统原理图

AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K在系统可编程Flash存储器。

片上Flash允许程序存储器在系统可编程,亦适于常规编程器。

在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。

AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

使用Atmel公司高密度非易失性存储器技术制造。

AT89S52具有以下标准功能:

8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。

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

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

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

  P0口:

P0口是一个8位漏极开路的双向I/O口。

作为输出口,每位能驱动8个TTL逻辑电平。

对P0端口写“1”时,引脚用作高阻抗输入。

当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。

在这种模式下,P0不具有内部上拉电阻。

在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。

程序校验时,需要外部上拉电阻。

  P1口:

P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。

对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

  此外,P1.0和P1.1分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX)。

在flash编程和校验时,P1口接收低8位地址字节。

  引脚号第二功能:

  P1.0T2(定时器/计数器T2的外部计数输入),时钟输出

  P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)

  P1.5MOSI(在系统编程用)

  P1.6MISO(在系统编程用)

P1.7SCK(在系统编程用)

  P2口:

P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。

对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。

在这种应用中,P2口使用很强的内部上拉发送1。

在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。

在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。

  P3口:

P3口是一个具有内部上拉电阻的8位双向I/O口,p3输出缓冲器能驱动4个TTL逻辑电平。

对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。

在flash编程和校验时,P3口也接收一些控制信号。

  端口引脚第二功能:

  P3.0RXD(串行输入口)

  P3.1TXD(串行输出口)

  P3.2INTO(外中断0)

  P3.3INT1(外中断1)

  P3.4TO(定时/计数器0)

  P3.5T1(定时/计数器1)

  P3.6WR(外部数据存储器写选通)

  P3.7RD(外部数据存储器读选通)

  RST:

复位输入。

当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。

  ALE/PROG:

当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。

一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。

要注意的是:

每当访问外部数据存储器时将跳过一个ALE脉冲。

对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。

如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。

该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。

此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。

  PSEN:

程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。

  EA/VPP:

外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。

需注意的是:

如果加密位LB1被编程,复位时内部会锁存EA端状态。

如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。

FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。

  XTAL1:

振荡器反相放大器和内部时钟发生电路的输入端。

  XTAL2:

振荡器反相放大器的输出端。

特殊功能寄存器:

并不是所有的地址都被定义了。

片上没有定义的地址是不能用的。

读这些地址,一般将得到一个随机数据;写入的数据将会无效。

用户不应该给这些未定义的地址写入数据“1”。

由于这些寄存器在将来可能被赋予新的功能,复位后,这些位都为“0”。

定时器2寄存器:

寄存器T2CON和T2MOD包含定时器2的控制位和状态位,寄存器对RCAP2H和RCAP2L是定时器2的捕捉/自动重载寄存器。

中断寄存器:

各中断允许位在IE寄存器中,六个中断源的两个优先级也可在IE中设置。

定时器0和定时器1在AT89S52中,定时器0和定时器1的操作与AT89C51和AT89C52一样。

为了获得更深入的关于UART的信息,选择“Products”,然后选择“8051-ArchitechFlashMicrocontroller”,再选择“ProductOverview”即可。

定时器0和定时器1:

在AT89S52中,定时器0和定时器1的操作与AT89C51和AT89C52一样。

为了获得更深入的关于UART的信息,选择“Products”,然后选择“8051-ArchitechFlashMicrocontroller”,再选择“ProductOverview”即可。

定时器2:

定时器2是一个16位定时/计数器,它既可以做定时器,又可以做事件计数器。

其工作方式由特殊寄存器T2CON中的C/T2位选择(如表2所示)。

定时器2有三种工作模式:

捕捉方式、自动重载(向下或向上计数)和波特率发生器。

如表3所示,工作模式由T2CON中的相关位选择。

定时器2有2个8位寄存器:

TH2和TL2。

在定时工作方式中,每个机器周期,TL2寄存器都会加1。

由于一个机器周期由12个晶振周期构成.通过T2CON中的EXEN2来选择两种方式。

如果EXEN2=0,定时器2时一个16位定时/计数器,溢出时,对T2CON的TF2标志置位,TF2引起中断。

如果EXEN2=1,定时器2做相同的操作。

除上述功能外,外部输入T2EX引脚(P1.1)1至0的下跳变也会使得TH2和TL2中的值分别捕捉到RCAP2H和RCAP2L中。

除此之外,T2EX的跳变会引起T2CON中的EXF2置位。

像TF2一样,T2EX也会引起中断。

捕捉模式如图5所示。

在计数工作方式下,寄存器在相关外部输入角T2发生1至0的下降沿时增加1。

在这种方式下,每个机器周期的S5P2期间采样外部输入。

一个机器周期采样到高电平,而下一个周期采样到低电平,计数器将加1。

在检测到跳变的这个周期的S3P1期间,新的计数值出现在寄存器中。

因为识别1-0的跳变需要2个机器周期(24个晶振周期),所以,最大的计数频率不高于晶振频率的1/24。

为了确保给定的电平在改变前采样到一次,电平应该至少在一个完整的机器周期内保持不变。

自动重载当定时器2工作于16位自动重载模式,可对其编程实现向上计数或向下计数。

这一功能可以通过特殊寄存器T2MOD(见表4)中的DCEN(向下计数允许位)来实现。

通过复位,DCEN被置为0,因此,定时器2默认为向上计数。

DCEN设置后,定时器2就可以取决于T2EX向上、向下计数。

DCEN=0时,定时器2自动计数。

通过T2CON中的EXEN2位可以选择两种方式。

如果EXEN2=0,定时器2计数,计到0FFFFH后置位TF2溢出标志。

计数溢出也使得定时器寄存器重新从RCAP2H和RCAP2L中加载16位值。

定时器工作于捕捉模式,RCAP2H和RCAP2L的值可以由软件预设。

如果EXEN2=1,计数溢出或在外部T2EX(P1.1)引脚上的1到0的下跳变都会触发16位重载。

这个跳变也置位EXF2中断标志位。

T2EX上的一个逻辑0使得定时器2向下计数。

当TH2和TL2分别等于RCAP2H和RCAP2L中的值的时候,计数器下溢。

计数器下溢,置位TF2,并将0FFFFH加载到定时器存储器中。

置位DCEN,允许定时器2向上或向下计数。

在这种模式下,T2EX引脚控制着计数的方向。

T2EX上的一个逻辑1使得定时器2向上计数。

定时器计到0FFFFH溢出,并置位TF2。

定时器的溢出也使得RCAP2H和RCAP2L中的16位值分别加载到定时器存储器TH2和TL2中。

定时器2上溢或下溢,外部中断标志位EXF2被锁死。

在这种工作模式下,EXF2不能触发中断。

中断源:

AT89S52有6个中断源:

两个外部中断(INT0和INT1),三个定时中断(定时器0、1、2)和一个串行中断。

这些中断每个中断源都可以通过置位或清除特殊寄存器IE中的相关中断允许控制位分别使得中断源有效或无效。

IE还包括一个中断允许总控制位EA,它能一次禁止所有中断。

IE.6位是不可用的。

对于AT89S52,IE.5位也是不能用的。

用户软件不应给这些位写1。

它们为AT89系列新产品预留。

定时器2可以被寄存器T2CON中的TF2和EXF2的或逻辑触发。

程序进入中断服务后,这些标志位都可以由硬件清0。

实际上,中断服务程序必须判定是否是TF2或EXF2激活中断,标志位也必须由软件清0。

定时器0和定时器1标志位TF0和TF1在计数溢出的那个周期的S5P2被置位。

它们的值一直到下一个周期被电路捕捉下来。

然而,定时器2的标志位TF2在计数溢出的那个周期的S2P2被置位,在同一个周期被电路捕捉下来。

各控制位功能如下表4.2所示。

中断允许控制寄存器(IE)(MSB)(LSB)

中断允许控制位=1,允许中断

中断允许控制位=0,禁止中断

表4.2控制位功能

符号

位地址

功能

EA

IE.7

中断总允许控制位。

EA=0,中断总禁止;EA=1,各中断 

由各自的控制位设定

IE.6

预留

ET2

IE.5

定时器2中断允许控制位

ES

IE.4

串行口中断允许控制位

ET1

IE.3

定时器1中断允许控制位

EX1

IE.2

外部中断1允许控制位

ET0

IE.1

定时器0中断允许控制位

EX0

IE.0

外部中断0允许控制位

 

4.2超声波发射电路

超声波由发射电路产生。

通过电路产生一个27MHZ大小的方波。

发射电路如图4.2。

发射电路主要有反向器和超声波换能器构成,AT89S52单片机在P1.0口产生方波,由单片机产生的发射脉冲信号。

一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电可极,用这种推挽形式将方波信号加到超声波换能器两端可以提高超声波的发射强度、增强驱动能力,输出端采用两个反向器并联,用于提高驱动能力。

这样,两倍的反向器输出电压施加在传感器上。

超声波传感器将输入的电信号转换为超声波信号传输出去,电容C可以除去直流分量,压电式超声波换能器是利用压电晶体的谐振来工作的。

 

图4.2发射电路

4.3超声波检测接收电路

超声波接收电路包括一个放大电路,以更好的接受反射回来的超声波。

如图4.3所示,为超声波检测接收电路。

图4.3接收电路

 

4.4超声波测距系统的显示电路设计

12864是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128x64全点阵液晶显示器组成。

可完成图形显示,也可以显示8x4(16x16点阵)汉字。

如下图4.4所示:

图4.4LCD驱动控制电路

4.5PROTUES仿真硬件电路图

硬件仿真电路如下图4.5所示,首先由

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

当前位置:首页 > 医药卫生 > 基础医学

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

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