基于单片机的超声波倒车雷达的实现毕业设计_第1页
基于单片机的超声波倒车雷达的实现毕业设计_第2页
基于单片机的超声波倒车雷达的实现毕业设计_第3页
基于单片机的超声波倒车雷达的实现毕业设计_第4页
基于单片机的超声波倒车雷达的实现毕业设计_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

1、毕业设计毕业设计 基于单片机超声波倒车雷达的设计与基于单片机超声波倒车雷达的设计与 实现实现 基于单片机的超声波倒车雷达的设计与实现 ranging system design and implementation based on mcu 摘摘 要要 超声波具有指向性强,能量消耗缓慢,传播距离较远等优点,所以,在利用 传感器技术和自动控制技术相结合的测距方案中,超声波测距是目前应用最普遍 的一种,它广泛应用于防盗、倒车雷达、水位测量、建筑施工工地以及一些工业 现场。 本课题详细介绍了超声波传感器的原理和特性,以及 atmel 公司的 at89s51 单片机的性能和特点,并在分析了超声波测距的

2、原理的基础上,指出了设计测距 系统的思路和所需考虑的问题,给出了以 at89s51 单片机为核心的低成本、高精 度、微型化数字显示超声波测距仪的硬件电路和软件设计方法。该系统电路设计 合理、工作稳定、性能良好、检测速度快、计算简单、易于做到实时控制,并且 在测量精度方面能达到工业实用的要求。 关键词关键词:超声波;单片机;测距;at89s51 abstract ultrasonic wave has strong pointing to nature ,slowly energy consumption ,propagating distance farther ,so, in utilizi

3、ng the scheme of distance finding that sensor technology and automatic control technology combine together ,ultrasonic wave finds range to use the most general one at present ,it applies to guard against theft , move backward the radar , water level measuring , building construction site and some in

4、dustrial scenes extensively。 this subject has introduced principle and characteristic of the ultrasonic sensor in detail ,and the performance and characteristic of one-chip computer at89s51 of atmel company ,and on the basis of analyzing principle that ultrasonic wave finds range ,the systematic thi

5、nking and questions needed to consider that have pointed out that designs and finds range ,provide low cost , the hardware circuit of high accuracy , ultrasonic range finder of miniature digital display and software design method taking at89s51 as the core ,this circuit of system is reasonable in de

6、sign, working stability, performance good measuring speeding soon , calculating simple , apt to accomplish real-time control ,and can reach industrys practical demand in measuring the precision 。 key words: ultrasonic wave; one-chip computer; range finding; at89s51 目目 录录 摘要摘要.iiii abstractabstract.i

7、iiiii 1 1 绪论绪论.1 1 1.1 课题设计的目的和意义.1 1.2 国内应用现状.1 1.3 超声波测距系统介绍.2 1.4本课题的研究内容和目标 .2 2 2 系统方案设计系统方案设计.4 4 2.1 系统设计要求.4 2.2 系统构建.4 2.3 系统方案设计.4 2.4 本章小结.8 3 3 硬件部分设计硬件部分设计 .9 9 3.1 系统硬件设计思想.9 3.2 at89s52 单片机.9 3.3 超声波测距的系统及其组成.10 3.4 本章小结.15 4 4 软件部分设计软件部分设计 .1616 4.1 主体程序设计.16 4.2 超声波测距子程序及其流程图.16 4.3

8、 超声波测距流程图.19 5 5 系统调试与误差分析系统调试与误差分析 .2020 5.1 调试步骤.20 5.2 调试现象.20 5.3 误差分析.20 6 6 仿真和实物制作仿真和实物制作.2424 结论结论.2727 参考文献参考文献.2828 致谢致谢.2929 附录附录 a a.3030 附录附录 b b.3131 1 1 绪论绪论 1.11.1 课题设计的目的和意义课题设计的目的和意义 传感器技术是现代信息技术的主要内容之一。信息技术包括计算机技术、通 信技术和传感器技术,计算机技术相当于人的大脑,通信相当于人的神经,而传 感器就相当于人的感官。比如温度传感器、光电传感器、湿度传感

9、器、超声波传 感器、红外传感器、压力传感器等等,其中,超声波传感器在测量方面有着广泛、 普遍的应用。利用单片机控制超声波检测往往比较迅速、方便、计算简单、易于 做到实时控制,并且测量精度较高。 超声波测距系统主要应用于汽车的倒车雷达、机器人自动避障行走、建筑施 工工地以及一些工业现场例如:液位、井深、管道长度等场合。因此研究超声波 测距系统的原理有着很大的现实意义。对本课题的研究与设计,还能进一步提高 自己的电路设计水平,深入对单片机的理解和应用。 通过本课题的研究,将所学到的知识用在实践中并有所创新和进步。该设计 可广泛应用在生活、军事、工业等各个领域,它需要设计者有较好的数电、模电 知识,

10、并且有一定的编程能力,综合运用所学的知识实现对超声波发射与接收信 号进行控制,通过单片机程序对超声波信号进行相应的分析、计算、处理最后显 示在 led 数码管上。 1.21.2 国内应用现状国内应用现状 近年来,由于在工业机器人的进行测距、跟踪导航上的应用和车间机械加工 中的需求,设计一款智能测距装置已经非常的重要。而超声波测距法具有以下优 势: (1)超声波有定向性较好、传输衰减小、能量集中、有较强的反射能力等优 势。 (2)和光学方法相比,超声波的传播速度较小,对于较近的目标可以直接测 量。 (3)超声波传感器结构简单,体积小,费用低,信息处理简单可靠,便于小 型化和集成化。 随着科学技术

