基于单片机的超声波测距系统的设计文档格式.docx
- 文档编号:21399608
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:27
- 大小:215.08KB
基于单片机的超声波测距系统的设计文档格式.docx
《基于单片机的超声波测距系统的设计文档格式.docx》由会员分享,可在线阅读,更多相关《基于单片机的超声波测距系统的设计文档格式.docx(27页珍藏版)》请在冰豆网上搜索。
2.1超声波简介1
2.2超声波测距原理1
3方案论证2
3.1设计思路2
3.2系统结构设计3
4主要元件介绍3
4.1单片机STC89C513
4.2超声波传感器5
4.31602显示器5
5硬件电路设计6
5.1STC89C51最小系统6
5.2超声波模块7
5.3显示电路7
6软件设计8
6.1主程序流程8
6.2误差及特性分析9
结语9
致谢10
参考文献10
附录A16
附录B17
1绪论
1.1课题研究的背景
人们生活水平越来越高,城市发展越来越好。
然而,由于城市建构的历史原因,给排水系统一般都会落后于城市的建设。
所以,就需要开挖已成建筑来改善给排水系统。
如今城市污水困扰着人们的生活,大城市非常依赖箱涵的排污疏通系统对污水的处理。
只有污水排放得到解决,人们才能生活的更加舒服。
研制箱涵排水疏通机器人的核心部分是其中的自动控制系统。
而控制系统的核心部分又是超声波测距,所以这一研究十分有意义[1]。
随着科学技术的不断进步,超声波技术也将在传感器应用中产生越来越重要的作用。
从现在的技术水平来说,传感技术还十分有限,可以说超声波技术是一个正在迅速发展的朝阳产业。
超声波传感器依靠它精度高、应用范围广的优点被用户认可。
超声波测距在很多方面有着重要作用。
如在声纳技术上,研制的测距声纳拥有更高的定位精度,能够实现水中武器的全隐蔽攻击;
潜艇拖拽线列阵声纳采用低频线谱检测功能,能够实现超远程识别和探测;
另外,为了解决浅海工作问题,研制出了潜艇声纳,进一步解决了浅海水中目标的识别问题。
超声波传感器与自动化智能化相结合将推进超声波传感器更深层次的发展[2]。
1.2课题研究的意义
现实生活中,我们不得不承认一些传统的距离测量方法存在某些缺陷,影响问题的解决。
就拿液面测量来说,以前我们通常使用差为分布电极的方法,利用脉冲测量液面。
缺陷是长期浸泡在水中的电极非常容易被腐蚀和电解。
而超声波在这一问题上能够发挥很好的作用,因为它不需要直接与被测物体接触。
本文设计了一款基于STC89C51单片机的超声波测距仪。
它的优点是成本低、精度高、微型化。
这一款单片机的出现不仅能够解决传统测量中易腐蚀、不准确的测量缺陷,还能够避开当前市面上超声波测距系统价格贵、体积大且精度低的种种问题,能够促使超声波技术的应用。
2超声波测距原理
2.1超声波简介
物理学告诉我们,物体的振动会产生声音,人们称物体单位时间的振动次数为声音的频率,而我们人类所能听到声音的范围是在20-20000赫兹。
也就是说,正常人听不到振动频率大于20000赫兹或小于20赫兹的声音。
超声波的概念就来源于此,即频率高于20000赫兹的声波。
超声波可以用来测距、测速、焊接、碎石等,尤其是超声波方向性好,穿透性高,易于获得较集中的声能,这一特点使其在医学、军事、工业等方面具有很明显的作用[3]。
在一定的条件下(振幅相同),一个物体振动频率与能量有正相关的关系,因而可以解释超声波通过在介质中传播从而能带来巨大能量。
超声波加湿器就是运用了同样的原理,在我国北方干燥的冬季,往水罐中通入超声波会促使罐中的水破碎成小雾滴,再将小雾滴鼓吹出机器,就可以保证室内湿度。
同样的原理还可以运用到很多方面,对于咽喉炎、气管炎患者,利用加湿器可以将药液雾化,然后喷至病灶;
对于人体内的结石,利用超声波也可以通过振动而达到打破结石的目的。
2.2超声波测距原理
超声波根据反射原理来测量距离,其中一端放有超声波传感器,另一端必须有能反射超声波的物体才能进行测量。
在测量距离过程中,将超声波传感器与反射物对准后发射超声波,此时开始计时,在空气中超声波传播出去后到达障碍物并反射回来,反射脉冲被传感器接收到后计时立即停止,之后根据超声波在空气中的传播速度和我们测量出的时间计算出两端的距离。
测量出的距离D为:
(2.1)
式中c为超声波在空气中传播速度;
为超声波从发射到接收所需时间的一半,即需要测量的单程时间。
根据上式可知,距离测量的精度主要是由传播速度和计时精度两方面决定的。
单片机定时器决定计时精度,机器周期与计数次数的乘积决定定时时间,我们用12MHz的晶振使机器周期精确到1µ
s。
超声波的传播速度c受温度、空气密度和气体分子成分影响,它的关系式为
(2.2)
式中γ为气体定压热容与定容热容的比值,空气为1.40。
R为气体普适常数,为8.314kg/mol。
T为气体势力学温度,与摄氏温度的关系是T=273K+t。
M为气体相对分子质量,空气为28.8×
10-3kg/mol。
C0为0℃时的声波速度,为331.4m/s。
因为超声波在空气中传播时,受温度的影响是最大的,所以一般如果对测量的精度要求不高时,我们可认为在空气中超声波的传播速度是340m/s[4]。
表2.2.1超声波传播速度与温度关系表
项目
数值
温度
-30
-20
-10
10
20
30
40
50
60
100
声速/(m•s)
313
319
325
332
338
344
350
356
361
367
388
3方案论证
3.1设计思路
我们知道测量距离的方法是有很多的,一般短距离测量可以用量尺,远距离测量可以用激光测距等,而超声波测距则适用于中长距离测量,它的精度要更高。
因为在标准空气中超声波的传播速度是331.45米/秒,在单片机负责计时,我们使用12.0M晶振,因而理论上此系统的测量精度是可以达到毫米级的。
当今普遍的测距原理是通过发射一定频率的超声波对被摄目标进行探测,所用的时间为从发射出一定频率的超声波到反射回接受到一定频率的超声的总时间,然后换算出测量的距离,比如说超声波探头和超声波液位、物位传感器,以及超声波测厚和超声波汽车测距告警装置等需要非接触测量的场合。
超声波指向性强,在介质中传播距离远,能量消耗缓慢的特点决定了超声波可以用于测量距离。
超声波测距的优点有:
计算处理简单、设计方便,并且也能达到测量精度方面的要求。
因为超声波具有方向性好、易于定向发射、与被测量物体不需要直接接触、强度易控制的优点,所以它是测量液体高度的理想手段。
在精密的液体高度测量时需要测量精度达到毫米级,然而当今国内的超声波测距专用集成电路的测量精度都仅为厘米级。
我们通过分析其误差原因,从而将测量时间的误差提高到微秒级,如果用温度传感器对声波传播速度进行补偿,设计出的高精度超声波测距仪的测量精度就能达到毫米级[5]。
如今超声波测距在社会上已经广泛应用,一般国内使用的专用集成电路是根据超声波测距原理来设计各种形式的测距仪器,然而专用集成电路的功能单一、成本较高。
我们可以用单片机做出超声波测距系统,它完全能够替代专用集成电路设计出的超声波测距仪。
而且它的精度更高、价格更低、可靠性更强。
用以8051为内核的单片机系列,它的优点是硬件结构功能强和功能部件齐全等。
特别是,除8位CPU以外,还有一个很强大的位处理器,它其实就是一个位微计算机,包含了完整的位CPU,位ROM(EPROM)、RAM,位寻址寄存器、指令集和I/O口。
因此可以说8051单片机具有双CPU。
位处理在逻辑电路仿真、开关决策、过程测控等多方面都十分有效。
我们根据设计要求和多方面的因素,决定将主控制器确定为STC89C51单片机,ASTC89C51单片机可以用来控制发射模块触发脉冲的开始时间和脉宽,响应接受超声波返回时刻并进行测量和计数发射到返回的时间间隔。
当探头接到回波时,如果接收到的信号频率与振荡器的固有频率相等(此频率由RC值决定),那么它的输出引脚的电平就会从“1”变成“0”(这时锁相环已进入了锁定的状态),单片机对接收探头的接收情况进行实时监控的依据就是这种电平的变化。
之后可根据测得数据对其进行优化处理。
STC89C51还能控制显示电路,即1602液晶屏,在液晶屏上显示测量距离[6]。
3.2系统结构设计
超声波测距仪系统结构如图3.1所示,它主要由单片机最小系统、超声波模块、LCD显示电路及电源电路组成。
系统的主要功能如下:
1)超声波发射和接收,以及依据计时时间测量出距离。
2)液晶屏显示器显示距离。
3)如果系统在非正常下运行时,用上电复位电路与电平式开关对其进行复位。
图3.1超声波测距仪系统结构框图
4主要元件介绍
4.1单片机STC89C51
单片机是构成一台计算机的主要功能器件,如CPU(进行运算)ROM、RAM、输入/输出设备(例如:
I2C串口通讯等)、中断系统等功能[7]。
STC89C51采用的是DIP封装。
STC89C51是一个高性能,低电压CMOS的8位单片机,它内含4k字节的可重复擦写的Flash只读程序存储器和128字节的随机存取数据的存储器并且内置通用8位中央处理器和Flash存储单元,我们的解决方案在内置功能强大的微型计算机的STC89C51得到充分发挥。
STC89C51单片机有40个引脚,32个外部双向输入/输出(I/O)端口,5个中断源和2个全双工串行通信口以及2个16位可编程定时计数器,它将Flash存储器和通用的微处理器结合于一身,可以重复擦写程序,它有效地降低了开发的成本。
其引脚图如右图4.1。
图4.1STC89C51的引脚图
1)主电源引脚
第20脚GND——电路接地电平。
第40脚VCC——正常运行和编程校验+5V电源。
2)时钟源
第19脚
XTAL1——它是外接晶振的其中一个引脚,可以把它作为反相放大器的输入端口。
当采用外部信号的时候将这个引脚接地。
第18脚XTAL2——接外部晶振的另一个引脚,是片内反相放大器的输出端口。
当采用外部振荡信号源泉的时候,这个引脚与信号源相连接。
3)控制、选通或复用
第9脚RST/VPD——RESET复位信号输入端口,当单片机工作正常的时候,这个引脚输入的脉宽就是2个和2个以上机器周期的高电平复位信号到单片机。
在VCC掉电的时候,这个引脚就可接通备用电源来保持片内RAM信息不受擦除。
第30脚
ALE——它用来地址锁存信号的输出,该单片机访问外部存储器的时候,ALE信号就会负跳变,并且把P0口上的低8位地址送入锁存器。
第29脚
PSEN——在当访问程序时为低电平有效。
第31脚EA——如果要访问外部程序,EA端就要为低电平。
4)多功能I/O端口
第32-39脚
P0口——双向I/O端口,这组口线分时转换地址和数据总线复用是访问数据存储器或程序存储器时的,在访问时就会激活内部得上拉电阻。
第1-8脚
P1口——双向I/O端口,在对片内程序进行程序进行编译和校验时,就可用做低8位访问地址总线。
第21-28脚
P2口——双向I/O端口,当单片机访问存储器时,就可用来做高8位访问地址总线。
第10-17脚
P3口——双向I/O端口,它还具有特殊的功能。
这些管脚的每一位均可独立定义为第一功能的I/O口或第二变异功能。
第二特殊功能的具体含义如表4.2。
表4.2P3口的第二变异功能
端口引脚
第二功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
(外中断0)
P3.3
(外中断1)
P3.4
T0(定时/计数器0)
P3.5
T1(定时/计数器1)
P3.6
(外部数据存储器写选通)
P3.7
(外部数据存储器读选通)
4.2超声波传感器
频率超过20000赫兹的机械波被称为超声波,其在恒定环境下的传播速度不会改变。
超声波传感器包括压电晶体(电致压缩)和镍铁铝合金(磁致伸缩)两类材料,其中一种被称为可逆传感器的超声波传感器是由压电晶体组成,能够分为接收器与发送器两种,因为它既可以将电能转变成动能从而产生超声波,同时也可以将所接收到的超声波转化成为电能。
两个压电晶片与一个共振板组成超声波传感器,当压电晶片的两极加上频率形成脉冲信号,由于压电晶片的共振带动共振板的振动而将机械能转变成电能,它被称为超声波接收器,而超声波发射器结构略微有些不一样,但是外观一致,超声波换能器功能上就是利用压电效应将电能与超声波机械能之间进行相互变换。
有的超声波传感器既作发送,也能作接收[8]。
超声波有两种形式。
一是横向振荡(称之为横波),一是纵向振荡(称之为纵波)。
纵向振荡一般用于工业中。
超声波在不同介质中的传播速度是不同的,它可以在气、液及固三态中传播。
并且还会出现反射和折射现象,在超声波传播的过程中会有衰减现象的发生。
超声波在空气中传播的时候频率比较低,大约有几十千赫兹,而在固、液体中传播时,它的频率比较高。
而且超声波在空气中传播时衰减速度比较快,在液、固体中传播时,超声波的衰减速度比较小,传播距离比较远。
我们利用超声波的这种特性,可以制成各种超声波测量装置,并广泛应用于通迅、医疗家电等各方面。
超声波模块是由发送传感器、接收传感器、控制部分与电源部分等构成。
超声波传感器主要由如下四个部分构成:
发送器:
通过振子振动生成超声波和发射。
接收器:
接收器的振子通过与发送的超声波频率匹配后,将声音信号转换成电信号。
控制部分:
通过用集成电路来检测是否发送或接收到超声波和超声波的大小。
电源部分:
采用的是+5V的直流电源[9]。
4.31602显示器
1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样。
1062液晶显示屏引脚表4.3.1和寄存器选择控制表4.3.2如下。
表4.3.11602液晶显示屏引脚表
引脚
符号
功能说明
1
VSS
一般接地
2
VDD
接电源(+5V)
3
V0
液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。
4
RS
RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。
5
R/W
R/W为读写信号线,高电平
(1)时进行读操作,低电平(0)时进行写操作。
6
E
E(或EN)端为使能(enable)端,
写操作时,下降沿使能。
读操作时,E高电平有效
7
DB0
低4位三态、双向数据总线0位(最低位)
8
DB1
低4位三态、双向数据总线1位
9
DB2
低4位三态、双向数据总线2位
DB3
低4位三态、双向数据总线3位
11
DB4
高4位三态、双向数据总线4位
12
DB5
高4位三态、双向数据总线5位
13
DB6
高4位三态、双向数据总线6位
14
DB7
高4位三态、双向数据总线7位(最高位)(也是busyflag)
15
BLA
背光电源正极
16
BLK
背光电源负极
表4.3.2寄存器选择控制表
操作说明
写入指令寄存器(清除屏等)
读busyflag(DB7),以及读取位址计数器(DB0~DB6)值
写入数据寄存器(显示各字型等)
从数据寄存器读取数据
5硬件电路设计
5.1STC89C51最小系统
在该设计的超声波系统中,控制核心是STC89C51单片机,该最小系统由复位电路、晶振电路、STC89C51等构成,它用来控制周围的各个外围器件,例如STC89C51最小系统控制超声波模块和显示模块能进行正常的工作。
STC89C51最小系统的正确是整个设计的保障。
STC89C51最小系统原理路如下图5.1所示。
5.2超声波模块
超声波模块是该设计中的唯一一款传感器,该模块利用超声波的来检测距离,目前它的有效测量距离可以达到10米,精确度也可以达到1cm。
该模块有四个管脚,分别为VCC,GND,ECHO,TRIG。
它是集成好的模块,这四个管脚可以直接与单片机相连来进行测量距离,是一款非常方便、精确的测距模块。
超声波模块图如图5.2所示[10]。
图5.2超声波模块图
5.3显示电路
系统的显示电路利用1602液晶显示屏来完成,可以直接与单片机的P0口连接。
利用MCU来控制1602液晶显示屏。
具体与单片机连接图如5.4所示[11]。
图5.41602液晶屏与单片机连接图
6软件设计
6.1主程序流程
在实现较复杂的算法时,我们一般采用C语言程序,因为它的汇编语言程序具有更高的效率,而且在计算程序的运行时间时精度更高。
但是超声波测距仪的程序不仅有复杂的计算也有较为简单的计算。
因此我们可采用C语言和汇编语言来对控制程序进行混合编程[12]。
此设计采用的模块化设计方法有主程序、超声波发生子程序、超声波接收中断子程序、显示子程序、距离计算子程序等模块组成。
将主程序对所有单片机系统进行初始化之后,第一步将超声波的回波接收标志位置位,然后使单片机P1.0这个端口输送一个低电平从而启动超声波的发射电路,于此同时将定时器T0启动,然后开始调用距离计算的子程序。
我们根据T0定时器上的记录来记住时间差,之后再调用显示子程序,把测出的距离送到液晶屏上显示,最后回波信号被主程序接收。
通过看标志位是否清零来看是否接收到回波信号。
如果清零,就说明回波信号被接收,这时主程序就会返回到初始端,并重新对回波信号进行标志位置位。
最后在单片机的P0.1这个端口上发送低电平到超声波的发射电路上。
就这样进行循环工作,最终实现距离的测量。
对距离的测量是整个系统设计的关键,通过单片机来处理测量数据是相对容易的,还能精确测距。
在测距过程中,超声波的余波信号对测距的精确度干扰影响是比较大的。
超声波会接收到两种波信号:
第一种波信号是余波信号,当发射探头发射出超声波信号之后,超声波接收探头立刻就接收到的超声波信号,即超声波的发射信号;
另一种波信号是有效的信号,也就是超声波经过障碍物表面反射回来的回波信号,它也是我们所需要测量的距离数值。
超声波测距所需要测量的时间,也就是从超声波发射电路发射出超声波信号开始到接收到信号的时间间隔,然后通过这个时间间隔计算出所需要测量的距离,反射物体反射的回波信号是我们需要测量的信号,所以应该尽量减少检测时候检测到余波信号。
所谓余波也就是在发射超声波时,超声波信号直接到达接受探头的波信号[13]。
当超声波接收电路接收到超声波的回波后。
通过电路对这个回拨进行检波整形比较,然后向单片机发出一个有效信号,单片机是通过外部中断来改变记录回波信号的到达时间,一旦中断发生,此时表示已经接收到了回波信号,计时器在这个时候停止计时,单片机读取计数器中的数值,此数值就是我们需要测量的超声波往返的距离[14]。
程序中对测距距离的计算方法是按S=17×
N/1000=0.017×
N(cm)进行计算的,其中N为计数器的值,声速的值取为340m/s。
于是我们综合分析可以得到下面的程序主流程图,系统主程序的流程图如图6.1。
图6.1系统程序图
6.2误差及特性分析
由于超声波特性的决定,在距离测量时需要满足一定条件:
一是被测目标与超声波测距仪应保持垂直状态。
二是被测目标的表面应该是平坦的。
三是在测量时超声波测距仪周围不能有可反射超声波的其他物体。
所以在测量过程中一不小心就可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 超声波 测距 系统 设计