超声波测距系统设计总体 《传感器与检测技术》课程设计报告 精品.docx

上传人:b****5 文档编号:8068263 上传时间:2023-01-28 格式:DOCX 页数:22 大小:1.06MB
下载 相关 举报
超声波测距系统设计总体 《传感器与检测技术》课程设计报告 精品.docx_第1页
第1页 / 共22页
超声波测距系统设计总体 《传感器与检测技术》课程设计报告 精品.docx_第2页
第2页 / 共22页
超声波测距系统设计总体 《传感器与检测技术》课程设计报告 精品.docx_第3页
第3页 / 共22页
超声波测距系统设计总体 《传感器与检测技术》课程设计报告 精品.docx_第4页
第4页 / 共22页
超声波测距系统设计总体 《传感器与检测技术》课程设计报告 精品.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

超声波测距系统设计总体 《传感器与检测技术》课程设计报告 精品.docx

《超声波测距系统设计总体 《传感器与检测技术》课程设计报告 精品.docx》由会员分享,可在线阅读,更多相关《超声波测距系统设计总体 《传感器与检测技术》课程设计报告 精品.docx(22页珍藏版)》请在冰豆网上搜索。

超声波测距系统设计总体 《传感器与检测技术》课程设计报告 精品.docx

超声波测距系统设计总体《传感器与检测技术》课程设计报告精品

吉林建筑大学

电气与电子信息工程学院

《传感器与检测技术》课程设计报告

设计题目:

超声波测距系统设计

专业班级:

电子信息科学与技术

学生姓名:

朱玉

学号:

10311103

指导教师:

王超高晓红

设计时间:

2014.6.16-2014.6.27

教师评语:

成绩评阅教师日期

 

目录

第1章绪论·························································1

1.1课题设计的背景和意义·····································11.2主要设计内容和要求·······································1

第2章系统总体设计方案·············································2

2.1设计系统框图·············································2

2.2设计器件选择·············································2

第3章硬件电路设计·················································4

3.1单片机最小系统··········································4

3.2超声波发射电路···········································6

3.3超声波检测接收电路·······································7

3.4显示单元电路············································8

3.5语音播报电路············································8

第4章系统软件设计················································10

4.1超声波测距仪的算法设计··································10

4.2主程序流程图···········································10

4.3超声波发生子程序与超声波接受中断程序····················11

总结····························································14

参考文献··························································15

附录1总电路图···················································16

附录2程序清单···················································17

 

第1章绪论

1.1课题设计的背景和意义

1.1.1设计的背景

随着科学技术的快速发展,超声波将在测距仪中的应用越来越广。

但就目前的水平来说,人们可以具体利用的测距技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。

展望未来,超声波测距作为一种新型的非常重要有用的工具在各方面都将有很大的发展空间,它将朝着更加高定位高精度的方向发展满足日益发展的社会需求,如声纳的发展趋势,研制具有更高定位精度的被动测距声纳,以满足水中武器实施全隐蔽攻击的需求。

毋庸置疑,无线的超声波测距仪将与自动化智能化接轨,与其他的测距仪集成和融合形成多测距仪。

随着测距仪的技术进步,测距仪将从具有单纯判断功能发展到具有学习功能,最终发展到具有创造力。

在新的世纪里,面貌一新的测距仪将发挥更大的作用。

1.1.2设计的意义

随着科学技术的发展,城市给排水系统也有较大发展。

但是,由于许多不可预见因素城市给排水系统往往落后于城市建设。

因此,箱涵的排污疏通对城市给排水系统的污水处理显得非常重要。

而设计研制箱涵排水疏通移动机器人的自动控制系统,保证机器人在箱涵中自由排污疏通,是箱涵排污疏通机器人的设计研制的核心部分。

控制系统核心部分就是超声波测距仪的研制。

因此,设计好的超声波测距仪就显得非常重要了。

这就是我设计超声波测距仪的意义。

1.2主要设计内容和要求

1.2.1主要设计内容

本设计主要是基于AT89S51芯片为核心的超声波测距仪,74LS04组成的超声波发射电路、并有超声波处理模块CX20106A、液晶显示等器件组成,包括单片机最小系统、超声波发射电路、超声波接收电路、LED显示电路和语音播报电路。