11、的快速发展,超声波的应用将越来越广泛。但就目前技术水平 来说,人们利用超声波的技术还十分有限,因此,这是一个正在不断发展而又有 无限前景的技术。 超声波测距技术在社会生活中已有广泛的应用,目前对超声波的精度要求越 来越大。超声波作为一种新型的工具在各方面都有很大的发展空间,它将朝着更 加高定位高精度的方向发展,以满足日益发展的社会需求。未来超声波测距技术 将朝着更高精度,更大应用范围,更稳定方向发展。 1.31.3 超声波测距系统介绍超声波测距系统介绍 基于单片机的超声波测距系统,是利用单片机编程产生频率为 40khz 的方波, 经过发射驱动电路放大,使超声波传感器发射端震荡,发射超声波。超声

12、波波经 反射物反射回来后,由传感器接收端接收,再经接收电路放大、整形,控制单片 机中断口。其系统框图如图 1-1 所示。 图 1-1 基于单片机的超声波测距系统框图 这种以单片机为核心的超声波测距系统通过单片机记录超声波发射的时间和 收到反射波的时间。当收到超声波的反射波时,接收电路输出端产生一个负跳变, 在单片机的外部中断源输入口产生一个中断请求信号,单片机响应外部中断请求, 执行外部中断服务子程序,读取时间差,计算距离,结果输出给 led 显示。 利用单片机准确计时,测距精度高,而且单片机控制方便,计算简单。许多 超声波测距系统都采用这种设计方法。 1.4本课题的研究内容和目标 本次设计了

13、一款基于单片机的超声波测距系统,系统以单片机作为微处理器, 单片机的体积小,结构简单,非常适合用在测控系统中。在软件程序的设计上, 为了使程序更加的灵活,我们采用 c51 语言,这样可以大大的简化程序的编写时 间。在结合市场上已经存在的不少的超声波测距装置,本系统结构紧凑性好、成 本低,可靠性好,能有效准确的测量出障碍物和传感器之间的距离,具有一定的 市场价值。 本次设计的主要目标是通过超声波传感器具有近距离测速功能,实现了当传 感器靠近障碍物后进行报警的功能。报警的距离可以通过按键进行控制。测量距 离可以通过 led 数码管显示器进行显示。 2 2 系统方案设计系统方案设计 2.12.1 系

14、统设计要求系统设计要求 本次设计的超声波测距仪预警系统由三个部分组成,分别为测距部分、控制 系统部分和报警显示部分。 本系统的主要功能是:当系统上点后,当超声波传感器距离障碍物的距离逐 渐减小到小于设定的报警距离值的时候的时候,系统会发出报警提示,同时在 led 显示器上显示倒车距离。 2.22.2 系统构建系统构建 这里我们主要介绍系统的硬件部分,在硬件设计上我们采用模块化的设计思 想。主要分成三个主要的模块:测距系统模块、控制系统模块和报警显示模块。 倒车防撞系统根据“回波测距”的原理设计的,整体框图如图 2-1 所示。 图 2-1 超声波测距系统结构原理图 各模块具体功能如下: (1)测

15、距系统模块:针对超声波传感器设计的发送模块、接收模块和控制系统 共同完成测距功能。 (2)控制系统模块:本系统以单片机为控制核心,控制整个系统的运行,对各 个接口电路进行控制,发射脉冲,检测到回波后,进行数据处理,测出从超声波 发射到接收回波信号的时刻差,从而测出距离。 (3)显示报警系统模块:显示最小距离及报警以提醒使用人员。 2.32.3 系统方案设计系统方案设计 2.3.12.3.1 测距系统方案设计测距系统方案设计 目前汽车倒车测距仪预警系统测距技术主要有激光、毫米波测距仪、摄像系 统、红外线、超声波等一些测距技术,不同的目标探测方式其工作过程和原理有 控 制 系 统 发射模块 接收模

16、块数据显示 蜂鸣器 不同之处,但它们的主要目的都是通过前方返回的探测信息判断前方车辆和本车 间的相对距离,并根据两车间的危险性程度做出相应的预防措施。 由于题目要求,本系统的测距模块采用的是超声波测距,其他测距方法不做 过多说明。所谓超声波,是指人耳听不见的声波。正常人的听觉可以听到 16-20 千赫兹(khz)的声波,低于 16 千赫兹的声波称为亚声波,我们把超过 20 千赫 兹的声波叫做超声波。超声波在空气中的传播速度约为 340m/s。 超声波具有能量消耗慢,传播距离远,并且超声波回检的速度快,计算方便。 并且在测量精度方面能达到工业实用的要求,因此智能的测距系统主要是通过超 声波来实现

