超声波测距.doc_第1页
超声波测距.doc_第2页
超声波测距.doc_第3页
超声波测距.doc_第4页
超声波测距.doc_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

基于基于 51 单片机的超声波测距系统单片机的超声波测距系统 贾 源 完成日期 2011 年 2 月 22 日 1 目目 录录 一 设计任务和性能指标一 设计任务和性能指标 3 1 1 设计任务 3 1 2 性能指标 3 二 超声波测距原理概述二 超声波测距原理概述 4 2 1 超声波传感器 5 2 1 1 超声波发生器 5 2 1 2 压电式超声波发生器原理 5 2 1 3 单片机超声波测距系统构成 5 三 设计方案三 设计方案 6 3 1 AT89C2051 单片机 7 3 2 超声波测距系统构成 8 3 2 1 超声波测距单片机系统 9 图 3 1 超声波测距单片机系统 9 3 2 2 超声波发射 接收电路 9 图 3 1 超声波测距发送接收单元 10 3 2 3 显示电路 10 四四 系统软件设计系统软件设计 11 4 1 主程序设计 11 4 2 超声波测距子程序 12 4 3 超声波测距程序流程图 13 4 4 超声波测距程子序流程图 14 五五 调试及性能分析调试及性能分析 14 5 1 调试步骤 14 5 2 性能分析 15 六六 心得体会心得体会 15 参考文献参考文献 16 附录一附录一 超声波测系统原理图超声波测系统原理图 18 附录二附录二 超声波测系统原理图安装图超声波测系统原理图安装图 19 附录三附录三 超声波测系统原理图超声波测系统原理图 PCBPCB 图图 20 附录四附录四 超声波测系统原理图超声波测系统原理图 C C 语言原程序语言原程序 21 参考文献参考文献 26 2 一 设计任务和性能指标一 设计任务和性能指标 1 11 1 设计任务设计任务 利用单片机及外围接口电路 键盘接口和显示接口电路 设计制作一个超声波测距 仪器 用 LED 数码管把测距仪距测出的距离显示出来 要求用 Protel 画出系统的电路原理图 印刷电路板 绘出程序流程图 并给出程 序清单 1 21 2 性能指标性能指标 距离显示 用三位 LED 数码管进行显示 单位是 CM 测距范围 25CM 到 250CM 之间 误差 1 3 二 超声波测距原理概述二 超声波测距原理概述 超声波是由机械振动产生的 可在不同介质中以不同的速度传播 由于超声波指向 性强 能量消耗缓慢 在介质中传播的距离较远 因而超声波经常用于距离的测量 如测距仪和物位测量仪等都可以通过超声波来实现 超声测距是一种非接触式的检测 方式 与其它方法相比 如电磁的或光学的方法 它不受光线 被测对象颜色等影响 对于被测物处于黑暗 有灰尘 烟雾 电磁干扰 有毒等恶劣的环境下有一定的适应 能力 因此在液位测量 机械手控制 车辆自动导航 物体识别等方面有广泛应用 特别是应用于空气测距 由于空气中波速较慢 其回波信号中包含的沿传播方向上的 结构信息很容易检测出来 具有很高的分辨力 因而其准确度也较其它方法为高 而且 超声波传感器具有结构简单 体积小 信号处理可靠等特点 利用超声波检测往往比 较迅速 方便 计算简单 易于做到实时控制 并且在测量精度方面能达到工业实用 的要求 超声波测距的方法有多种 本超声波测中系统的原理为 检测出从超声波发射器 发出的超声波 经气体介质的传播到接收器的时间 将这个时间与气体中的声速相乘 就是声波传输的距离 超声波发射器向某一方向发射超声波 在发射时刻的同时单片 机开始计时 超声波在空气中传播 途中碰到障碍物就立即返回来 超声波接收器收 到反射波就立即停止计时 超声波在空气中的传播速度随温度变化 其对应值如表 2 1 根据计时器记录的时间 t 见图 2 1 就可以计算出发射点距障碍物的距离 s 即 s v t 2 表 2 1 声速与温度的关系 温度 30 20 10 0102030100 声速 m s 313319325323338344349386 4 图 2 1 超声波测距时序图 2 12 1 超声波传感器超声波传感器 2 1 12 1 1 超声波发生器超声波发生器 为了研究和利用超声波 人们已经设计和制成了许多超声波发生器 总体上讲 超声波发生器可以分为两大类 一类是用电气方式产生超声波 一类是用机械方式产 生超声波 电气方式包括压电型 磁致伸缩型和电动型等 机械方式有加尔统笛 液 哨和气流旋笛等 它们所产生的超声波的频率 功率和声波特性各不相同 因而用途 也各不相同 目前较为常用的是压电式超声波发生器 2 1 22 1 2 压电式超声波发生器原理压电式超声波发生器原理 压电型超声波传感器的工作原理 它是利用压电效应的原理 压电效应有逆效应 和顺效应 超声波传感器是可逆元件 超声波发送器就是利用压电逆效应的原理 所 谓压电逆效应如图 2 2 所示 是在压电元件上施加电压 元件就变形 即称应变 若 在图 a 所示的已极化的压电陶瓷上施加如图 b 所示极性的电压 外部正电荷与压电陶 瓷的极化正电荷相斥 同时 外部负电荷与极化负电荷相斥 由于相斥的作用 压电 陶瓷在厚度方向上缩短 在长度方向上伸长 若外部施加的极性变反 如图 c 所示那 样 压电陶瓷在厚度方向上伸长 在长度方向上缩短 图 2 2 压电逆效应图 2 1 32 1 3 单片机超声波测距系统构成单片机超声波测距系统构成 单片机 AT89C51 发出短暂的 40kHz 信号 经放大后通过超声波换能器输出 反射 5 后的超声波经超声波换能器作为系统的输入 锁相环对此信号锁定 产生锁定信号启 动单片机中断程序 读出时间 t 再由系统软件对其进行计算 判别后 相应的计算结 果被送至 LED 数码管进行显示 限制超声波系统的最大可测距离存在四个因素 超声波的幅度 反射物的质地 反射和入射声波之间的夹角以及接收换能器的灵敏度 接收换能器对声波脉冲的直接 接收能力将决定最小可测距离 开始测量 超声波信号 开定时器 关定时器 数据运算 显示器 接收检测电声换能器 电声换能器驱动电路 图 2 3 超声波测距系统框图 三 设计方案三 设计方案 按照系统设计的功能的要求 初步确定设计系统由单片机主控模块 显示模块 超声波发射模块 接收模块共四个模块组成 单片机使用 51 系列的 AT89C2051 单片机 该单片机工作性能稳定 同时也是在单 片机课程设计中经常使用到的控制芯片 发射电路由单片机输出端直接驱动超声波发送 接收电路使用三极管组成的放大电路 该电路简单 调试工作小较小 超声波接收模 块 超声波发射模 块 单片机控制系统 AT89C2051 显示模块 键盘模块 供电单元 6 图 3 1 系统设计框图 硬件电路的设计主要包括单片机系统及显示电路 超声波发射电路和超声波接收 电路三部分 单片机采用 AT89C2051 采用 12MHz 高精度的晶振 以获得较稳定时钟频 率 减小测量误差 单片机用 P3 5 端口输出超声波换能器所需的 40kHz 的方波信号 P3 6 端口监测超声波接收电路输出的返回信号 显示电路采用简单实用的 3 位共阳 LED 数码管 段码输出端口为单片机的 P1 口 位码输出端口分别为单片机的 P3 2 P3 1 P3 0 口 数码管位驱运用 PNP 三极管 S9012 三极管驱动 3 13 1 AT89C2051AT89C2051 单片机单片机 AT89C2051 是美国 ATMEL 公司生产的低电压 高性能 CMOS 8 位单片机 片内含 2k bytes 的可反复擦写的只读程序存储器 PEROM 和 128 bytes 的随机存取数据存储器 RAM 器件采用 ATMEL 公司的高密度 非易失性存储技术生产 兼容标准 MCS 5l 指 令系统 片内置通用 8 位 央处理器和 Flash 存储单元 功能强大 AT89C2051 单片机 可为您提供许多高性价比的应用场合 主要性能参数 与 MCS 51 产品指令系统完全兼容 2k 字节可重擦写闪速存储器 1000 次擦写周期 2 7V 6V 的工作电压范围 全静态操作 0Hz 24MHz 两级加密程序存储器 128 8 字节内部 RAM 15 个可编程 I O 口线 2 个 l6 位定时 计数器 6 个 断源 7 可编程串行 UART 通道 可直接驱动 LED 的输出端口 内置一个模拟比较器 低功耗空闲和掉电模式 功能特性概述 AT89C2051 提供以下标准功能 2k 字节 Flash 闪速存储器 128 字节内部 RAM 15 个 I O 口线 两个 16 位定时 计 数器 个 5 向量两级 断结构 一个全双工串行 通信口 内置 个精密比较器 片内振荡器及时钟电路 同时 AT89C2051 可降至 0HZ 的静态逻辑操作 并支持两种软件可选的节电工作模式 空闲方式停止 CPU 的工作 但允许 RAM 定时 计数器 串行通信口及 断系统继续工作 掉电方式保存 RAM 中的 内容 但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位 3 23 2 超声波超声波测距系统构成测距系统构成 本系统由 A T 8 9 C 2 0 5 1 单片机控制 包括单片机系统 发射电路与接收放 大电路和显示电路几部分组成 如图 3 1 所示 硬件电路的设计主要包括单片机系统 及显示电路 超声波发射电路和超声波接收电路三部分 单片机的晶振采用 12MHz 高 精度的晶振 以获得较稳定时钟频率 减小测量误差 通过单片机的 P3 5 端口输出超 声波换能器所需的 40kHz 的方波信号 P3 6 端口监测超声波接收电路输出的返回信号 显示电路采用简单实用的 3 位共阳 LED 数码管 段码输出端口为单片机的 P1 口 位码 输出端口分别为单片机的 P3 2 P3 1 P3 0 口 数码管位驱运用 PNP 三极管 S9012 三 极管驱动 超声波接收头接收到反射的回波后 经过接收电路处理后 向单片机 P3 7 输入一 个低电平脉冲 单片机控制着超声波的发送 超声波发送完毕后 立即启动内部计时 器 T0 计时 当检测到 P3 7 由高电平变为低电平后 立即停止内部计时器计时 单片 机将测得的时间与声速相乘再除以 2 即可得到测量值 最后经 3 位数码管将测得的结 果显示出来 8 3 2 13 2 1 超声波测距单片机系统超声波测距单片机系统 超 声波测距单片机系统主要由 A T 8 9 C 2 0 5 1 单片机 晶振 复位电路 电源滤波部 份构成 如图3 1 图 3 1 超声波测距单片机系统 3 2 23 2 2 超声波发射 接收电路超声波发射 接收电路 超声波发射 接收电路如图 3 1 超声波发射部份由电阻 R2 及超声波发送头 T40 板成 接收电路由 BG1 BG2X 组成的两组三级管放大电路组成 检波电路 比较整形 电路由 C7 D1 D2 及 BG3 组成 40kHz 的方波由 A T 8 9 C 2 0 5 1 单片机的 P 3 5 驱动超声波发射头发射超声 波 经反射后由超声波接收头接收到 40kHz 的正弦波 由于声波在空气中传播时衰减 所以接收到的波形幅值较低 经接收电路放大 整形 最后输出一负跳变 输入单片 机的 P3 脚 该测距电路的 40kHz 方波信号由单片机 A T 8 9 C 2 0 5 1 的 P 3 5 发出 方波 的周期为 1 40ms 即 25 s 半周期为 12 5 s 每隔半周期时间 让方波输出脚的电平 取反 便可产生 40kHz 方波 由于单片机系统的晶振为 12M 晶振 因而单片机的时间 9 分辨率是 1 s 所以只能产生半周期为 12 s 或 13 s 的方波信号 频率分别为 41 67kHz 和 38 46kHz 本系统在编程时选用了后者 让单片机产生约 38 46kHz 的方 波 图 3 1 超声波测距发送接收单元 由于反射回来的超声波信号非常微弱 所以接收电路需要将其进行放大 接收电 路如图 4 所示 接收到的信号加到 BG1 BG2 组成的两级放大器上进行放大 每级放大 器的放大倍数为 70 倍 放大的信号通过检波电路得到解调后的信号 即把多个脉冲波 解调成多个大脉冲波 这里使用的是 I N 4148 检波二极管 输出的直流信号即两二极 管之间电容电压 该接收电路结构简单 性能较好 制作难度小 3 2 33 2 3 显示电路显示电路 本系统采用三位一体 L E D 数码管显示所测距离值 如图 8 见下页 码管采用 动态扫描显示 段码输出端口为单片机的 P1 口 位码输出端口分别为单片机的 P3 2 P3 1 P3 0 口 数码管位驱运用 PNP 三极管 S9012 三极管驱动 10 四四 系统软件设计系统软件设计 4 14 1 主程序设计主程序设计 超声波测距的软件设计主要由主程序 超声波发生子程序 超声波接收程序及显 示子程序组成 超声波测距的程序既有较复杂的计算 计算距离时 又要求精细计算 程序运行时间 超声波测距时 所以控制程序可采用 C 语言编程 主程序首先是对系统环境初始化 设定时器 0 为计数 设定时器 1 定时 置位总 中断允许位 EA 进行程序主程序后 进行定时测距判断 当测距标志位 cl 1 即进 行测量一次 程序设计中 超声波测距频度是 1 次 秒 测距间隔中 整个程序主要进 行循环显示测量结果 当调用超声波测距子程序后 首先由单片机产生 6 8 个频率为 38 46kHz 超声波脉冲 加载的超声波发送头上 超声波头发送完送超声波后 立即启 动内部计时器 T0 进行计时 为了避免超声波从发射头直接传送到接收头引起的直射波 触发 这时 单片机需要延时约 1 5 2ms 时间 这也就是超声波测距仪会有一个最小 可测距离的原因 称之为盲区值 后 才启动对单片机 P3 7 脚的电平判断程序 当检 测到 P3 7 脚的电平由高转为低电平时 立即停止 T0 计时 由于采用单片机采用的是 12 MHz 的晶振 计时器每计一个数就是 1 s 当超声波测距子程序检测到接收成功的 11 标志位后 将计数器 T0 中的数 即超声波来回所用的时间 按式 2 计算 即可得 被测物体与测距仪之间的距离 设计时取 15 时的声速为 340 m s 则有 d c t 2 172 T0 10000cm 其中 T0 为计数器 T0 的计算值 测出距离后结果将以十进制 BCD 码方式送往 LED 显示约 0 5s 然后再发超声波脉冲重复测量过程 4 24 2 超声波测距子程序超声波测距子程序 void csbcj 超声波测距子程序 if cl 1 TR1 0 TH0 0 x00 TL0 0 x00 i 20 超声波脉冲个数 10 个 while i csbout csbout TR0 1 i 450 while i i 0 while csbint 判断接收回路是否收到超声波的回波 i if i 2450 如果达到一定时间没有收到回波 则将 csbint 置零 退 出接收回波处理程序 csbint 0 TR0 0 TH1 0 x9E TL1 0 x57 t TH0 t t 256 TL0 s t csbc 2 计算测量结果 TR1 1 cl 0 12 4 34 3 超声波测距程序流程图超声波测距程序流程图 Y Y N N 0 0 1 开始 初始化 测量标志 启动定时器 超声波测距 距离 上限值 距离 盲区值 显示值 C C C 显示值 测量段码转换 显示 设定段码转换 距离 40 1S 测量一次 中的 40 增大或减小即可 超声 波发送功率较大时 测量距离远 则相应的下限值 盲区 应设置为高值 试验板中的声速没有进行温度补偿 声速值为 340m s 5 25 2 性能分析性能分析 从实物测试的总体来说本测距板基本上达到了要求 理想上超声波测距能达到 5 到 7 米左右 而我们所能实现的最大距离只有 2 5 米 测量结果受环境温度影响 分 析原因如下 1 超声波发送部份为了简化电路 没加设置专门的超声波驱动电路 而是用单片机 的 P3 5 输出端加了一个上拉电阻后就直接驱动超声波发送头 理论上 驱电电压只有 5 伏 2 本测距板没设计温度补偿电路 来对测量结果进行修正 六六 心得体会心得体会 俗话说 好的开始是成功的一半 通过这次实习 我们学到了很多东西 在进行 课程设计时 我们应该做到以下三点 首先 我认为最重要的就是认真的研究老师给 的题目 其次 在老师讲解的基础上认真研究硬件电路的设计 和软件流程的设计 最后 重点实现软硬结合的综合调试 这次的实习算起来一共进行了两周 在这两周的时间里我们进行了硬件电路图设 计 PCB 板的设计 以及软件的编程实现 软硬件的综合调试 最终一个完整的课程设 计成果出来了 很高兴它能按着设计的思想与要求运作起来 当然 这其中也有很多 问题 比如在 PCB 制作过程中没有建立网络报表导致了部分连线没有倒入 PCB 板中 还有部分封装出现了错误 就实现功能来说 设计结果能够符合题意 成功完成了此 次实习要求 我们不只在乎这一结果 更加在乎的 是这个过程 这个过程中 我们 花费了大量的时间和精力 更重要的是 我们在学会创新的基础上 同时还懂得合作 精神的重要性 学会了与他人合作 在已度过的大学时间里 我们大多数接触的是理 15 论课 我们在课堂上掌握的仅仅是专业课的理论知识 如何去锻炼我们的实践能力 如何把我们所学的专业基础课理论知识运用到实践中去呢 我想做类似实习就为我们 提供了良好的实践平台 同时这次实习给我们带来前所未有的的启发 首先 查阅资料的必要性 在做本次实习的过程中 我感触最深的当属查阅大量 的设计资料了 为了让自己的设计更加完善 查阅这方面的设计资料是十分必要的 同时也是必不可少的 其次 在这次课程设计中 我们运用到了以前所学的专业课知识 如 模拟和数 字电路知识等 虽然过去从未独立应用过它们 但在学习的过程中带着问题去学我发 现效率很高 这是我做这次课程设计的又一收获 再次 在实习之前 我们要对所用单片机的内部结构有一个系统的了解 知道该 单片机内有哪些资源 要有一个清晰的思路和一个完整的的软件流程图 在设计程序 时 不能妄想一次就将整个程序设计好 反复修改 不断改进是程序设计的必经之路 要养成注释程序的好习惯 一个程序的完美与否不仅仅是实现功能 而应该让人一看 就能明白你的思路 这样也为资料的保存和交流提供了方便 在实习过程中遇到问题 是很正常的 但我们应该将每次遇到的问题记录下来 并分析清楚 以免下次再碰到 同样的问题 但是从中学到的知识会让我受益终身 发现 提出 分析 解决问题和 实践能力提高都会受益于我在以后的学习 工作和生活中 最后 我们在这次实习中我们使用了分模块焊接 分模块测试的方法进行硬件电 路的焊接和测试 这是我们最宝贵的收获 这样做可以避免走很多弯路 使得调试也 条理分明 总体上说 这次实习中收获很多 感触也很多 参考文献参考文献 1 赵建领 薛园园 51单片机开发与应用技术详解 北京 电子工业出版社 2009 2 沈红卫 基于单片机智能系统设计与实现 北京 电子工业出版社 2005 3 杨国田 白 焰 董 玲 51单片机实用C语言程序设计 中国电力出版社 2009 4 李群芳 黄建 单片机微型计算机与接口技术 北京 电子工业出版社 2001 5 楼然苗 李光飞 51系列单片机设计实例 北京 北京航空航天大学出版社 2003 16 6 王守中 51单片机开发入门与典型实例 北京 人民邮电出版社 2009 17 附录一附录一 超声波测系统原理图超声波测系统原理图 18 附录二附录二 超声波测系统原理图安装图超声波测系统原理图安装图 19 附录三附录三 超声波测系统原理图超声波测系统原理图 PCBPCB 图图 20 附录四附录四 超声波测系统原理图超声波测系统原理图 C C 语言原程序语言原程序 include define csbout P3 5 超声波发送 define csbint P3 7 超声波接收 define csbc 0 034 define bg P3 4 unsigned char csbds opto digit buffer 3 xm1 xm2 xm0 key jpjs ki 显示标识 unsigned char convert 10 0 x3F 0 x06 0 x5b 0 x4f 0 x66 0 x6d 0 x7d 0 x07 0 x7f 0 x6f 0 9段码 unsigned int s t i sj1 sj2 sj3 mqs sx1 sjtz sja sjb bit cl void csbcj void delay i 延时函数 void scanLED 显示函数 void showOnce 显示循环函数 void timeToBuffer 显示转换函数 void offmsd void main 主函数 EA 1 开中断 TMOD 0 x11 设定时器0为计数 设定时器1定时 ET0 1 定时器0中断允许 ET1 1 定时器1中断允许 TH0 0 x00 TL0 0 x00 TH1 0 x9E 21 TL1 0 x57 csbds 0 csbint 1 csbout 1 cl 0 opto 0 xff jpjs 0 sj1 25 sj2 100 sj3 450 ki 0 TR1 1 设定时值1为20ms while 1 csbcj 调用超声波测距程序 if s sj3 大于时显示 CCC buffer 2 0 x39 buffer 1 0 x39 buffer 0 0 x39 else if s sj1 小于时显示 buffer 2 0 x40 buffer 1 0 x40 buffer 0 0 x40

温馨提示

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

评论

0/150

提交评论