1、 I 企业项目 (设计报告) 题目:基于 51 单片机的超声波测距仪的设计 院 ( 系 ) 专业名称 班级学号 学生姓名 指导教师 二 O 一一 年 六 月 II 摘要 由于本课程是开放性的课程,很多东西靠我们自己去查资料进行了解,在实验的过程中我们遇到过很多的问题,实验经过多次繁琐的调试,才能达到预期的效果。同时我们也是在解决问题的过程中学到了许多平常接触不到的知识,了解和掌握了很多的调试方法和技巧。 通过 本次 实验,初步 认识了 超声波将在 测距仪 中的应用越来越广。但就目前技术水平来说,人们可以具体利用的 测距 技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域
2、, 超声波测距仪 作为一种 新型的非常重要有用的工具在各方面都将有很大的发展空间,它将朝着更加高定位高精度的方向发展,以满足日益发展的社会需求 , 无庸置疑,未来的超声波 测距仪 将与自动化智能化接轨,与其他的 测距仪 集成和融合,形成多 测距仪 。 在具体的制作过程中我们发现现在书本上的知识与实际的应用存在着的差距,书本上的知识很多都是理想化后的结论,忽略了很多实际的因素,或者涉及的不全面,可在实际的应用时这些是不能被忽略的,我们不得不考虑这方的问题 。 同时我们在 老师的引导 下 加深了对专业知识的认识与应用 ,了 解 如何对成果的分析与总结, 出现的问题该 从什么 地方入手, 如何检查,
3、如何解决。培养了我们要勇于思考,善于思考的能力。而 分组进行团队实验, 既 利于激发 同学们的 参与热情 ,也有利于 促进学员间相互了解、认识,为 培养团队协作能力 的建立打下基础;为 今后 同学们 进 行 的 工作做好一定的基础。 III 目 录 引言 1 1. 超声波 测距仪 的设计思路 2 1.1 超声波测距原理 2 1.2 超声波测距仪原理框图 2 2. 系统 的方案设计与论证 3 2.1 总体设计方案 3 2.2 系统整体方案的论证 3 2.2.1 基于单片机的超声波测距系统 3 2.2.2 基于 CP LD 的超声波测距系统 3 3 系统的 硬件结构 设计 4 3.1 发射电路的设
4、计 4 3.2 接收电路的设计 5 3.3 显示模块的设计 6 4 系统 软件的 设计 8 4.1 软件的设计的方案 8 4.2 软件 的设计 流程图 8 5 系统硬件的调试 9 6 总结 11 7 参考文献 13 附 录 一 超声波测距 程序清单 14 附 录 二 实物图与原理图对照 21 系统工作流程 1 百手起驾 整理为您 引言 由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如 测距仪 和物位测量仪等都可以通过超声波来实现。 超声波简单的说就是音频超过了人类耳朵所能够听到的范围。一般而言是指声音超过了 20KHz 时称之为超声波。与光 波不同,超
5、声波是一种弹性机械波,它可以在气体、液体和固体中传播。因为电磁波的传播速度为 8310 m/ s,而超声波在空气中的传播速度为 340m / s,其速度相对电磁波是非常慢的。 利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求 。 超声波测距在某些场合有着显著的优点,因为这种方法是利用计算超声波在被测物体和超声波探头之间的传输来测量距离的,因此它是一种非接触式的测量所以它就能够在某些特定场合或环境比较恶劣的环境下使 用。 目前基于超声波精确测距的需求也越来越大,如油库和水箱液面的精确测量,物体内气孔大小的检测和机械内部损伤的检测等。本 项目 结
6、合超声波精确测距的需要,分析了影响超声波测距精确的多种因素, 进行了系统的硬件设计和软件设计,来有效提高超声波测距系统的精度。经实验证明,这套系统软硬件设计合理、抗干扰能力强、实时性良好。 关键词 : AT89c51; 超声波 ; 测距 系统工作流程 2 百手起驾 整理为您 1. 超声波 测距仪 的设计思路 1.1 超声波测距原理 超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回波 , 从而测出发射和接收回波的时间差 t,然 后求出距离。表 1-1 为超声波在空气中传播的速度 . 限制该系统的最大可测距离存在四个因素 :超声波的幅度 ,反射物的质地 , 反射和入射声波之间的夹角以及接收
7、换能器的灵敏度 . 接收换能器对声波脉冲的 直接接收能力将决定最小可测距离 . 为了增加所测量的覆盖范围 , 减少测量误差 , 可采用多个超声波换能器分别作为多路超声波发射 /接收的设计方法 .由于超声 波发球声波范围 ,其波速 c 与温度有关 ,表 1-1 列出了几种不同温度下的波速 . 表 1-1 超声波波速与温度的关系表 温度() -30 -20 -10 0 10 20 30 100 声速( ms) 313 319 325 323 338 344 349 386 1.2 超声波测距仪原理框图如下 用 555 记时 IC 作为频率发生器 发出 40kHZ的信号,经放大后通过超声波发射器输出
8、;超声波接收器将接收到的超声波信号经放大器放大,进行检波处理后,启动单片机中断程序,测得时间为 t,再由软件进行判别、计算,得出距离数并送 LED显示。 图 超声波测距仪原理框图 系统工作流程 3 百手起驾 整理为您 2. 课程的方案设计与论证 2.1 总体设计方案 用 555 记时 IC 作为频率发生器发出 40kHZ的信号 的方波,再经过放大电路,驱动超声波发射探头发射超声波。发射出去的超声波经障碍物反射回来后,由超声波接收头接收到信号,通过接收电路的检波放大、整形及一系列处理 ,送至单片机。单片机利用声波的传播速度和发射脉冲到接收反射脉冲的时间间隔计算出障碍物的距离 ,并由单片机控制显示
9、出来。 2.2 系统整体方案的论证( 两种常用的超声波测距方案的比较 ) 2.2.1 基于单片机的超声波测距系统 基于单片机的超声波测距系统 ,是利用频率为 40kHz的方波 ,经过发射驱动电路放大 ,使超声波传感器发射端震荡 ,发射超声波 .超声波经反射物反射回来后 ,由传感 器接收端接收 ,再经接收电路放大 ,整形 , 单片机响应 , 读取时间差 ,计算距离 ,结果输出给 LED 显示 。 利用单片机准确计时 ,测距精度高 ,而且单片机控制方便 ,计算简单 . 许多超声波测距系统都采用这种设计方法 . 2.2.2 基于 CPLD 的超声波测距系统 这种测距系统采用 CPLD(Complex
10、 Programmable Logic Device)器件 , 运用 VHDL(Very High Speed Integrated Circuit Hardware Description Language) 编写程序 ,使用 MAX+plusII 软件进行软硬件设计的仿真和调试 ,最终实现测距 功能 . 利用 CPLD 器件控制超声波的发射 ,并对超声波发射至接收的往返时间进行计数 ,将计算结果在 LED 上显示出来 .配合使用 MAX+plusII 开发软件 , 可集设计输入 , 设计处理 , 设计校验和器件编程于一体 , 集成度高 , 开发周期短 . 本系统采用先进的 CPLD 器件
11、,性能高 ,成本 高 集成度高 ,开发难度大。 (不建议采用) 系统工作流程 4 百手起驾 整理为您 3. 系统的硬件结构设计 3.1 发射电路的设计 用 由 555记 时 IC作为频率发生器发出 40kHZ 的方波需要进行放大 , 才能驱动超声波传感器发射超声波 ,发射驱动电路其实就是一个信号放大电路 ,本课题所选用的是 4069 集成芯片 。 下 图为发射电路图 . 4069 内部集成了六个反向器 ,同时具有放大的功能 . 系统工作流程 5 百手起驾 整理为您 3.2 接收电路的设计 超声波接收头接收到超声波后 ,转换为电信号 ,此时的信号比较弱 ,必需经过放大 .本系统采用了 LF347
12、 对接收到的信号进行放大 , 接收 放大 电路如图示 . 超声波探头接收到超声波后 ,通过声电转换 ,产生一正弦信号 ,其频率 约 为传感器的中心频率 ,即 40kHz.该信号通过高通滤波后经 LF347 放大 ,最后经二极管整形后输出到单片机中断口 . LF347 是一种场效应管与双极性管兼容的单片四运放,具有高输入阻抗,高速的性能,具有内部失调电压调节,低失调电流、低谐波失真、低噪声等特点,可广泛应用于高速积分、快速 D/A 转换、采样 /保持电路及一般放大电路中。 LF347 的供电电压一般为 +12V,其差模电压增益为100dB,输入失调电压 3mV,共模抑制比为 100dB,输入电阻
13、 106M欧,转换速率 13V/uS,单位增益带宽为 4MHz。 LF347 管脚图 LF347应用电路 系统工作流程 6 百手起驾 整理为您 3.3 显示模块的设计 74HC164 是高速硅门 CMOS 器件,与低功耗肖特基型 TTL (LSTTL) 器件的引脚兼容。 74HC164 是 8 位边沿触发式移位寄存器,串行输入数据,然后并行输出。数据通过两个输入端( DSA 或 DSB)之一串行输入;任一输入端可以用作高电平使能端,控制另一输入端的数据输入。两个输入端或者连接在一起,或者把不用的输入端接高电平,一定不要悬空。 时钟 (CP) 每次由低变高时,数据右移一位,输入到 Q0, Q0
14、是两个数据输入端( DSA 和 DSB)的逻辑与,它将上升时钟沿之前保持一个建立时间的长度。 主复位 (MR) 输入端上的一个低电平将使其它所有输入端都无效,同时非同步地清除寄存器,强制所有的输出为低电平。 LED 数码管 LED(Light-Emitting Diode,发光二极管 )有共阴和共阳两种 。 共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极 (COM)的数码管。共阳数码管在应用时应将公共极 COM 接到 +5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极 为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极 (
15、COM)的数码管。共阴数码管在应用时应将公共极 COM 接到地线 GND 上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。 系统工作流程 7 百手起驾 整理为您 LED 数码显示管结构 LED 管的显示可以分为静态和动态两种 。 静态 显示: 静态驱动是指每个数码管的每一个段码都由一个单片机的 I/O 端口进行驱动,或者使用如 BCD 码二 -十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点 是占用 I/O 端口多 。 动态显示 数码管动 态显示 是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的 8 个
16、显示笔划 “a,b,c,d,e,f,g,dp“的同名端连在一起,另外为每个数码管的公共极 COM增加位选通控制电路,位选通由各自独立的 I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通 COM 端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的 COM 端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为35ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的 I/O 端口,而且功耗更 低。