超声波测距离系统(基于单片机原理).doc_第1页
超声波测距离系统(基于单片机原理).doc_第2页
超声波测距离系统(基于单片机原理).doc_第3页
超声波测距离系统(基于单片机原理).doc_第4页
超声波测距离系统(基于单片机原理).doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

基于单片机的超声波测距 系统设计 系 别 电子与电气工程系 专 业 电子信息工程 班 级 学 号 姓 名 指导教师 完成时间 评定成绩 目目 录录 闽南理工学院设计报告 1 绪论绪论3 2 超声波测距系统方案设计超声波测距系统方案设计 3 3 超声波测距硬件电路设计超声波测距硬件电路设计 6 4 超声波测距软件设计超声波测距软件设计 10 5 实验调试实验调试 15 6 总结与展望总结与展望 16 参考文献参考文献 17 附录附录 可选择 可选择 18 附录 A 系统原理图 18 附录 B 超声波测距系统焊接组装图 19 附录 C 部分源程序 19 闽南理工学院设计报告 2 1 1 绪论绪论 超声波是指频率在 20kHz 106kHz 的机械波 波速一般为 1500m s 波长为 0 01cm 10cm 超声波既是一种波动形式 又是一种能量形式 在传播过程中与媒介相 互作用产生超声效应 随着科学技术的发展 相关技术领域相互渗透 使超声波技术广 泛应用于工业 化工 医学 石油化工等许多领域 迄今为止 国内外许多学者均着眼于测距传感器的研究 通常的倒车雷达主要由感应器 主机 显示设备等三部分组成 感应器发出和接受 超声波信号 并将接收到的信号传输到主机 再通过显示设备显示出来 感应器装在后 保险杠上 以角 45 辐射 检查目标 能探索到那些低于保险杠而司机从后窗又难以看 见的障碍物并报警 显示设备装在仪表板上 提醒驾驶员汽车据后面物体还有多少距离 到危险距离时 蜂鸣器就开始鸣叫 提示司机停车 根据感应器种类不同 倒车雷达可 分为粘贴式 钻孔式和悬挂式等种 转帖式感应器后有一层胶 可直接粘在后保险杠上 钻孔式感应器是在保险杠上钻一个洞 然后把感应器嵌进去 悬挂式感应器主要用于载 货车 根据显示设备种类不同 倒车雷达又可以分为数字式 颜色式和蜂鸣式等三种 数字式显示设备是一只如传呼机大小的盒子 安装在驾驶台上 直接用数字表示汽车与 后面物体的距离 并可精确到 1 厘米 让驾驶员一目了然 经过几年的发展 倒车雷达系统已经过了数代的技术改良 不管从结构外观上 还 是从性能价格上 这几代产品都各有特点 目前使用较多的是数码显示 荧屏显示和魔 幻镜倒车雷达这 3 种 2 2 超声波测距系统方案设计超声波测距系统方案设计 超声波测距的方法有多种 如相位检测法 声波幅值检测法和渡越时间检测法等 相位检测法虽然精度高 但检测范围有限 声波幅值检测法易受反射波的影响 本测距系统采用超声波渡越时间检测法 其原理为 检测从超声波发射器发出的超 声波 经气体介质的传播到接收器的时间 即渡越时间 渡越时间与气体中的声速相乘 就是声波传输的距离 超声波发射器向某一方向发射超声波 在发射时刻的同时单片机 开始计时 超声波在空气中传播 途中碰到障碍物就立即返回来 超声波接收器收到反 射波就立即停止计时 再由单机计算出距离 送 LED 数 码管显示测量结果 超声波在相同的传播媒体里 大气条件 传播速度相同 即在相当大的频率范围内 声速不随频率变化 波动的传播方向与振动方向一致 是纵向振动的弹性机械波 它是 借助于传播介质的分子运动而传播的 波动方程描述方法与电磁波是类似的 闽南理工学院设计报告 3 式中 A x 为振幅 A 0 为常数 为圆频率 t 为时间 x 为传播距离 k 2 为波数 为波长 为衰减系数 衰减系数 与声波所在介质及频率的关系 为 af2 3 式中 a 为介质常数 f 为振动频率 在空气里 a 2 10 13 s2 cm 当振动的 声波频率 f 40kHz 超声波 代入式 3 可得 a 3 2 10 4 cm 1 即 1 31m 若 f 30 kHz 则 1 56m 它的物理意义是 声波在空气媒质里传播 因空气分子 运动摩擦等原因 能量被吸收损耗 在 1 长度上 平面声波的振幅衰减为原来的 e 分之一 由此可以看出 频率越高 衰减得越厉害 传播的距离也越短 考虑实际工程 测量要求 在设计超声波测距仪时 选用频率 f 40kHz 的超声波 波长为 34000 40000 0 85cm 超声波发射器向某一方向发射超声波 时开始计时 超声波在空 气中传播 途中碰到障碍物就立即返回来 超声波接收器收到发射波就立即停止计时 超声波在空气中的传播速度随温度变化 其对应值如表 2 1 表 2 1 声速与温度的关系 温度 30 20 10 0102030100 声速 m s 313319325323338344349386 根据计时器记录的时间 发射点距障碍物的距离 如图 2 1 所示 tH 图 2 1 超声波测距原理 图 2 中被测距离为 H 两探头中心距离的一半用 M 表示 超声波单程所走过的距离用 表示 由图可得 L 1 cosLH 2 HMarctan 闽南理工学院设计报告 4 将式 2 带入式 1 得 3 HMLHarctancos 在整个传播过程中 超声波所走过的距离为 4 vtL 2 式中 为超声波的传播速度 为传播时间 即为超声波从发射到接收的时间 将vt 式 4 带入式 3 可得 5 HMvtHarctancos5 0 当被测距离 H 远远大于 M 时 式 5 变为 6 vtH5 0 这就是所谓的时间差测距法 首先测出超声波从发射到遇到障碍物返回所经历的时 间 再乘以超声波的速度就得到二倍的声源与障碍物之间的距离 2 由于是利用超声波测距 要测量预期的距离 所以产生的超声波要有一定的功率和 合理的频率才能达到预定的传播距离 同时这是得到足够的回波功率的必要条件 只有 得到足够的回波频率 接收电路才能检测到回波信号和防止外界干扰信号的干扰 经分 析和大量实验表明 频率为 40左右的超声波在空气中传播效果最佳 同时为了处理 KHz 方便 发射的超声波被调制成具有一定间隔的调制脉冲波信号 图 2 2 超声波测距时序图 闽南理工学院设计报告 5 3 3 超声波测距硬件电路设计超声波测距硬件电路设计 3 3 13 3 1 超声波测距单片机系统超声波测距单片机系统 超声波测距单片机系统主要由 AT89S51 单片机 晶振 复位电路 电源滤波部份 构成 由 K1 K2 组成测距系统的按键电路 用于设定超声波测距报警值 如图 3 3 图 3 3 超声波测距单片机系统 3 3 23 3 2 超声波发射 接收电路超声波发射 接收电路 超声波发射如图 3 4 接收电路如图 3 5 超声波发射电路由电阻 R1 三极管 BG1 超声波脉冲变压器 B 及超声波发送头 T40 构成 超声波脉冲变压器 在这里的作用是提 高加载到超声波发送头两产端的电压 以提高超声波的发射功率 从而提高测量距离 接收电路由 BG1 BG2 组成的两组三级管放大电路构成 超声波的检波电路 比较整形电 路由 C7 D1 D2 及 BG3 组成 40kHz 的方波由 AT89S51 单片机的 P2 7 输出 经 BG1 推动超声波脉冲变压器 在脉 冲变压器次级形成 60VPP 的电压 加载到超声波发送头上 驱动超声波发射头发射超声 波 发送出的超声波 遇到障碍物后 产生回波 反射回来的回波由超声波接收头接收 到 由于声波在空气中传播时衰减 所以接收到的波形幅值较低 经接收电路放大 整 形 最后输出一负跳变 输入单片机的 P3 脚 闽南理工学院设计报告 6 图 3 4 超声波测距发送单元 该测距电路的 40kHz 方波信号由单片机 AT89S51 的 P2 7 发出 方波的周期为 1 40ms 即 25 s 半周期为 12 5 s 每隔半周期时间 让方波输出脚的电平取反 便可 产生 40kHz 方波 由于单片机系统的晶振为 12M 晶振 因而单片机的时间分辨率是 1 s 所以只能产生半周期为 12 s 或 13 s 的方波信号 频率分别为 41 67kHz 和 38 46kHz 本 系统在编程时选用了后者 让单片机产生约 38 46kHz 的方波 图图 3 53 5 超声波测距接收单元 超声波测距接收单元 由于反射回来的超声波信号非常微弱 所以接收电路需要将其进行放大 接收电路 如图 3 5 所示 接收到的信号加到 BG1 BG2 组成的两级放大器上进行放大 每级放大器 的放大倍数为 70 倍 放大的信号通过检波电路得到解调后的信号 即把多个脉冲波解调 成多个大脉冲波 这里使用的是 I N 4148 检波二极管 输出的直流信号即两二极管之间 电容电压 该接收电路结构简单 性能较好 制作难度小 闽南理工学院设计报告 7 3 3 33 3 3 显示电路显示电路 本系统采用三位一体 L E D 数码管显示所测距离值 如图 3 6 数码管采用动态扫 描显示 段码输出端口为单片机的 P2 口 位码输出端口分别为单片机的 P3 4 P3 2 P3 3 口 数码管位驱运用 PNP 三极管 S9012 三极管驱动 图3 6 显示单元图 显示电路的调试 目的是使LED数码管显示器能正常显示0 9的数字 按照电路连接 好电路 然后插上单片机仿真器 将下面的串行口显示程序运行 能看到三个显示器轮 流显示0 9 3 3 43 3 4 供电电路供电电路 本测距系统由于采用的是 LED 数码管用为显示方式 正常工作时 系统工作电流约 为 30 45mA 为保证系统统计的可靠正常工作 系统的供电方式主要交流 AC6 9 伏 同时 为调试系统方便 供电方式考虑了第二种方式 即由 USB 口供电 调试时直接由电脑 USB 口供电 6 伏交流是经过整流二极管 D1 D4 整流成脉动直流后 经虑波电容 C1 虑波后形 成直流电 为保证单片机系统的可电 供电路中由 5 伏的三端稳压集成电路进行稳压后 输出 5 伏的直流电供整个系统用电 为进一步提高电源质量 5 伏的直流电再次经过 C3 C4 滤波 闽南理工学院设计报告 8 图图3 73 7 供电单元电路图 供电单元电路图 3 3 53 3 5 报警输出电路报警输出电路 报警信号由单片机 P3 1 端口输出 继电器输出 可驱动较大的负载 电路由电阻 R6 三极管 BG9 继电器 JDQ 组成 当测量值低于事先设定的报警值时 继电器吸合 测 量值高于设定的报警值时 继电器断开 报警输出电路如图 3 8 图3 8 报警输出电路 闽南理工学院设计报告 9 4 4 超声波测距软件设计超声波测距软件设计 4 14 1 主程序设计主程序设计 超声波测距的软件设计主要由主程序 超声波发生子程序 超声波接收程序及显示 子程序组成 超声波测距的程序既有较复杂的计算 计算距离时 又要求精细计算程序 运行时间 超声波测距时 所以控制程序可采用 C 语言编程 主程序首先是对系统环境初始化 设定时器 0 为计数 设定时器 1 定时 置位总中 断允许位 EA 进行程序主程序后 进行定时测距判断 当测距标志位 ec 1 时 测量一次 程序设计中 超声波测距频度是 4 5 次 秒 测距间隔中 整个程序主要进行循环显示测 量结果 当调用超声波测距子程序后 首先由单片机产生 4 个频率为 38 46kHz 超声波脉 冲 加载的超声波发送头上 超声波头发送完送超声波后 立即启动内部计时器 T0 进行 计时 为了避免超声波从发射头直接传送到接收头引起的直射波触发 这时 单片机需 要延时约 1 5 2ms 时间 这也就是超声波测距仪会有一个最小可测距离的原因 称之为 盲区值 后 才启动对单片机 P3 5 脚的电平判断程序 当检测到 P3 5 脚的电平由高转 为低电平时 立即停止 T0 计时 由于采用单片机采用的是 12 MHz 的晶振 计时器每计 一个数就是 1 s 当超声波测距子程序检测到接收成功的标志位后 将计数器 T0 中的数 即超声波来回所用的时间 按式 2 计算 即可得被测物体与测距仪之间的距离 设计时取 15 时的声速为 340 m s 则有 d c t 2 172 T0 10000cm 其中 T0 为计数器 T0 的计算值 测出距离后结果将以十进制 BCD 码方式送往 LED 显示约 0 5s 然后再发超声波脉冲重复测量过程 4 2 超声波测距子程序 void wdzh TR0 0 TH1 0 x00 TL1 0 x00 csbint 1 sx 0 闽南理工学院设计报告 10 delay 1700 csbfs csbout 1 TR1 1 i yzsj while i i 0 while csbint 判断接收回路是否收到超声波的回波 i if i 3300 csbint 0 TR1 0 s TH1 s s 256 TL1 TR0 1 csbint 1 jsz s csbc 计算测量结果 jsz jsz 2 产生超声波的子程序 为了方便程序移置及准确产生超声波信号 本测距的超声波产生程序是用汇编语言 编写的进退声波产生程序 产生的超声波个数为 UCSBFS SEGMENT CODE RSEG UCSBFS PUBLIC CSBFS 闽南理工学院设计报告 11 CSBFS mov R6 8h 超声波发射的完整波形个数 共计四个 here cpl p2 7 输出 40kHz 方波 nop nop nop nop nop nop nop nop nop djnz R6 here RET END 闽南理工学院设计报告 12 4 34 3 超声波测距程序流程图超声波测距程序流程图 Y Y N N 0 0 1 开始 初始化 测量标志 启动定时器 超声波测距 距离 上限值 距离 盲区值 显示值 C C C 显示值 测量段码转换 显示 设定段码转换 距离 报警值 报警输出 N 闽南理工学院设计报告 13 4 44 4 超声波测距程子序流程图超声波测距程子序流程图 Y 标志 1 发送超声波 延时避开盲区 收到回波否 预设时间 启动计时器 T0 停止计时 计算测量值 超声波测距 结束 N N Y Y N 闽南理工学院设计报告 14 5 5 实验调试实验调试 5 1 1 软件调试 建立源程序 在计算机上 利用 KILE 软件对第一步输入的源程序进行编译 变为可 执行的目标代码 动态在线调试 在软件编写过程中经常会出现程序语法错误 导致程 序编写过程错误 无法编译 解决方法 通过计算机开发系统的编辑软件 按照所要求的格式 语法规定 源程 序输入到开发系统中 并存在磁盘上 在计算机上 利用 KILE 软件对第一步输入的源程 序进行编译 变为可执行的目标代码 如果源程序有语法错误 则其错误将显示出来 然后返回到第一步进行修改 再进行编译 直到语法错误全部纠正为止 5 1 2硬件调试硬件调试 确认个元件后 将原件安装完毕 将写好程序的 AT89S51 机装到测距板上 通电 后将测距板的超声波头对着墙面往复移动 看数码管的显示结果会不会变化 在测量范 围内能否正常显示 如果一直显示 则需将下限值增大 本测距板 1s 测量 4 5 次 超声波发送功率较大时 测量距离远 则相应的下限值 盲区 应设置为高值 在 硬件安装过程中 经常讲元件接反和及相关引脚没有接到正确的地方 解决方法 系统上电之前 先用万用表等工具 根据硬件逻辑设计图 仔细检 查线路是否连接正确 并核对元器件的型号 规格和安装是否符合要求 应特别注意电 源系统的检查 以防止电源的短路和极性错误 并重点检查系统总线是否存在相互之间 短路或与其它信号线的短路 闽南理工学院设计报告 15 6 6 总结与展望总结与展望 经过为期三周的基于单片机的超声波测距系统的课程设计 顺利的完成系统设计任 务 在本次设计中 我们充分了解了各环节设计理论知识和实践操作各个环节 本次设 计中 我们用到了以前学到的很多知识 比如电工 单片机 和汇编语言等 这使我们 意识到 任何一件产品的产生 都不是单一知识所能实现的 而且在电路的设计和程序 的编制过程中 出现了很多意想不到的错误 让我们措手不及 有些甚至是一些非常低 级的错误 但是这些错误也同样让我们获益非浅 它使我们意识到 研究是一个非常严 肃的过程 来不得半点马虎 必须有一个严谨的态度 加上 100 的努力才有可能获得成 功的喜悦 总之 在本课题的设计过程中尽管走了很多的弯路 但是还是学到了不少知识 从 中受益匪浅 了解了超声波传感器的原理 学会了各种放大电路的分析 设计 也掌握 了单片机的开发过程中所用到的开发方法和工具 动手能力与自学能力得到了锻炼与提 高 对待事物的态度也发生了变化 理论总是离不开实践的 设计制作过程中 盲目地 追寻理论知识根本不足以解决任何问题 一味的死研究课本是不会真正掌握单片机的 只有真正动手去做才能发现问题 解决问题 提高能力 闽南理工学院设计报告 16 参考文献参考文献 1 李全利 单片机原理及接口技术 第二版 北京 高等教育出版社 2009 年 2 李建忠 单片机原理及应用 第二版 西安 西安电子科技大学出版社 2008 3 冯文旭等 单片机原理及应用 北京 机械工业出版社 2008 4 李广弟等 单片机基础 第 3 版 北京 北京航空航天大学出版社 2007 5 何立民 单片机高级教程 应用与设计 第 2 版 北京 北京航空航天大学出版社 2007 6 谢自美 电子线路设计 实验 测试 M 武汉 华中理工大学出版社 1992 7 何立民 单片机应用系统设计 M 北京 北京航空航天大学出版社 1993 8 李光才 单片机课程设计实例指导 M 北京 北京航空航天大学出版社 2004 闽南理工学院设计报告 17 附录附录 可选择 可选择 附录附录 A A 系统原理图系统原理图 闽南理工学院设计报告 18 附录附录 B B 超声波测距系统焊接组装图超声波测距系统焊接组装图 附录附录 C C 部分源程序部分源程序 include include define uchar unsigned char define uint unsigned int define k1 P3 7 k1功能键 define k2 P3 6 k2数值调整键 define bjh P3 1 定值输出 define sx P0 2 报警值输出 声音 define csbout P2 7 超声波发送 define csbint P3 5 超声波接收 uchar ec cls cs xl mq xm0 xm1 xm2 sec20 sec sec1 buffer 3 BitCounter temp Number 8 1 2 3 4 5 6 7 8 uchar temp1 convert 10 0 x81 0 xED 0 xA2 0 xA8 0 xCC 0 x98 0 x90 0 xAD 0 x80 0 x88 0 9段码 uint zzz dz zzbl i jsz yzsj kk s ss static uchar bdata ke kw 可位寻址的状态寄存器 float csbc wdz sbit LED1 P3 4 数码管位驱动 sbit LED2 P3 2 数码管位驱动 sbit LED3 P3 3 数码管位驱动 sbit k11 ke 0 sbit k12 ke 1 sbit k22 ke 2 sbit k21 ke 3 sbit b ke 4 sbit c ke 5 sbit d ke 6 sbit e ke 7 闽南理工学院设计报告 19 sbit w kw 0 sbit zj1 kw 1 sbit zj2 kw 2 void delay i 延时函数 void scanLED 显示函数 void timeToBuffer 显示转换函数 void time void jpcl void jy void wdzh void bgcl void jpzcx void mqjs void csbfs void csbsc void clcs void offmsd void main EA 1 开中断 TMOD 0 x11 设定时器0为计数 设定时器1定时 ET0 1 定时器0中断允许 TH0 0 xD8 TL0 0 xF0 设定时值为20000us 20ms TR0 1 csbout 1 d 0 TR1 0 temp1 15 zzz 699 mq 40 dz 100 cls 5 xl temp1 csbsc mqjs 盲区设定 k12 1 k1 1 k2 1 k22 1 bjh 1 d 1 sx 0 clcs 测量次数 while 1 if ec 1 ec 0 wdzh 调用超声波测量 bgcl 调用报警处理程序 timeToBuffer 调用转换段码功能模块 offmsd 调用显示转换程序 scanLED 调用显示函数 if jszzzz buffer 0 0 x93 buffer 1 0 x93 buffer 2 0 x93 else if jsz cs 50 10 ms 0 5 s sec20 0 ec e e if ec 3 ec 0 sec1 if sec1 100 sec1 0 sec 秒计时 if sec 3 sec 0 void jpcl 按键处理程序 k11 k1 if k12 k12 k11 k11 k1 k21 k2 if b 1 s

温馨提示

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

评论

0/150

提交评论