17、的。综上所述,超声波测量能够达到系统中所要求的测量精度,因此 本次设计的汽车倒车防撞装置是通过超声波进行测距来实现的。 本次设计使用了超声波传感器,它是通过超声波的一些特性而研制的一款传 感器。超声波是一种机械波,振动频率高于声波通过改变芯片可以在电压的激励下 振动,它有一个高频率、波长、衍射现象,特别是定向好,可以成为射线和定向传输 等。 超声波对液体、固体的穿透本领很大,尤其是在不透明的固体中,它可穿透 几十米的深度。超声波碰到杂质或分界面会产生显著反射形成反射回波,碰到活 动物体能产生多普勒效应。因此超声波检测广泛应用在工业、国防、生物医学等 方面以超声波作为检测手段,必须产生超声波和接

18、收超声波。完成这种功能的装 置就是超声波传感器,习惯上称为超声换能器,或者超声探头。 超声波探头主要由压电晶片组成,既可以发射超声波,也可以接收超声波。 小功率超声探头多用作探测作用。它有许多不同的结构,可分直探头(纵波)、 斜探头(横波)、表面波探头(表面波)、兰姆波探头(兰姆波)、双探头(一 个探头反射、一个探头接收)等。 超声探头的核心是其塑料外套或者金属外套中的一块压电晶片。构成晶片的 材料可以有许多种。晶片的大小,如直径和厚度也各不相同,因此每个探头的性 能是不同的,我们使用前需要了解它的性能。超声波传感器的主要特性如下: (1)工作频率。压电晶片的共振频率就是工作频率。当晶片的共振

19、频率和加 到它两端的交流电压的频率相等时,灵敏度最高,输出的能量最大。 (2)工作温度。由于其高居里温度压电材料一般比较,尤其是当诊断用超声 波探头功率小,所以温度较低,你可以工作在很长一段时间没有失败。医疗使用的超 声波探头的温度比较高,需要单独的制冷设备。 (3)灵敏度。主要取决于压电晶片本身。机电耦合系数大,灵敏度高;反之, 灵敏度低。 使用在室外的超声波传感器应该具有很好的密封性,防止雨水和灰尘的进入。 在金属盒体的顶部内侧固定压电陶瓷。在盒体的开口端固定底座,使用树脂对盒 体进行覆盖。 图 2-2 为超声波探头的结构图。 图 2-2 超声波探头的结构图 其原理为:在超声波发射器两端输

20、入 40khz 脉冲串,在超声波内部振子中通 过脉冲信号,产生机械波,通过介质传播到需要测量的面,经过被侧面返回到接 受器进行接收,接受到的信号是毫伏级的正弦波信号,通过超声波从发送接受所 用的时间,即往返时间。通过往返时间乘以传播速度,就可以计算出传播距离。 实际的距离为传播距离的一半,其表达公式可由式(1.1)表示: l=ct/2 (1.1) 图 2-3 超声波测距的原理图 (1.1)式中,l 为需要测量得距离,c 超声波的传播速度,t 接受的往返的 时间。假设单片机微处理器的周期为 t,则 t=nt,则测量得距离可式(1.2)表示: l=ct/2=cnt/2 (1.2) 因为超声波指向性

21、强,所以超声波对障碍物面的入射角对超声波电子倒车测 超声波探头 发射波 反射波 障碍物 t v 发射波反射波 距仪的灵敏度影响较大。理想的情况是让超声波垂直于入射面,可最大限度地接 收反射回波以避免可能使超声波电子倒车测距仪失灵的情况出现。超声波测距原 理图如图 2-3 所示。 2.3.22.3.2 控制系统方案设计控制系统方案设计 在控制系统的方案选择上,由于整个系统的设计涉及到数据处理,控制实时 性等问题,选用单片机作为微处理器,功耗低、电路设计简单、程序编写可以选 择单片机 c51 程序,大大的增加了系统的灵活性,减小了系统的开发周期。单片 机内部有看门狗定时器,可以在程序跑飞的情况下自

22、动的复位;通过快速的指令 周期可以实时的采集到数据。所以微控制器选用 atmel 公司的 at89s52 单片机的 控制系统。 图 2-4 单片机控制系统 2.3.32.3.3 显示报警系统方案设计显示报警系统方案设计 显示器应用极为广泛,是一种输出设备,综合课题的实际要求、成本以及考 虑单片机的接口资源,本设计使用四个 dpy_7-seg_dp 共阴二极管显示器,由于 倒车时距离障碍物的距离本来就比较近,大概在 3 米以内,所以一个四位的 led 显示器就可以达到要求。 报警装置采用的是有源蜂鸣器,根据距离远近进行报警,以提示驾驶员。 2.3.42.3.4 系统探测范围及传感器布点的确定系统

23、探测范围及传感器布点的确定 超声波传感器发射超声波有一定的角度范围,超声波传感器的测量角度如图 2-5 所示。 超声波传感器是否灵敏,和以下因素有关: 1从物理学中的反射原理知:超声波的反射规律遵循反射定律于入射角等于 反射脚,因此,反射波是否能被接收器接收到与反射面的角度有关。 2不同大小的反射面积会影响反射波的强度。 3超声波在传播过程中会产生衰减,所以同样的角度,同一个反射面,距离 越远衰减程度越大。 发射电路 接收电路显示距离 报警电路 单 片 机 控 制 发射传感器 接收传感器 根据以面得原理可知,在下列环境下,易造成无法侦测及侦测不良之情况: 1铁丝网、绳索这类细小的物体。 2崎岖

