单片机课程设计超声波测距.docx

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

单片机课程设计超声波测距.docx

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

单片机课程设计超声波测距.docx

单片机课程设计超声波测距

 

单片机课程设计

 

课题:

超声波测距

 

系别:

电气与电子工程系

专业:

电子信息工程

姓名:

赵月

学号:

093409174

 

河南城建学院

2011年12月28日

 

成绩评定·

一、指导教师评语(根据学生设计报告质量、答辩情况及其平时表现综合评定)。

 

二、评分

评分项目

设计报告评分

答辩评分

平时表现评分

合计

(100分)

任务完成

情况

(20分)

课程设计

报告质量

(40分)

表达情况

(10分)

回答问题

情况

(10分)

工作态度与纪律

(10分)

独立工作

能力

(10分)

得分

 

课程设计成绩评定

班级0934091姓名赵月学号093409174

 

成绩:

分(折合等级)

 

指导教师签字年月日

 

一、设计目的

由于超声测距是一种非接触检测技术,不受光线、被测对象颜色等的影响,较其它仪器更卫生,更耐潮湿、粉尘、高温、腐蚀气体等恶劣环境,具有少维护、不污染、高可靠、长寿命等特点。

因此可广泛应用于纸业、矿业、电厂、化工业、水处理厂、污水处理厂、农业用水、环保检测、食品(酒业、饮料业、添加剂、食用油、奶制品)、防汛、水文、明渠、空间定位、公路限高等行业中。

可在不同环境中进行距离准确度在线标定,可直接用于水、酒、糖、饮料等液位控制,可进行差值设定,直接显示各种液位罐的液位、料位高度。

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

利用超声波检测往往比较迅速、方便、计算简单、易于实现实时控制,并且在测量精度方面能达到工业实用的指标要求。

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

二、设计要求

1、设计一个超声波测距器,用于汽车倒车、建筑施工工地以及一些工业现场的位置控制;

2、要求测量范围在0.10~4.00米,测量精度1厘米,测量时与被测物体无直接接触,能够清晰稳定地显示测量结果。

三、总体设计

3.1超声波测距的基本原理

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

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

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

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

3.1.1超声波发生器

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

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

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

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

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

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

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

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

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

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

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

图1超声波换能器内部结构图

3.1.3超声波测距原理

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

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

s=340t/2

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

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

s=340t/2。

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

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

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

声速确定后,

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

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

如图3-1所示:

超声波发射障碍物

S

H

θ

超声波接收

图2超声波的测距原理

(3-1)

(3-2)

式中:

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

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

(3-3)

式中:

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

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

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

(3-4)

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

(3-5)

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

3.2超声波测距器的系统框图

 

图3超声波测距器的系统框图

 

3.3主程序框图

图4主程序框图

四、各部分电路设计

 

4.1超声波发射电路

      图5超声波发射电路

超声波发射电路主要由反向器74HC04和超声波发射换能器LS1构成,如图7所示。

图中LS1为超声波发射器。

输出端采用两个反向器并联,用以提高驱动能力。

上拉电阻R2,R3一方面可以提高反向器74HC04输出高电平的驱动能力,另一方面可以增加超声波换能器的阻尼效果,缩短其自由振荡的时间。

工作时,单片机的定时器T0产生信号,从P1.3端口输出,一路经过一级反向器后送到超声波发射器LS1的一个电极,另一路经过两极反向器后送到超声波发射器LS1的另一个电极,从而将40KHz电脉冲信号加到超声波发射器LS1,使LS1发射超声波。

电路采用推挽形式,向超声波发射器LS1提供电脉冲信号,可以提高超声波的发射强度。

4.2超声波接收电路

        图6超声波接收电路

超声波接收电路主要由超声波接收换能器LS2和超声波检测接收模块构成,如图8所示。

图中LS2为超声波接收器。

U2是超声波检测接收模块,设计时选用了红外线检波接收专用集成电路芯片HD74HCO4P。

电路中设置的电容C2,适当更改其大小,可以改变接收电路的抗干扰能力;适当改变电路中的电容C4,可改变电路的灵敏度。

 

4.3数码管显示电路

    图7数码管显示电路

显示电路采用LED数码管显示。

LED数码管显示有静态显示方式和动态显示方式,本系统采用并行输出的动态显示方式。

