基于51单片机超声波测距DOC.docx

上传人:b****2 文档编号:558373 上传时间:2023-04-29 格式:DOCX 页数:19 大小:222.27KB
下载 相关 举报
基于51单片机超声波测距DOC.docx_第1页
第1页 / 共19页
基于51单片机超声波测距DOC.docx_第2页
第2页 / 共19页
基于51单片机超声波测距DOC.docx_第3页
第3页 / 共19页
基于51单片机超声波测距DOC.docx_第4页
第4页 / 共19页
基于51单片机超声波测距DOC.docx_第5页
第5页 / 共19页
基于51单片机超声波测距DOC.docx_第6页
第6页 / 共19页
基于51单片机超声波测距DOC.docx_第7页
第7页 / 共19页
基于51单片机超声波测距DOC.docx_第8页
第8页 / 共19页
基于51单片机超声波测距DOC.docx_第9页
第9页 / 共19页
基于51单片机超声波测距DOC.docx_第10页
第10页 / 共19页
基于51单片机超声波测距DOC.docx_第11页
第11页 / 共19页
基于51单片机超声波测距DOC.docx_第12页
第12页 / 共19页
基于51单片机超声波测距DOC.docx_第13页
第13页 / 共19页
基于51单片机超声波测距DOC.docx_第14页
第14页 / 共19页
基于51单片机超声波测距DOC.docx_第15页
第15页 / 共19页
基于51单片机超声波测距DOC.docx_第16页
第16页 / 共19页
基于51单片机超声波测距DOC.docx_第17页
第17页 / 共19页
基于51单片机超声波测距DOC.docx_第18页
第18页 / 共19页
基于51单片机超声波测距DOC.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

基于51单片机超声波测距DOC.docx

《基于51单片机超声波测距DOC.docx》由会员分享,可在线阅读,更多相关《基于51单片机超声波测距DOC.docx(19页珍藏版)》请在冰点文库上搜索。

基于51单片机超声波测距DOC.docx

基于51单片机超声波测距DOC

 

超声波测距系统设计(LED)

王大菜沈阳航空航天大学自动化学院

摘要:

从技术上看,超声波测距系统在上个世纪70年代已经实用化,从70年代末期开始广泛应用于生产领域。

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

利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此在工农业生产上到了广泛的应用,本次试验根据超声波测距原理通过测量时间以及公式计算测距距离,应用超声波的能量转化进行分析。

关键词:

单片机,超声波传感器,测距

0前言

超声波是指频率在20kHz以上的声波,它属于机械波的范畴。

近年来,随着电子测量技术的发展,运用超声波作出精确测量已成可能。

随着经济发展,电子测量技术应用越来越广泛,而超声波测量精确高,成本低,性能稳定则备受青睐。

超声波是指频率在20kHz以上的声波,它属于机械波的范畴。

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

正是因为具有这些性质,使得超声波可以用于距离的测量中。

随着科技水平的不断提高,超声波测距技术被广泛应用于人们日常工作和生活之中。

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

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

利用超声波检测往往比较迅速、方便、计算简单、易于实现实时控制,并且在测量精度方面能达到工业实用的指标要求,因此为了使移动机器人能够自动躲避障碍物行走,就必须装备测距系统,以使其及时获取距障碍物的位置信息(距离和方向)。

因此超声波测距在移动机器人的研究上得到了广泛的应用。

同时由于超声波测距系统具有以上的这些优点,因此在汽车倒车雷达的研制方面也得到了广泛的应用。

1总体方案设计

本文采用超声波传感器,STC89C52RC单片机以及LED显示灯模块设计了一种超声波测距显示器,可以实现测量物体到仪器距离以及显示等功能。

是一种结构简单、性能稳定、使用方便、价格低廉的超声波距离测量器,具有一定的实用价值。

本系统采用INTEL公司的STC89C52RC单片机作为处理器,主要完成以下工作:

1.基于STC89C52RC的超声波测距设计方案。

2.超声波传感器与单片机的接口电路设计。

3.单片机的接口电路的硬件连接。

4.设计主要软件程序模块,完成软件设计。

系统原理框图如图1所示。

 

图1系统原理框图

1.1超声波测距的基本原理

谐振频率高于20kHz的声波被称为超声波。

超声波为直线传播方式,频率越高,绕射能力越弱,但反射能力越强。

利用超声波的这种性能就可制成超声传感器,或称为超声换能器,它是一种既可以把电能转化为机械能、又可以把机械能转化为电能的器件或装置。

换能器在电脉冲激励下可将电能转换为机械能,向外发送超声波;反之,当换能器处在接收状态时,它可将声能(机械能)转换为电能。

1.2超声波换能器

完成产生超声波和接收超声波这种功能的装置就是超声波传感器,习惯上称为超声换能器,或者超声波探头。