24、不平的路面。 3易吸收声波之物质,如棉质。 4传感器的表面上有着异物。 5障碍物为锐角反射体,锥状物体。 为了满足系统的测量的要求,如要超声波可以测量的最大距离为 6m,本次设 计的超声波测量范围为 0-3m。对于超声波传感器这样在室外工作的物体,为了有 效的减少各种干扰。我们要选择灵敏度高的,可靠性好的超声波传感器。在本次 设计中我们选用 ucm-r40ki 、ucm-t40ki (r 表示接收传感器,t 表示发射传 感器),最大探测距离为 10m,发射扩散角为 60 度。 2.42.4 本章小结本章小结 在本章中主要介绍了系统的设计要求,根据设计要就设计了相应的硬件结构 框图。之后又介绍的

25、超声波传感器的工作原理和本次所选用的传感器的型号。确 定了系统的最终的设计方案。 图 2-5 探测角度 3 3 硬件部分设计硬件部分设计 本章主要讲述了超声波测距系统硬件电路的设计,把系统的整个硬件系统分 成各个单元的模块电路设计。包括系统的主控制器单片机模块,超声波接收电路 模块,超声波发射电路模块,显示电路模块,报警电路模块,还有键盘控制模块 等等。 3.13.1 系统硬件设计思想系统硬件设计思想 其硬件结构图如图 3-1 所示。 图 3-1 系统硬件结构图 超声波发送 40khz 脉冲信号通过单片机的的 p1.5 口送出,发出脉冲串,再 把信号经过放大和整形经过超声波驱动电路,驱动超声波

26、发射头,使发射传感器 接收高电压。驱动内部的压电晶片震动,经过换能器后发射电路发出 40khz 的脉 冲超声波。发射的超声波遇到障碍物后会发生反射,经过反射的超声波返回到超 声波的接受传感器上。发射回来的超声波也是经过放大滤波整形后输入单片机的 int0 端产生中断。计数器停止计数,测出从超声波发射脉冲群时刻到接收回波信 号时刻差,超声波在同温同介质中的传播速度由测温系统得知,将时刻差与声速 相乘,得出距离,并显示。 3.23.2 at89s52at89s52 单片机单片机 at89s52 是一种低功耗、高性能 cmos8 位微控制器,具有 8k 在线可编程 flash 存储器。使用 atme

27、l 公司高密度非易失性存储器技术制造,与工业 80c51 产品指令和引脚完全兼容。片上 flash 允许程序存储器在系统可编程,亦适于常 规编程器。在单芯片上,拥有灵巧的 8 位 cpu 和在系统可编程 flash,使得 at89s52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。at89s52 具有以下标准功能:8k 字节 flash,256 字节 ram,32 位 i/o 口线,看门狗定时 器,2 个数据指针,三个 16 位定时器/计数器,一个 6 向量 2 级中断结构,全双工 串行口,片内晶振及时钟电路。另外,at89s52 可降至 0hz 静态逻辑操作,支持 单 片 机 发射

28、 电路 发射传感器 报警电路 显示电路 接收 电路 接受传感器 障 碍 物 2 种软件可选择节电模式。空闲模式下,cpu 停止工作,允许 ram、定时器/计 数器、串口、中断继续工作。掉电保护方式下,ram 内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。 3.33.3 超声波测距的系统及其组成超声波测距的系统及其组成 本系统由单片机 at89s52 控制,包括单片机控制系统、发射电路与接收放大 电路和显示电路几部分组成,如图 6 所示。硬件电路的设计主要包括单片机最小 系统及、超声波接受电路、超声波发射电路。显示电路等几部分组成。采用 at89s52 单片机最为

29、系统的微处理器。系统的晶振频率为 12mhz,这样可以获得 较稳定时钟频率,使测量误差减小。用单片机的 p1.5 端口输出 40khz 的方波给 超声波换能器,用单片机的 p1.6 端口检测超声波接收电路返回的接收信号。用 4 个为共阳的 led 数码管进行显示。单片机的 p0 口为段码输出口,单片机的 p2.0、p2.1、p2.1 口控制数码管的位选,用三极管 8550 进行数码管的驱动。 超声波接收头接收到反射的回波后,经过接收电路处理后,向单片机 p1.6 输 入一个低电平脉冲。单片机控制着超声波的发送,超声波发送完毕后,立即启动 内部计时器 t0 计时,当检测到 p1.6 由高电平变为

30、低电平后,立即停止内部计时 器计时。单片机将测得的时间与声速相乘再除以 2 即可得到测量值,最后经 3 位 数码管将测得的结果显示出来。 3.3.13.3.1 超声波测距单片机系统超声波测距单片机系统 超声波测距单片机系统主要由:at89s52 单片机、晶振、复位电路、电源滤 波部份构成。由 k1,k2,k3 组成测距系统的按键电路。用于设定超声波测距报 警值。如图 3-2。 图 3-2 超声波测距单片机系统 3.3.23.3.2 超声波发射、接收电路超声波发射、接收电路 超声波发射如图 3-3,接收电路如图 3-4。超声波发射电路由电阻 r29、三极 管 bg4、超声波脉冲变压器 b 及超声

