基于智能超声波机器人避障

超声波测距原理以及理论分析

超声波测距原理就是,当我们遇到一个障碍物时,我们首先发出一个一个声波信号同时在发出声波时我们开始计时,声波信号在需要介质才能传播,通常的固体、液体都能够作为声波的介质。所以我们发出的超声波信号会在空气中传播,当我们发出的超声波遇到故障物之后,一部分声波会反射回来,然后我们再通过接受装置接受反射回来的超声波信息,当我们的超声波传感器接收到反射回来的信号时,计时器立刻停止计时。我们知道障碍物的距离就是声波通过的距离的一半。
我们通过上述分析得知,测量距离障碍物的距离时一个很重要的因素就是超声波在空气中的传播时间。超声波是如何进行测距的:由于超声波在空气之中传播的速度大小是一个已知的值,可以把这个量当做是一个已知的量,超声波发射出去到传感器接受到反弹回来的信号,这个过程总共花费的时间也是可以得到的,我们便可以通过时间和速度的乘积得到障碍物到发射器所在位置的距离。通过上所分析我们得知,超声波的测距的公式表示为:A=v×t,在式中A就是我们需要获得的距离长度,v是超声波在空气中的传播速率,t是超声波发生器发生器到障碍物之间,超声波传递的时间。虽然本文选用的超声波模块的测量距离只有几米,但是运用在一些工作范围不大的机器人还是可以满足要求的,而且他的精度也非常的高。超声波容易形成、有良好的方向性、强度容易控制、并且与被测量物体不需要过度接触等优点,被当代科技研发工作者广泛利用。
声波是物体发生机械震动时产生的,人类能够感知的声波频率在二十到两万赫兹之间。把人类自身可以感知到的波的频率的大小当做是一个分界线,机械波的频率相对人类能够感知的范围更小,那这种波就会被称之为次声波,相反的若波的频率高于这一个范围就是我们提到的超声波。超声波的穿透能力很强,方向性很好,所以我们常常用超声波来测量距离。
根据上面所述我们可以得知:超声波模块通过输入/输出端口的TRIG的触发信号测量距离。当超声波模块自动发送信号后,遇到障碍物,超声波的信号就会因为这个物体的阻挡,原路返回,超声波模块对应的传感器如果检测到了有波的信号返回,ECHO这个端口就会收到单片机发送来的一个高电平,遇到障碍用掉的时间是这个高电平能够持续时间的一半。测试距离就是超声波在空气的传播速率与到障碍物时间的乘积

电路设计

系统设计原理
智能机器人要想实现避障的操作,需要控制单元发出相应指令,超声波模块则需要接受这个指令,并发出声波信号,然后由接收装置接收返回来的信号,之后将接收回来的信号经由单片机处理显示在显示屏上然后对机器人的驱动系统发出障碍物距离信息。之后单片机内部的时钟收到返回的信号,并开始记录时间算出对应的距离:s。内部时钟将所测距离送至显示屏,并且需要和系统内部设定的距离做一个比较,如果和设定的安全距离相比小了,蜂鸣器就会开始蜂鸣。
系统组成
本设计主要是以51单片机作为控制的核心部分,然后设计一种可以应用到智能机器人身上的超声波的避障系统。系统的主要组成电路有如下部分:51单片机、用来显示设定值的显示模块、进行报警的报警模块,用来复位电路的复位模块、用来测量距离的超声波模块。如下图所示:
系统的结框图如图2.1所示。
电路设计
系统设计原理
智能机器人要想实现避障的操作,需要控制单元发出相应指令,超声波模块则需要接受这个指令,并发出声波信号,然后由接收装置接收返回来的信号,之后将接收回来的信号经由单片机处理显示在显示屏上然后对机器人的驱动系统发出障碍物距离信息。之后单片机内部的时钟收到返回的信号,并开始记录时间算出对应的距离:s。内部时钟将所测距离送至显示屏,并且需要和系统内部设定的距离做一个比较,如果和设定的安全距离相比小了,蜂鸣器就会开始蜂鸣.
系统组成
本设计主要是以51单片机作为控制的核心部分,然后设计一种可以应用到智能机器人身上的超声波的避障系统。系统的主要组成电路有如下部分:51单片机、用来显示设定值的显示模块、进行报警的报警模块,用来复位电路的复位模块、用来测量距离的超声波模块。如下图所示:
系统的结框图如图2.1所示

系统基本框图