1.2.2主要设计要求

设计一个超声波测距仪主要要求:

(1)具有超声波测距功能。

(2)实时显示测量的距离,显示格式为:

XXXX。

(3)具有实时语音播报功能,实时播报测量距离数值,实时播报时间间隔≤10s,实时播报声音清晰明亮、无明显失真,在1m距离处人耳能准确分辨。

语音播报要与显示同步。

 

第2章系统总体设计方案

2.1设计系统框图

根据设计任务、控制对象和现有条件系统电路采用由单片机最小系统、超声波发射电路、超声波接收电路、显示电路以及语音播报电路构成。

本超声波测距仪的具体工作过程如下:

单片机控制的振荡源产生40kHz的频率信号来驱动超声传感器。

每次发射包含6个脉冲左右,当第一个超声波脉冲发射后,计数器开始计数,在检测到第一个回波脉冲的瞬间,计数器停止计数,得到从发射到接收的时间t后,单片机利用测距公式可计算出被测距离,同时单片机进行显示和语音播报。

系统总体框图如图1所示。

图1系统框图

2.2设计器件选择

设计主要包括单片机最小系统及显示电路、语音播报电路、超声波发射电路和超声波检测接受电路五部分。

主要用到的器件有:

超声波传感器﹑LED液晶模块﹑单片机AT89S51和WT588D系列的集单片机和语音电路于一体的可编辑语音芯片。

(1)超声波传感器:

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

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

超声波发射器由反相器74LS04和超声波发射换能器T构成,接收主要由CX20106A完成。

(2)显示液晶模块:

显示单元部分采用LED液晶模块,根据设计的要求,用于显示测量距离﹑补偿温度以及危险﹑保持安全等警告信号。

(3)语音播报芯片WT588D:

WT588D是一款功能强大的可重复擦除烧写的语音单片机芯片,可对液晶显示的内容进行语音播报。

(4)单片机AT89S51:

有4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口和片内振荡器及时钟电路。

同时,AT89S51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。

空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。

掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。

 

第3章硬件电路设计

3.1单片机最小系统

单片机最小系统主要采用的单片机是AT89S51。

AT89S51是具有低电压,高性能CMOS8位单片机,片内含有4Kbytes的可反复擦写的只读程序存储器(EPROM)和128bytes的随机存取数据存储器(RAM),片内置通用8位中央处理器(CPU)和Flash存储单元,其引脚图如图2所示。

3.1.1AT89S51主要性能参数

Ø与MCS—51产品指令系统完全兼容;

Ø4K字节可以重复擦写Flash闪速存储器;

Ø1000次擦写周期;

Ø全静态操作:

0Hz—24Hz;

Ø三级加密程序存储器;

Ø128*8字节内部RAM;

Ø32个可编程I/O口线;

Ø5个中断源;

Ø可编程串行UART通道;

Ø低功耗空闲和掉电模式。

3.1.2AT89S51功能特性概述

Ø4k字节Flash闪速存储器;

Ø128字节内部RAM;

Ø32个I/O口线;

Ø两个16位定时器/计时器;

Ø一个5向量两级中断结构;

Ø一个全双工串行口通信;

Ø片内振荡器及时钟电路。

图2AT89S51单片机

3.1.3单片机最小系统组成

单片机最小系统主要由AT89S51单片机、外部振荡电路、复位电路和+5V电源组成,如图3所示。

在外部振荡电路中,单片机的XTAL1和XTAL2管脚分别接至由12MHZ晶振和两个30PF电容构成的振荡电路两侧,为电路提供正常的时钟脉冲。

在复位电路中,单片机RESET管脚一方面经10uF的电容接至电源正极实现上电自动复位,另一方面经开关s接电源,其主要功能除了使系统初始化之外,还有当程序出错或者操作错误使系统处于死锁状态时,也需要按复位键重新启动。

因此,复位电路是单片机系统中不可缺少的一部分。

图3单片机最小系统

3.2超声波发射电路