31、波发送头 t40 构成,超声波脉冲变压器,在 这里的作用是提高加载到超声波发送头两产端的电压,以提高超声波的发射功率, 从而提高测量距离。接收电路由 bg5、bg6 组成的两组三级管放大电路构成;超 声波的检波电路、比较整形电路由 c4、d1、d4 及 bg9 组成。 40khz 的方波由 at89s52 单片机的 p1.5 输出,经 bg4 推动超声波脉冲变压 器,在脉冲变压器次级形成 60vpp 的电压,加载到超声波发送头上,驱动超声波 发射头发射超声波。发送出的超声波,遇到障碍物后,产生回波,反射回来的回 波由超声波接收头接收到。由于声波在空气中传播时衰减,所以接收到的波形幅 值较低,经

32、接收电路放大,整形,最后输出一负跳变,输入单片机的 p1.6 脚。 图 3-3 超声波测距发射单元 该测距电路的 40khz 方波信号由单片机 at89s52 的 p1.5 发出。方波的周期 为 1/40ms,即 25s,半周期为 12.5s。每隔半周期时间,让方波输出脚的电平取 反,便可产生 40khz 方波。由于单片机系统的晶振为 12m 晶振,因而单片机的时 间分辨率是 1s,所以只能产生半周期为 12s 或 13s 的方波信号,频率分别为 41.67khz 和 38.46khz。本系统在编程时选用了后者,让单片机产生约 38.46khz 的方波。 图 3-4 超声波测距接收单元 由于反

33、射回来的超声波信号非常微弱,所以接收电路需要将其进行放大。接 收电路如图 3-所示。接收到的信号加到 bg5、bg6 组成的两级放大器上进行放大。 每级放大器的放大倍数为 70 倍。放大的信号通过检波电路得到解调后的信号,即 把多个脉冲波解调成多个大脉冲波。这里使用的是 in4148 检波二极管,输出的直 流信号即两二极管之间电容电压。该接收电路结构简单,性能较好,制作难度小。 3.3.33.3.3 数码管的数码管的显示电路显示电路 本系统采用四位一体 l e d 数码管显示所测距离值,如图 10。数码管采用动 态扫描显示,段码输出端口为单片机的 p0 口,位码输出端口分别为单片机的 p2.0

34、、p2.1、p2.2、p2.3 口,数码管位驱运用 pnp 三极管 8550 三极管驱动。同时使 用电阻进行限流。 图 3-5 显示单元 3.3.43.3.4 供电电路供电电路 本测距系统由于采用的是 led 数码管用为显示方式,正常工作时,系统工作 电流约为 30-45ma,而系统中单片机的工作电压为+5v,为保证系统统计的可靠正 常工作,并且方面系统的供电方式我们选择电脑的 usb 口进行供电,这样可以为 调试系统方便,即由 usb 口供电,调试时直接由电脑 usb 口供电。在电路板上 还安装了一个供电的开关,可以通过开关来打开和关闭电源,系统供电电路如图 3-6 所示。 图 3-6 供电

35、单元电路图 3.3.53.3.5 报警输出电路报警输出电路 报警电路的主要的作用是当检测到的距离小于我们所设定的最小的报警距离 的时候,系统要发出报警的声音,来提示我们。本次设计的报警电路是通过单片 机控制蜂鸣器进行报警的。单片机的 p3.7 口通过一个限流电阻控制三极管 8550 的基极,三极管的发射机接+5v 的电压,集电极接蜂鸣器的一端,蜂鸣器的另一 端接地。因为本次使用的三极管是 pnp 型的管子,所以当单片机的 p3.7 口为低电 平的时候三极管导通,蜂鸣器经行报警,当单片机的 p3.7 口为高电平的时候三极 管不到通,蜂鸣器不报警。报警输出电路如图 3-7。 图 3-7 报警输出电

36、路 3.4 本章小结 本章主要介绍了超声波测距系统的硬件电路的设计,把系统的整体的硬件电 路分成各个模块的电路设计。主要对其中的单片机最小系统,超声波接收电路, 超声波发射电路,显示电路以及电源电路进行了详细的设计。 4 4 软件部分设计软件部分设计 4.14.1 主体程序设计主体程序设计 超声波倒车测距的软件设计主要由主程序,超声波发生子程序,超声波接收 程序及显示子程序组成。超声波测距的程序既有较复杂的计算(计算距离时) ,又 要求精细计算程序运行时间(超声波测距时) ,所以控制程序可采用 c 语言编程。 主程序首先是对系统环境初始化,设定时器 0 为计数,设定时器 1 定时。置 位总中断

37、允许位 ea。进行程序主程序后,进行定时测距判断,当测距标志位 ec=1 时,测量一次,程序设计中,超声波测距频度是 4-5 次/秒。测距间隔中,整 个程序主要进行循环显示测量结果。当调用超声波测距子程序后,首先由单片机 产生 4 个频率为 38.46khz 超声波脉冲,加载的超声波发送头上。超声波头发送完 送超声波后,立即启动内部计时器 t0 进行计时,为了避免超声波从发射头直接传 送到接收头引起的直射波触发,这时,单片机需要延时约 1.5 -2ms 时间(这也就 是超声波测距仪会有一个最小可测距离的原因,称之为盲区值)后,才启动对单 片机 p1.6 脚的电平判断程序。当检测到 p1.6 脚

