1、1 目录 设计总说明 . I Introduction . III 绪论 . 1 11 系统设计背景 1 12 国内外研究现状 2 超声波测距原理和方案 . 4 . 超声波测距的基本理论 . 4 . 超声波简介 4 . 超声波与传播介质的关系 4 . 超声波换能器简介 6 . 超声波测距系统总体设计 . 6 硬件设计 . 9 . 硬件的选型 . 9 . 主控单片机的选型 9 . 超声波传感器的选型 . 10 . 温度传感器的选型 . 12 . 模块电路的设计 13 . 电源电路的设计 14 . 发射电路的设计 15 . 接收电路的设计 16 . 回波接收及滤波放大电路 . 16 . 时间增益补
2、偿()电路 . 17 . 双比较器整形电路 . 19 . 温度补偿电路的设计 20 . 显示电路的设计 21 . 通讯电路的设计 24 软件设计 28 基于单片机的高精度超声波测距系统的设计 2 . 主程序 28 . 初始化子程序 . 29 . 温度测量子程序 . 30 . 距离计算子程序 . 33 . 显示子程序 . 34 . 时间增益补偿程序 . 35 . 通讯电路子程序 . 36 . 时间峰值检测 36 结论 38 参考文献 41 附录 基于单片机的高精度超声波测距系统原理图 42 致谢 43 I 设计总说明 目前,超声波测距技术已经广泛的应用于各领域,由于其具有非接触式测量的特点, 在
3、工业领域液位、井深、管道长度以及建筑物测量、倒车雷达、智能机器人的控制系统 中都发挥了重要的作用。但以我们当前的技术水平来说,对超声波测距技术的应用是有 限的,未来的发展方向应该是朝着高精度、低盲区、拓展功能更丰富以及成本价格更低 的方向发展。 和普通超声波测距系统不同,高精度超声波测距系统要求的盲区更小、精度更高。 为了达到该标准,设计系统需包含温度补偿电路,双比较器整形电路和时间增益补偿电 路等信号调理电路。最后,还需加入一些必须的外围电路如显示电路,用于显示测量结 果,还必须含有通讯接口,方便与上位机进行通讯且可将测量结果进行上传。另外,该 系统进行软件化峰值检测,使电路更加简化,充分利
4、用了软件资源。 通过对系统的需求分析,硬件电路的设计方案最终得以确定,主要由 AT89C52 单片 机作为主控芯片。 为了达到高精度的要求,首先我们需要了解造成测量精度不高的原因,首先,声波 在空气中的传递速度会随着温度而发生有规律的变化。 用平均速度计算出的距离和实际 距离可能会有一定的误差。 其次,由于超声波属于波的一种,因此具有波的衍射特性。这会使得超声波没有经 过反射,即不是由于碰到物体而返回的波,而是直接收到发射端由于衍射现象而改变了 传播方向的那部分超声波。这就是会导致一个测量盲区,在测量近距离时产生错误读取 而造成测量失败。因此,只要加入温度补偿电路,由一个温度传感器先测量环境温
5、度, 以实际温度带入计算,就能有效避免第一类误差的产生; 其次, 加入双比较器整形电路, 就能有效避免第二类误差的产生。 本系统由 AT89C52 单片机控制时间长短的计数以及控制超声波信号的发射、接收。整个电路采用模块化设 计思想,主要包含显示电路、超声波发射电路、超声波接收电路、温度补偿电路等。显 示电路主要采用 LED 数码管组成,采用动态显示的方式。即所有数码管的段选线并联在 一起,通过控制位选信号来控制数码管的点亮。用于超声波信号发射的发射电路,主要 由非门和超声波探头组成。还有用于超声波接收的接收电路,对回波进行滤波放大,整 形,最后送入单片机。其他电路还包括用于测量环境温度的测温
6、电路,主要由一个集成 基于单片机的高精度超声波测距系统的设计 II 芯片直接读取环境温度,送入单片机中,再通过查询事先做好的温度表,通过这个表即 可得到当前测量环境中的实际声速,代入公式计算距离。 程序设计主要包括:主要程序、温度补偿程序、发射子程序、接收子程序等组成。 主要程序在系统启动时会进行初始化,接着马上开始测量温度,获取温度值并进行 查表后同时启动发射电路且开始计时, 等待回波信号, 并进行处理, 软件滤波开始工作, 对峰值点进行查找并计算出距离。 测温子程序主要是根据温度与速度表进行查表的方式 来获取当前声速,代入公式进行计算。 具体实现的流程包括复位程序、发送匹配 ROM 命令、温度转换命令等。测量距离子 程序的实现即是时间的测量,这也是该系统的核心部分。对定时器初始化处理后,计时 便开始。综上,超声波探头的信号经过 AT89C52 单片机的分析和一系列处理,最后实