1、1毕 业 设 计 ( 论 文 ) 中 文 摘 要本文详细介绍了一种基于单片机的超声测距系统。该系统以空气中超声波的传播速度为确定条件,利用反射超声波测量待测距离。在介绍了单片机性能和特点的基础上,分析了超声波测距的发展及基本原理,介绍了传感器的原理及特性。由此提出了系统的总体构成。然后简要介绍了利用 51 系列单片机设计测距仪的原理:单片机发出的超声波,通过换能器发射出去,遇到被测物体后反射回来,计算此超声波从发射出到接受的时间差从而得出被测物体到测距仪的距离。针对测距系统发射、接收、检测、显示部分的总体设计方案做了论证。设计了一种基于 8051 单片机的超声波测距系统。介绍了超声波测距的原理
2、及 8051 单片机的性能和特点,并在此基础上,给出了实现超声波测距方案的系统框图及软、硬件设计。超声波指向性强,能量消耗缓慢,在介质中传播距离远,常用于距离的测量。利用超声波检测距离,设计比较方便,计算处理也较简单,且在测量精度方面也能达到要求。测试结果表明,该设计满足设计要求,具有一定的实用价值。关键词:超声波;8051 单片机;测距2目录1 引 言 .42 微控制器 MC9S12DG128B .83 DS18B20 温度补偿电路 .104 超声波传感器 .125 集成电路 CX20106A 简介 .146 超声波传感器测距模块的硬件设计 .186.1 硬件电路设计方法 .196.2 多路
3、同步超声波测距系统 .206.2.1 FPGA 内部各组成模块设计 .216.2.2 发射电路 .236.2.3 接收电路 .236.3 超声波的产生与功率放大 .246.4 接收模块 .267 AT89C51 单片机简介 .278 LED 动态扫描显示电路 .299 提高敏感器件抗干扰性能 .319.1 系统硬件干扰 .349.2 降低外时钟频率 .369.3 系统软件结构设计 .379.4 多任务调度管理的仿真实现 .41结论 .43致谢 .44参考文献 .4531 引 言近年来,随着单片机在我国的推广,以其简单实用、功能强、体积小而日益广泛的被广大设计师采用,尤其在控制领域中的应用更为突
4、出。本文论述了采用单片机技术研制成功的智能距离提示器的原理与方法。该智能距离提示器主要是利用超声波探测传感器发送超声波来测试相对应的距离。工作时,超声波发生器不断的发出一系列连续的脉冲,并给单片机提供一个短脉冲。超声波接收器则在接收到遇障碍物反射回来的反射波后,也向单片机提供一个短脉冲。最后由单片机装置对接受信号依据时间差进行处理,自动计算出该智能距离提示器离障碍物之间的距离。该超声波智能距离提示器具有测距原理简单,成本低,制作方便易于实时控制,并且在精度方面也能达到工业实用的要求等特点。超声波是一种在弹性介质中的机械振荡 ,传播速度仅为光波的百万分之一 ,纵向分辨率较高.超声波对色彩、光照度
5、、外界光线和电磁场不敏感 ,因此超声测距对于被测物处于黑暗、有灰尘或烟雾、强电磁干扰、有毒等恶劣的环境下有一定的适应能力 ,在液位测量、机器人避障和定位、倒车雷达、物体识别等方面有着广泛的运用。由于超声传播不易受干扰 , 能量消耗缓慢 , 在介质中传播的距离较远 , 因而超声波经常用于距离的测量. 本文以超声波理论为依据,给出日常生活中可以方便 使用的非接触式超声波测距装置的设计过程。1.1 超声波测距的原理单片机发出超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接收回波的时间差 t,然后求出距离 SCt2,式中的C 为超声波波速。限制该系统的最大可测距离存在 4
6、个因素:超声波的幅度、反射的质地、反射和入射声波之间的夹角以及接收换能器的灵敏度。接收换能器对声波脉冲的直接接收能力将决定最小的可测距离。为了增加所测量的覆盖范围、减小测量误差,可采用多个超声波换能器分别作为多路超声波发射接收的设计方法。单片机(AT89C51)发出短暂的 40kHz 信号,经放大后通过超声波换能器输出;反射后的超声波经超声波换能器作为系统的输入,锁相环对此信号锁定,产生锁定信号启动单片机中断程序,得出时间,再由系统软件对其进行计算、判别4后,相应的计算结果被送至 LED 显示电路进行显示。图 1-1 超声波测距电路表 1 温度与波速的关系表温度/-20 -10 0 10 20
7、 30 100波速/m/s319 325 323338 344349 386由于超声波属于声波范围,其波速 C 与温度有关。所以列出了几种不同温度下的波速,请看表 1 所示。在测距时由于温度变化,可通过温度传感器自动探测环境温度、确定计算距离时的波速 C,较精确地得出该环境下超声波经过的路程,提高了测量精确度。波速确定后,只要测得超声波往返的时间,即可求得距离。超声波发生器在某一时刻发出超声波信号,遇到被测物体后反射回来,被超声波接收器接收到。只要计算出超声波信号从发射到接收到回波信号的时间,知道在介质中的传播速度,就可以计算出距被测物体的距离:5d=s/2=(vt)/2 (1)其中 d 为被
8、测物到测距仪之间的距离,s 为超声波往返通过的路程,v 为超声波在介质中的传播速度,t 为超声波从发射到接收所用的时间。为了提高精度,需要考虑不同温度下超声波在空气中传播速度随温度变化的关系:v=331.4+0.61T (2)式中,T 为实际温度 (),v 的单位为 m/s。1.2 压电式超声波传感器的原理目前,超声波传感器大致可以分为两类:一类是用电气方式产生的超声波,一类是用机械方式产生的超声波。电气方式包括压电型、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。在工程中,目前较为常用的是压电式超声波传感器。
9、压电式超声波传感器实际上是利用压电晶体的谐振来工作的。压电式超声波发生器的内部有两个压电晶片和一个共振板。当它的两极外加脉冲信号,且其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时即为超声波接收器。1.3 反射式超声波测距仪的硬件电路设计本系统硬件电路由单片机最小系统、温度补偿电路、超声波发射电路、超声波接收电路、显示电路构成,如图 1-2 所示。6图 1-2本超声波测距仪的具体工作过程如下,在单片机产生复位信号后,MC9S12DG128B 产生一个控
10、制信号,控制外围电路产生 40kHz 的超声波,经整形放大后加到超声波换能器发射出频率为 40kHz 的超声波。同时,计数MC9S12DG128B 内部的定时器,测量超声波信号从发出到接收所花的时间,并把经超声波换能器 R 接收到的超声波信号放大、滤波、整形,并作为接收信号来启动定时器的输入捕捉功能,完成一次超声波测距的时间操作。同时,由温度传感器 DS18B20 测得当前的环境温度,读入单片机,然后经其处理,在液晶显示屏上显示相应的测量值以及当前温度。72 微控制器 MC9S12DG128BMC9S12DG128B 是飞思卡尔公司推出的 S12 控制器中的一款 16 位微控制器。其集成度高,
11、片内资源丰富,接口模块包括 SPI、SCI、I2C、A/D、PWM 等,在FLASH 存储控制及加密方面有较强的功能。MC9S12DG128B 微控制器采用增强型 16 位 S12 CPU,片内总线时钟频率最高可达 25MHz;片内资源包括 8kB RAM、128kB FLASH、2kB EEPROM、SCI、SPI及 PWM 串行接口模块;PWM 模块可设置成 4 路 8 位或 2 路 16 位,可宽范围选择时钟频率;它还提供 2 个 8 路 10 位精度 A/D 转换器、控制器局域网 CAN 和增强型捕捉定时器,并支持背景调试模式(BDM)。2.1 超声波的发射电路超声波发射电路一般由超声
12、波反射器 T、40kHz 的超音频振荡器、驱动(或激励)电路等组成,本设计利用门电路产生 40kHz 的超声波,组成的超声波发射电路见图 2-1。8图 2-1 超声波发射电路图中,与非门 74LS00 和 LM386 组成超声波发射电路,用 74LS00 构成多谐振荡器,通过调节 20k 的电位器,可产生超声波发射的 40kHz 信号,其中U3A 为驱动器,电路振荡频率 f1/2.2RC,单片机的控制信号由 U2A 输入。为增大超声波的发射频率,本设计利用了单运放 LM386,发射距离可达 4m。2.2 超声波的接收电路超声波接收电路如图 2-2 所示。接收头采用与发射头配对的超声波接收器R,
13、将超声波调制脉冲变为交变电压信号。为了进行信号的整形,在设计中的CMOS 电平的 6 非门芯片 CD4069,可以减少电路的复杂程度,提高电路的带负载能力。整形后的信号由 C1 耦合给带有锁定环的音频译码集成块 LM567的输入端 3 脚,当输入信号的幅度落在其中心频率上时,LM567 的逻辑输出端 8 脚由高电平跃变为低电平。9图 2-2 超声波的接收电路3 DS18B20 温度补偿电路根据上文中式可知,温度对声速的影响较大,若不进行补偿,将会带来测量误差,为了提高系统的测量精度,设计了温度补偿电路。系统采用数字温度传感器 DS18B20 来采集温度,DS18B20 是美国 DALLAS 公
14、司生产的 1-wire 总线串行数字温度传感器,它具有微型化、抗干扰能力强、易于与微处理器接口等优点,适合于各种温度测控系统。它的测量温度范围为-55+125,精度可达 0.0675,最大转换时间为 200ms。数字式温度传感器和模拟温度传感器最大的区别是:将温度信号直接转化成数字信号,然后通过串行通信的方式输出。因此掌握 DS18B20 的通信协议是使用该器件的关键。该协议定义了几种信号类型:复位脉冲、应答脉冲时隙;10写“0”、读“1”时隙,读“0”、读“1”时隙。初始化后,传感器输出两个字节的温度,进行数据处理后得到实际温度的值,利用式(2)可计算补偿声速。3.1 液晶显示电路字符点阵系
15、列模块是一类专门用于显示字母、数字、符号等的点阵型显示模块。分 4 位和 8 位数据传输方式。它提供 57 点阵+光标和 510 点阵+光标的显示模式。提供显示数据缓冲区 DDRAM、字符发生器 CGROM 和字符发生器CGRAM,可以使用 CGRAM 来存储自己定义的最多 8 个 58 点阵的图形字符的字模数据。它提供了丰富的指令设置:清显示,光标回原点,显示开/关,光标开/关,显示字符闪烁,光标移位,显示移位等。提供内部上电自动复位电路,当外加电源电压超过+4.5V 时,自动对模块进行初始化操作,将模块设置为默认的显示工作状态。OCM2X16 显示两行字符,每行可以显示 16 个字符。本设计采用 OCM2X16,显示两行字符,一行显示当前的环境温度,一行显示所测距离。图 3-1 液晶显示电路3.2 系统软件设计