38、的电平由高转为低电平时,立即停 止 t0 计时。由于采用单片机采用的是 12 mhz 的晶振,计时器每计一个数的时间 就是 1s,当超声波测距子程序检测到接收成功标志位后,会将计数器 t0 中的数 按式(2)计算,即可得被测物体与测距仪之间的距离。 设计时取 15时声音的速为 340 m/s 则有:d=(ct)/2=172t0/10000cm 其中, t0 为计数器 t0 计算出来的值。 测出距离将测得的结构转化成十进制 bcd 码在 数码管上进行显示。最后重复上述的测量过程。 4.24.2 超声波测距子程序及其流程图超声波测距子程序及其流程图 void wdzh() tr0=0; th1=0

39、 x00; tl1=0 x00; csbint=1; sx=0; delay(1700); csbfs(); csbout=1; tr1=1; i=yzsj; while(i-) i=0; while(csbint)/判断接收回路是否收到超声波的回波 i+; if(i=3300) csbint=0; tr1=0; s=th1; s=s*256+tl1; tr0=1; csbint=1; jsz=s*csbc;/计算测量结果 jsz=jsz/2; 产生超声波的子程序: 为了方便程序移置及准确产生超声波信号,本测距的超声波产生程序是用汇 编语言编写的进退声波产生程序。产生的超声波个数为 ucsbf

40、s segment code rseg ucsbfs public csbfs csbfs: mov r6,#8h ;超声波发射的完整波形个数:共计四个 here:cpl p2.7 ;输出 40khz 方波 nop nop nop nop nop nop nop nop nop djnz r6,here ret end 流程图如图 4-1: 图 15 超声波测距子程序流 图 4-1 超声波测距子程序流程图 4.34.3 超声波测距流程图超声波测距流程图 如图 4-2 开始 初始化 启动定时器 测量标志 超声波测距 距离 上限值 距离 盲区值 测量段码转换 显示 距离 报警值 报警输出 显示值=

41、 =ccc 显示值= = - - - - - - 设定段码转换 = =1 = =0 y n n y y n 图 4-2 超声波测距流程图 标志 = = 1? 发送超声波 启动计时器 t0 延时避开盲区 收到回波否? 停止计时 计算测量值 结束 超声波测距 大于预设时间? n y n n y y 5 5 系统调试与误差分析系统调试与误差分析 5.15.1 调试步骤调试步骤 我的步骤是先焊接各个模块,焊接完每个模块以后,再进行模块的单独测试, 以确保在整个系统焊接完能正常的工作,原件安装完毕后,将写好程序的 at89s52 机装到测距板上,通电后将测距板的超声波头对着墙面往复移动,看数 码管的显示

42、结果会不会变化,在测量范围内能否正常显示。如果一直显示“- - -”, 则需将下限值增大。本测距板 1s 测量 4-5 次,超声波发送功率较大时,测量距离 远,则相应的下限值(盲区)应设置为高值。试验板中的声速没有进行温度补偿, 声速值为 340m/s,该值为 15时的超声波值。 由于条件原因调试时无法提供 6v 交流电与 5v 双 usb 接口线,所以由 4.5v 干电池与 5v 实验室稳压电源代替。 当我焊接好元器件,检查无短路后,我接通了电源。接通电源能正常工作。 5.25.2 调试现象调试现象 本设计为超声波测距仪因此将测距仪至我们要进行测试灵敏度。 1.在 25cm 以上时无报警 2

43、.小于 25cm 时蜂鸣器报警 5.35.3 误差分析误差分析 虽然在超声波传感器最前端有 0.5cm 的空白距离,但是测距仪在 25cm(25.5cm)时显示的是 26cm。 因此本测距仪存在误差。 5.3.15.3.1 性能分析性能分析 从实物测试的总体来说本测距板基本上达到了要求,理想上超声波测距能达 到 400cm 到 600cm 左右,而我所能实现的最大距离只有 300cm 左右,测量结果受 环境温度影响。分析原因如下: 1. 超声波发射部份由电阻 r1、三极管 bg1、超声波脉冲变压器 b 及超声波 发送头 t40 构成,以提高超声波的发射功率,从面提高测量距离。这种方式,加 大的

44、超声波了送头的余振时间,造成超声波测距有一定的盲区. 2.本测距板没有设计温度补偿对测量结果进行修正。但在硬件的 pcb 上预留 的位置。 5.3.25.3.2 误差分析误差分析 超声波测距由于其再使用中不受光照度、电磁场、色彩等因素的影响,加之 其结构简单成本低,在机器人避障和定位、汽车倒车、水库液位测量等方面已经 有了广泛的应用。在原理上将,超声波测距有脉冲回波法、共振法和频差法。其 中脉冲回波法测距常用,其原理是超声传感器发射超声波,在空气中传播至被测 物,经反射后由超声波传感器接收反射脉冲,测量出超声脉冲从发射到接收的时 间,在已知超声波声速的前提下,可计算被测物的距离 h,即:h=v