主控制器
stc89c51这款单片机在很多方面得到了应用,初学者易轻松掌握,价格便宜。这种单片机电子市场已经很难买到,现在大多使用89C52单片机,89C51这种单片的CPU的运算速率很快,能耗也比较低。他工作时不容易受到周围环境的干扰。他的储存内存虽然不是很大,但是处理一些基础的控制中内存还是足够的,外面有4×8个管脚,和大多数控制器一样,3号位管脚不能直接通过模拟信号,需要用到10k单位的上拉电阻,价格相对实惠。

显示电路
选择LCD1602作为显示模块部分的显示元件,使用p0这个端口作为它的输出端口。现实中LCD1602显示器是一种字符型液晶显示模块。通过比较OLED的超高亮度色彩和低亮度、高亮度、宽屏广视角、自动式发光、响应快、适应的范围温度变化范围宽、抗冲击的适应能力强、功耗低等一系列主要优点,可以直接轻松实现软硬件显示。
HC-SR04超声波模块

在这里插入图片描述

图2.2 HC.SR04示意图
如上图所示,从左到右,第一个管脚是接工作电源,通常输入5V的电源,第二个管脚是触发控制信号的输入,第三个管脚则是信号返回之后输出管脚,最后一个管脚直接接地。
HC-SR04有一定的优势:它的性能很稳定;它的测量精度较为精确;它的盲区很小。
超声波测距的的原理是通过I/O接口部分产生的TRIG触发信号来测量距离。在超声波发送了八个方波信号之后,开始检测是否有信号因为阻挡被传回来,方波的频率是40khz;有信号传递回了模块,ECHO这个端口就会接受来自单片机的一个高电平信号,碰到障碍物用的时间就是这个高电平信号持续时间的一半。测试距离就是超声波在空气的传播速率与到障碍物时间的乘积。如此不断的反复测量,就可以达到实时测距的功能。
表2.1 HC.SR04电气参数

超声波时序图:

在这里插入图片描述

图2.3 时序图

实施方案
(1)采用SRF04超声波模块发出信号对障碍物进行测距;
(2)微处理器采用51单片机;
(3)LCD1602做显示输出,
(4)蜂蜜器报警。
超声波测距的的原理是通过I/O接口部分产生的TRIG触发信号来测量距离。在超声波发送了八个方波信号之后,开始检测是否有信号因为阻挡被传回来,方波的频率是40khz;有信号传递回了模块,ECHO这个端口就会接受来自单片机的一个高电平信号,碰到障碍物用的时间就是这个高电平信号持续时间的一半。测试距离就是超声波在空气的传播速率与到障碍物时间的乘积。如此不断的反复测量,就可以达到实时测距的功能。使用这个方案时,主要包括微处理器的中断和时钟编写,以及编写相应程序让OLED显示对应数据。这个方案的电路设计方面显得很简陋,但是在检测方面的灵敏度并不差,不仅在软件的设计方面十分简单,而且实现的过程并不复杂。本文就确定用这个方案来进行设计和实践。

系统硬件设计
2.4.1主控芯片STC89C51单片机特点
(1)有优异的性价比。
(2)稳定性强,内部晶体电路集成度高;
(3)控制功能强
(4)STC89C51相较于其他的产品,在系统的配置方面更加的规范化,而且更能组成一个具有规模性的应用系统。
内部结构
该单片机使用51内核处理器,处理器里面包含Flash寄存器,数字电路模拟电路转换模块。该器件的基本功能与普通的51单片机几乎兼容。一个8位CPU;
4KB ROM或EPROM
128字节RAM数据存储器
8个中断源,输入/输出通用串口有32个;
一个可编程全双工串行口;
两个16位定时/计数器;
一个振荡器和一个时钟电路

超声波测距模块

模块简介

在整个系统中,我们采用HC-SR04模块发射超声波和反射回来的超声波信息。SR04的测量精度非常高,通常可以到达3毫米,在测量距离L较小时,运用比较广泛,(2≤L≤400cm)。整个超声波模块的结构示意图如下图所示:
在这里插入图片描述
在这里插入图片描述

图2.9 HC-SR04超声波模块
2.6.2 模块工作原理
1)测量距离主要是通过I/O端口的TRIG这个触发信号来完成的。
2)在超声波发送了八个方波信号之后,开始检测是否有信号因为阻挡被传回来,方波的频率是40khz;
3)ECHO这个端口就会接受来自单片机的一个高电平信号,碰到障碍物用的时间就是这个高电平信号持续时间的一半。
4)测试距离就是超声波在空气的传播速率与到障碍物时间的乘积。
2.7报警电路模块
2.7.1 蜂鸣器简介
蜂鸣器的供电主要是直流来进行供电操作。本设计选择的是没有电源单独输入输入的蜂鸣器,可以由单片机供电。其分类如下:它主要分为电磁式和压电式两种类型结构。它的电路图形符号用“H”或者“HA”来表示

