超声波测距仪说明书_第1页
超声波测距仪说明书_第2页
超声波测距仪说明书_第3页
超声波测距仪说明书_第4页
超声波测距仪说明书_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、自动测量及控制综合课程设计说明书 题 目 超声波测距仪 学 院 机械工程学院 班 级 学生姓名 学 号 指导老师 2015年1月18日目录1绪论3 1.1课题设计及意义3 1.2设计内容32超声波测距设计原理及方案选择3 2.1超声波测距原理3 2.2设计方案43硬件选择与设计5 3.1单片机的选择6 3.2超声波模块的选择6 3.2.1 HC-SR04超声波模块时序图7 3.2.2 HC-SR04模块的使用8 3.3数码管的选择8 3.4硬件电路的设计94软件部分设计95数据处理及误差分析116设计体会与总结12附录13 附录:超声波测距仪系统实物图13 附录:程序代码13 附录:参考文献1

2、51绪论1.1课题设计及意义 随着科学技术的快速发展,超声波将在测距仪中的应用越来越广。但就目前水平说,人们可以具体利用的测距技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。展望未来,超声波测距仪作为种新型的非常重要的工具在各方面都将有很大的发展空间,它将朝着更加高定位高精度的方向发展,以满足日益发展的社会需求,如声纳的发展趋势基本为:研制具有更高定位精度的被动测距声纳,以满足水中武器实施全隐蔽攻击的需要;继续发展采用低频线谱检测的潜艇拖曳线列阵声纳,实现超远程的被动探测和识别;研制更适合于浅海工作的潜艇声纳,特别是解决浅海水中目标识别问题;降低潜艇噪声,改善潜艇声纳

3、的工作环境。无庸置疑,未来的超声波测距仪将与自动化智能化接轨,与其他的测距仪集成和融合,形成多测距仪。随着测距仪的技术进步测距仪将从具有单纯判断功能发展到具有学习功能,最终发展到具有创造力。在新的世纪里,面貌一新的测距仪将发挥更大的作用。1.2设计内容超声波测距仪的设计,由单片机控制超声发射装置发射超声波,当超声波遇到障碍物时,发生反射,再由接受装置接受超声波,由单片机计算从发射到接受的时间并计算出障碍到超声波发射器的距离。在理解超声波测距原理的基础上,设计出基于51单片机为核心的超声波测距仪。该超声波测距仪,要求测量距离6m,测量精度要求优于1%,显示方式为数码管显示,具有RS-232通信能

4、力,具有较强的抗干扰能力。测量时与被测物体无直接接触,能够清晰、稳定地显示测量结果。2超声波测距设计原理及方案选择2.1超声波测距原理超声波是一种在弹性介质中的机械振荡,传播速度仅为光波的百万分之一,超声波对色彩,光照度,外界光线和电磁场不敏感,因此超声波测距对于被测物处于黑暗,有灰尘或烟雾,强电磁干挠,有毒等恶劣的环境下有一定的适用能力,在液体测位,机器人避障和定位,倒车雷达、物体识别等方面有广泛应用。而且超声波传播不易受干挠,因而经常用于距离的测量。在某一时刻给超声波发生器施加40 khz方波信号,发生器发出超声波,遇到被测物体后反射回来,被超声波接受器接受到。超声波发射器向某一方向发射超

5、声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时就可以计算出被测物体的距离d=s/2=(vt)/2。其中d为被测物到测距仪之间的距离,s为超声波往返通过的路程,v为超声波在介质中的传播速度,t为超声波从发射到接收所用时间。这就是所谓的时间差测距法。超声波测距的原理是利用超声波在空气中的传播速度为已知,测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时间差计算出发射点到障碍物的实际距离。2.2设计方案为了以超声波作为检测手段,必须产生超生波和接收超声波。完成这种功能的装置就是超声波传感器,习惯上称为超声波换能器或超声波

6、探头。超声波传感器是利用压电效应的原理将电能和超声波相互转化,即在发射超声波的时候,将电能转换,发射超声波;而在收到回波的时候,则将超声振动转换成电信号。超声波测距仪利用超声波指向性强,能量消耗缓慢,在介质中传播距离较远的特点测量两点之间的距离的仪器。这个设计就是利用超声波传输中的距离与时间的关系,采用了STC89C52单片机对超声波仪进行控制及数据处理,设计出了能够精确测量两点间距离的超声波测距仪。该测距仪主要是由单片机主控模块、显示模块、超声波发射模块、接收模块所构成。其中采用STC89C52单片机作为主控模块,用来控制超声波的发出和接收,并且计算距离。用超声波模块HC-SR04发出和接受

7、超声波,用3位数码管作为显示模块。本次设计的超声波测距仪,具有迅速、操作方便、计算简单、易于做到实时控制,并且测量精度较高的特点。测量范围可达到25cm350cm,其误差1cm左右。在理论分析上达到了本次课设的要求。超声波测距仪原理框图如下图:超声波发射器放大电路超声波接收器放大电路锁相环检波电路定时器单片机控制显示器图1 超声波测距仪原理框图3硬件选择与设计硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分。单片机采用STC89C52RC系列。采用11.0594MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。单片机用P1.0端口输出超声波换能器所需的