45、t/2。由于温 度影响超声波在空气中的传播速度;超声波反射回波很难精确捕捉,致使超声波 在空气中传播的时间很难精确测量。这些因素使超声波测距的精度和范围受到影 响。 (1)温度对超声波波速的影响 超声波的传播速度受气体的密度、温度及气体分子成份的影响。其中温度对 超声波在空气中的传播速度有明显的影响,当需要精确确定超声波传播速度时, 必须考虑温度的影响。 (2)超声波回波声强影响 超声波回波声强与被测物得距离有由直接的关系,在进行实际的测量时,第 一个回波不一定是第一个过零点触发。这种误差不能从根本上消除,但是可以通 过根据测量距离调整脉冲群的脉冲个数以及动态调整比较电压来减小这种误差。 (3

46、)电路本身影响 电路硬件和软件本身存在一定的缺陷,因此会造成测量误差,主要表现为: 启动发射和启动计时之间的偏差。这是源于单片机一次只能处理一件事, 所以启动发射和启动计时实际上不能同时完成,是先后完成的,存在时差。但只 要指令速度足够快,其偏差可以忽略。 收到回波到被检测出的滞后。这是源于检测电路的灵敏度和判断偏差,从 收到实际回波到电路确认并输出相应信号肯定存在滞后,这和回波信号强弱、检 测电路原理以及判断电路的敏感性相关,也是超声波测距的核心。 收到中断到中断响应停止计时之间的滞后。这是源于单片机的中断机制。 收到中断信号后,单片机不可能立刻响应,至少要完成当前的指令,有时还要等 待其它

47、中断服务结束,所以这个滞后时间也不确定,从而导致测量结果的变化。 但这个因素可以通过提高单片机速度,使用高优先级中断。 计时器的本身误差。这是源于计时器的本身。由于目前大多数的晶体振荡 器,其准确度和稳定度为 20-50 ppm 级别,对于音速的而言,带来的稳定误差在 mm 级。为减小这项项误差,应该提高计时的最小单位,即是选择频率高的晶振, 从而降低量化误差。同时选用质量好的晶振。 (4)超声波波速入射角影响 超声波波束入射角也会对测量数据产生影响,由于系统是用来测量点和面的 距离,则被测物表面,超声波发射探头和接收探头三者之间存在一个几何角度, 即发射波入射到接收探头的角度,如果这个角度不

48、是 0 度,系统测量到的距离是 被测物与接收探头之间的距离而不是和测量参考面之间的距离,这就会造成测量 误差。 6 6 仿真和实物制作仿真和实物制作 为了更好的验证设计理论的正确性,本次设计从两个方面对设计的理论及进 行了验证,首先我们通过使用 protues 仿真软件,按照我们的设计思路进行了仿 真分析,本仿真设计只对超声波发送接收电路之外的单片机系统及程序进行仿真。 仿真时借用了 ne555 产生延迟信号,模拟超声波的发送出去遇障碍物后返回的过 程。仿真时通过调节 rv1 值的大小,以改变延时长短,模拟出距离的远近。系统 的仿真图如图 6-1 所示: 图 6-1 仿真图 1 在仿真图中可以

49、看到当前检测到得距离为 43cm,因为本次设计的初始的报警 距离为 25cm,我们会听到蜂鸣器报警,图中的 led 报警灯被点亮,开始报警。在 仿真图中我们可以看见有两个按键,这两个按键的作用是用来调节报警距离的。 测试的仿真图如图 6-2 所示: 图 6-2 仿真图 2 经过仿真电路的调试说明本次设计的设计原理已经基本上没有问题了,我们 有对仿真电路进行了改进,通过买相应的期间制作了实物,因为在设计实物的过 程中发现只用一个蜂鸣器就可以实现报警的作用,因此在制作实物的时候报警电 路只制作了蜂鸣器报警,蜂鸣器的声音足以提供使用者,在按键电路的设计过程 中,我们有增加了一个按键对测距系统进行控制

50、,这样更加的方便好用。实物图 如下图 6-3 所示。 图 6-3 实物图 实物调试: 调试时由于没有皮尺和米尺所以本人以白纸粘贴起来做成 25cm 的简易倒车带 如下图 6-4 所示: 图 6-4 模拟倒车带 在简易倒车带最前方有如图 6-5 的 0.5cm 的空白区域 图 6-5 0.5cm 空白 调试现象 本设计为汽车倒车雷达因此将雷达至于小车上模拟汽车倒车。 在小于 25cm 时如图 6-6 所示报警 图 6-6 在小于 25cm 时报警 大于 25cm 时如图 6-7 所示蜂鸣器无报警 图 6-7 大于 25cm 时蜂鸣器无报警 结结 论论 本文所设计的超声波测距系统是一款高精度的测距

51、系统。通过超声波探头反 射超声波,使用高速单片机计算测量车与障碍物之间的往返时间然后再计算出车 与障碍物的距离,并加入了软件补偿,提高了距离计算的精度,然后显示在 led 数码管上,当在探测的范围有障碍物时,蜂鸣器提示报警,距离越近蜂鸣器的报 警频率也越大,当距离小于最小安全距离时,蜂鸣器不间断报警。实际测试证明 该系统工作稳定,能够满足一般近距离测距要求,且成本低、有良好的性价比。 该系统中锁相环锁定需要一定的时间,测得的距离有误差,在汽车测距仪应用中 误差为 1cm 可忽略不计,由于此电路具有设计简单,价格便宜,测量精度比较高 的优点。 参考文献参考文献 1 徐淑华,程退安,姚万生.单片机