在这里插入图片描述

实施方案

(1)采用SRF04超声波模块发出信号对障碍物进行测距;
(2)微处理器采用51单片机;
(3)LCD1602做显示输出,
(4)蜂蜜器报警。
超声波测距的的原理是通过I/O接口部分产生的TRIG触发信号来测量距离。在超声波发送了八个方波信号之后,开始检测是否有信号因为阻挡被传回来,方波的频率是40khz;有信号传递回了模块,ECHO这个端口就会接受来自单片机的一个高电平信号,碰到障碍物用的时间就是这个高电平信号持续时间的一半。测试距离就是超声波在空气的传播速率与到障碍物时间的乘积。如此不断的反复测量,就可以达到实时测距的功能。使用这个方案时,主要包括微处理器的中断和时钟编写,以及编写相应程序让OLED显示对应数据。这个方案的电路设计方面显得很简陋,但是在检测方面的灵敏度并不差,不仅在软件的设计方面十分简单,而且实现的过程并不复杂。本文就确定用这个方案来进行设计和实践。

系统测试

功能测试
在对硬件的焊接以及调试等作出检测,并且确定没有故障之后,就开始测试做出来的硬件是否能够完成预计的功能。设计的硬件产品有四个按键,作为四个功能键。首先给系统接上电源,通过USB接口给板子提供5V的直流电压。然后按下蓝色的按钮,电源的开通或者是关闭都是由这个开关负责的。电源打开后,系统开始正常工作。电路板最下面的地方还有三个黑色的按钮,从左到右依次对应的功能是:增加设定距离,减少设定距离和设置。打开电源之后再按设置按钮,数码管就会把设置的报警距离的默认值或者是上次设置的值显示出来,通过旁边的两个按键可以实现数值的增减,最后本文将报警的默认距离设置为1.30如图4.4所示:

在这里插入图片描述

图4.4预报警距离值设定图
在设置完了报警的默认距离,找到一个表面相对平滑的障碍物,并保持电路板与其平面垂直的关系,最后测得障碍物到超声波模块的距离时1.00,如下图4.5所示:

在这里插入图片描述

图4.5障碍物距离值测量图
很显然测得距离小于我们预设的报警距离,那么蜂鸣器就会接收到单片机的指令开始蜂鸣,旁边的LED灯也会一起工作。将电路板远离被测得障碍物,此时系统测得距离为2.11,如图4.6所示:

在这里插入图片描述
图4.6障碍物距离值测量图
电路板在远离障碍物的这一个过程中蜂鸣器从工作状态到停止工作,以及红色灯光从最开始的闪烁到熄灭。因为最后测得距离大于预设的报警距离,上述元件就不工作了,所以设计出来的系统预期的功能是能够完成的。

总 结

经过查阅各种资料终于完成了智能机器人避障这篇论文,主要基于89C51单片机的智能机器人避障系统的设计。对组成的硬件进行了分析,并对各个功能模块的实际电路做了设计。在软件设计方面对实验的整个流程完成了代码的测试并一一校对。写入了代码可以更精确的测算出避障距离,大大提高了测距的精度。而且以此设计为基准的设计的智能机器人避障系统,成本价格相对较低,易于普及大众。本论文采用了蜂鸣器硬件来进行报警环节,能更有效地提高测算距离的精度,当距离小于一定值时,蜂鸣器会立刻报警。分别用Protus进行了仿真和实物仿真,结果基本达到设计要求。我最后写完这篇论文后,对相关知识更加的了解,我认为超声波测距这项功能可利用在很多领域。
由于对于单片机方面的知识并没有进行很系统的学习,而且将知识转变为实际的能力也很有限,所以设计中必然会存在一些设计上的瑕疵。这个小系统在很多眼里会觉得太过简单,但是对我而言却又显得分量十足。这不仅是把我学习到的知识结合到单片机的实际应用里面去,对我自己而言是一个非常好的提高过程,希望在毕业之后也能像现在一样,碰到了问题就去用心的解决问题。这个毕业设计帮助我更好的独立思考,学会自己去动手,学会自己完成该做的工作,对于即将开始的社会生活来说受益匪浅。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值