(1)动态显示原理

七段LED显示器由8个发光二极管组成,通常构成字形“日”,其中有一个发光二极管用来显示小数点。

各段LED显示器由驱动电路驱动,控制相应的二极管导通,相应的一个笔画或一个点就发光,由此就能显示出对应字符。

通常将各段发光二极管的阴极或阳极连在一起作为公共端;将各段发光二极管阳极连在一起的叫共阳极显示器,用低电平驱动;将阴极连在一起的叫共阴极显示器,用高电平驱动。

4.4单片机最小系统

    图8单片机最小系统

单片机最小系统是单片机能正常工作的最小外接电路单元,是设计电路的核心部分,也是整个作品最关键的最重要的部分。

单片机最小系统包括:

复位电路、晶振电路

五、整体电路图

      图9整体电路图

六、设计总结

由于是第一次做实物,刚看到题目觉得无从下手。

后来请教一下同学,又上网搜了一些资料,开始静下心来,按照步骤开始做课程设计,先是按照功能需要设计原理图,同时上网搜了一些程序做参考,然后按照需求,结合课本来编写程序。

然后做仿真,这之中出现了很多错误,经过多次请教与修改才仿真成功。

仿真成功后,按照要求做出了PCB图。

接下开始焊接电路板,本来以为是很简单的事,真正去做的时候才发现它的困难,好不容易焊好后发现竟然不能用,原来是焊锡用多了,有个地方短路了,经过修改,终于能够显示出数据了,过了一天再去测试的时候竟然数据不会动了,多次检查发现原来是电池老化,用电压表测,发现只有3.9V。

重新换上电池才能正常工作,电压不稳定也成了这个设备的一个缺点,如果条件允许,改成usb稳定供电的效果会比较好,总之在老师和同学们的帮助下,又翻阅大量的资料,终于完成了我的课程设计。

通过这次的课程设计在很大程度上提高了我的动手能力,加深了我对理论知识的理解和应用。

 

参考文献

(1)单片机原理及应用杨恢先黄辉先主编人民邮电出版社

 

附:

部分源程序

/*--------------------------------------

MCUAT89C52XAL12MHz

--------------------------------------*/

#include

#include

#include

#defineucharunsignedchar

#defineuintunsignedint

#defineulongunsignedlong

bitsymbol;

uchardispbit[13]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x00,0xff,0x7f};

ucharscanbit[4]={0xfe,0xfd,0xfb,0xf7};

sbittransmit=P3^3;

datauchartestok;

voiddisplay(uchar*temp)

{

uchari;

for(i=0;i<4;i++)

{

if(i==2&&symbol==1)

P0=dispbit[*temp]&0x7f;

elseP0=dispbit[*temp];

P2=scanbit[i];

delayus(200);

temp++;

P0=0xff;

P2=0xff;

}

}

voidcs_t()

{

uchari;

transmit=1;

TH0=0;

TL0=0;

TR0=1;

for(i=0;i<6;i++)

{

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

transmit=~transmit;

}

transmit=1;

}

/

voidmain(void)

{

uchardatadispram[5]={0x0a,0x0a,0x0a,0x0a,0x0a};

datauinti;

dataulongtime;

dataulong_temp;

symbol=0;

P0=0xff;

P2=0xff;

TMOD=0x11;

IE=0x80;

while

(1)

{

cs_t();

delayus(10);

testok=0;

EX0=1;

ET0=1;

while(!

testok)display(dispram);

if(testok==1)

{

time=TH0;

time=(time<<8)|TL0;

time*=174;

time/=10000;

dispram[0]=(uchar)(time%10);

time/=10;

dispram[1]=(uchar)(time%10);

time/=10;

dispram[2]=(uchar)(time%10);

dispram[3]=(uchar)(time/10);

if((dispram[2]!

=0)|(dispram[3]!

=0))symbol=1;

elsesymbol=0;

}

else

{

dispram[0]=10;

dispram[1]=10;

dispram[2]=10;

dispram[3]=10;

}

for(i=0;i<10;i++)display(dispram);

}

}

//

voidcs_r(void)interrupt0

{

TR0=0;

ET0=0;

EX0=0;

testok=1;

}

voidovertime(void)interrupt1

{

EX0=0;

TR0=0;

ET0=0;

testok=2;

}

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

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

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

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