52、微型机原理及应用m.哈尔滨:哈尔滨工业 大学出版社,1999. 6:128-134 2 苏长赞.红外线与超声波遥控m.北京:人民邮电出版社,1993.7:26-35 3 张谦琳.超声波检测原理和方法m.北京:中国科技大学出版社, 1993.10:11-16 4 九州.放大电路实用设计手册m.沈阳:辽宁科学技术出版社, 2002.5 :134146 5 胜全.d18b20 数字温度计在微机温度采集系统中的序编制m. 南京:南京大 学出版社 1998. 3:4351 6 陈光东.单片机微型计算机原理与接口技术(第二版)m.武汉:华中理工大学出 版社,1999.4:21-25 7 恒清,张靖.加强单

53、片机系统抗干扰能力的方法j.通化师范学院学报,2004 .10 8 华兵.mcs-51 单片机原理应用m.武汉:武汉华中科技大学出版社, 2002 .5:4761 9 李华.mcu-51 系列单片机实用接口技术m.北京:北京航空航天大学出版社, 1993. 6:87-93 10 rotor s,zhang g x. geometric error measurement and compensation of machines m.annals of the cirp. 1995:599-609 11 olton w. instrumentation process measurement.

54、longman scientific technical m. 1991 :364-372 致 谢 首先,我要感谢我的指导老师在毕业设计中对我给予的悉心指导和严格要求, 同时也感谢本校的一些老师在毕业设计期间所给予我的帮助。在我毕业论文写作 期间,各位老师给我提供了种种专业知识上的指导和日常生活上的关怀,没有您 们这样的帮助和关怀,我不会这么顺利的完成毕业设计,借此机会,向您们表示 由衷的感激。同时还要感谢系实验室在毕业设计期间提供给我们优越的实验条件。 接着,我要感谢和我一起做毕业设计的同学。在毕业设计的短短几个月里,你们 给我提出很多宝贵的意见,给了我不少帮助还有工作上的支持,在此也真诚的

55、谢 谢你们。同时,我还要感谢我的寝室同学和身边的朋友,正是在这样一个相互促 进和团结友爱的环境中,在同学的关心和帮助下,才有了我今天的成就。 最后我要深深向我的家人表示感谢,他们 20 多年来辛辛苦苦的把我培养成人。 在生活上给了我无穷的关心和爱护,在生活和学习上给予我理解和支持,使我在 生活中充满了勇气的自信。去克服一切的艰难险阻完成了我的大学生活。 还有许许多多的给予我帮助和鼓励的朋友,在此无法一一列举,在此也一并 表示忠心地感谢! 附录 a 总体系统电路原理图: 总体系统电路 pcb 图: 附录 b /* */ /hc-sr04 超声波测距模块程序 /晶振:12 /接线:模块 trig

56、接 p1.5 ech0 接 p1.6 /数码管:共阳数码管 p0 接数据口,p2.0 p2.1 p2.2 p2.3 接选通数码管 /* */ #include /器件配置文件 #include #define rx p1_6 #define tx p1_5 sbit beep=p37; /蜂鸣器控制 sbit set=p10; /设置按键 sbit add=p11; /加按键 sbit str=p12; /减按键 unsigned int time=0; unsigned int x=0; /产生蜂鸣器滴滴声 unsigned int timer=0; unsigned int k_flag;

57、 unsigned char posit=0; unsigned long s=0; unsigned char tl=25; /最低报警距离 bit flag =0; bit beep_st; /蜂鸣器间隔标志 unsigned char const discode = 0 xa0,0 xbb,0 x62,0 x2a,0 x39,0 x2c,0 x24,0 xba,0 x20,0 x28,0 x7f,0 xe5,0 xff; unsigned char const positon4= 0 xfe,0 xfd,0 xfb,0 xf7; unsigned char disbuff4 = 0,0,

58、0,0,; /*/ void delay( int j) while(j-); /*/ void display(void) /扫描数码管 if(posit=0) p0=(discodedisbuffposit) else p0=discodedisbuffposit; p2=positonposit; if(+posit=4) posit=0; /*/ void conut(void) time=th0*256+tl0; th0=0; tl0=0; s=(time*1.7)/100; /算出来是 cm if(k_flag=1) disbuff0=tl/100; disbuff1=tl%100

59、/10; disbuff2=tl%10; disbuff3=11; else if(s=700)|flag=1) /超出测量范围显示“-” flag=0; disbuff0=10; /“-” disbuff1=10; /“-” disbuff2=10; /“-” disbuff3=10; else disbuff0=s%1000/100; disbuff1=s%1000%100/10; disbuff2=s%1000%10; disbuff3=12; /按键扫描程序 void key_scan(void)/按键扫描 if(set=0)/如果设置按键按下 delay(300); /延时消抖动 i

60、f(set=0) /再次判断设置按键是否按下 while(!set); /延时消抖动 k_flag+; /设置按键按下标志位加 1 if(k_flag=3) /如果该标志位为 3,则恢复为 1 k_flag=1; if(add=0)/如果加调整按键按下 delay(300); /延时防按键抖动 if(add=0) /再次判断加调整按键是否按下 while(!add); /延时防抖动 if(k_flag=1) tl+; /如果设置按键按下两次则低温报警值加 1 if(tl=400) /如果最短报警距离大于 4m,则不能再增加 tl=400; if(str=0) /减调整 delay(300);

温馨提示

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

评论

0/150

提交评论