毕业设计(论文)-基于单片机的非接触超声波测距系统设计.doc_第1页
毕业设计(论文)-基于单片机的非接触超声波测距系统设计.doc_第2页
毕业设计(论文)-基于单片机的非接触超声波测距系统设计.doc_第3页
毕业设计(论文)-基于单片机的非接触超声波测距系统设计.doc_第4页
毕业设计(论文)-基于单片机的非接触超声波测距系统设计.doc_第5页
免费预览已结束,剩余42页可下载查看

下载本文档

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

文档简介

目录 1 目 录 目 录.1 第 1 章 绪论.1 1.1 选题背景及意义1 1.2 超声波测距的优势1 1.3 研究内容2 第 2 章 研究方案3 2.1 方案一3 2.2 方案二4 2.3 方案选择6 第 3 章 系统硬件电路设计.7 3.1 时钟振荡电路7 3.1.1 概述.7 3.1.2 芯片 stc89c52rc 介绍.8 3.2 显示电路10 3.2.1 概述.10 3.2.2 动态扫描原理.11 3.2.3 驱动介绍.11 3.3 超声波发射电路12 3.3.1 概述.12 3.3.2 超声波传感器介绍.13 3.4 超声波检测接收电路15 3.4.1 概述.15 3.4.2 集成电路 cx20106a.16 3.5 报警电路18 第 4 章 系统软件设计19 4.1 软件设计分析19 4.2 软件设计思路19 4.2.1 主程序.19 目录 2 4.2.2 超声波发生子程序.21 4.2.3 超声波接收中断子程序.21 4.2.4 延时子程序.22 第 5 章 调试及误差分析23 5.1 软件调试23 5.2 软件烧录24 5.4 误差分析28 5.4.1 温度误差.29 5.4.2 串扰问题.30 第 6 章 非接触测量的发展前景31 第 7 章 结束语.32 参考文献33 致 谢.34 附录一 硬件实物图35 附录二 proteus 画的原理图36 附录三 源代码.37 第一章 绪论 1 第一章第一章 绪论绪论 1.11.1 选题背景选题背景及意义及意义 随着工业,建筑业,农业建设的不断发展,距离测量频率的不断提高, 一些在早期社会,曾被人类广泛应用的米尺不在满足人类的要求,就出现了 现在人类所应用的间接测量工具。测量能够为人们提供一个距离衡量的尺度, 对待事物有准确的物理概念。然而随着社会发展和进步,人类的测量范围不 断膨胀,由地表向两侧延伸,对地质的研究,宇宙的探索,可谓两极化的发 展。大到无边宇宙,小到原子,或更加细微的测量区间,米尺加公式的测量 时代早已不能满足探索的需要,而被人们作为探测行业的基石。 在测量方面,尤其工业,据了解,我国一些工业领域曾经使用过接触式 测量仪,但普遍存在着这样一些问题,抗粉尘能力差,触点接触不良,经常 失灵,误动作,不可调整,容易被杂物缠绕而误报等缺点,工作不可靠,影 响设备的正常使用。针对以上这些缺点。我们考虑研究一种非接触测量仪器。 在信息化,现代化的时代,随着电子技术的发展,非接触测量出现了微 波雷达测距,激光测距及超声波测距等。前几种方法由于技术难度大,成本 高,一般仅用于军事工业,而超声波测距由于其科研技术难度相对较低,且 成本低廉,适于民用推广。所以现在我们所见到一些测量仪基本上都是利用 超声波来测距的。超声波作为一种检测技术,采用的是非接触式测量,此特 点可使测量仪器不受被测介质的影响。这就大大解决了在粉尘多情况下,给 人类引起的身体接触伤害,腐蚀性质的被测物对测量仪器腐蚀,触点接触不 良造成的误测情况。且对被测元件无磨损,使测量仪器牢固耐用,使用寿命 加长,而且还降低了能量消耗,节省人力和劳动的强度。从长远利益看,是 多向节能型研究。 目前对于超声波精确测距的需求也越来越大,如油库和水箱液面的精确 测量和控制,物体内气孔大小的检测和机械内部损伤的检测等。在机械制造, 第一章 绪论 2 电子冶金,航海,宇航,石油化工,交通等工业领域也有广泛地应用。此外, 在材料科学,医学,生物科学等领域中也占具重要地位。 另外,在控制方面,单片机其卓越的性能,在本设计中得到了很好的体 现,尤其在检测,控制领域中,具有以下特点: 1、小巧灵活,成本低,易于产品化,它能方便地组装成各种智能测试, 控制设备及各种智能仪器表。 2、可靠性好,适应范围广,单片机芯片本身是按工业测控环境要求设计 的,能适应各种恶劣的环境,这是其它原件无法比拟的。 3、易扩展,很容易构成各种规模的应用系统,控制功能强。单片机的逻 辑控制功能很强,指令系统有各种控制功能所用的指令。 4、可以很方便地实现多机制分布式控制。 目前对于超声波精确测距的需求也越来越大,如油库和水箱液面的精确 测量和控制,物体内气孔大小的检测和机械内部损伤的检测等。在机械制造, 电子冶金,航海,宇航,石油化工,交通等工业领域也有广泛地应用。此外, 在材料科学,医学,生物科学等领域中也占具重要地位。 1.21.2 超声波测距的优势超声波测距的优势 当声波的振动频率大于 20000 赫兹或小于 20 赫兹时,我们便听不见了。 因此,我们把频率高于 20000 赫兹的声波称为“超声波” 。超声波技术已成为 一门以物理、电子、机械及材料科学为基础的、各行各业都要使用的通用技 术之一。 近年来,由于导航系统、工业机器人的自动测距、机械加工自动化等方 面的需要,自动测距变得十分重要。与同类测距方法相比,超声波方法在以下 几方面具有明显的优势: (1) 相对于声波,超声波具有定向性好、能量集中、在传输过程中的衰 减较小、反射能力较强等优势。 (2) 相对于光学方法,超声波的波速小,可以直接测量较近目标的距离, 纵向分辨率较高;对色彩、光照度、电磁场不敏感,被测物体处于黑暗,有 灰尘,烟雾,电磁干扰,有毒等恶劣的环境有一定的适应能力。特别是在海 第一章 绪论 2 洋勘测方面具有独特的优点。 (3) 超声波传感器结构简单,体积小,费用低,信息处理简单可靠,易 于小型化与集成化。 超声波作为一种特殊的声波,同样具有声波传输的基本物理特性,反射, 折射,干涉,衍射,散射。与物理紧密联系,应用灵活。并且更适合与高温, 高粉尘,高湿度和高强电磁干扰等恶劣环境下工作。 因此无论从精度还是从可靠性方面,超声波测距做得都比较好。利用超 声波检测即迅速,方便,计算简单,又易于做到实时控制,并且在测量精度 方面能达到工业实用的要求。具有广泛的发展前景。 1.3 研究内容研究内容 设计一个超声波测距器,可以应用于汽车倒车、建筑施工工地以及一些 工业现场的位置监控,也可用于如液位、井深、管道长度的测量等场合。要 求测量范围在 0.20-4.00m,测量精度 1cm,测量时与被测物体无直接接触, 能够清晰稳定地显示测量结果。 本次设计在 stc89c52rc 单片机及超声波理论的基础上,利用 stc89c52rc 单片机控制超声波收发设计出超声波测距器,并对设计中存在的 各种关键问题进行深入的分析。工作时,超声波发生器不断的发出一系列连 续的脉冲,并给单片机提供一个短脉冲。超声波接收器则在接收到遇障碍物 反射回来的反射波后,也向单片机提供一个短脉冲。最后由单片机装置对接 受信号依据时间差进行处理,自动计算出距离。硬件采用超声波发射与接收 分离设计。接收电路采用 cx20106a 集成电路为核心,简化了电路,并具有较 强的抗干扰性;在显示电路部分,采用动态扫描法实现 led 数字显示。硬件 电路主要分为 时钟振荡电路、显示电路、超声波发射电路、超声波检测接 收电路和报警电路五部分。软件设计主要由主程序、超声波发生子程序、 超声波接受中断程序、显示子程序组成。控制程序采用c 语言和汇编语 言混合编程。 第 2 章 研究方案 3 第二章第二章 研究方案研究方案 2.1 方案一方案一 方案一:一种单片化可重构的相位式激光测距仪 相位式测距是利用一种遵循正弦规律连续变化的调制光波作为光源。 测距仪从 a 点发射调制光波,到达 b 点反射器又反射回测距仪,经历了 2d 的路程,且有: (2-1) 1 22 dc f 式中: 表示相位移;f 是波的振荡频率;c 为光波的速度;d 为所测的 距离。可重构测距系统的总体框图如图 2-1 所示,该系统主要由光电收发装 置、外围模拟电路、单片化可重构自动数字测相电路、中央处理器、距离显 以及各数据通道、接口等组成。 单片化可重构 自动数字测 相电路(fpga) 中央 处理器 距 离 显 示 器 外围模拟电路光电收发装置 与主机通信 调制激光束 图图 2-1 可重构测距系统框图可重构测距系统框图 (1)光电收发装置:主要用来发射和接收一种遵循正弦规律连续变化的调 制光波测距信号,它主要由电源、激光源、激光接收装置和光电转换电 路组成。 (2)外围模拟电路:完成光信号的调制、解调、放大和整形,主要由调制 器和高频振荡器以及放大器等电路组成。 第 2 章 研究方案 4 (3)距离显示器:显示可重构自动数字测相电路输出的距离信息。 (4)中央处理器:完成整个系统的协调工作,进行处理任务的调度,并可 根据需要控制单片化自动数字测相电路的重构。 (5)单片化可重构自动数字测相电路:是本课题设计的核心,本设计的整 个体系结构是可重构的,各个模块在多种测量模式下是可重用的。在微观上, 该电路在测量过程中的参数可实时重构,比如可以实时地改变测尺频率,从 而得到更高的测量精度和更快的测量速度。本测距系统采用的是美国 xilinx 公司的 xc6200 系列 fpga 细粒度结构的可重构处理器。 2.2 方案二方案二 方案二:基于 stc89c52rc 单片机的超声波测距仪 超声测距大致有以下方法: (1)取输出脉冲的平均值电压,该电压(电压的幅值基本固定)与距离成正 比,测量电压即可测得距离; (2)测量输出脉冲的宽度,即发射超声波与接收超声波的时间间隔。因此, 被测距离为声速与时间间隔相乘的一半。 本次设计采用第二种方案。 图 2-2 示意了超声波测距的原理,即超声波发生器 t 在某一时刻发出的 一个超声波信号,当超声波遇到被测物体后反射回来,就被超声波接收器 r 所接受。这样只要计算出从发生信号到接受返回信号所用的时间,就可算出 超声波发生器与反射物体的距离。距离计算公式为: 11 22 dsc t (2-2) 式中:d 为被测物与测距器的距离,s 为声波的来回路程,c 为声速,t 为声波来回所用的时间。 第 2 章 研究方案 5 控 制 部 分 障 碍 物 超声波传感器(发射) 超声波传感器(接收) 图图 2-2 超声波测距原理图超声波测距原理图 超声波测距仪主要以单片机 stc89c52rc 为核心,其发射器是利用压电晶 体的谐振带动周围空气振动来工作的。超声波发射器向某一方向发射超声波, 在发射的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回 来,超声波接收器接收到反射波就立即停止计时。一般情况下,超声波在空 气中的传播速度为 340m/s,根据计时器记录的时间 t,就可以计算出发射点 距障碍物的距离 s,即 s=340t/2,这就是常用的时差法测距。 在测距计数电路设计中,采用了相关计数法,其主要原理是:测量时单 片机系统先给发射电路提供脉冲信号,单片机计数器处于等待状态,不计数; 当信号发射一段时间后,由单片机发出信号使系统关闭发射信号,计数器开 始计数,实现起始时的同步;当接收电路接收脉冲到来后,进入中断,计数 器停止计数。 基于 stc89c52rc 单片机的超声波测距仪主要有几下部分组成如图 2-2 所 示:led 显示模块,stc68c52rc 芯片,超声波发射模块,超声波接收模块, 报警模块等五大模块组成。 第 2 章 研究方案 6 超声波接受 超声波发送 单片机 控制器 led 显示 扫描驱动 超限报警 图图 2-3 超声波测距器设计框架超声波测距器设计框架 被 测 对 象 2.3 方案选择方案选择 基于上述两种方案的比较,方案一,测量参量看动态重构,具有很大的 灵活性,但系统结构复杂。方案二,精度高,功耗低,模块简单,稳定性高。 所以本次设计选用方案二。 本此设计属于近距离测量,采用常用的压电式超声波换能器来实现。根 据设计要求并综合各方面因素,可以采用 stc89c52rc 单片机作为主控制器, 用动态扫描法实现 led 数字显示,超声波驱动信号用单片机的定时器完成, 超声波接收用检测红外线的专用芯片 cx20106a 实现,报警系统用发光二极管 完成。 第 3 章 系统硬件电路设计 7 第三章第三章 系统硬件电路设计系统硬件电路设计 硬件电路主要分为时钟振荡电路、显示电路、超声波发射电路、超声波 检测接收电路和报警电路五个部分。 3.1 时钟振荡电路时钟振荡电路 3.1.1 概述概述 本系统选用单片机 stc89c52rc,外部晶体作为时钟频率,晶体振荡器 xtal1 与 xtal2 分别为用作片内振荡器的反向放大器的输入和输出。晶体振 荡器连接如下图 3-1 所示。 单片机外接石英晶体(或陶瓷谐振器)及电容 c2、c3 接在放大器 (stc89c52rc 中有一个用于构成内部振荡器的高增益的反相放大器)的反馈 回路中构成并联振荡电路。为便于 cpu 处理数据,让计时器每计一次数就是 1us,振荡器采用了 12mhz 的石英晶体。对外接电容 c2、c3 虽然没有十分 严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡工作的稳 定性、起振的难易程度及温度稳定性,这里电容使用 30pf10pf。 本电路中用到了重要的频率,为了实现输出频率的精确性,在设计时用 到了单片机,因为这一部分(频率产生电路)是整个电路的核心,由单片机产 生的频率必须准确,否则测得的距离显示会产生很大误差,在考虑总体方案 时,也想到用一块单片集成电路(比如说 cmos 集成芯片 cd4046)来完成频率 信号的产生以及分频工作,也完全可以实现电路的功能,但是要想实现高精 度要求,难免有些困难,最后还是选择了用单片机来完成频率的产生工作。 第 3 章 系统硬件电路设计 8 图图 3-1 时钟振荡电路图时钟振荡电路图 3.1.2 芯片芯片 stc89c52rc 介绍介绍 stc89c51rc/rd+系列单片机是宏晶科技推出的新一代超强抗干扰、强抗 静电,高速、高可靠,低功耗的单片机,指令代码完全兼容传统 8051 单片机, 12 时钟/机器周期和 6 时钟/机器周期可任意选择,最新的 d 版本内部集成 max810 专用复位电路。其引脚图与 at89c52 类似,如下图 3-2 所示。 第 3 章 系统硬件电路设计 9 图图 3-2 stc89c52rc 引脚图引脚图 特点: 1.增强型 6 时钟/机器周期,12 时钟/机器周期 8051cpu; 2.工作电压:5.5v-3.4v(5v 单片机)/3.8v-2.0v(3v 单片机); 3.工作频率范围:0-40mhz,相当于普通 8051 的 080mhz.实际工作频 率可达 48mhz; 4.用户应用程序空间 4k/8k/13k/16k/20k/32k/64k 字节; 5.片上集成 1280 字节/512 字节 ram; 6.通用 i/o 口(32/36 个),复位后为:p1/p2/p3/p4 是准双向口/弱上拉 (普通; 8051 传统 i/o 口)p0 口是开漏输出,作为总线扩展用时,不用加上拉电 阻,作为 i/o 口用时,需加上拉电阻。 第 3 章 系统硬件电路设计 10 7.isp(在系统可编程)/iap(在应用可编程),无需专用编程器/仿真器可 通过串口(p3.0/p3.1)直接下载用户程序,8k 程序 3 秒即可完成一片; 8.eeprom 功能; 9.看门狗; 10.内部集成 max810 专用复位电路(d 版本才有),外部晶体 20m 以下时, 可省外部复位电路。 3.2 显示电路显示电路 3.2.1 概述概述 显示电路如下图 3-3 所示,采用简单实用的 4 位共阳 led 数码管,段码用 74ls244 和 1k 上拉电阻驱动,位码用 pnp 三极管 9012 和 4.7k 上拉电阻驱动。 图图 3-3 显示电路显示电路 第 3 章 系统硬件电路设计 11 3.2.2 动态扫描原理动态扫描原理 对于一组数码管动态扫描显示需要由两组信号来控制:一组是字段输出 口输出的字形代码,用来控制显示的字形,称为段码;另一组是位输出口输 出的控制信号,用来选择第几位数码管工作,称为位码。由于各位数码管的 段线并联,段码的输出对各位数码管来说都是相同的。因此,在同一时刻如 果各位数码管的位选线都处于选通状态的话,8 位数码管将显示相同的字符。 若要各位数码管能够显示出与本位相应的字符,就必须采用扫描显示方式。 即在某一时刻,只让某一位的位选线处于导通状态,而其它各位的位选线处 于关闭状态。同时,段线上输出相应位要显示字符的字型码。这样在同一时 刻,只有选通的那一位显示出字符,而其它各位则是熄灭的,如此循环下去, 就可以使各位数码管显示出将要显示的字符。虽然这些字符是在不同时刻出 现的,而且同一时刻,只有一位显示,其它各位熄灭,但由于数码管具有余 辉特性和人眼有视觉暂留现象,只要每位数码管显示间隔足够短,则可造成 多位同时亮的假象,给人眼的视觉印象就会是连续稳定地显示,达到同时显 示的目的。 3.2.3 驱动介绍驱动介绍 单片机本身具有驱动能力,它分为高电平驱动和低电平驱动两种方式, 所谓高电平驱动,就是端口输出高电平时的驱动能力,所谓低电平驱动,就 是端口输出低电平时的驱动能力,当单片机输出高电平时,其驱动能力实际 上是靠端口的上拉电阻来驱动的。单片机的输出电流输出电压都非常小,假 设一个数码管中一位二极管点亮流过的电流是 5ma,那么当所有二极管都亮 时是 5*8ma=40ma,查阅单片机手册可知,单片机绝对最大 i/o 口电流是 15ma。超过单片机所能承受的电流,这将造成电源效率的严重下降,导致发 热,纹波增大,以至于造成单片机工作不稳。为了达到可靠性,本次设计在 单片机输出口接一个 74ls244,再在 244 的输出接数码管。74ls244 是 8 路 3 态缓冲驱动,也叫做线驱动或者总线驱动门电路,常用在单片机 mcu 系统中, 作为单片机的输入输出数据缓冲器,在选通时输入数据送到总线上,在非选 通时对总线呈高阻态。它主要起两方面的作用:一来用作驱动使数码管更亮, 第 3 章 系统硬件电路设计 12 二来用作缓存使数码管不闪烁。 下图 3-4 是 74ls244 的内部结构原理图,可以看出 74ls244 由 2 组、每 组四路输入、输出构成。每组有一个控制端 g,由控制端的高或低电平决定 该组数据被接通还是断开。 图图 3-4 74ls244 内部结构原理图内部结构原理图 引出端符号: 1a11a4,2a12a4 输入端 1g,2g 三态允许端(低电平有效) 1y11y4,2y12y4 输出端 3.3 超声波发射电路超声波发射电路 3.3.1 概述概述 超声波发射电路原理图如下图 3-5 所示。发射电路主要由反向器 74ls04 和超声波发射换能器 tct40-10f1 构成。单片机 p1.0 端口输出的 40khz 方波 第 3 章 系统硬件电路设计 13 信号一路由一级反向器后送到超声波换能器的一个电极,另一路经两极反向 器后送到超声波换能器的另一个电极。用这种推挽形式将方波信号加到超声 波换能器两端,可以提高超声波的发射强度。输出端采用两个反向器并联, 用以提高驱动能力。上拉电阻 r4,r5 一方面可以提高反向器 74ls04 输出高电 平的驱动能力,另一方面可以增加换能器的阻尼效果,缩短其自由振荡的时 间。 3.3.2 超声波传感器介绍超声波传感器介绍 为了以超声波作为检测手段,必须产生超生波和接收超声波。完成这种 功能的装置就是超声波传感器,习惯上称为超声波换能器或超声波探头。常 用的超声波传感器有两种,即压电式超声波传感器或称压电式超声波探头)和 磁致式超声波传感器。本次设计采用的是压电式超声波传感器,主要由超声 波发射器(或称发射探头)tct40-10f1 和超声波接收器(或称接收探头)tct40- 10s1 两部分组成,它们都是利用压电材料(如石英、压电陶瓷等)的压电效应 进行工作的。下图 3-6 为压电式超声波传感器的结构图。 第 3 章 系统硬件电路设计 14 图图 3-5 超声波发射电路原理图超声波发射电路原理图 图图 3-6 超声波换能器结构图超声波换能器结构图 压电传感器由压电晶片、楔块、接头等组成,是超声检测中最常用的实 现电能和声能相互转换的一种传感器件,是超声波检测装置的重要组成部分。 当压电晶片受发射电脉冲激励后产生振动,即可发射声脉冲,是逆压电效应。 当超声波作用于晶片时,晶片受迫振动引起的形变可转换成相应的电信号, 是正压电效应。前者用于超声波的发射,后者即为超声波的接收。超声波传 感器一般采用双压电陶瓷晶片制成。这种超声传感器需要的压电材料较少, 价格低廉,且非常适用于气体和液体介质中。 下表 3-1 为型号 t/r40-10 的超声波传感器的特性参数(t-发射,r-接 第 3 章 系统硬件电路设计 15 收,40-中心频率单位 khz,10-外壳直径单位 mm)。 表表 3-1 t/r40-10 的特性参数的特性参数 中心频率401khz 发射电压大于115db 接收灵敏度大于-64db/v/ubar -6db指向50deg 电容2400 允许输入电压 20v 图图 3-7 74ls04 引脚图引脚图 3.4 超声波检测接收电路超声波检测接收电路 3.4.1 概述概述 图 3-8 是超声波检测接收电路,主要有集成电路 cx20106a 和超声波换能 器 tct40-10s1 构成。cx20106a 是一款红外接收的专用芯片,常用于电视红 外遥控器。常用的载波频率 38khz 与测距的 40khz 较为相近,可以利用它来 做接收电路。适当的改变 c7 的大小,可以改变接受电路的灵敏度和抗干扰能 力。 其工作过程为:当超声波接收探头接收到超声波信号时,压迫压电晶片 作振动,将机械能转化成电信号,红外线检波接收集成芯片 cx20106a 接到电 信号后,对所接信号进行识别,若频率在 38khz-40khz 左右,则输出低电平, 否则输出高电平。使用 cx20106a 主要是简单易用,电路简单,减少了生产调 试的麻烦。但必须保证接收到的信号为 40khz,否者无法解调出。 第 3 章 系统硬件电路设计 16 图图 3-8 超声波检测接收电路超声波检测接收电路 3.4.2 集成电路集成电路 cx20106a cxa20106a,红外线接收专用芯片,可以用于超声波的接收。红外遥控接 收芯片 cx20106 可以完成对遥控信号的前置放大、限幅放大、带通滤波、峰 值检波和波形整形,只需加上简单的外围电路即可完成对已调波的解调。其 引脚图如图 3-9 所示: 1 脚:超声信号输入端,该脚的输入阻抗约为 40k。 2 脚:该脚与地之间连接 rc 串联网络,它们是负反馈串联网络的一个组 成部分,改变它们的数值能改变前置放大器的增益和频率特性。增大电阻 r 或减小 c,将使负反馈量增大,放大倍数下降,反之则放大倍数增大。但 c 的 改变会影响到频率特性,一般在实际使用中不必改动。 3 脚:该脚与地之间连接检波电容,电容量大为平均值检波,瞬间相应 灵敏度低;若容量小,则为峰值检波,瞬间相应灵敏度高,但检波输出的脉 第 3 章 系统硬件电路设计 17 冲宽度变动大,易造成误动作,推荐参数为 3.3f 4 脚:接地端。 5 脚:该脚与电源间接入一个电阻,用以设置带通滤波器的中心频率 f0,阻值越大,中心频率越低。例如,取 r=200k 时,f042khz,若取 r=220k,则中心频率 f038khz。 6 脚:该脚与地之间接一个积分电容,标准值为 330pf,如果该电容取得 太大,会使探测距离变短。 7 脚:遥控命令输出端,它是集电极开路输出方式,因此该引脚必须接 上一个上拉电阻到电源端,推荐阻值为 22k,没有接受信号是该端输出为 高电平,有信号时则产生下降。 8 脚:电源正极,4.55.5v。 图图 3-9 cx20106a 引脚图引脚图 用 cx20106a 做超声波测距应注意的事项: 1、首先确定你发射出的超声波的频率为标准的 40khz(占空比 50%) ,并 保证有足够的驱动电压。cx20106a 的第 5 脚的电阻决定接收的中心频率, 200k 的电阻决定了接收的中心频率为 40khz。 2、如果你驱动的是开放式的非防水探头(就是铝外壳,探头表面有金属 网,可以看到里面有一锥形的金属) ,则使用反相器串联再并联做 btl 推动就 可以了。 第 3 章 系统硬件电路设计 18 3、如果使用的探头是全封闭的防水头,那就要主要必须有足够的驱动电 压才能驱动得了探头。 3.5 报警电路 图 3-10 是报警电路原理图。当 led 数码管显示的数据超出某一设定的数 值时,二极管就会发光显示报警。在本次设计中,设定当显示所测数据小于 20cm 时,第一个黄色二极管就会点亮报警,当所测数据大于 2.5m 时,第二 个红色二极管就会点亮报警。 图图 3-10 报警电路原理图报警电路原理图 第 4 章 系统软件设计 19 第四章第四章 系统软件设计系统软件设计 4.1 软件设计分析软件设计分析 完成了系统的硬件设计之后,接下里就是系统软件的设计,它所需要完 成的主要是针对系统功能的实现及数据的处理和应用。根据以上所述系统硬 件设计和各个电路功能,系统软件需要实现以下功能: 1、信号控制。在系统硬件中,已经完成了发射电路、回波检测接收电路 的设计。在系统软件中,要完成发射脉冲信号及输出显示。 2、数据存储。为了得到发射信号与接收回波间的时间差,要读出此刻计 数器的计数值,然后存储在 ram 中,而且每次发射周期的开始,需要对计数 器清零,以备后续处理。 3、信号处理。ram 中存储的计数值并不能作为距离值直接显示输出,超 声波从发射出去碰到障碍物返回接收传感器的时间,需要通过软件定时器来 记录。根据这个时间才能计算出障碍物的距离。 4、数据传输与显示。经软件处理得到的距离要以十进制的方式送 lcd 显 示。 4.2 软件设计思路软件设计思路 超声波测距软件设计主要由主程序,超声波发射子程序,超声波接受中 断程序及显示子程序组成。c 语言程序有利于实现较复杂的算法,汇编语言 程序则具有较高的效率并且容易精确据算程序运行的时间,而超声波测距器 的程序既有较复杂的计算(计算距离时),又要求精确计算程序运行时间(超声 波测距时),所以控制程序可采用 c 语言和汇编语言混合编写。 4.2.1 主程序主程序 主程序采用 c 语言编写。主程序流程图如下图 4-1 所示。主程序首先对 系统环境初始化,设置定时器 t0 工作模式为 16 位的定时计数器模式,置位 第 4 章 系统软件设计 20 总中断允许位 ea 并给显示端口 p0 和 p2 清 0。然后调用超声波发生子程序送 出一个超声波脉冲。由于采用 12mhz 的晶振,机器周期为 1us,当主程序检测 到接收成功的标志位后,将计数器 t0 中的数(即超声波来回所用的时间)按 下式计算即可测得被测物体与测距仪之间的距离,设计时取 20c 时的声速为 344m/s 则有:d=(c*t0)/2=172t0/10000cm(t0 为计数器 t0 的计数值)。测 出距离后结果将以十进制 bcd 码方式送往 led 显示,然后再发超声波脉冲重 复测量过程。当数码管显示的数据超出设定值时,二极管发光产生报警。 系统初始化 发送超声波脉冲 等待反射超声波脉冲 led 显示结果 计算距离 开始 图图 4-1 主程序流程图主程序流程图 第 4 章 系统软件设计 21 4.2.2 超声波发生子程序超声波发生子程序 y n 设置计数器 t0 初值 开启计数器 产生 40khz 方波信号 是否发射完? 返回 开始 图图 4-2 超声波发生子程序流程图超声波发生子程序流程图 超声波发生子程序在 p1.0 产生 40khz 方波脉冲宽度约 12us,作为发生 超声波发射器的输出信号。同时打开计数器 t0 计时。超声波发生子程序较简 单,但要求程序运行时间较准,所以采用汇编语言编写。其流程图如图 4-2 所示。 4.2.3 超声波接收中断子程序超声波接收中断子程序 超声波测距器主程序利用外中断 0 检测返回超声波信号,一旦接收到返 回超声波信号(int0 引脚出现低电平),立即进入中断程序。进入该中断后 就立即关闭计时器 t0 停止计时,并将测距成功标志字赋值 1。如果当计时器 溢出时还未检测到超声波返回信号,则定时器 t0 溢出中断将外中断 0 关闭, 并将测距成功标志字赋值 2 以表示此次测距不成功。 第 4 章 系统软件设计 22 4.2.4 延时子程序延时子程序 在传感器以脉冲反射方式工作的情况下,电压很高的发射电脉冲在激励 传感器的同时也进入接收部分。此时,在短时间内放大器的放大倍数会降低, 甚至没有放大作用,这种现象称为阻塞。不同的检测仪器阻塞程度不一样。 根据阻塞区内的缺陷回波高度对缺陷进行定量评价会使结果偏低,有时甚至 不能发现障碍物,这是需要注意的。由于发射脉冲自身有一定的宽度,加上 放大器有阻塞问题,在靠近发射脉冲一段时间范围内,所要求发现的缺陷往 往不能被发现,这段距离成为盲区。 延时子程序的作用就是在超声波发射的同时延迟一些时间,再打开中断。 为的就是防止在超声波发射时接收器就收到反射波。这样就会出现错误,产 生严重的误差。所以要延迟一定的时间。本次设计在软件编写调中用了一个 1ms 的延迟子程序。 第 5 章 调试及误差分析 23 第五章第五章 调试及误差分析调试及误差分析 5.1 软件调试软件调试 在超声波测距仪的硬件安装时应保持两换能器中心轴线平行并相距 48cm,其余元件无特殊要求。若能将超声波接收电路用金属壳屏蔽起来,则 可提高抗干扰能力。根据测量范围要求不同,可适当调整与接收换能器并接 的滤波电容 c7 的大小,以获得合适的接收灵敏度和抗干扰能力。 硬件电路制作完成并调整检查好以后,接下就是软件的设计调试。在 keil_uvision2 软件中编写并运行调试程序,直至运行成功自动生成后缀名 为.hex 的文件。图 5-1 为程序在 keil_uvision2 软件中的编写界面。 图图 5-1 程序在程序在 keil_uvision2 软件中的编写界面软件中的编写界面 第 5 章 调试及误差分析 24 keilc51 标准 c 编译器为 8051 微控制器的软件开发提供了 c 语言环境, 同时保留了汇编代码高效,快速的特点。c51 编译器的功能不断增强,使你可 以更加贴近 cpu 本身,及其它的衍生产品。c51 已被完全集成到 uvision2 的 集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统, 项目管理器,调试器。uvision2 ide 可为它们提供单一而灵活的开发环境。 uvision2 包含一个器件数据库(device database),可以自动设置汇编器、 编译器、连接定位器及调试器选项,来满足用户充分利用特定微控制器的要 求。此数据库包含:片上存储器和外围设备的信息,扩展数据指针(extra data pointer)或者加速器(math accelerator)的特性。 5.2 软件烧录软件烧录 程序运行成功之后,将.hex 的文件通过 stc-isp 烧录软件下载到单片机 运行。stc-isp 烧录软件的特点是将程序源代码下载进单片机内部,而不用 编译器。下图 5-2 为烧录的界面。 图图 5-2 stc-isp ver 2.0b.pcb 演示板演示板 第 5 章 调试及误差分析 25 图图 5-2 stc-isp 烧录界面烧录界面 本次设计采用 stc-isp ver 2.0b.pcb 演示板作为编程工具,它可以完成下载/烧录 用户程序的功能。需要注意的是,要先点击 download/下载,再打开电源,因为需要冷 启动才运行系统 isp 程序。图 5-2 为 stc-isp ver 2.0b.pcb 演示板。 5.35.3 实验结果实验结果 测试仪器:pc 机、数字万用表、光滑水平槽测试装置、卷尺、秒表等。 实验中选用一面墙做为障碍物,测量超声波探头到墙壁的距离,得到如 第 5 章 调试及误差分析 26 下表 5-1 结果。 表表 5-1 测距实验结果测距实验结果 实际距离(cm)2535465266788190107124 测量距离(cm)2435475264778289107125 实际距离(cm)144169183202233257303320350367 测量距离(cm)145170182203232256300324356364 表 5-1 数据可以看出,所做的设计是成功的,在 20cm2.5m 以内数据比 较稳定,准确。但是在大于 2.5m 时,所测的数据与实际距离误差比较大。因 此设定 led 显示数据大于 2.5m 时,二极管发光产生报警。可能是超声波传感 器的角度,或其他干扰等原因,由于设计经验的不足和所掌握知识的限制, 没有解决此问题。 此次被测对象面积比较大,表面平滑,但是如果换个对象当作障碍物(如 表面凹凸不平,穿透能力很强的物体),又会产生一定的误差并且显示不稳定。 这是因为被测对象的组成,形状都会对超声波传感器产生一定的影响。根据 超声波传感器介绍,一些物体构成材料会产生较弱的回波,从而减少了最大 有效探测范围。光滑,平坦,并垂直于传感器的被测物体与形状不规则的物 体相比,前者光束产生更强的回声。一个更大的目标相对于一个较小的目标, 声音的波长会产生一个更强有力的回声。所以,本次设计适合的对象为形状 规则,表面积比较大,表面光滑平坦的物体。 5.3.15.3.1 测试方法测试方法 (1)使用机显示测试结果 (2)应用 keil 软件进行程序软件调试,而后进行硬件调试。 第 5 章 调试及误差分析 27 (3)采用秒表精确计时法对单根木棒通过滑槽的时间小于 3 秒钟的测试。 (4)采取卷尺对木棒进行测量,然后显示屏上显示测量结果,测量时并 与软硬件联合调试相结合,得到准确测试结果。 5.3.2 测试结果测试结果 正向测量 第 1 次第 2 次 第 3 次第 4 次第 5 次第 6 次第 7 次 当前木棒长度(cm) 6.011.613.38.58.611.06.7 木棒个数 1234567 累计木棒长度(cm) 6.017.630.939.443.05460.7 当前木棒长度测量误差(cm) 0.10.10.2-0.10.2-0.30.1 累计长度测量误差(cm) 0.10.20.40.30.50.20.3 个数误差 0000000 是否语音播报误差 无无无无无无无 反向测量 第 1 次第 2 次第 3 次第 4 次第 5 次第 6 次第 7 次 当前木棒长度(cm) 6.011.613.38.58.611.06.7 木棒个数 1234567 累计木棒长度(cm) 6.017.630.939.443.05460.7 当前木棒长度测量误差(cm) 0.10.10.2-0.10.2-0.30.1 测 试 次 数 测 试 项 目 测 试 次 数 测 试 项 目 第 5 章 调试及误差分析 28 累计长度测量误差(cm) 0.10.20.40.30.50.20.3 个数误差 0000000 是否语音播报误差 无无无无无无无 正反结合测量 第 1 次、 正 第 2 次、 正 第 3 次、 反 第 4 次、 正 第 5 次、 反 第 6 次、 正 第 7 次、 反 当前木棒长度(cm) 6.011.613.38.58.611.06.7 木棒个数 1212121 累计木棒长度(cm) 6.017.64.312.84.215.28.5 当前木棒长度测量误差(cm) 0.10.10.2-0.10.2-0.30.1 累计长度测量误差(cm) 0.10.20.40.30.50.20.3 个数误差 0000000 是否语音播报误差 无无无无无无无 测试结论测试结论:从观察观点开关脉宽测量的全过程和大量的测试数据结果发 现:在脉宽测量过程中,单个木棒长度误差在 0.1-0.4cm 范围内,累积误差 误差在 0.0-0.5 cm 范围内,木棒个数无误差。达到了系统设计的要求。 5.4 误差分析误差分析 超声波测距在实际应用也有很多局限性,这都影响了超声波测距的精 度。一是超声波在空气中衰减极大 ,由于测量距离的不同,造成回波信号 的起伏,使回波到达时间的测量产生较大的误差;二是超声波脉冲回波在 接收过程中被极大地展宽,影响了测距的分辨率,尤其是对近距离的测量 测 试 次 数 测 试 项 目 第 5 章 调试及误差分析 29 造成较大的影响 12。其他还有一些因素,诸如环境温度、风速等也会对测 量造成一定的影响,这些因素都限制了超声波测距在一些对测量精度要求 较高的场合的应用,如何解决这些问题 ,提高超声波测距的精度,具有较 大的现实意义。 5.4.1 温度误差温度误差 由于超声波也是一种声波,其声速 c 与温度有关,不同温度下超声波在 空气中传播的速度随温度变化的关系: (5-1) 0 1/ 273cct 式中:t 为绝对温度,=331.4m/s。 0 c 表 5-2 列出了几种不同温度下的超声波声速。在使用时,如果温度变化 不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度 补偿的方法加以校正。 表表 5-2 不同温度下超声波声速表不同温度下超声波声速表 温度 c-30-20 -100102030 声速 c(m/s)313319 325323338344349 为了进一步搞清楚温度对测距结果的影响程度,可由一组数据加以说 明。以 10.00m 作为基准,根据公式 t=s/c,以及温度对波速的影响计算在不 同温度下的传播时间表。根据声波的传输速率表可知,温度在-30c30c 传输时间相差为 3.2ms,若选择中间温度的速度,传输时间最大相差只有 2.1ms。也就是说工作在-30c30c 环境下,每相差 10c,传输时间大 概有 0.5ms 的差异。设计的测距器在程序编写时如果声速统一采用 323m/s 的 话,工作在-30c30c 环境下,速度最大误差不超过 21m/s,测量 10m 距 离时,结果的最大误差为 s=21m/s*31.9ms =0.6699m,此结果误差已经相当 大了。 由此得到结论,在工业场合下,温度的影响不容忽视,要能够正确测量, 第 5 章 调试及误差分析 30 需要在装置中增加温度检测模块,根据检测到的温度,灵活选用声波速度。 本次设计的测距器应用场合为常温下测距,因此声速的差别可以暂不考 虑,统一采用 340m/s。可是对于工控场合的应用,则需要对此测距器增加温 度检测元件,以不至于造成难以接受的偏差。 5.4.2 串扰问题串扰问题 设计中,超声波发射极和接收极距离较近,这样,当发射极发射超声波 后,有部分超声波没经过障碍物反射就直接绕射到接收极上,这部分信号是 无用的,会引起系统误差。设计中采用延时技术来解决这个问题,并设定延 时时间为 1ms,即在发射极发射超声波 1ms 内,通过软件关闭所有中断,接 收电路对此期间接收到的任何信号不予理睬,1ms 后立即启动 t0,这时接收 到的信号才有效,并在接收到回波信号的同时停止计数器 t0。此时 t0 所记 录的 cpu 发送脉冲信号的前沿到回波脉冲信号之间的时间才是需要的。当然, 这样设计的结果是系统不可避免的产生了测量盲区13。盲区为 s=19cm,即 障碍物在 19cm 以内时,系统不能检测。所以本次测量的最小距离为 20cm。 第 5 章 调试及误差分析 31 第6章 非接触测量发展前景 步入 21 世纪,人们从工程应用出发,精确的位移进行测量,不仅是研究 它与使用性能之间的基础,也是正确识别、监控其形成工艺过程的依据。随 着现代科技的发展,对机械生产的要求越来越高,测量精度的要求也越来越 高。接触式测量法和非接触式测量法是很典型的分类。这两种方法各有优点 也各有不足,可以分别适应不同的需要。 非接触式非接触测量常见应用场合: 预测性及预防性工业维修保养:检查变压器,配电盘,连接器,开关装置,放 置机械设备等.饮食服务及安全:检查储藏,检查钢铁,玻璃,塑料,诊断缸体, 能够在线测量带钢、金属板、塑料板、塑料 薄膜、纸等各种材料的宽度,同 时还适用于测量带钢、连铸板和中厚板轧机钢板的宽度。具有信号采集处理、 数字显示、报警、生产过程控制调节及计算机串口 rs485 通讯功能。 使用非接触式红外线测温仪的优点: 非接触式测量,测量时不需接触被测物体,只需信号采集处理、数字显示 就可快速准确测出数据,测量数据直接显示在 lcd 显示屏上.不接触物体,使用 方便,并能可靠地测量热的,危险的以及其它难于杰出的物体,而不会污染或损 坏被测物体. 第 7 章 结束语 32 第七章第七章 结束语结束语 本次设计持续了约四个月时间。这是一个较长时间的学习过程,投入到 具体方案实施的时间将近两个月。而在方案设计选择阶段,花了大量的时间 去论证方案的可行性,作了很多调整,从中了解到了很多元件的特点,以及 使用不同方案的优缺点。 本次设计是我第一次从事完整意义上的设计,从自己设计方案、确定方 案、采购元件、焊接电路,一直到调试、写毕业论文,全部都是在自己的全 心努力下完成的。这是一个漫长的过程,特别是在最后的实物调试阶段,花 费了大量的时间与经历。通过本次毕业设计,使我了解超声波测距的原理、 超声波换能器的性能以及超声波测距系统的应用。 关于本次毕业设计,由于设计经验的不足和所掌握知识的限制,我的设 计已能实现超声波测距的基本功能,并在数码管上显示实时的距离。但在某 些提高测量距离的精度方面、某些功能设计构想还没有完整的表达出来。当 然,要满足更高的精度要求,还须进行适当改进,例如可增加温度补偿单元; 在某些特殊场合的应用中,还要考虑超声波的入射角、反射角以及超声波传 播介质的密度、表面光滑度等因素。 希望在以后的工作学习中,踏实努力,积累更多的经验,掌握更多的知 识。 参考文献 33 参考文献参考文献 1 赵亮,王余.基于 at89s51 单片机超声波测距仪器设计j.内江科技.2009(02):96- 9

温馨提示

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

评论

0/150

提交评论