超声波测距仪的设计
题目:基于单片机超声波测距仪的设计
杨宝平
1、 课程简要信息
课程名称:单片机综合设计与应用
课程学时:16 学时
适用专业:电子信息类
学生年级:大三下学期
2、 实验内容与任务
(1)以 STC89C52 单片机为主控制器,利用超声波模块 HY-SRF05,设计出一套可在数码管上实时显示障碍物距离的超声波测距仪。
(2)设计一个超声波测距仪。要求:
a、能在数码管上实时显示障碍物的实际距离;
b、所测距离大于 2cm 小于 300cm,精度 $_ { 2 \mathsf { m m } }$ 。
3、 实验过程及要求
(1) 了解 STC89C52 的工作原理
(2) 掌握数码管动态扫描显示的方法
(3) 掌握超声波传感器测距的原理及方法
(4) 学会搭建 STC89C52 的最小系统及一些简单外围电路(LED 显示电路)
(5) 掌握电路的实际设计、焊接、检错、排错能力
(6) 学会仿真及软件调试的基本方法
4、 相关知识背景
超声波测距,相较其激光测距仪,制作较为容易,同时加以 STC89C52 单片机控制系统,更能很轻易地提高精度。同时,超声波在近距离测距更有稳定,精度高的特点。
5、 教学目标与目的
通过单片机超声波测距仪的设计,实践性项目,让大三学生快速掌握单片机
系统设计与实现技术,运用传感器、自控技术、单片机等学科技术,培养学生自主学习、自主设计和工程实践能力,激发学生的创造力。
6、 教学设计与引导
本实验是一个综合性的工程实践项目,教学过程包括课前预习、课堂知识讲解、方案讨论、系统搭建、软件设计、综合调试、总结答辩等内容。在此期间,重点从以下方面加强对学生的引导。
(1) 在学习开始前给每个小组分发控制器、传感器等让学生尽早接触控制部件的实物,并开始熟悉建立感性认识,提高兴趣。
(2) 预习阶段布置学习任务,通过网站资源、图书文献的渠道了解软硬件开发、测距仪控制原理。
(3) 课堂上通过随机提问等形式检查学生的预习知识,掌握情况,对有疑问的部分重点讲解。
(4) 课堂上教学,在讲解单片机基本控制系统的构成和原理,重点结合实验项目任务,介绍不同传感器种类和输出信号,模拟信号转换为数字信号的不同方法。
(5) 安排一次方案研讨课,课前分组制定控制系统的设计方案,课堂上各小组互相展示设计内容,小组间相互提问,找到存在的问题,然后分组在讨论完善,由教师进行方案点评与指导。
(6) 实验过程中注意学会使用工具进行测试,如采用万用表检测关键点的电压,常用元器件的检查,以及软件调试中采用串口打印信息的方法。
(7) 注意分析传感器控制器驱动等各项参数的影响,通过在不同场地、不同距离上测试。
(8) 组织总结答辩,各小组展示成果,交流学习,拓宽视野。
7、 实验原理及方案
(一)超声波测距原理
超声测距仪是根据超声波遇到障碍物反射回来的特性进行测量的。超声波发射器向某一方向发射超声波,在发射同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即中断停止计时。 通过不断检测产生波发射后遇到障碍物所反射的回波,从而测出
发射超声波和接收到回波的时间差 T,然后求出距离 L。基本的测距公式为:$\mathsf { L } \mathsf { = } ( \triangle \mathsf { t } / 2 ) ^ { \ast } \mathsf { C }$
式中 L——要测的距离
T——发射波和反射波之间的时间间隔
C——超声波在空气中的声速,常温下取为 340m/s
声速确定后,只要测出超声波往返的时间,即可求得 L。
根据本次设计所要求的测量距离的范围及测量精度,我们选用的是 HY-SRF05 超声波测距模块。(如下图所示)。此模块已将发射电路和接收电路集成好了,硬件上不必再自行设计繁复的发射及接收电路,软件上也无需再通过定时器产生 40Khz 的方波引起压电陶瓷共振从而产生超声波。在使用时,只要在控制端‘Trig’发一个大于 15us 宽度的高电平,就可以在接收端‘Echo等待高电平输出。单片机一旦检测到有输出就打开定时器开始计时。当此口变为低电平时就停止计时并读出定时器的值,此值就为此次测距的时间,再根据传播速度方可算出障碍物的距离。
实验器材
STC89C52 单片机
HY-SRF05 超声波模块
SM410561D3B 四位的共阳数码管
9014 三极管(4)
按键(1)
电容(30PF2,10UF1)
排阻(10K),万用板,电烙铁,万用表,5V 直流稳压电源,镊子,钳子,导线及焊锡若干,电阻(200 欧 5)。
(二)超声波测距模块 HY-SRF05 简要介绍
HY-SRF05 超声波测距模块可提供 2cm-450cm 的非接触距离感测功能,测距精度高达3nm。实物如下图 12。如下图引脚:
(1) Vcc 供 5V 电源;
(2) GND 为接地端;
(3) Trig 出发控制和信号输入;
(4) Echo 回响信号输出;
(5) OUT 开关量输出。
HY-SRF05 超声波测距模块工作是:1.采用 IO 口 Trig 触发测距,给至少 10us的高电平信号;2.模块自动发送 8 个 40khz 的方波,自动检测是否有信号返回;3.如有信号返回,通过 IO口Echo 输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间,既测试距离=(高电平时间*声速(340M/S))/2,由于来去2 个距离,因此用 1/2。