8、40kHz的方波信号,利用外中断P3.2端口监测超声波接收电路输出的返回信号,使用T0定时器来发射方波脉冲。显示电路采用简单实用的4位共阴LED数码管,用0.5k排阻驱动。图2 超声波测距仪系统电路原理图3.1单片机的选择在这个设计中单片机选用的是STC89C52(如图3),它内部集成了功能强大的中央处理器。具有以下标准的功能:32个I/O口线,看门狗(WDT),4k字节的Flash闪速存储器,128字节的内部RAM,一个向量两级中断结构,两个16位定时/计数器,两个数据指针,片内振荡器及时钟电路,一个全双工串行通信口。CPU的工作在空闲方式下停止,但允许RAM,定时/计数器,串行通信口及中断

9、系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。STC89C52集成了几乎完善的8位中央处理单元,处理功能强,中央处理单元中集成了方便灵活的专用寄存器,硬件的加,减,乘,除法器和布尔处理机以及各种逻辑运算和转移指令,这给应用提供了极大的便利。STC89C52把微型计算机的大部分的部件都是集成在一个芯片上,所以达达缩短了数据传输距离,具有更高的可靠性,和更快的运行速度,由于微型计算机已经芯片化了,所以各功能部件的布局和结构在芯片中已经达到最优化,加强了抗干扰能力,工作也相对稳定。它是40引脚双列直插分装方式(如图2)。 图3 STC89C52引

10、脚图3.2超声波模块的选择在超声波测距仪设计中,采用HY-SRF05超声波模块(如图3),它性能稳定,测度距离精确,模块高精度,盲区小。可以用来设计机器人避障 、 物体测距 、 液位检测等领域。图4 HY-SRF05超声波模块HY-SRF05超声波测距模块设计的嵌入式系统这样的项目。它的分辨率为0.3和测距距离为2cm至400厘米。它采用一个5V直流电源供电,待机电流小于2mA。该模块发送的超声波信号,拿起其回波,测量所经过的时间之间的两个事件和输出波形,其高的时间是由测得的时间的距离成正比的调制。3.2.1 HY-SRF05超声波模块时序图 图5 HY-SRF05时序图

11、从时序图中,可以看到的40kHz脉冲串传输的的10US触发脉冲后的回声输出后,得到一些更多的时间。只有后回波消失,这个时间段被称为循环周期,可以给出的下一个触发脉冲HY-SRF05的循环周期必须不低于50毫秒。根据数据表,就可以计算出距离。3.2.2 HY-SRF05模块的使用初始化时将trig和echo端口都置低,首先向给 trig发送至少10 us的高电平脉冲(模块自动向外发送8个40K的方波),然后等待,捕捉 echo 端输出上升沿,捕捉到上升沿的同时,打开定时器开始计时,再次等待捕捉echo的下降沿,当捕捉到下降沿,读出计时器的时间,这就是超声波在空气中运行的时间,按照如下计算公式:测

