超声波测距.docx
- 文档编号:25745113
- 上传时间:2023-06-12
- 格式:DOCX
- 页数:13
- 大小:51.81KB
超声波测距.docx
《超声波测距.docx》由会员分享,可在线阅读,更多相关《超声波测距.docx(13页珍藏版)》请在冰豆网上搜索。
超声波测距
传感器课程设计
院(系):
电气与控制工程学院
专业班级:
10级测控2班
姓名:
学号:
指导教师:
2013年1月4日
超声波传感器测距
1超声波传感器测距模块的设计3
2实验目的3
3实验任务3
4测量原理4
5系统原理框图4
6系统原理流程框图6
7软件编程程序10
8元器件清单11
9心得体会11
10参考文献12
超声波传感器测距
1超声波传感器测距模块的设计
由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。
超声波测距器,可以应用于汽车倒车、建筑施工工地以及一些工业现场的位置监控,也可用于液位、物位检测、井深、管道长度的测量等场合。
此超声波测距模块,采用超声波回波测距原理,运用精确的时差测量技术,检测传感器与目标物之间的距离,测量范围在0.10~5.00m,测量精度1cm,测量时与被测物体无直接接触,能够清晰稳定地显示测量结果。
此超声波测距模块检测方便,测试距离精确,功耗低,价格便宜稳定性好,只占用单片机的2个IO口,测试简单方便并接有51单片机的检测程序,连接好电路即可检测距离。
利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此在移动机器人的研制上也得到了广泛的应用。
2实验目的
1了解超声波测距的原理
2了解超声波模块的设计流程
3学习并设计超声波测距的硬件结构的电路
4学习并掌握超声波传感器测距的软件编程
3实验任务
设计出超声波测距的硬件电路学习并设计超声波硬件结构的电路
分析设计的电路,使其能产生超声波并实现超声波的发送与接收,从而利用超声波来测量物体之间的距离
用数码管显示测量的距离
4测量原理
超声波是指频率高于20KHz的机械波,为了以超声波作为检测手段,必须产生超声波和接收超声波,超声波传感器可完成这种功能,超声波传感器有发送器和接收器,超声波传感器是利用压电效应的原理将电能和超声波相互转化,即在发射超声波的时候,将电能转换,发射超声波;而在收到回波的时候,则将超声振动转换成电信号。
超声波传感器测距是根据超声波遇到障碍物反射回来的特性进行测量的,超声波发射器向某一方向发射超声波,在发射同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即中断停止计时。
发射器发出的超声波以速度υ在空气中传播,在到达被测物体时被反射返回,由接收器接收,其往返时间为t,由s=vt/2即可算出被测物体的距离。
由于超声波也是一种声波,其声速v与温度有关,下表列出了几种不同温度下的声速。
在使用时,如果温度变化不大,则可认为声速是基本不变的。
如果测距精度要求很高,则应通过温度补偿的方法加以校正。
温度(°C)
-30
-20
-10
0
10
20
30
100
声速(m/s)
313
319
325
323
338
334
349
386
表4-1超声波波速与温度的关系表
5系统原理框图
压电式超声波发生器原理:
压电式超声波发生器实际上是利用压电晶体的谐振来工作的。
超声波发生器内部有两个压电晶片和一个共振板。
当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。
反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器。
图5-1超声波发射电路
超声波发射原理图如图5-1所示,发射电路主要由反相器74LS04和超声波发射换能器T构成,单片机P1.0端口输出40Hz的方波信号一路经一级反相器后送到超声波换能器的一个电极,另一路经两级反相器后送到超声波换能器的另一个电极,用这种推换形式将方波信号加到超声波换能器的两端以提高超声波的发射强度。
输出采用两个反相器并联以提高驱动能力。
图5-2超声波接收电路
超声波接收电路如图5-2所示,由VT1和VT2构成的简单的放大电路,输入信号为几毫伏即可。
R1是用于降低阻抗的电阻,从而抑制加在传感器上的外来噪音。
电路中输出信号是放大的40KHz高频电压信号,使用时其后级还需要接入检波电路,逻辑电路等。
6系统原理流程框图
图6-1超声波测距原理流程框图
单片机发出40KHz的信号,经放大后通过超声波发射器输出,超声波发射器将接收到的超声波信号经放大器放大,经检波处理后,启动单片机中断程序,测得时间为t,再有软件进行判别、计算得出距离数并由数码管显示。
7软件编程程序
#include
#include
#defineRXP1_0//jieshou
#defineTXP1_1//fashe
#defineBEEPP1_2
unsignedinttime=0;
unsignedinttimer=0;
unsignedcharposit=0;
unsignedintk;
bitflag_beep;
unsignedlongS=0;
bitflag=0;
unsignedcharconstdiscode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsignedcharconstpositon[4]={0,1,2,3};
unsignedchardisbuff[4]={0,0,0,0,};
voidDIDI();
voidDisplay(void)//扫描数码管
{
if(posit==0)
{P0=(discode[disbuff[posit]])&0xfb;}
else
{P0=discode[disbuff[posit]];}
P2=~positon[posit];
if(++posit>=4)
posit=0;
}
voidConut(void)
{
time=TH0*256+TL0;
TH0=0;
TL0=0;
//time=23529;
S=(time*0.17);//算出来是CM
if((S>=7000)||flag==1)//超出测量范围显示"-"
{
flag=0;
flag_beep=0;
disbuff[0]=10;//"-"
disbuff[1]=10;//"-"
disbuff[2]=10;//"-"
disbuff[3]=10;//"-"
BEEP=1;
}
else
{
disbuff[3]=S/1000;
disbuff[2]=S/100%10;
disbuff[1]=S/10%10;
disbuff[0]=S%10;
}
}
voidzd0()interrupt1//T0中断用来计数器溢出,超过测距范围
{
flag=1;//中断溢出标志
}
voidzd3()interrupt3//T1中断用来扫描数码管和计800ms启动模块
{
TH1=0xf8;
TL1=0x30;
Display();
DIDI();
timer++;
if(timer>=400)
{
timer=0;
TX=1;//800ms启动一次模块
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
TX=0;
}
}
voidmain(void)
{
TMOD=0x11;//设T0为方式1,GATE=1;
TH0=0;
TL0=0;
TH1=0xf8;//2MS定时
TL1=0x30;
ET0=1;//允许T0中断
ET1=1;//允许T1中断
TR1=1;//开启定时器
EA=1;//开启总中断
while
(1)
{
while(!
RX);//当RX为零时等待
TR0=1;//开启计数
while(RX);//当RX为1计数并等待
TR0=0;//关闭计数
Conut();//计算
}
}
voidDIDI()
{
if(S<1000)
{
BEEP=0;
}
else
{
k++;
//if(k>=500)
//{
//k=0;
//flag_beep=!
flag_beep;
//}
if((S>=1000)&&(S<2000))//1m~2m
{
if(k>=500)
{
k=0;
flag_beep=!
flag_beep;
}
}
if((S>=2000)&&(S<3000))//2m~3m
{
if(k>=300)
{
k=0;
flag_beep=!
flag_beep;
}
}
if((S>=3000)&&(S<4000))//3m~4m
{
if(k>=200)
{
k=0;
flag_beep=!
flag_beep;
}
}
if((S>=4000)&&(S<=5000))//4m~5m
{
if(k>=100)
{
k=0;
flag_beep=!
flag_beep;
}
}
if(flag_beep)
BEEP=0;
else
BEEP=1;
}
}
8元器件清单
元件
数量
备注
超声波发射器T
1
发射超声波
超声波接收器R
1
接收超声波
51开发板
1
计时器
74LS04(NPN9014)
1
非门
三极管9014
1
电阻
47K
1
3.9K
1
10K
1
22K
2
1K
2
4.7K
1
1.5K
1
470K
1
电容
0.47
2
1
2
0.1
1
9心得体会
此次传感器课程设计我们组所选的题目是超声波传感器测距,是为了实现超声波的产生发送与接收从而利用超声波测距原理来测量物体间的距离,最终将距离用数码管显示出来。
超声波测距的原理是利用超声波的发射和接受,根据超声波传播的时间来计算出传播距离。
实用的测距方法有两种,一种是在被测距离的两端,一端发射,另一端接收的直接波方式,适用于身高计;一种是发射波被物体反射回来后接收的反射波方式,适用于测距仪。
此次设计采用反射波方式。
超声波测距仪硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分。
单片机采用AT89C51或其兼容系列。
采用12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。
单片机用P1.1端口输出超声波换能器所需的40kHz的方波信号,利用外中断0口监测超声波接收电路输出的返回信号。
显示电路采用简单实用的4位共阳LED数码管。
通过这次的课程设计解决了如何进行超声波测量距离,以及如何进行设计。
在设计过程中巩固和加深在传感器技术课程中所学的理论知识和实验技能。
初步了解了虚拟仪器的基本原理以及使用方法,对它的认识有了进一步的加深。
在理论联系实际的过程中提高了对自动检测系统的设计和创新实践能力。
10参考文献
【1】《实用传感器接口电路实例》何希才、任力颖、杨静编著中国电力出版社。
【2】张国熊.测控电路[M].北京:
机械工业出版社,2003。
【3】阎石.数字电子技术基础[M].北京:
高等教育出版社,2004。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 超声波 测距