超声波换能器的两极外加脉冲信号,其频率等于压电晶片的固有振荡频时,压电晶片会发生共振,并带动共振板振动产生超声波,这时它就是一个超声波发生器;反之,如果两电极问未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收换能器。

反相器74LS04参数如表1所示。

表1反相器74LS04参数

最大额定值

电源电压

-0.5到+7.0V

DC输入电压

-1.5到Vcc+1.5V

直流输出电压

-0.5到Vcc+0.5V

钳位二极管电流

±20mA

直流输出电流,每个引脚(输出)

±25mA

功耗

600mW

发射电路主要由反相器74LS04和超声波发射换能器T构成,如图4所示,单片机P2.7端口输出的40kHz的方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推换形式将方波信号加到超声波换能器的两端,可以提高超声波的发射强度。

图4超声波发射电路

 

3.3超声波检测接收电路

超声波接收电路CX20106A是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。

超声波接收电路如图5所示。

CX20106A引脚功能如下:

1脚IN:

超声波信号输入端,该脚的输入阻抗约为40kΩ。

2脚AGC:

该脚与GND之间连接RC串联网络,它们是负反馈串联网络的一个组成部分,改变它们的数值能改变前置放大器的增益和频率特性。

增大电阻R或减小C,将使负反馈量增大,放大倍数下降,反之则放大倍数增大。

但C的改变会影响到频率特性。

3脚C0:

该脚与GND之间连接检波电容,电容量大为平均值检波,瞬间相应灵敏度低;若容量小,则为峰值检波,瞬间相应灵敏度高,但检波输出的脉冲宽度变动大,易造成误动作,推荐参数为3.3μF。

4脚GND:

接地端。

5脚RC0:

该脚与电源端VCC接入一个电阻,用以设置带通滤波器的中心率,

阻值越大,中心频率越低。

6脚C:

该脚与GND之间接入一个积分电容,标准值为330pF,如果该电容值

太大会使探测距离变短。

7脚OUT:

遥控命令输出端,它是集电极开路的输出方式,因此该引脚必须

接上一个上拉电阻到电源端,没有接收信号时该端输出为高电平,有信号时则会下降。

8脚RC1:

电源正极,4.5V~5V。

图5超声波检测接收电路

 

3.4显示单元电路

在单片机应用系统中,发光二极管LED显示器常用两种驱动方式:

静态显示驱动和动态显示驱动。

所谓静态显示驱动,就是给要点亮的LED通以恒定的电流即每一位LED显示器各引脚都要占用单独的具有锁存功能的I/O接口。

单片机只需要把要显示的字形段码发送到接口电路并保持不变即可,如果要显示新的数据,再发送新的字形段码。

因此,使用这种方法单片机中CPU开销小,但这种驱动方法需要寄存器、译码器等硬件设备。

当需要显示的位数增加时,所需的器件和连线也相应增加,成本也增加。

而所谓动态显示驱动就是给欲点亮的LED通以脉冲电流,即采用分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮,这时LED的亮度就是通断的平均亮度。

考虑各种因素,本设计选用动

态驱动显示,其显示电路如图6所示。

图6显示单元电路

3.5语音播报电路

WT588D系列语音单片机是广州唯创科技有限公司联合台湾华邦共同研发出来的集单片机和语音电路于一体的可编辑语音芯片。

功能多音质好应用范围广性能稳定是WT588D系列语音单片机的特长,弥补了以往各类语音芯片应用领域狭小的缺陷,MP3控制模式、按键控制模式、按键组合控制模式、并口控制模式、一线串口控制模式、三线串口控制模式以及三线串口控制I/O口扩展输出模式,让应用人员能将产品投放在几乎可以想象得到的场所。

WT588D是一款功能强大的可重复擦除烧写的语音单片机芯片。

WT588D让语音芯片不再为控制方式而寻找合适的外围单片机电路,高度集成的单片机技术足于取代复杂的外围控制电路。

配套WT-APP上位机操作软件可随意更换WT588D语音单片机芯片的任何一种控制模式,把信息下载到SPI-Flash上即可。

软件操作方式简洁易懂,撮合了语音组合技术,大大减少了语音编辑的时间。

