超声波测距系统设计.docx
- 文档编号:30171840
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:41
- 大小:209.17KB
超声波测距系统设计.docx
《超声波测距系统设计.docx》由会员分享,可在线阅读,更多相关《超声波测距系统设计.docx(41页珍藏版)》请在冰豆网上搜索。
超声波测距系统设计
超声波测距系统设计
摘要:
本次超声波测距器由单片机计时及控制电路、超声波发射电路,超声波检测接收电路、温度时时检测电路、报警警示电路、显示电路等部分组成,采用AT89C51单片机作为计时主控制器,用TCT40—16T作超声波的发射器,用TCT40—16R作超声波的接收器,在接收电路的处理模块采用的是专业的超声波测距处理软件TL852,显示电路采用了74LS244为处理芯片。
测距以硬件为基础,软件为核心,整体电路结构简单,成本低廉,操作方便,工作稳定,测量精度达到要求。
其设计思路也可以应用于智能安全系统。
可在工业控制中得到很好运用。
关键词:
超声波测距单片机控制
引言
在日常生产生活中,很多场合如汽车倒车、机器人避障、工业测井、水库液位测量等需要自动进行非接触测距。
超声波是指频率大于20kHz小于40KHz的在弹性介质中产生的机械震荡波,其具有指向性强、能量消耗缓慢、传播距离相对较远等特点,因此常被用于非接触测距。
由于超声波对光线、色彩和电磁场不敏感,因此超声波测距对环境有较好的适应能力,此外超声波测量在实时、精度、价格也能得到很好的折衷。
基于此,本文设计中尝试使用AT89C51来实现超声波的测量,并结合各外围电路,完成温度补偿,时时报警,距离显示,共同构成超声波测距系统。
1概况及现状分析
随着我国经济能力的增长,科学技术正在突飞猛进的发展,经济推动科技进步,科技反过来对经济有促进作用。
的确,国民经济离不开科技基础,在万事日新月异的今天,科技对我们的生活起着举足轻重的作用。
人类了解声波的时间并不长,对超声波这一耳不能闻的物质的了解更是近代历史才涉足。
如同人类知道可见光只占整个光世界的一部分一样,人耳能听见的声音只占整个声波世界的一部分,人类感官能直接感觉到得,对它的认识就要多,而不为感官所感觉的就要认识的少,可是恰恰是这不为人类所认识的部分,却为我们的世界带来了不小的改变。
声和光是我们认识世界的最直接的感觉,现行很多科学技术都是以声和光为手段完成的。
今天,我所完成的系统设计就是以超声波为媒介,来完成物体之间距离的测量。
说道测距,时至今日方法数不胜数,有电阻抗测量方式、光强测量方式以及原始的机械计数测量,它们各有特点,应用在不同的领域,共同为我们的生活带来便捷。
超声波测距最主要的是利用声波的强反射性,与光和点的测量不同,它单一、结构简单,无需配备附属的器件。
电测量利用电阻抗的相对变化,多数需要成对的器件来引起阻抗的变化;光测量多需要感光物质,虽然它测量精度极高,但器件精细贵重,不易普遍采用。
超声波测距只需将探测头对准物体,测量简单方便,适用在精度要求不高的场合。
随着技术手段的不断提升,软硬件的发展,目前,超声波测量精度已经非常准确,完全达到日常生产生活的要求,因此,其利用范围正在逐步扩大,受重视程度正在逐步提高。
1.1概况
超声波测距是利用人耳不可闻的高频声波进行距离测量,由于人耳不可闻,且不会对人的健康产生危害,因此,它得以用在很多对环境要求严格的地方。
超声波测量的原理极为简单,通过超声波探头,过向物体发射超声波,利用声波的高反射性,将发射的声波接收,对比发射和接收的时间差,再根据人们对声速的已知性,就可以得出物体和测量探头的距离。
1.2现状分析
由于超声波是高频波,不能被人耳所听,因此它得以用在对环境条件要求严格的地方。
目前所知,超声波应用较多的领域是医学和军事国防,这些运用都是声波反射的原理。
在医学上,常通过超声波对人体内部进行病理检测,通过接收反射回来的声波,处理后就可以很直观的发现体内特征,这有我们熟知的B超检测。
军事上的运用,就是声纳了,通过对声音的利用,可以完成眼睛光线达不到的探测,用在士兵的便携武器上,可以成为夜间作战系统的一部分,用在潜艇上,可以进行深海探测,探明海底区域,以及搜索敌方舰只。
现在的电子技术,越加完善和重要,科技发展使得汽车走进千家万户,现在汽车上广泛使用的倒车雷达,其实也就是超声波避障的缩影,可见,超声波测距正以其优越的性能改变着我们的生活。
我相信,伴随科技的进步,超声波避障和测距技术会越发凸显其重要性,必将获得人们的重视。
2总体设计
本设计采用单片机为主控,力求测量、检测、显示、报警于一体,避障系统要求结构简单、便于操作、成本低廉、适用范围广泛。
2.1总体设计要求
1、能应用于汽车的倒车,工业工作中的无人小车避障控制;
2、显示模块采用LED数码管,能清晰稳定的显示测量结果;
3、测量需达到一定的精度需求,且工作量程能较大满足现实需求;
4、能容易和其他测量结合成为更完善的测量系统,且系统本身可以进行二次开发,以实现测距、实体内部探测等工作要求[2]。
2.2总体设计思路
在本次设计中,我以51单片机为主控芯片,各部分功能用外部电路来完成,这其中包括了电源电路、报警电路、温度电路,声波发射电路、声波接收电路以及用于显示的显示电路,各部的关系如图2—1所示:
电源电路发射电路
报警电路发射探头
AT89C51
温度测量电路测量探头
显示电路接收电路
图2—1设计思路框图
电源电路为单片机提供电源,在实物测量过程中,我们用电脑的USB接口为电路板提供电源,它供电稳定,电路板在最初就考虑用USB为其供电。
报警电路用于警示,在设定距离内时,启动报警。
温度电路考虑的是温度因素对声速的影响,以提高测量精度要求。
显示电路将测量距离时时动态的输出到显示器上,以便观察。
发射和接收电路主要用于超声波的接收和发射[3]。
且各部工作流程如图2—2所示:
开始
单片机
发射电路工作
温度监测
接收引脚扫描
有回波时
接收完成
显示数据报警
图2—2各部工作流程为
3硬件电路
3.1发射电路
3.1.1声波的介绍
声波是一种能在气体、液体和固体中传播的机械波。
根据振动频率的不同,可分为次声波、声波、超声波和微波等[5]。
其频率的界限如图3—1所示。
次声波声波超声波微波
单位:
图3—1声波的频率界限
超声波:
高于
的机械波。
3.1.2物质的声学特性
声波在介质中的传播速度取决于介质的密度和弹性特性,而且温度的变化对声速的影响非常明显,温度对声速的影响见表3—1。
表3—1声速与温度的关系
温度
-30
-20
-10
0
10
20
30
100
速度
313
319
325
333
338
344
349
386
表中的数据得知,温度的升高使得声速变大,且变化明显可见,因此在设计中不得不考虑温度对声音的影响。
物质对声音具有阻抗特性,我们称这种阻抗特性为声阻抗特性,声音在传播中会衰减,就是物质阻抗的作用引起的。
不同的物质对声音的阻抗作用是不同的,两种物质的声阻抗特性差越大,则声波的反射强度愈大,例如,气体与金属材料的声阻抗特性之比,接近1:
80000,所以当声波垂直入射在空气和金属的界面上时,几乎是百分之百地被反射,这种强烈的反射现象不仅仅出现在空气和金属中,只要介质中存在不同的声阻抗特性物质,运用灵敏度很高的测试仪器就能检测出来,这也正是我们运用声波进行工程工作的基础。
基于此,人类开发出了很多利用声波探测的技术,如军事中潜艇的声呐探测,医学中B超检查,汽车上的倒车雷达等等。
超声波由于其频率高、波长短、绕射现象小,特别是方向性好、能够成为射线而定向传播等优点而被广泛运用[6]。
由于施力的方向和传播方向的不同,声波的波形也有所不同,通常有纵波、横波、表面波。
实际运用中,由于振动的复杂和变化,波形不定,这里我们也不深入探究。
物理学中把波作为能量的载体,超声波同样一种能量的载体,在介质中传播时,由于阻抗特性和距离的影响,能量逐渐衰减。
3.1.3超声波测距原理
声阻抗特性决定了当声波遇到两种声阻抗特性不同的物质是会发生反射现象,如果我们能知道当时的声速和声音来回往返的时间,我们就能轻易求出声波源和介质间的距离。
参看图3—2所示。
声波测量示意图
发射源障碍物
图3—2
利用渡越时间法TOF(timeofflight),有:
其中
是当时的声速,
声波来回的时间。
这是我们得以利用声波测距的基础,但是前文中提到,声速受温度的影响是明显的,在精确的测量中,温度的因素不得不考虑进去,理论精确的空气声波速度为:
其中
,
为绝对温度(单位:
开尔文
)。
在测量精度不高的时候,人们多用
来进行计算[7]。
考虑本设计中我们对精度的要求,将对温度进行考虑,运用专业的传感器及时测量反馈温度信息,后篇将逐一介绍。
3.1.3超声波传感器的原理及本次设计中传感器的选择
传感器是能够感受规定的被测量、并按照一定的规律转换成可以用于输出信号的器件或者装置。
既然要利用超声波测量,就需要产生超声波,通常把产生超声波的装置叫超声波发生器。
超声波是一种机械波,那产生这种机械波的方式就有很多种,常用有两大类:
一类是电气方式产生超声波,一类是机械方式产生超声波,电气方式中又包括机压电型、磁致型和电动型等,机械方式中包括加尔统笛、液哨和气流旋笛等,它们因产生的超声波的频率、功率和声波特性的不同,而有不同的用途。
实际运用较多的是压电式超声波传感器,应为其体积小、重量轻、灵敏度较高、用电路容易实现和控制。
无论作为何种传感器实际他们都是一种换能装置,将机械能或电能换成声波能量。
以声波为检测手段,包括有超声波的产生发射装置,另外还必须有接收超声波的装置,接收器将声波接收并换成电信号,用于输出。
其实在整个环节中,接收器和接收电路所起的作用是很重要的。
本次设计我们用的是压电式超声波传感器,为此我们需了解压电式传感器的原理。
压电式超声波传感器主要由超声波发射器(发射探头)和超声波接收器(接收探头)两部分组成。
它们都是利用压电材料(如石英、压电陶瓷等)的压电效应工作的。
对于发射探头,利用逆压电效应将高频电脉冲换成高频机械振动,产生超声波,以此作为超声波的发射器。
压电式超声波传感器的结构如图3—3所示。
2
1
3
4
图3—3(a)超声波发射器
1导线2压电晶片
3音膜4锥形罩
2
1
3
4
图3—3(b)超声波接收器
1导线2弹簧
3压电晶片4锥形罩
本次设计综合各方面的因素考虑,决定采用运用较为广泛的TCT40—16T作为超声波发射探头,采用TCT40—16R作为超声波的接受探头,TCT40—16T/R具有抗温度、湿度的能力,环境的温度湿度变化对其性能影响不大,能在极其恶劣的条件下较为稳定工作,而且TCT40—16T/R具有很好的抗撞击、振动的能力。
基于此,TCT40—16T/R广泛的运用在利用超声波工作的各个场合,如超声波遥控装置、超声波探距、液体探测和超声波接近开关等等。
TCT40—16T/R是压电陶瓷式通用性容性传感器[9],具有电容的一般性质,工作频率为
,这一频率是目前国内超声波运用较广的,很多企业在设计生产时,都参照这一频率生产元器件。
利用TCT40—16T发射超声波时,将产生束角波,有明显的指向性,其分析如图3—4所示。
图3—4TCT40—16T/R的指向性
利用TCT40—16T发射超声波时,由于单片机电路提供的功率是有限的,所以需要用推挽式电路对功率进行放大处理,使其能很好的工作,整个发射电路由推挽电路和TCT40—16T发射探头组成,同理对于接收电路也是一样,实际被接收探头收到的超声波是外部复杂声波的叠加,包含很多干扰信号,而且接收的信号并不强烈,所以如果运用调谐电路接收同频率信号,效果会好转,此外还必须对信号进行滤波,整合,放大,这样送入单片机的信号就比较容易处理。
发射电路和接收电路在后面介绍。
3.2单片机的选择
3.2.1单片机介绍
本次设计的处理器,我采用了目前应用较多的51系列单片机AT89C51单片机[4],AT89C51的优势在于片内有Flash存储器,它继承了MCS—51的原有功能,能和其他一些AT89系列单片机兼容。
AT89C51单片机内部结构及主要性能特点:
40个引脚,双列直插式封装;有4个8位I/O借口,有全双工增强型UART,可编程串行通信;2个16位定时/计时器;5个中断源,2个中断优先级;有片内时钟振荡器(全静态工作方式,0—24MHz);有128字节内部ROM,4KBFlashROM(可以擦出1000次以上,数据保存10年);电源控制模式灵活(时钟可停止和恢复,空闲模式,掉电模式)。
另外,其程序的下载简单,生成程序简单,应用C语言完成编写,然后可以用Keil编译,相当便捷。
现在将C51单片机的个引脚功能标注如图3—5所示:
图3—5单片机引脚功能
3.2.2AT89C51的基本电路
AT89C51单片机要正常工作,必须有基本电路,包括晶振电路,复位电路。
1、晶振电路
单片机的时钟信号通常有两种产生方式:
一是内部时钟方式,二是外部时钟方式。
内部时钟方式是利用单片机内部的晶振电路产生时钟信号。
外部时钟方式是把外部已有的时钟信号导入到单片机内。
本设计采用内部时钟方式,它的特点是,无需外接晶振电路,降低了电路结构的复杂性,其电路如图3—6所示:
图3—6晶振电路
在单片机的XTAL1和XTAL2引脚外接石英晶体(简称晶振),作为单片机的内部震荡电路的负载,构成自激振荡器,可在单片机内部产生时钟脉冲信号。
两个电容C1、C2的作用是稳定震荡频率和快速起振。
根据经典电路选择参数,本电路选用晶振12MHz,C1=C2=30pF,其中晶振周期为最小时序单位。
2、复位电路
复位是使单片机处于某种确定的初始状态。
单片机工作从复位开始。
在单片机RST引脚引入高电平并保持2个时钟周期,单片机就执行复位操作。
复位操作有两种基本方式:
一种是上电复位,另一种是上电于按键均有效的复位。
本设计采用后一种复位电路,电路如图3—7所示:
图3—7复位电路
开机瞬间RST获得高电平,随着电容的充电,RST引脚的高电平将逐渐下降。
若该高电平能够保持足够2个机器周期,就可以实现复位操作。
根据经典电路选择参数,C=10uF,R=10k。
3、AT89C51定时计数应用电路
AT89C51单片机内集成有两个可编程的定时/计数器T0和T1,它们既可以工作于定时模式,也可以工作于外部事件计数模式,本设计采用定时计数器T0,根据需要,让其工作于方式1,方式1的计数位数是16位,由TL0作为低8位,TH0作为高8位,组成16位加1计数器,其初值在65535—0范围,计数范围为1—65535,详细应用可在程序看出。
3.3温度处理模块
为满足精度要求,在整个设计中,我们考虑温度的影响。
温度传感器种类众多,在高精度,高可靠性的场合,由DALLAS公司生产的DS18B20将作为首选[8],它体积小、功率小、抗干扰能力强,DS18B20精度高,能精确到
的测量精度,而且响应时间短,
的工作周期,保证了及时性,DS18B20还具有全数字转化输出,先进的但数据总线通信,测量范围广,在
都能工作的优点。
本设计采用DS18B20作为温度处理模块,其电路连接如图3—8所示:
图3—8温度模块电路图
在考虑温度因素后,不采用前面的公式,因为DS18B20输出的是摄氏度的数据,而采用以下的公式进行换算处理:
3.4报警电路处理模块
依靠超声波测量距离之后,由MCU处理,由于是避障系统,当距离达到或小于某一数值时,希望能被报警,引起警戒,所以设计中加入了报警系统,它由单片机控制蜂鸣器来工作。
我们设定
为警戒报警值,当
时,单片机一引脚导通,经三极管对信号放大,蜂鸣器响起,其电路图如图3—9所示:
图3—9蜂鸣报警电路
3.5发射电路处理模块
超声波的信号脉冲源由单片机产生,从程序中可以看出。
在本次设计中,我使用的是AT89C51单片机,在设计之初,我查阅过资料,得知在超声波的发收过程中,包括MCU模块,都有专门的专业芯片,这些芯片因其针对性强,处理特定的信号显得有优势,可由于条件的限制,无从获取,可这些都完全可以用51系列单片机来完成。
在发射电路中,采用有三极管的放大、变压器处理,信号最终传递给发射探头,其电路图如图3—10所示[10]:
图3—10发射电路模块
本设计电路原理图由proteus画写,proteus除了作设计用外,还可以进行仿真分析,设计之初我就考虑对电路进行仿真分析,以验证正确与否。
采用上图同时可以进行仿真,图中将各处标注字母,如图,C点是信号的输入,它接收单片机的脉冲信号。
E处接高电平。
仿真时,由于没有探头器件,无法构成完整电路,且探头的信号也无从拾取检测。
我们知道,超声波探头是通过脉冲信号引起金属片振动发射声波的,就是说,只要A、D两点有脉冲信号,就可以实现发射,为检测脉冲信号,我们采用示波器检测。
用示波器检测信号时,将A或D接地,此检测时将D接地。
在proteus的示波器中,采用的是四踪示波器,即可对四路不同信号同屏显示,为了便于对比,我们将B、C处的信号也送入示波器,对比显示。
实验时E点接入高电平,拟定5V,示波器显示如图3—11所示:
A点信号
B点信号
C点信号
图3—10电路A、B、C三点信号分析
图3—11的显示中可以看出A点的信号被放大了,信号未显示为方波,是因为变压器的电感影响。
图3—10拟定的是5V电压,即E点的电平值为5V,如果拟定3V,则如图3—12所示:
图3—12E点电压变化影响
从图中知道,3V时,A、B幅值有所降低,因为E点加入的电平高于C点,当E点的值变化时,将影响A点的值,从这点可以看出,通过控制E点的电压,能够影响发射端的强弱,我们会根据不同的运用场合,变化E点的值,达到不同的效果[11]。
3.6接受电路处理模块
在接收处理模块中,我使用了专用的超声波处理芯片,它有对信号进行反馈的功能,在要求精度的情况下,采用专用的TL852芯片能更好的满足测量要求,另外采用专用的芯片还有一个好处,我们知道生活当中处处是声波源,不同的声波源以不同的频率发出声波,并向四面八方传播,接收器是高灵敏度的器件,它会接收任何一个声波源的声波而无法区分,很多的信号都被接收,然后都要输出,如果用一般的芯片,几乎很难完成这项工作,TL852在设定中,就是处理超声波的,它对超声波的频段进行检测、处理,为了更好的过滤其他声波源的干扰,我在接收波时采了谐振电路,如果设定对发射频段产生共振,将大大的提高接收效果,接收电路如图3—13所示:
图3—13接收电路模块
上述电路图只是对信号的处理,程序设定中,单片机是要接收中断信号的,单片机扫描一引脚,无信号时,计时不中断,当信号过来时,计时停止。
但TL852处理的信号是不能被单片机扫描接收的,所以还有一个信号处理电路[12],它是为了将TL852的输出转换为单片机需要的中断信号,U4A构成了一级同向跟随器,是为了隔离后级对C41积分电路的影响。
U4B构成一个比较器。
其电路如图3—14所示:
图3—14信号处理模块
3.7显示电路处理模块
在测距完成一次后,我们希望能将结果输出,以便进行记录,或其他处理用。
此次设计中,由于器件的功率和其条件的限制,不可能完成远距离的测量,我在设计时决定采用三位完成显示,其实三位完全可以满足显示要求。
显示器采用共阳极二极管。
显示的处理芯片为74LS244,它作为显示处理芯片而被广泛运用,它主要用于三态输出,作为地址驱动器,时钟驱动器和总线驱动器,定向发送器等。
共阳极显示数码管:
共阳极数码管是由a、b、c、d、e、f、g七个LED组成,通过使不同的LED发光显示,组合达到显示字母和数据的效果。
一般LED额定电压为直流2.7V,实际供电电压要比这大,为此需要连接电阻降压,而且可以通过改变电阻的大小,达到调节LED等显示的明亮程度[1]。
其工作原理图如图3—15所示:
图3—15LED显示原理
有了显示处理模块,二极显示管就可以从单片机引脚接出显示电路,电路如图3—16所示:
图3—16显示电路模块
仿真电路用三位显示,采用的是共阳极二极管,接通电路,仿真是如图3—17:
图3—17显示电路
之所以会八根管路全通是因为单片机此时没有获得中断信号,连接单片机的线路也未获取来之芯片的显示数据,只要单片机被信号中断,计时停止,有芯片处理后,就可以显示数据了。
3.8整体电路连接图
整体设计思路构建后,可以很快设计出各个部件的电路,然后得出整体设计电路,如图3—18所示:
图3—18整体设计电路
4软件设计
超声波测距避障的软件主要由主程序,超声波发生子程序,超声波接收中断程序以及显示子程序组成。
C语言程序有利于实现较复杂的算法,程序编写简单,易于理解,修改等。
本系统的程序要求实现复杂算法,所以控制程序采用C语言编写。
但C不能作为机器语言,要想实现单片机的控制,必须能让单片机识别并工作,所以C语言编写完成后,还要进行编译,通过Keil软件创建工程,就可以实现。
主程序的功能包括系统环境初始化,设置定时器工作模式,调用超声波发生子程序,等待反射超声波,计算距离,并重复以上过程。
主程序的流程图如图4—1:
开始
系统初始化
反射超声波脉冲
等待反射超声波
计算距离
重复
显示结果
图4—1主程序流程图
4.1发射程序
发射子程序由主要是由程序控制单片机的引脚P1.0发射脉冲方波,程序Trig=P1^0,sbitTrig=P1^0,定义P1.0引脚,产生信号,且系统时钟为1/8晶振,晶振=8M,Trig=1,delay_20us(),Trig=0,产生一个20us的脉冲,在Trig引脚。
发射程序的流程图为如图4—2所示:
定时器初始化
发射声波
N
发射完否?
Y
停止发射
返回
图4—2
延时函数voiddelay_20us()的函数如下:
voiddelay_20us()
{ucharbt;
for(bt=0;bt<100;bt++);
}
4.2接收程序
接收程序是通过引脚扫描,获取中断信号,完成一次程序过程,Echo=P3^2,sbitEcho=P3^2,定义P3.2为接收引脚。
接收是为了中断计时,其流程如图4—3所示:
外部中断入口
关闭中断
读取时间
计算距离
输出计算
打开中断
返回
图4—3
以下是中断子程序:
外部中断0,用做判断回波电平
INTO_()interrupt0//外部中断是0号
{
outcomeH=TH1;//取出定时器的值
outcomeL=TL1;//取出定时器的值
succeed_flag=1;//至成功测量的标志
EX0=0;//关闭外部中断
}
定时器1中断,用做超声波测距计时
timer1()interrupt3//定时器0中断是1号
{
TH1=0;
TL1=0;
}
4.3显示程序
显示是靠共极性二极管来工作的,这里必须说明,我在设计之初,采用的共阳极二极管显示,可是后来实体仿真实验时发现,电路主板上采用的是共阴极二极管,可这只影响程序的部分显示语言编写,在此我仍以我的设计为主,至于实体部分,修改程序即可解决问题。
以下是共阳极二极管的C编写:
ucharcodeSEG7[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90},实现0~9的数字显示输出,如果采用共阴极可将代码取反,即为:
ucharc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 超声波 测距 系统 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)