基于单片机的超声波测距仪的设计与实现毕业论文(编辑修改稿)内容摘要:
首先 根据实际需要设定 报警距离 ,当使用者 超过 报警距离后自动报警。 以上 都是短距测距, 所以本设计 4m的 测量 距离 完全 可以满足测量需要。 : 3mm 超声波 测距 可能 因为障碍物不规则 、 温度影响 等原因 影响测量精度,本设计添加了 9 温度补偿模块 ,大大提高了测量精度 , 知道 老师 要求 精度 优于 1% ,考虑 到在实际中的应用,我查取了相关资料,觉得控制在 3mm 误差范围内 是比较合适且 可实现的。 自行构建基于单片机的最小系统,完成相关硬件电路的设计实现 利用数显装置显示障碍物的距离值(以 cm 为单位,误差不超过 1cm); 了解超声波测距原理,温度补偿实现方法。 当被测距离小于预定的距离时, 向 蜂鸣器 发送信号 报警。 系统基本方案 方案比较 1. 主控制器模块 方案 1: 系统的核心部件 选择一块 CPLD(复杂可编程逻辑器件,诸如 EPM7128LC8415) ,以实现功能的控制和处理。 CPLD 具有速度快、易于编程、资源丰富、 开发周期短等优点,可以用 VHDL 语言开发编写。 与 单片机相比, CPLD 在控制上 有很大的 不足。 还有 ,CPLD 的处 理速度是异常迅速的,但是超声波测距处理速度的要求不会 太高,则 对系统处理信息的 要 求 也不会 过高,在这一点上, MCU足以胜任 了。 使用该 方案 , 在控制上 会遇到很多困难。 出于这个原因,我们不使用这种方案的, 所以产生 第二 个方案。 方案 2: 机为系统的核心, 用其 超声数据处理,以实现其既定的性能指标。 进行 系统的全面分析,关键在于实现超声波测距,但在这一点上, 单片机展示 了其优势 —— 控制简单 、方便 、 快捷。 其结果是,该微控制器可以充分发挥其 资源 丰富, 有更强大的控制功能和位寻址的操作 功能 , 价格低廉等特点。 所以 , 较为理想的是第 二个方案。 综上所述,我们选择了方案 2。 2. 超声波 模块 10 方案 1: 由一块 T4016作为 超声波模块。 此 模块具有 11000cm 非接触式的 测距 功能,但其造价高, 很难有 更 广泛 的应用。 故 放弃 此方案。 方案 2: 使用 HCSR04 来 实现 超声波的 收发 ,它 可以 进行 2— 400cm 的 非接触 式 距离检测 , 其测距误差不超过 3mm。 该 模块 包含 反射超声波的 超声波发射器 、 接收 回波的 接收器和控制电路。 其 物美价廉 ,测距 精度高, 故采用 第 2 方案。 3. 电源模块 出 于 本设计使用便捷性的考虑,选择便携电源供电,故提出以下两种供电方案。 方案 1: 采用 12V 蓄 电池向系统供电。 蓄 电池 拥 有很强的电流驱动能力,和稳定的电压输出性能。 但 是蓄 电池的体积 太 大,使用非常不方便。 所以我们放弃了这个 方案。 方案 2: 采用 3 节 V 干电池共 做电源,经过实验验证系统工作时,单片机、传感器的工作电压稳定能够满足系统的要求,而且电池更换方便。 综上所述采用 第 2套方案。 4. 显示模块 方案 1: 数码管 显示。 由于数字显示速度快 、 简单易用 、 简洁的显示 等特点使它得到广泛应用。 在这里我们需要显示的是测得的距离值和温度值以及 报警距离的设置, 不足以 满足使用 需要 ,因此我们放弃了此方案。 方案 2: 使用 LCD1602 液晶显示屏。 由于其清晰的液晶显示屏 、 丰富的内容 、 清晰 地 显示信息 、 便于使用 、 显示 速度快等优点 已被广泛使用。 对于此系统我们要求 不仅能显示测 量距离、温度,还要显示报警距离的设定 , 故 用 物美价廉 的 LCD1602 显示, 充分发挥出 LCD的显示优势。 因此我们选择了此方案。 11 5. 温度补偿模块 方案 1: 使用 PT100 温度传感器 用于 温度补偿电路。 PT100 铂电阻传感器是利用 其 随温度变化的阻 值、 并 显 现出一定的 函数关系的特点来进行温度补偿的, 具有抗震动 性、 稳定性 、精度高 、 耐高压等特点。 但 其操作较为复杂。 方案 2: 温度补偿电路 使用 DS18B20 作为温度传感器。 通过“ 一 线”总线( 1Wire 是一种独特的数字信号 的总 线协议,独特的电源线和信号线的复合一起只使用一个口线。 每个芯片独有的编码,支持网络寻址 和 零功耗等待等, 这条总线 需要 的 硬 件 连线 最 少)。 DS18B20数字温度输出这种独特的方法允许多个 DS18B20 容易 建立传 感器网络,从而 提供更多地可能 性给 整个测量系统 的建 立和组合。 这已经比其他的温度传感器在转换时间 、 测量精度 、 分辨率 、传 输距离等 有 了长足的进步,为用户提供了更 便捷 的使用 和更 让 人满意的结果。 相比之下, DS18B20 数字温度直接输出,无需采取纠正措施, 故选择方案 2。 6. 报警模块 方案 1: 使 用语音芯片 进行 提示,优点可以自由设定要提示的声音。 缺点使用复杂,需要专门的编程软件,成本高控制复杂,不便于普及。 方案 2: 采用蜂鸣器提示,电路简单实用,可靠性高。 综上所述我们选择方案 2。 方案汇总 我们最终确定了如下方案: 主控芯片采用 AT89C52 单片机作为主控制器。 使用 HC— SR04 超声波模块 12 用 3 节干电池供电。 用 LCD1602 显示。 采用 DS18B20 做温度补偿。 使用 蜂鸣报警器报警 13 第三章 系统硬件设计 单片机 最小 系统 对单片机的认识源于大一时电子爱好者协会的一次讲座。 当时大三的学长们在做智能车,精彩的演讲和 有趣的知识吸引了我,也让我对单片机产生了兴趣。 他告诉我,单片机就相当于人的大脑,它不能像电脑那样做出特别复杂的运算,但它足以完成很多操作任务。 他当时用的也是 51单片机,因为感觉性能比较稳定,运算速度快,而且物美价廉。 后来通过大三对单片机课程的学习,进一步对 AT89C52 了解,因此本次设计选用AT89C52 作为主控制器。 主 控制系统电路如图 6 所示。 图 6 单片主控电路 单片机 通过发送 信号 来控制主控制电路协调超声波发射模块,超声波接收模块,显示模块,温度模块,报警模块。 超声波测距仪中各模块主要由单片机主控电路进行控制和协调,从而有条不紊的进行工作。 超声波测距模块 使用 现成的 超声波模块 HC— SR04, 它的工作原理是 : 向 IO 口 TRIG 发送信号 , 加大于 10us 的高 电平。 该模块 能够自动 发送 8 个 频率 40KHz 的 方波 , 且处于 工作状态是 检测 是否 有 回波 信号。 如 有 返 回信号 , 会 在 IO 口 向 ECHO 传输 一个高电平 信号 , 此 高 电平延续的 时 间 便是 超声波 的 往返 时间。 l(测试距离) =v(声速) t(高电平时间) /2。 实物如下 图 7。 其中 VCC 能够 提 供 , GND 为 接地 , TRIG 可以触发输入信号, ECHO 14 则为含有回波信号的四条线。 图 7 超声波模块实物 图 8 超声波 接口 T/R4012型 超声波传感器的震荡频率为 40KHz,传播 10米超声波信号强度便衰减到40个声压级,此时超声波接收探头就很难接收到回波信号。 因此,从理论上分析,本设计超声波测距部分的实际范围是 10cm— 400cm,理想的避障范围 是 10cm— 100cm,所以实际壁障安全距离应设在 50cm— 80cm之间。 图 9 避障原理 图 9中,超声波 指向性地发送一段超声波并计时,超声波经过在空气中传播后,遇到障碍物反射回来被超声波接收器捕捉到,同时停止计时。 利用时间差计算法算出距离。 15 图 10 超声波接口电路图 显示模块 显示模块采用数 LCD1602,连接图如图所示 图 11 LCD显示电路 显示 模块主要用来显示测量的距离值、温度传感器测量的温度值以及 最小 的报警距离。 温度补偿电路 温度 补偿电路 采用 DS18B20传感 器 , DS18B20数据总线, 由 单片机 控制 DS18B20温度转换和数据的传输,并且将 10k 的上拉电阻连接到数据总线。 该系统采用外接电源 16 DS18B20 的优点是 I / O 接口不需要强拉,总线控制器并不需要在温度很高的 情况下 转换。 因此 转换 在 可以允许 的 范围内, 单线总线上附加数据的传输,如图 15 所示的硬件结构。 图 12 温度 补偿电路 DS18B20 蜂鸣 报警电路 如图 13 所示 , 蜂鸣报警电路由蜂鸣器、三极管、接到单片机上 P13 引脚上的电阻组成。 图 13 蜂鸣 报警电路图 17 第四章 系统软件设计 AT89C52 程序流程图 如图 14 所示为超声波测距单片机 AT89C52 程序 流程图。 图 14 系统软件的整体流程图 18 流程图具体细分如下: 系统初始化 单片机 AT89C5 LCD160 蜂鸣报警器、超声波测距模块 通过上电 复位 并 自行 运行 单片机清零程序。 发射 超声波 自动读取超声波 测距程序, AT89C52 控制 HC— SR04 指向性 地 发射超声波 并且记录时间,待捕捉到回波时终止计时,算得回波时间。 判断是否检测到回波 超声波 接收电路出于运行状态。 如 超声波接收 电路收到 回波,则 将信号发送到单片机并再次 计时 , 通过 温度补偿后 的 算式 算得 障碍物 当前距离 ; 如超声波接收电路未在 设定 时间 收到 回波, 则 返回。 显示 显示 距离、当前温度、设置 的 报警距离。 是否 小于超声波报警距离 将 测得距离 与 报警值进行比较,如小于报警值,则进行报警。 再次检测 等待下次报警 19 计算距离 程序流程图 图 15 计算距离 程序流程图 首先调用 温度函 数进行 温度补偿,得到当前温度下的超声波传播速度 v;然后调用 时间函数 t,即超声 波 发射与超声波回波的时间差 ;再 将以上函数代入算式 =vt/2 算得 当前温度下障碍物的距离 ;最后 返回。 报警 电路程序流程图 首先调用 测量函数 l, 然后 与 报警 设定值进行比较 , 如 测量值 l 小于报警设定值 ,则向蜂鸣器发送报警信号,蜂鸣器进行报警 ; 如 测量值 l 大于 报警距离 ,则不报警,返回调用测量函数。 20 图 16 报警电路 程序流程图 图 17 超声波 回波接收程序流程图 超声波回波接收 程序流程图 如 图 17 所示 ,首 先 单片机控制超声波发射器发射超声波, 同时计时 开始, 超声波 接收器 处 于工作 状态 , 如接收 到回波,则再次计时,计算 超声波 往返时间差 t; 如未收到超声波回波,则返回超声波放射,重新发射并 计时。 21 第五章 系统 的 调试 与 测试 安装 按电路图 购 买好元件 后, 首先 需要 检 测 元件 是否 完 好。 按 照 各 种 元件 检测 的 方法分别进行检测, 这项任务 虽然重复繁琐,但是我觉得这是必做的工作, 因为只要有一个元件出了问题,设计就不能实现它的功能。 同时 需要细心对照 原理图 , 使其 一一对应 , 多次 检查 确保 正确后 才可以 上件、焊件, 以防因 元件错误 不便修正 ,导致功能无法实现。 、焊接 各元件 出于对本设计便携的要求,选用了正好可以容纳所有器件的小块洞洞板。 然后 依照原理图对应放置各元件,此过程中先安放、焊接低层 元件 , 最后焊高层的和 要求较高的元件。 特别 要注意易损 元件的 焊接 , 我 把它们放在最后,同时要注意 集成芯片 上 焊接 不能连续焊接 超过 10s, 并且注意芯片的 安装方向。 系统的 调试 打开 电源开关, 电源指示灯亮起, LCD1602 正常显示。 距离 ,温度 28176。 C,设定报警距离。 向 障碍物进一步靠近。 22 当 靠近后,距离显示为 ,发出 蜂鸣警报。 软件调试 正常, 屏幕正常显示 , 正常工作。 经过 多次 测试 调试,与实际温度对比 、 实际距离对比,该设计能够在一定范围内稳定的工作,并测出距离 , 并且误差小于 3 毫米。 设计 成功。 23 第六章 总结 在台 老师的悉心指导下, 自己 从初拿 题目 的一头雾水, 到 一步步地学习 、 设计、改正, 再 改正,到 最后 完成 本 设计,这个过程让我 收获良多。 这是我 16 年 的学生生涯中最后一次 完成 作业, 一。基于单片机的超声波测距仪的设计与实现毕业论文(编辑修改稿)
相关推荐
测量流量。 对于前者,只要是超声波能够透过的测量对象都能进行测量,但不适宜测量混入非常大的且有妨碍物体(例如大量的杂物和气泡)的流体;而多普勒流量计的测量原理则决定了它只适用于一些杂质颗粒较大的场合 [9]。 时差法超声波流量计主要应用于单相液体的测量 ,而多普勒超声波流量计则用于含有适量的固体颗粒或气泡的多相流体的计量。 例如 :煤浆、污水、浆体等含固体或杂质较多的液体 ,通常不适于清洁流
R8EH 地址上置 ALE 只有在执行 MOVX, MOVX 指令是 ALE 才起作用。 另外,该引脚被略微拉高。 如果微处理器在外部执行状态 ALE 禁止,位置无效。 PSEN 为外 部程序存储器的选通信号。 在由外部程序存储器取指期间,每个机器周期两次/PSEN 有效。 但在访问外部数据存储器时,这两次有效的 /PSEN 信号将不出现。 EA/VPP 为当 /EA 保持低电平时
引脚图如图 7 所示。 如2262一样, 2272的 1到 8号与 10到 13号为地址管脚,其中 1到 8号宽口如上文所提及的需要与 2262的 1到 8号端口相对应,当然一但不对应 2272便无法对 2262的编码进行解码处理。 在 2272的地址管脚 中的 7,8,10,11,12,13这 5个端口在作为数据端口的时候,只有在地址端口与 2262 完全对应的时候,管脚才能输出与 2262
报警模块可选用无源蜂鸣器或者有源蜂鸣器,有源蜂鸣器由于内部有震荡元件,故通电后就可以报警,由于硬件设备的限制,我们选用无源蜂鸣器,但编程上需要花点心思。 第 8 页 LED 数码管 显示电路采用 LED 数码管动态显示, LED( LightEmitting Diode)是一种外 加电压从而渡过电流并发出可见光的器件。 LED 是属于电流控制器件,使用时必须加限流电阻。 LED 有单个 LED
只需要外接功放( SPY0030A)即可完成语音的播放。 另外十六位单片机具有一套易学易用的指令系统和集成开发环境,在此环境中,它支持标准 C 语言编程,也支持 C 语言与汇编语言的互相调用。 另外还提供了语 音录放的库函数,只要了解库函数的使用,就可以很容易的完成语音的录放、识别等功能,这些都为软件开发提供了方便的条件。 SPCE061 是一款拥有 2KRAM、 32KFlash、 32个
差。 而另一 种非接触类 液位测量,则是融合了现在比较流行的单片机嵌入式技术,比较智能化,代替了人类的繁琐物理工作。 目前市面上比较常见的非接触类液位测量器有:电子类液位传感器;热学式液位测量计;超声波液位传感器;同位素液位传感器以及雷达液位传感器等。 这些非接触类液位传感器各有优点和长处,其中的超声波液位传感器被我所看好。 超声波液位传感器不仅精度高,量程广,系统简单便于安装和维修。