12、试距离=(高电平时间*声速(340m/s)/2就可以算出超声波到障碍物的距离。3.3数码管的选择在本设计中采用共阴极显示模块(如图5),个数为4个。LED显示块与单片机接口非常容易,只要将一个8位并行输出口与显示块的发光二极管引脚连接即可。图6 显示电路设计3.4硬件电路的设计时钟电路用于产生单片机工作所需的时钟信号。时钟信号可以由两种方式产生:内部时钟方式和外部时钟方式,在这个设计中采用的是内部时钟方式。单片机内部有一个高增益反向放大器,用于构成内部震荡器 ,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。在XTAL1和XTAL2两端跨接晶体或陶瓷谐振器,就构成了稳定的自激震荡器,

13、其发生的脉冲直接送入内部时钟发生器,见图5。外接陶瓷谐振器时,电容约为22pF。为了减少寄生电容,更好地保证振荡器稳定可靠地工作,谐振器和电容应尽可能安装的与单片机芯片靠近。在这儿采用了震荡频率为11.0592MHz的晶振。 图7 时钟电路4软件部分设计超声波测距的软件设计主要由主程序、超声波发生子程序、超声波接收程序及显示子程序组成。超声波测距的程序既有较复杂的计算(计算距离时),又要求精细计算程序运行时间(超声波测距时)。软件分为两部分,主程序和中断服务程序,主程序完成初始化工作、超声波发射和接收顺序的控制、计算距离、输出显示。定时器T0中断服务子程序完成超声波的间隔发射、定时器T1完成超

14、声波发射到接收计时、外部中断服务子程序主要完成时间值的读取、接收超声波成功标志设置等工作。 主程序首先是对系统环境初始化,设置定时器T0、T1工作模式为16位定时计数器模式,置位总中断允许位EA=1、打开外部中断、设置负跳变有效,为定时器T0赋初值。然后等待接收超声波,没有接到超声波报警灯亮,继续等待,定时器T0时间溢出将产生中断,调用超声波发生子程序送出8个超声波脉冲,为了避免超声波发射计时错误,在发射前将计时器T1关闭、清零,发射完成后再次启动定时器T1,接着重新为定时器T0赋初值。P1.0端口接收到超声波,电平负跳变产生,调用外部中断子程序。接着关闭定时器T0、T1、外部中断,

15、然后读取时间值,设置接收成功标志,并将定时器T1清零。由于采用的是12MHz的晶振,计数器T1每计一个数就是0.5s,当主程序检测到接收成功的标志位后,将定时器T1中的数(即超声波来回所用的时间)按下式计算,即可得被测物体与测距仪之间的距离,设计时取10时的声速为338 m/s,取其近似值340m/s则有:      d=(c×t)/2=(340*T1/1000000)*100cm     =0.034*T1cm     &#

16、160;               其中,T1为计数器T1的计算值。  测出距离后结果将以十进制BCD码方式送往LED,然后再进入主程序中等待超声波发射,中断产生发超声波脉冲重复测量过程。利用定时器T0、计数器T1、外部中断有利于程序结构化、条理清晰和容易计算出距离。超声波测距软件设计流程图如下: 图8主程序 图9 定时中断 图10 外部中断 5数据处理及误差分析数据处理用超声波测距仪测得的数据如下(表1): 表1 所测数据

17、标准数据5.0010.0015.0020.0025.00测量数据(/cm) 4.989.9514.8617.9524.18 4.869.8814.9018.2624.26 4.929.7014.7518.4924.48平均值4.929.8414.8418.2324.31对表1中数据进行拟合,如图11图11 数据拟合由上图拟合出超声波测距数学模型为:y=0.9280x+0.4640。6 设计与体会 这一次的课程设计要用到超声波来测量距离,这是一个我们之前没有接触到的题材。一开始我们都没有很清晰的思路,只能在摸索中前进。本次课程设计只有短短一周,但让我对所学的电路知识及刚刚上学期学习的单片机知识有

18、了更深的理解,同时这也是难得的一次理论与实践相结合的机会,以前只是在书本上学单片机可实现的很多功能,还有各种中断,但却没有机会实践,一直只有理论的学习,通过这次课程设计我才真正了解其中的原理。刚开始我拿到题目的时候不知道应该怎么做,查完资料后,自己大概知道了电路需要哪些模块,下来就是针对每个模块进行具体设计,同时我还要进行一些仿真,其中应用哪些电阻,电容,这都要通过仿真来确定,期间遇到很多困难,都是团体同伴帮助我的,这也让我认识到团体的合作精神。通过本次课程设计我不光复习了模电知识及单片机知识,锻炼了动手能力,同时也熟悉掌握了proteus仿真软件和Protel电路设计软件的使用,对于我们测控

19、专业的学生来说,Proteus和Protel是必须掌握的电路仿真软件,这次课程设计给我提供了一个很好的机会锻炼自己的实践能力,我想对于我们工科学生来说动手能力是很重要的,以前每天只是在教室里面学习理论知识,而没有机会将理论与实践结合起来。这次课设提高了我们的动手实践能力。超声波测距之前有同学做过,也跟我简要介绍过。这个题材当时在我看来感觉很难很高端,直到这次自己和同组同学也把这个课题的实物做出来后,我便真正了解这个课题的思路,知道自己也是能够运用所学过的理论知识将这个小设计完成的,这增强了我的自信。希望自己在今后的学习过程中能够继续加强实践能力,这是成为一个合格的工程师的必经之路。感谢学校给我

20、们提供了这次宝贵的动手实践机会,通过动手操作,我们学到了许多书本上没有的知识,而且更加巩固了所学知识,真正做到了所学即所用。附录附录:实物图图12 实物图附录:程序代码#include<reg52.h>#define uchar unsigned char #define uint unsigned intuint time,timeH,timeL,succeed_flag;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;sbit tr

21、ig=P10; /超声波激励信号口sbit echo=P32; /超声波返回信号口sbit baiw=P22;sbit shiw=P21; sbit gew=P20;uint distance,distance0,X,Y,a;void delayms(uint xms) /按键延时 uint i,j; for(i=xms;i>0;i-) for(j=110;j>0;j-); void delay_10us() /发射方波的周期(10us) for(a=0;a<1;a+); void display(uint temp) /数码管显示 P2=0xfe; P0=leddatate

22、mp/100; delayms(1); P0=0x00; P2=0xfd; P0=leddatatemp%100/10; delayms(1); P0=0x00; P2=0xfb; P0=leddatatemp%100%10+0x80; delayms(1); P0=0x00; P2=0xf7; P0=leddatatemp%10; delayms(1); P0=0x00; void main() trig=0; distance=0; EA=1; /开总中断 TMOD=0X11; /定时器的工作方式 TH0=(65536-50000)/256; /发射方波的间隔 TL0=(65536-50000)%256; while(1) ET0=1; /开启定时器0中断TR0=1; /开启定时器0 EX0=1; /开启外部中断 IT0=1; /外部中断0触发方式为电平触发 while(echo=1) for(Y=0;Y<5;Y+) display(distance0);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论