已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
超声波测距器的设计与实现 I 超声波测距器的设计与实现 摘 要 超声波作为一种传输信息的媒体,由于其本身的直射性和反射性,以及不易 受光照、电磁波等外界因素影响的特性,在探伤、测距、测速等多种领域越来越受 到重视。 本设计采用 AT89C52 单片机为核心并通过 LCD1602 显示测量结果。超声波 传感器采用集成式超声波测距模块和分立式超声波传感器,测量时通过使用 DS18B20 测得温度来实现温度补偿并提高精度值,经实验证明,这套系统软硬件设 计合理、抗干扰能力强、实时性良好,可以有效地解决汽车倒车、建筑施工工地以 及一些工业现场的位置监控。 关键词: 超声波 测距 温度补偿 超声波测距器的设计与实现 II ULTRASONIC RANGE FINDER DESIGN AND IMPLEMENTATION ABSTRACTABSTRACT Ultrasonic is a kind of media that transmits information, It has many speciality,for ex ample pounded and reflection, and not easy to be disturbed by the factors such as light, He rtzian waves. because of these unique advantages, ultrasonic get more and more attention of people on many areas,such as crack detection, range finding and speed trial. This design uses AT89C52 microcontroller as the core and through LCD1602 .when measuring the temperature measured by DS18B20 to achieve temperature compensation and to improve the precision value , an integrated ultrasonic sensor ultrasonic ranging module and discrete ultrasonic sensors , the experiment proved that the system software and hardware designed, anti-jamming capability, Good real-time, can effectively solve the car parking, construction sites and the location of some industrial site monitoring KEY WORDS Silent Wave Measure Distance Temperature Compensation 超声波测距器的设计与实现 目 录 中文摘要.I 英文摘要.II 1 概述.1 1.1 距离测量的方法介绍.1 1.2 超声波测距应用现状.2 1.3 本设计所做工作.2 2 系统硬件设计.3 2.1 MCU 选型.3 2.1.1 51 系列 MCU.3 2.1.2 MCU 的接口设计.4 2.2 超声波传感器选型.4 2.2.1 超声波传感器工作原理.4 2.2.2 超声波传感器工作特性.6 2.2.3 集成式测距模块介绍.7 2.3 显示模块设计.8 2.4 超声波发射接收电路.10 2.4.1 超声波发射电路设计.10 2.4.2 超声波检测接收电路设计.11 2.5 超声波测距系统硬件电路设计.12 2.5.1 分立式超声波测距电路设计.12 2.5.2 集成式超声波测距电路设计.14 3 系统软件设计.15 3.1 超声波测距仪的程序设计.15 超声波测距器的设计与实现 3.1.1 超声波主程设计.15 3.1.2 发射超声波程序设计.16 3.1.3 接收超声波程序设计.17 3.1.4 数据处理程序设计.17 3.2 主程序流程图.18 4 系统调试.20 4.1 PCB 制板和硬件安装.20 4.2 软件调试.20 4.3 分立式实验板调试.21 4.4 集成式实验板调试.22 4.5 超声波测距误差分析及补偿.23 5 结束语.25 致 谢.26 参考文献.27 附 录.28 超声波测距器的设计与实现 1 1 概述 1.1 距离测量的方法介绍 目前常用的测距方法有激光测距,红外测距,雷达测距,超声波测距,光学测 距以及传统的物理测量。这些测距方法的原理及特点分析如下。 激光测距是利用激光对目标的距离进行准确测定 (又称激光测距 )的仪器。 激光测距仪在工作时向目标射出一束很细的激光,由光电元件接收目标反射的激 光束,计时器测定 激光束从发射到接收的时间,计算出从观测者到目标的距离。 雷达测距是通过测定电磁波的往返时间来获得距离数据的。这和声纳工作原理 一样。电磁波速度就是光速,要获得准确的距离数据,实质就是要对极短的时间来 进行精确测量,比如要获得 600 米的距离精度,就必须将时间测量精度控制在百万 分之 1 秒内。 红外测距原理和雷达测距原理相似,是发射红外线然后测量回波时间,光速乘 以时间再除以 2 就得到距离1。由于光速很快,而红外测距仪一般测量距离比较短, 用常规的脉冲法(发射一个脉冲然后计算收到反射脉冲的时间)常常因为时间过短 而无法测量,所以一般是将红外线发射功率调制上一个较低的频率,然后测量回波 与发射波的相位差,根据相位差可以计算出回波时间。 光学测距就是 两只眼睛看物体,也可以判断目标距离。这是因为两只眼睛看 同一个物体有个视角差,比较这个差就得出目标距离2。比如你用一只眼睛去看你 桌子上的杯子,能估计出它的距离来。因为这个杯子是你熟悉的物体,你知道它在 相应距离上的大小,那根据它在眼睛上的成像大小(实际就是视角)就可以判断出 距离来。 很明显这种办法只能大致估计距离,而不能达到精确数值。 步枪的射击 中就用这种方法来大致判断目标距离的。 超声波测距的原理是利用超声波在空气中的传播速度为已知,测量声波在发 射后遇到障碍物反射回来的时间,根据发射和接收的时间差计算出发射点到障碍 物的实际距离。由此可见,超声波测距原理与雷达原理是一样的。 物理测距就是传统的以有刻度的尺子等工具测量目标物体的距离,这种测量 方法应用时间较长,且普及面较广 ,测量准确度也较高 。 超声波测距器的设计与实现 2 1.2 超声波测距应用现状 超声波由于指向性强、能量消耗缓慢且在介质中传播的距离较远,因而经常用 于距离的测量3。它主要应用于倒车雷达、测距仪、物位测量仪、移动机器人的研 制、建筑施工工地以及一些工业现场等,例如:距离、液位、井深、管道长度、流 速等场合。利用超声波检测往往比较迅速、方便,且计算简单、易于做到实时控制, 在测量精度方面也能达到工业实用的要求,因此得到了广泛的应用。 1.3 本设计所做工作 本设计通过对超声波测距实验做了系统方案设计、硬件方案设计和软件设计。 并最终完成调试。实现测量前方障碍物的距离。本设计共两种方案,一为集成式超 声波测距实验,另一为分立式超声波测距实验,测距通过 18b20 测温来实现温度补 偿,从而提高测量精度。本课题的研究、是非常有实用和有商业价值的。 第一章 简单介绍距离测量的方法,介绍超声波测距的应用现状。 第二章 介绍超声波测距设计模块硬件设计及器件选择及介绍,并设计出符合 要求的硬件电路。完成超声波测距模块的最终硬件设计。本设计采用两种硬件设计, 一位集成式超声波测距方案,另外一种为分立式超声波测距方案。 第三章 系统单元模块软件设计 第四章 系统调试及误差分析。 最后是结束语,对本设计设计中遇到的问题、解决方法和学习心得做一总结。 超声波测距器的设计与实现 3 2 系统硬件设计系统硬件设计 硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波检 测接收电路三部分。单片机采用 AT89C52 或其兼容系列。采用 12MHz 高精度的晶 振,以获得较稳定时钟频率,减小测量误差。单片机端口输出超声波换能器所需的 40kHz 的方波信号,利用外中断口监测超声波接收电路输出的返回信号2。显示电 路采用 LCD1602 显示。 2.1 MCU 选型 2.1.1 51 系列 MCU 5l 系列单片机中典型芯片(AT89C52)采用 40 引脚双列直插封装(DIP)形式,内 部由 CPU,4kB 的 ROM,256 B 的 RAM,2 个 16b 的定时计数器 T0 和 T1,4 个 8 b 的 I/ O 口:IP0,P1,P2,P3,一个全双功串行通信口等组成。特别是该系 列单片机片内的 Flash 可编程、可擦除只读存储器(EPROM),使其在实际中有着十 分广泛的用途,在便携式、省电及特殊信息保存的仪器和系统中更为有用3。该系 列单片机引脚与封装如图 2-1 所示。 图 2-1 AT89C52 5l 系列单片机提供以下功能:4 kB 存储器;256 BRAM;32 条工O 线;2 个 16b 定时计数器;5 个 2 级中断源;1 个全双向的串行口以及时钟电路。空闲方式: CPU 停止工作,而让 RAM、定时计数器、串行口和中断系统继续工作。掉电方 超声波测距器的设计与实现 4 式:保存 RAM 的内容,振荡器停振,禁止芯片所有的其他功能直到下一次硬件复 位。 5l 系列单片机为许多控制提供了高度灵活和低成本的解决办法4。充分利用他 的片内资源,即可在较少外围电路的情况下构成功能完善的超声波测距系统。 2.1.2 MCU 的接口设计 89C52 的普通 IO 口产生 40KHZ 左右信号,并通过超声波传感器的发射头以超 声波的形式向外发送,当遇见障碍物超声波反射回来后,经过超声波传感器的接收 头接收,并通过 CX20106A 芯片的管脚 7 与 MCU 中断源,有信号返回就产生中断。 图 2-2 MCU 与传感电路接口设计 2.2 超声波传感器选型 2.2.1 超声波传感器工作原理 人们可以听到的声音频率为 20Hz20kHz,即为可听声波,超出此频率范围的 声音,即 20Hz 以下的声音称为低频声波,20kHz 以上的声音称为超声波,一般说 话的频率范围为 100Hz8kHz。 超声波为直线传播方式,频率越高,绕射能力越弱,但反射能力越强,为此利 用超声波的这种性质就可以制成超声波传感器5。另外,超声波在空气中传播的速 度较慢,约为 340m/s,这就使得超声波传感器使用变得非常简单。 超声波传感器有发送器和接收器,但一个超声波传感器也可以具有发送和接收 声波的双重作用,即为可逆元件。一般市场上出售的超声波传感器有专用型和兼用 型,专用型就是发送器用作发送超声波,接收器用作接收超声波;兼用型就是发送 超声波测距器的设计与实现 5 器和接收器为一体传感器,即可发送超声波,又可接收超声波。超声波传感器的谐 振频率(中心频率)有 23kHz、40kHz、75kHz、200kHz、400kHz 等。谐振频率变高, 则检测距离变短,分解力也变高。 超声波传感器是利用压电效应的原理,压电效应有逆效应和顺效应,超声波传 感器是可逆元件,超声波发送器就是利用压电逆效应的原理。所谓压电逆效应如图 3-3 所示,是在压电元件上施加电压,元件就变形,即称应变6。若在图 2-3 所示的 已极化的压电陶瓷上施加极性的电压,外部正电荷与压电陶瓷的极化正电荷相斥, 同时,外部负电荷与极化负电荷相斥。由于相斥的作用,压电陶瓷在厚度方向上缩 短,在长度方向上伸长。若外部施加的极性变反,如图 2-3 所示那样,压电陶瓷在 厚度方向上伸长,在长度方向上缩短。 图 2-3 压电逆效应 图 2-4 超声波传感器 超声波传感器采用双晶振子,即把双压电陶瓷片以相反极化方向粘在一起,在 超声波测距器的设计与实现 6 长度方向上,一片伸长,另一片就缩短。在双晶振子的两面涂敷薄膜电极,其上面 用引线通过金属板(振动板)接到一个电极端,下面用引线直接接到另一个电极端。 双晶振子为正方形,正方形的左右两边由圆弧形凸起部分支撑着。这两处的支点就 成为振子振动的节点。金属板的中心有圆锥形振子。发送超声波时,圆锥形振子有 较强的方向性,因而能高效率地发送超声波;接收超声波时,超声波的振动集中于 振子的中心,所以,能产生高效率的高频电压。 采用双晶振子的超声波传感器,若在发送器的双晶振子(谐振频率为 40kHz)上施 加 40kHz 的高频电压,压电陶瓷片就根据所加的高频电压极性伸长与缩短,于是就 能发送 40kHz 频率的超声波。超声波以疏密波形式传播,传送给超声波接收器。超 声波接收器是利用压电效应的原理,即在压电元件的特定方向上施加压力,元件就 发生应变,则产生一面为正极,另一面为负极的电压。若接收到发送器发送的超声 波,振子就以发送超声波的频率进行振动,于是,就产生与超声波频率相同的高频 电压,当然这种电压是非常小的,必须采用放大器放大。 2.2.22.2.2 超声波传感器工作特性 现以 R40-12 接收器和 T40-12 发送器为例说明超声波传感器的各种特性,表 3- 1 示列出的就是这种超声波传感器的特性。传感器的标称频率为 40kHz,这是压电 元件的中心频率,实际上发送超声波时是串联谐振与并联谐振的中心频率,而接收 时各自使用并联谐振频率。 表 2-1 超声波传感器 R/T40-12 的特性 种类特性R40-12 接收 T40-12 发送 标称频率40kHz 灵敏度74dB 以上 100Db 以上 带宽6kHz 以上(80dB) 7kHz 以上(90dB) 电容1600pF1600pF 绝缘电阻100M 以上 温度特性20+60范围内灵敏度变化在 10dB 以内 超声波传感器的带宽较窄,大部分是在标称频率附近使用,为此,要采取措施 扩展频带,例如,接入电感等。另外,发送超声波时输入功率较大,温度变化使谐 振频率偏移是不可避免的,为此,对于压电陶瓷元件非常重要的是要进行频率调整 和阻抗匹配。 T/R40-12 超声波传感器的发送与接收的灵敏度都是以标称频率为中心逐渐降低, 超声波测距器的设计与实现 7 为此,发生超声波时要充分考虑到这一点以免逸出标称频率。 这种传感器在较宽范围内具有较高的检测灵敏度,因此,适用于物体检测与防 犯报警装置等。另外,对于这种传感器,一般来说温度越高,中心频率越低,为此, 在宽范围环境温度下使用时,不仅在外部进行温度补偿,在传感器内部也要进行温 度补偿。 2.2.3 集成式测距模块介绍集成式测距模块介绍 本模块采用 IO(trig)口触发测距 如图 2-5 所示。至少 10us 的高电平信号, 模块自动发送 40kHz 的信号自动检测是否有信号返回,有信号返回时 io(echo)口 输出高电平 持续的时间即为超声波从发射到返回的时间 TRIP 引脚是内部上拉 10K 的电阻, 然后给一个 10us 以上的脉冲信号。OUT 脚为此模块作为防盗模块时的开 关量输出脚,测距模块不用此脚。 图 2-5 集成式超声波测距模块 主要技术参数: 1):使用电压:DC5V 2):静态电流:小于 2mA 3):电平输出:高 5V 4):电平输出:底 0V 5):感应角度:不大于 15 度 超声波测距器的设计与实现 8 6):探测距离:2cm-500cm 7):高精度:可达 0.3cm 板上接线端口: VCC , trig(控制端),echo(接收端),out(空脚),GND 本产品使用方法简单,一个控制口发一个 10us 以上的高电平,就可以在接收口等 待高电平输出.一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器 的值,此时就为此次测距的时间,方可算出距离.如此不断的周期测,就可以移动测量了。 2.3 显示模块设计 在日常生活中,我们对液晶显示器并不陌生。液晶显示模块已作为很多电子产 品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到, 显示的主要是数字、专用符号和图形。在单片机的人机交流界面中,一般的输出方 式有以下几种:发光管、LED 数码管、液晶显示器。发光管和 LED 数码管比较常 用,软硬件都比较简单,在单片机系统设计中应用液晶显示器作为输出器件有以下 几个优点: 1、显示质量高 由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度, 恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。因此,液 晶显示器画质高且不会闪烁。 2、数字式接口 液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操 作更加方便。 3、体积小、重量轻 液晶显示器通过显示屏上的电极控制液晶分子状态来达到显 示的目的,在重量上比相同显示面积的传统显示器要轻得多。 4、功耗低 相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动 IC 上, 因而耗电量比其它显示器要少得多。 字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式 LCD,目 前常用 16*1,16*2,20*2 和 40*2 行等的模块。本设计中选用 1602 字符型液晶显 示器,一般 1602 字符型液晶显示器实物如图 2-6 所示。 超声波测距器的设计与实现 9 图 2-6 1602 字符型液晶显示器实物图 1602LCD 分为带背光和不带背光两种,基控制器大部分为 HD44780,带背光 的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如下图 2-7 所示: 图 2-7 LCD1602 尺寸图 1602LCD 主要技术参数:主要技术参数: 显示容量:162 个字符 芯片工作电压:4.55.5V 工作电流:2.0mA(5.0V) 模块最佳工作电压:5.0V 字符尺寸:2.954.35(WH)mm 引脚功能说明引脚功能说明 1602LCD 采用标准的 14 脚(无背光)或 16 脚(带背光)接口,各引脚接口说 明如表 2-2 所示: 超声波测距器的设计与实现 10 表 2-2:引脚接口说明表 编号符号引脚说明编号符号引脚说明 1VSS电源地9D2数据 2VDD电源正极10D3数据 3VL液晶显示偏压11D4数据 4RS数据/命令选择12D5数据 5R/W读/写选择13D6数据 6E使能信号14D7数据 7D0数据15BLA背光源正极 8D1数据16BLK背光源负极 第 1 脚:VSS 为地电源。 第 2 脚:VDD 接 5V 正电源。 第 3 脚:VL 为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度 最高,对比度过高时会产生“鬼影”,使用时可以通过一个 10K 的电位器调整对比度。 第 4 脚:RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第 5 脚:R/W 为读写信号线,高电平时进行读操作,低电平时进行写操作。当 RS 和 R/W 共同为低电平时可以写入指令或者显示地址,当 RS 为低电平 R/W 为高电 平时可以读忙信号,当 RS 为高电平 R/W 为低电平时可以写入数据。 第 6 脚:E 端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命令。 第 714 脚:D0D7 为 8 位双向数据线。 第 15 脚:背光源正极。 第 16 脚:背光源负极。 超声波测距器的设计与实现 11 2.4 超声波发射接收电路 2.4.1 超声波发射电路设计 超声波发射电路原理图如图 2-8 所示9。发射电路主要由反相器 74LS04 和超声 波发射换能器 T 构成,单片机 P1.0 端口输出的 40kHz 的方波信号一路经一级反向 器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另 一个电极,用这种推换形式将方波信号加到超声波换能器的两端,可以提高超声波 的发射强度。输出端采两个反向器并联,用以提高驱动能力14。上位电阻 R1O、R11 一方面可以提高反向器 74LS04 输出高电平的驱动能力,另一方面可以 增加超声波换能器的阻尼效果,缩短其自由振荡时间。 图2-8 超声波发射电路原理图 压电式超声波换能器是利用压电晶体的谐振来工作的。超声波换能器内部有两 个压电晶片和一个换能板。当它的两极外加脉冲信号,其频率等于压电晶片的固有 振荡频率时,压电晶片会发生共振,并带动共振板振动产生超声波,这时它就是一 个超声波发生器;反之,如果两电极问未外加电压,当共振板接收到超声波时,将 压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收换能器。 超声波发射换能器与接收换能器在结构上稍有不同,使用时应分清器件上的标志。 2.4.2 超声波检测接收电路设计 集成电路CX20106A是一款红外线检波接收的专用芯片,常用于电视机红外遥 控接收器7。考虑到红外遥控常用的载波频率38 kHz与测距的超声波频率40 kHz较 为接近,可以利用它制作超声波检测接收电路(如图2-9)。实验证明用CX20106A接 收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。适当更 改电容C4的大小,可以改变接收电路的灵敏度和抗干扰能力。 超声波测距器的设计与实现 12 图2-9 超声波检测接收电路 2.5 超声波测距系统硬件电路设计 2.5.1 分立式超声波测距电路设计 本系统的特点是利用单片机控制超声波的发射和对超声波自发射至接收往返时 间的计时,单片机选用 AT89C52,经济易用,且片内有 4K 的 ROM,便于编程。 电路主控制板原理图如图 2-10 所示,传感器电路如图 2-11 所示。 图2-10 超声波测距电路原理图 超声波测距器的设计与实现 13 图2-11 超声波测距电路原理图 分立式超声波测距 PCB 图如图 2-12 所示。因为实验室腐蚀制板需要求制单面板, 故 PCB 制图制为单面板,即单面布线。需跳线时,采用预留焊盘并在背面用皮线跳 线来完成跳线。 图2-12 超声波测距电路PCB图 超声波测距器的设计与实现 14 本设计采用 P2 口接 LCD1602 的数据端,P0 口通过接上拉电阻来接 1602 的控制 线等端口,按键用的是小按键,节省板子空间,电源为 5V 供电,用的是独立插座 便于接电源线。 2.5.2 集成式超声波测距电路设计 本设计中采用集成式模块发射接收超声波从而完成测距任务,集成模块使用方 法简单,一个控制口发一个 10US 以上的高电平,就可以在接收口等待高电平输出.一 有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此 次测距的时间,方可算出距离.如此不断的周期测,就可以移动测量了。 集成式超声波测距 PCB 图如图 2-13 所示。因为实验室腐蚀制板只能制单面板, 故 PCB 制图制为单面板,即单面布线。 图 2-13 集成式超声波测距原理图及 PCB 图 集成式超声波测距其显示单元及测温单元跟分立式超声波测距基本一样,在其超 声波测距传感器单元电路设计上有区别。 本次制板采用实验室的现有设备腐蚀制 板,其为单面板设计,供电为直流电源供电,电压为5V。 超声波测距器的设计与实现 15 3 系统软件设计 超声波测距仪的软件设计主要由主程序、超声波发生子程序、超声波接收中断 程序及显示子程序组成。我们知道 C 语言程序有利于实现较复杂的算法,汇编语言 程序则具有较高的效率且容易精细计算程序运行的时间,综合考虑本设计控制程序 采用 C 语言编程15。 3.1 超声波测距仪的程序设计 3.1.1 超声波主程设计 超声波测距的原理为超声波发生器 T 在某一时刻发出一个超声波信号,当这个 超声波遇到被测物体后反射回来,就被超声波接收器 R 所接收到。这样只要计算出 从发出超声波信号到接收到返回信号所用的时间,就可算出超声波发生器与反射物 体的距离。距离的计算公式为: d=s/2=(ct)/2 (3.1) 其中,d 为被测物与测距仪的距离,s 为声波的来回的路程,c 为声速,t 为声波来 回所用的时间。 在启动发射电路的同时启动单片机内部的定时器 T0,利用定时器 的计数功能记录超声波发射的时间和收到反射波的时间16。当收到超声波反射波时, 接收电路输出端产生一个负跳变,在 INT0 或 INT1 端产生一个中断请求信号,单片 机响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离。其部分 源程序如下: void main() init() / 1602 初始化设置 csh() / MCU 初始化设置 gotoxy(1,5) print(cheju.) / 测距提醒显示 while(1) if(an=0) delay2(20) if(an=0) while(!an) xswd() / 测量温度并显示 超声波测距器的设计与实现 16 TL0=0 x00 TH0=0 x00 shu=0 fs() / 发射超声波信号 if(biao) biao=0 v=v0*sqrt(1+guo/t0) dd=(v/2)*shu/10000 /计算距离值 shu=0 d=dd if(d=8) / 距离值若不合理则舍弃 xs1() / 显示距离值 3.1.2 发射超声波程序设计 用单片机编程产生 40kHz 方波,可用延时程序和循环语句实现。先定义一个延 时函数 DELAY(), ,并且循环改变方波输出口的电平高低,从而产生方波。超声波 发生子程序的作用是通过单片机端口发送 4 个左右超声波脉冲信号(频率约 40kHz 的方波) ,脉冲宽度为 12s 左右,同时把计数器 T0 打开进行计时17。 部分程序如 下: void fs() TR0=1 / 开定时 sc=0 delay() sc=1 delay() sc=0 delay() / 延时 28us 左右 sc=1 delay() sc=0 超声波测距器的设计与实现 17 delay() sc=1 delay() / 产生超声波信号 delay2(120) / 延时等待 会产生盲区 EX0=1 / 在延时后 开外部中断 3.1.3 接收超声波程序设计(分离式) 当接收到超声波信号时,CX20106A 引脚会产生中断信号,请求单片机中断, 此时定时器计时关闭 停止计时,并取定时器里的数值,可知道超声波从发射到反 射回来总共用的时间, 超声波测距仪主程序利用外中断检测返回超声波信号,一 旦接收到返回超声波信号(即 INT0 引脚出现低电平) ,立即进入中断程序。进入中 断后就立即关闭计时器 T0 停止计时,并将测距成功标志位赋值18。如果当计时器 溢出时还未检测到超声波返回信号,则定时器 T0 溢出中断将外中断 0 关闭,并将 测距成功标志字也置标志位以表示此次测距不成功。 测距电路的输出端接单片机 INT0 端口,中断优先级最高,测距电路的输出通过 CX20106A 的 7 脚接单片机中 断接口,同时单片机中断源的识别由程序查询来处理,中断优先级为先右后左。部 分源程序如下:程序如下: void zd0() interrupt 0 TR0=0 / 关闭定时器 EX0=0 / 关闭外部中断 shu=shu|TH0 shu=(shu8)|TL0 / 取定时器中的时间值 biao=1 / 置接收超声波信号成功标志位 3.1.4 数据处理程序设计 超声波在空气中的传播速度是一定的 求出时间即可知道超声波的传播距离 数据处理程序如下: 超声波测距器的设计与实现 18 if(biao) biao=0 v=v0*sqrt(1+guo/t0) dd=(v/2)*shu/10000 / 根据时间求出前方障碍物距离 shu=0 d=dd if(d=8) / 舍弃不合理距离值 xs1() 3.2 主程序流程图 软件分为两部分,主程序和中断服务程序,如图 3-1 所示。主程序完成初始化 工作、各路超声波发射和接收顺序的控制。 中断流程图如图 3-2 所示,外部中断服 务子程序主要完成时间值的读取、距离计算、结果的输出等工作。 超声波测距器的设计与实现 19 图 3-1 主流程图 图 3-2 外部中断子程序 主程序首先是对系统环境初始化,设置定时器 T0 工作模式为 16 位定时计数器 模式。置位总中断允许位 EA。然后调用超声波发生子程序送出一个超声波脉冲, 为了避免超声波从发射器直接传送到接收器引起的直射波触发,需要延时(这也就 是超声波测距仪会有一个最小可测距离的原因)后,才打开外中断接收返回的超声 波信号。由于采用的是 12 MHz 的晶 振,计数器每计一个数就是 1s,当主程序检 测到接收成功的标志位后,将计数器 T0 中的数(即超声波来回所用的时间)按式 (4.2)计算,即可得被测物体与测距仪之间的距离,设计时取 20时的声速为 344 m/s 则有: d=(c*t)/2=172*T0/10000cm (3.2) 其中,T0 为计数器 T0 的计算值。 测出距离后结果通过 LCD 显示,然后再发超声波脉冲重复测量过程。为了有 利于程序结构化和容易计算出距离,主程序采用 C 语言编写。 超声波测距器的设计与实现 20 4 系统调试 4.1 PCB 制板和硬件安装 在完成了基本的设计后,开始根据 PCB 图腐蚀制电路板,制板设备为实验室 内现有设备,电路板制好以后,安插元器件并焊接,最终分立式实验板完成图如图 4-1,图 4-2 所示,集成式实验板完成图如图 4-3,图 4-4 所示 图 4-1 分立式实验板 图 4-2 分立式实验板 图 4-3 集成式实验板背面 图 4-4 集成式实验板正面 4.2 软件调试 软件调试用的编译环境为 WAVE6000,借用的是 keil 的编译器来调试。编译环 境如图 4-5 所示。 超声波测距器的设计与实现 21 图4-5 超声波测距程序调试截图 在软件调试中设置断点,来查看数据从而分析程序是否正确,是否能够完成要 求。另外在产生超声波信号时,即 40KHZ 左右信号时,并不能简单靠软件提示要 以实际为准,在刚开始同若软件模拟实现 40KHZ 信号,但再后来的实验中发现有 错误,后经过示波器查看才发现产生的信号并不是 40KHZ,与理想信号相差很远, 后通过示波器最终得到理想信号,以后的进程才得以继续进行。 盲区调试在发送完超声波信号后需延时在开外部中断,延时的大小需经过软件 调试最终确定延时最小值。 4.3 分立式实验板调试 硬件电路制作完成,通过仿真器进行仿真调试。调试过程中发现测距时发送完 超声波信号后只要开中断,程序会立即进入中断,并且计时器的数值是固定的,经 过分析发现是延时过短,在延长延时后问题解除。将程序编译好下载到单片机试运 行。测距仪能测量的范围为 0.29m4.5m。通过实际测量发现盲区较大,为 29cm。 在这点还有需要改进的地方。测量距离比起集成式测距模块遥远,发射功率更大。 超声波测距器的设计与实现 22 调试如图 4-6,图 4-7 所示。 图 4-6 分立式超声波测距调试图 图 4-7 分立式超声波测距调试图 在调试过程中发现分立式超声波测距盲区较大,为 29cm 当前方障碍物距离小 于盲区距离式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新闻发布会策划案
- 2026年孤独的小熊教案幼儿园
- 稻虾田时空演变轨迹及其对土壤有机碳动态的影响探究
- 2026届广东省肇庆市端州区市级名校中考历史模拟预测题含解析
- 山东省潍坊联考2026届中考语文四模试卷含解析
- 湖北省黄石市2026届中考语文最后冲刺模拟试卷含解析
- 江苏省常州市武进区达标名校2026届中考冲刺卷英语试题含答案
- 2026届江苏省无锡市青阳初级中学中考三模英语试题含答案
- 2026届安徽省亳州市蒙城八中重点中学中考语文全真模拟试题含解析
- 人口结构变迁背景下的系统性发展战略构建
- DB61T 926-2014 火灾高危单位消防安全管理与评估规范
- 腹腔镜食管裂孔疝修补术七步法 2025解读
- 2024-2025学年广东省广州市海珠区六年级下册期末语文检测试题(部编版)附答案
- 港口防台风安全知识培训课件
- 山东科技大学《概率论与数理统计》2024-2025学年第一学期期末试卷
- GB/T 755-2025旋转电机定额与性能
- 智联招聘测评题库及答案
- 苯课件高二下学期化学人教版选择性必修3
- 2025年四川省凉山州中考生物试卷真题(含答案解析)
- 物业sop管理制度
- (完整版)钢结构厂房施工组织设计(含土建)
评论
0/150
提交评论