其中KIA1117芯片为WT588D的VCC管脚(存储器电源输入脚),提供3.3V电压。

可控制的语音地址位能达到220个。

每个地址位里能加载可组合语音为128段语音。

只需通过适当的访问地址就可以实现语音播报,使用方便,语音播报电路设计如图7所示。

图7WT588D语音播报电路

 

第4章系统软件设计

超声波测距仪的软件设计主要有主程序、超声波发生程序、超声波接收中断程序及显示子程序组成。

我们知道语言程序有利于实现较复杂的算法,汇编语言程序则具有较高的效率且容易精细计算程序运行的时间,而超声波测距仪的程序需要有较复杂的计算(计算距离时),所以控制程序可采用C语言编程。

4.1超声波测距仪的算法设计

超声波测距的原理为超声波发生器T在某一时刻发出一个超声波信号,当这个超声波遇到被测物体后反射回来,就被超声波接收器R所接收到。

这样只要计算出从发出超声波信号到接收到返回信号所用的时间,就可算出超声波发生器与反射物体的距离。

距离的计算公式为:

d=s/2=(c

t)/2(4-1)

其中,d为被测物与测距仪的距离,s为声波的来回的路程,c为声速,t为声波来回所用的时间。

在启动发射电路的同时启动单片机内部的定时器T0,利用定时器的计数功能记录超声波发射的时间和收到反射波的时间。

当收到超声波反射波时,接收电路输出端产生一个负跳变,在INT0或INT1端产生一个中断请求信号,单片机响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离。

4.2主程序流程图

软件分为两部分,主程序和中断服务程序,如图8、图9、图10所示。

主程序完成初始化工作、各路超声波发射和接收顺序的控制。

定时中断服务子程序完成单方向超声波的发射,外部中断服务子程序主要完成时间值的读取、距离计算、结果的输出等工作。

主程序首先是对系统环境初始化,设置定时器T0工作模式为16位定时计数器模式。

置位总中断允许位EA并给显示端口P0和P1清0。

然后调用超声波发生子程序送出一个超声波脉冲,为了避免超声波从发射器直接传送到接收器引起的直射波触发,需要延时约0.1ms(这也就是超声波测距仪会有一个最小可测距离的原因)后,才打开外中断1接收返回的超声波信号。

图8主程序流程图

由于采用的是12MHz的晶振,计数器每计一个数就是1μs,当主程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)按式(4-2)计算,即可得被测物体与测距仪之间的距离,设计时取20℃时的声速为344m/s则有:

d=(c

t)/2=172T0/10000cm(4-2)

其中,T0为计数器T0的计算值。

测出距离后结果将传给LED数码显示约5s,同时测量距离送语音模块播报。

然后再发超声波脉冲重复测量过程。

为了有利于程序结构化和容易计算出距离,主程序采用C语言编写。

4.3超声波发射子程序和超声波接收中断程序

超声波发生子程序的作用是通过P2.7端口发送2个左右超声波脉冲信号(频率约40kHz的方波),脉冲宽度为12μs左右,同时把计数器T0打开进行计时。

超声波发生子程序较简单,但要求程序运行准确。

图9定时中断服务子程序

图10外部中断服务子程序

超声波测距仪主程序利用外中断1检测返回超声波信号,一旦接收到返回超声波信号(即INT1引脚出现低电平),立即进入中断程序。

进入中断后就立即关闭计时器T0停止计时,并将测距成功标志字赋值1。

如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢出中断将外中断1关闭,并将测距成功标志字赋值2以表示此次测距不成功。

 

总结

由于时间和其它客观上的原因,此次设计没有成功做出实物。

但是对设计有一个很好的理论基础。

设计的最终结果是使超声波测距仪能够产生超声波,实现超声波的发送与接收,从而实现利用超声波方法测量物体间的距离。

以数字的形式显示测量距离。

通过此次课程设计我对传感器这门课有了更深刻的理解,并且锻炼了我的实际动手能力。

在此我也要感谢王超和高晓红老师在课程设计中对我给予的悉心指导和严格要求,同时也感谢本校的一些老师在课程设计这期间所给予我的帮助。