超声波探头主要由压电晶片组成,既可以发射超声波,也可以接收超声波。

小功率超声探头多用作探测方面。

它有许多不同的结构,可分直探头(纵波)、斜探头(横波)、表面波探头(表面波)、兰姆波探头(兰姆波)、双探头(一个探头反射、一个探头接收)等。

  超声探头的核心是其塑料外套或者金属外套中的一块压电晶片。

构成晶片的材料可以有许多种。

由于晶片的大小,如直径和厚度也各不相同,因此每个探头的性能都是不同的,我们使用前必须预先了解清楚该探头的性能参数。

超声波传感器的主要性能指标包括:

(1)工作频率。

工作频率就是压电晶片的共振频率。

当加到它两端的交流电压的频率和晶片的共振频率相等时,输出的能量最大,灵敏度也最高。

  

(2)工作温度。

由于压电材料的居里点一般比较高,特别时诊断用超声波探头使用功率较小,所以工作温度比较低,可以长时间地工作而不失效。

医疗用的超声探头的温度比较高,需要单独的制冷设备。

  (3)灵敏度。

主要取决于制造晶片本身。

机电耦合系数大,灵敏度高。

人类能听到的声音频率范围为:

20Hz~20kHz,即为可听声波,超出此频率范围的声音,即20Hz以下频率的声音称为低频声波,20kHz以上频率的声音称为超声波。

超声波为直线传播方式,频率越高,绕射能力越弱,但反射能力越强。

为此,利用超声波的这种性能就可制成超声波传感器。

另外,超声波在空气中的传播速度较慢,为340m/s,这就使得超声波传感器使用变得非常简便。

我们选用压电式超声波传感器。

它的探头常用材料是压电晶体和压电陶瓷,是利用压电材料的压电效应来进行工作的。

逆压电效应将高频电振动转换成高频机械振动,从而产生超声波,可作为发射探头;而利用正压电效应,将超声振动波转换成电信号,可作为接收探头。

为了研究和利用超声波,人们已经设计和制成了许多种超声波发生器。

总体上讲,超声波发生器大体可以分为两大类:

一类是用电气方式产生超声波,一类是用机械方式产生超声波。

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

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

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

共振板gon

 

电极电极

图2超声波传感器结构

压电式超声波发生器实际上是利用压电晶体的谐振来工作的。

超声波发生器内部结构如图所示,它有两个压电晶片和一个共振板。

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

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

1.3压电式超声波发生器原理

  压电式超声波发生器实际上是利用压电晶体的谐振来工作的。

超声波发生器内部结构如图1所示,它有两个压电晶片和一个共振板。

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

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

1.4超声波测距原理

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

超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:

s=340t/2

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

超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物面的距离s,即:

s=340t/2。

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

在使用时,如果传播介质温度变化不大,则可近似认为超声波速度在传播的过程中是基本不变的。

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

声速确定后,

只要测得超声波往返的时间,即可求得距离。

这就是超声波测距仪的基本原理如图

如图所示:

超声波发射障碍物

S

H

θ

超声波接收

图3超声波的测距原理

(1-1)

(1-2)

式中:

L---两探头之间中心距离的一半.

又知道超声波传播的距离为:

(1-3)

式中:

v—超声波在介质中的传播速度;

t—超声波从发射到接收所需要的时间.

将(1—2)、(1—3)代入(1-1)中得:

(1-4)

其中,超声波的传播速度v在一定的温度下是一个常数(例如在温度T=30度时,V=349m/s);当需要测量的距离H远远大于L时,则(1—4)变为:

(1-5)

所以,只要需要测量出超声波传播的时间t,就可以得出测量的距离H。

2.硬件电路设计

STC89C52RC单片机外围接口电路如图所示,主要包括:

1.晶振电路:

内部时钟电路的晶振频率一般选择在4MHZ~12MHZ之间(该设计选用11MHZ),外接两个谐振电容。

该电容的典型值为30pF,该设计选用20pF。

2.复位电路:

单片机复位采用按键高电平复位,而单片机在平时则复位端为低电平0.

图4外围接口电路

 

3.软件设计

主流程图:

 

 

 

图5主程序流程图

 

4.调试分析

调试过程中发现LED一直不显示当前数值,经多次调试发现并不是不显示数值而是数值不清晰,不断的调试延迟最终是LED显示数字亮度大大提高。

5.结论及进一步设想

近些年来超声波的应用已经渐渐融入我们的生活,测距方面的应用越来越贴近我们的生活。

本论文是在对超声波感器和测距技术进行深入研究的基础上,合理地确定系统的设计方案,并对仪器的整体设计和各个组成部分进行了详细的分析和设计。

本次毕业设计经过努力,整个系统实现了预期的目标。

本系统通过设计一个以STC89C52RC单片机为核心的超声波传感器可以实现距离测试与显示的功能。