(三)总体设计方案:
以 51 单片机作为主控制器,在超声波模块 HY-SRF05 的‘Trig’端加一个大于 10us 的高电平,本次设计中我们为了确保有效触发,程序中设置了约为15us 的高电平进行触发。触发发射端产生超声波,同时在接收端‘( Echo端)等待高电平的输出,一旦检测到有高电平的输出就打开定时器 0 进行计时。根据所给超声波模块的技术资料可知:‘Echo’端高电平持续的时间就是超声波从发射到返回的时间。当超声波遇到障碍物,回波被接收端接收到后,‘Echo’端变为低电平。此时关闭定时器 0(令 $\scriptstyle { \mathsf { T R } } = 0 )$ ,读出定时器的值。这个值即为超声波的传播时间(单位为 us)。根据声波在空气中的传播速度,方可算出距离。【测试距离≈(高电平时间*声速(340M/S))/2】 将此距离进行处理,在数码管上利用动态扫描法实时显示。
系统的结构框图:

将整个系统划分为:超声波模块、显示模块,以及 51 单片机外围工作电路模块。
(四)动态显示模块:
数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的 8 个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极 COM 增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通 COM 端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的 COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为 $1 { \sim } 2 { \mathsf { m s } }$ ,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的 I/O 端口,而且功耗更低。
在本次设计中,选用 P0 口 作 为 ‘ 段 码 ’, 连 接 SM410561D3B‘a,b,c,d,e,f,g,dp’,每一段的亮灭。选用 ${ \mathsf { P } } 2 . 4 \sim { \mathsf { P } } 2 . 7$ 分别对应‘位码’,即连接 SM410561 的‘S1,S2,S3,S4’分别控制每一位的亮灭。‘S1,S2,S3,S4’相当于是每一段的 COM 端,由于是共阳极,只有某一位对应的 COM 端为‘1’时,所送的‘段码’对该端来说才是有效的。

仿真电路图
(五)硬件整体设计方案:
我们在硬件设计上主要包括以下几个模块的设计:

(六)软件设计方案:

8、教学实施进程
本项实验教学设计的思路是通过实践教学过程,引导学生了解超声破测距仪的工程设计,以达到提升自主学习能力和工程设计水平的目的实施进程如下:
(1) 由教师在课堂上布置本次实验简要讲解单片机超声波测距仪任务的应用背景,进行实验分组。
(2) 学生课下进行自主查找相关资料,了解主要元器件原理,熟悉软件开发环境。
(3) 给各组分发实验器材,让学生认识电路元器件进行简单测试。
(4) 通过课堂上集中教学,对电路和软件算法设计中的重点和难点进行讲解,激发学生的设计思路。
(5) 学生课下进行初步方案的设计,形成文档作为预习报告。
(6) 开展研讨课分组,把实验课开始前,结合实物和系统组装和调试的注意事项和安全操作须知,学生进行电路连接,组内同学相互检查,确认正确后可通电测试,检查程序正确性
(7) 实验老师给予指导。
(8) 学生进行验证和测试,在教师指导下优化各项参数,提高可靠性和性能。
(9) 实测结果由教师验收。
(10) 小组派代表演讲,讲解方案原理进行答辩,由教师点评。
(11)学生完成,并提交实验报告,教师进行批改。
成品图

9、实验报告要求
(1)预习内容;
(2)功能分析;(3)设计组成介绍,包括元器件名称型号参数等;
(4)设计的整体工作原理,设计方案和设计的电路,连接线路图,软件流程图(5)电路仿真与分析,实际电路调试;
(6)电路测试方法及结果记录;
(7)方案分析及总结;
(8)实验过程中的问题及解决办法有哪些心得体会
10、考核要求与方法
(1)电路原理设计(10分):接线图的正确性、完整性、规范性;
(2)控制程序设计(10分):考查程序逻辑算法是否正确、代码是否规范;(3)实验完成情况(40 分):现场考查测距仪是否正常工作,测距的准确性和完成时间的方面、仪器使用是否规范;
(4)实验报告(20 分):实验报告的正确性完整性和规范性;
(5)提问和答辩情况(20分):考查对传感器及其他电路应用知识的掌握,设计系统方案的合理性,工程开裂的正确性,现场表达能力有创新性,是否有较为独特的好的解决方案。
11、项目特色或创新
(1)项目来源与生活实际有很强的工程背景,需要运用传感器,单片机控制,程序开发,调试等综合知识;(2)实现方案灵活多样可扩展性强,赋予学生充分自主设计空间,满足多层次教学需求;(3)工程难度适中,具有一定的挑战性,适合大三学生快速掌握单片机系统设计基本流程和技能,激发学生学习兴趣。