在课程设计论文写作期间,各位老师给我提供了种种专业知识上的指导和日常生活上的关怀,没有您们这样的帮助和关怀,我不会这么顺利的完成课程设计,借此机会,向您们表示由衷的感激。

通过本次课程设计也大大的增强了自己的自信心,只要肯努力不断的敦促自己锻炼自己就会有很大的进步,此后我会一直像这次课程设计一样严格要求自己,尽量做到更好。

 

参考文献

[1]胡佳文.单片机课程设计实例指导[M].北京:

北京航空航天大学出版社,2004。

[2]刘文涛.单片机语言C51典型应用设计[M].北京:

人民邮电出版社,2001。

[3]郁有文.传感器原理及工程应用[M].西安:

西安电子科技大学出版社,2000。

[4]陈新建.PIC系列单片机程序设计与开发应用[M].北京:

北京航空航天大学出

版社,2007。

[5]张明峰.PIC单片机入门与实战[M].北京:

北京航空航天大学出版社,2004。

[6]黄智伟.全国大学生电子设计竞赛训练教程[M].西安:

电子工业出版社,2005。

 

附录二程序清单

//*函数名:

voiddisplayall()

//功能:

主显示函数*//

voiddisplayall()

{uchari;

delay

(2);

led_init();//初始化LED

led_pos(2,0);//设置显示位置为第二行

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

{

write(1,DIS9[i]);//led_wdat(DIS9[i]);

delay(30);

}

led_pos(3,0);//设置显示位置为第三行

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

{

write(1,DIS10[i]);//led_wdat(DIS10[i]);

delay(30);

}

delay(1000);

clr_screen();//清屏

delay(500);

clr_screen();//上电,等待稳定

led_pos(1,0);//设置显示位置为第一行

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

{

write(1,DIS1[i]);//led_wdat(DIS1[i]);

delay

(2);

}

led_pos(3,0);//设置显示位置为第三行

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

{

write(1,DIS3[i]);//led_wdat(DIS3[i]);

delay

(2);

}

led_pos(4,0);//设置显示位置为第四行

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

{

write(1,DIS8[i]);//led_wdat(DIS8[i]);

delay

(2);

}

delay(1000);

}

//*函数名:

voidsound(uintsoud)

//功能:

播报测距距离*//

voidsound(uintsoud)

{

uchari,j,k,l;

send_com(vo_vo);

while(!

busy);

i=soud/1000;

j=soud%1000/100;

k=soud%100/10;

l=soud%10;

send_com(i);

delay_nms(30);

while(!

busy);

send_com(10);//播放“点”

delay_nms(30);

while(!

busy);

send_com(j);

delay_nms(30);

while(!

busy);

send_com(k);

delay_nms(30);

while(!

busy);

if(l!

=0)

{

send_com(l);

delay_nms(30);

while(!

busy);

}

send_com(11);//播放"米"

delay_nms(30);

while(!

busy);

}

//*函数名:

voidtran(),voidtran1(),voidtran2()

//功能:

超声波的发射*//

voidtran()

{

uchari;

TH0=0;

TL0=0;

TR0=1;

for(i=4;i>0;i--)

{

csb=!

csb;

nop;

nop;

nop;

nop;

nop;

nop;

nop;

nop;

nop;

}

csb=1;

delay_ms

(1);

EX1=1;

delay_ms(30);

if(flag==1)

{

Distance_count();

dis=temp;

flag=0;

}

elsedis=0;

}

voidtran1()

{

uchari;

TH0=0;

TL0=0;

TR0=1;

for(i=20;i>0;i--)

{

csb=!

csb;

nop;

nop;

nop;

nop;

nop;

nop;

nop;

nop;

nop;

}

csb=1;

delay_ms

(2);

EX1=1;

delay_ms(50);

if(flag==1)

{

Distance_count();

dis=temp;

flag=0;

}

elsedis=0;

}

voidtran2()

{

uchari;

TH0=0;

TL0=0;

TR0=1;

for(i=16;i>0;i--)

{

csb=!

csb;

nop;

nop;

nop;

nop;

nop;

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

当前位置:首页 > 高等教育 > 军事

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

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