是一种结构简单、性能稳定、使用方便、价格低廉超声波测距系统,具有一定的实用价值。

本超声波测距系统电路路结构简单、可维护性好。

由于实现了对短距离的测量距离,因此具有非常普遍的意义,能广泛应用于居民家庭、企事业单位等多方面的安全防范。

与此同时也存在不少的不足。

由于温度变化不定声速变化无常,传感器自身电气特性等问题,可能出现测距不准确。

传感器工作时会因使用时间长而使晶片温度变化导致产生超声波不稳定影响测量。

由于上述缺点的存在,此系统不是很完善,还有待进一步改进。

参考文献

[1]阎石.数字电子技术基础.北京:

高等教育出版社,2004.6

[2]康华光.模拟电子技术基础.北京:

高等教育出版社,2004.7

[3]张培仁.基于C语言编程的MCS-52单片机原理与应用.北京:

清华大学出版社,2003.9

[4]纪良文.蒋静坪.机器人超声测距数据的采集与处理.电子技术应用,2001.7.

[5]瞿金辉.周蓉生.超声波测距系统的设计.中国仪器仪表,2007.8.

[6]袁佑新.吴妍,刘苏敏,等.可视汽车倒车雷达预警系统设计.微计算机信息,2006.10.

[7]宋永东,周美丽,白宗文,等.高精度超声波测距系统设计.现代电子技术,2008.

[8]吴斌方,刘民.超声波测距传感器的研究.湖北工学院学报,2004.8

[9]高川,谈振藩.基于STC89C52RC的超声波测距系统应用科技,2006.9

 

课设体会

本系统在高云红老师的亲切关怀和悉心指导以及同学们的帮助下完成的。

感谢她在此次课程设计过程中给予我的悉心指导与各方面的帮助,她给了我许多非常有益的建议和意见,使我在思路上得到了很大的开阔,从中认识到了自己存在的不足,并且学到了很多非常宝贵的知识。

她严谨的治学态度和踏实的工作作风也给我留下了非常深刻的印象,我不仅学到了研究的方法,更令我明白了一个很重要的道理:

做学问应以科学严谨的态度,脚踏实地一步一个脚印地认真去做,切不可好高鹜远急躁冒进,这些都使我受益匪浅,也极大的激励了我,使我能在紧张的时间里完成我的毕业设计并达到设计的要求。

感谢给我们提供优越学习条件和优良仪器的各位实践部老师。

同时也要感谢系里其它同学和我的朋友在设计中给我提供的帮助和支持。

最后感谢各位老师对我论文的悉心审阅与批评指正。

 

附录1电路图

附录2元件清单

元件名称

型号

数量

单片机

STC89R52RC

1

超声波传感器

1

8位共阴极数码管

7SEG-CC

1

发光LED

1

晶振

1

电容

3

电阻

1

按键

1

附录3实物图

附录4源程序

#include

#defineucharunsignedchar

#defineuintunsignedint

sbitTrig=P2^0;

sbitEcho=P3^2;

sbitwela=P2^7;

sbitdula=P2^6;

sbittest=P1^5;

uintsucceed_flag,time,timeH,timeL;

unsignedcharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

//chartable[80];

voiddelay(uintz)

{

uintx,y;for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

voiddelay_20us()

{

uchara;

for(a=0;a<100;a++);

}

voiddisplay(uinttemp)

{

ucharge,shi,bai;

bai=temp/100;

shi=(temp%100)/10;

ge=temp%10;

wela=1;

P0=0xfe;

wela=0;

dula=1;

P0=table[bai];

dula=0;

delay(5);

//dula=1;

//P0=0x00;

//dula=0;

wela=1;

P0=0xfd;

wela=0;

dula=1;

P0=table[shi];

dula=0;

delay(5);

//dula=1;

//P0=0x00;

//dula=0;

wela=1;

P0=0xfb;

wela=0;

dula=1;

P0=table[ge];

dula=0;

//wela=1;

//P0=0xdf;

//wela=0;

delay(5);

//dula=1;

//P0=0x00;

//dula=0;

}

voidmain()

{

uintdistance;

//test=0;

Trig=0;

EA=1;

TMOD=0x10;

while

(1)

{

EA=0;

Trig=1;

delay_20us();

Trig=0;

//display(123);

while(Echo==0);

succeed_flag=0;

EA=1;

EX0=1;

TH1=0;

TL1=0;

TF1=0;

TR1=1;

delay(20);

TR1=0;

EX0=0;

if(succeed_flag==1)

{

time=timeH*256+timeL;

distance=time*0.172;

display(distance);

}

if(succeed_flag==0)

{

distance=0;

test=!

test;

}

}

}

voidexter()interrupt0

{

timeH=TH1;

timeL=TL1;

succeed_flag=1;

EX0=0;

}

voidtimer1()interrupt3

{

TH1=0;TL1=0;

}

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2