基于单片机的超声波测距系统设计.docx
- 文档编号:23613240
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:28
- 大小:382.40KB
基于单片机的超声波测距系统设计.docx
《基于单片机的超声波测距系统设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的超声波测距系统设计.docx(28页珍藏版)》请在冰豆网上搜索。
基于单片机的超声波测距系统设计
基于单片机的超声波测距系统设计
毕业设计
论文题目基于单片机的超声波测距系统
学生姓名钱巍
学号1110064008
所在院系物理与电信工程学院
专业电子信息科学与技术
班级电信1101
指导教师周平和
2015年6月
基于单片机的超声波测距系统
钱巍
(陕西理工学院物电学院电子信息科学与技术专业1101班级,陕西汉中723000)
指导教师:
周平和
[摘要]STC89C52是常见的的一款STC系列单片机,被广泛应用,它的作用在自动控制领域里得到了很好的体现。
本次设计主要是利用STC89C52单片机、超声波传感器完成测距系统的制作,以STC89C52为主控芯片,利用超声波对距离的检测,然后单片机处理运算,将前方物体的距离在显示器显示出来,从而实现测距。
[关键词]超声波;测距;单片机
UltrasonicdistancemeasurementsystembasedonSCM
Qianwei
(Grade11,Class1,MajorElectronicinformationscienceandtechnology,InstituteofelectricalandphysicalDept.,ShaanxiUniversityofTechnology,Hanzhong723000,Shanxi)
Tutor:
Zhoupinghe
Abstract:
STC89C52arecommoninanSTCseriesmicrocontroller,itiswidelyused,anditsroleinthefieldofautomaticcontrolhasbeenwellrepresented,ThisdesignistheuseofSTC89C52microcontroller,ultrasonicsensorscompleteproductionrangingsystemtoSTC89C52asthemainchip,theuseofultrasoundtodetectdistance,andsingle-chipprocessingoperation,thedistanceinfrontoftheobjectdisplayedinthedisplay,enablingmeasurementdistance.
Keywords:
Ultrasonic;location;MCU
引言1
1总体设计方案2
2超声波测距硬件设计2
2.1主控制模块2
2.2电源设计3
2.3超声波测试模块3
2.3.1超声波的特性4
2.3.2超声波换能器4
2.4超声波传感器原理5
2.5测距分析8
2.6时钟电路的设计9
2.7复位电路的设计9
2.8显示模块10
3超声波测距的软件设计10
3.1软件设计方法10
3.2软件系统流程介绍10
4系统误差分析及改进11
5总结12
参考文献12
附录A13
附录B14
附录C19
附录D20
引言
通过无线电来测量载机与某个物体或反射面相互间的信号传播延迟、频率、相位差从而测算出两点之间直线距离的方式叫做无线测距。
当前测算距离的方法更多的还是选用测量波在介质中传播和时间的关系。
由于传感器和单片机控制技术的不断进步,无线检测技术已经被运用到很多领域。
当前,最常见的无线测距方式有CCD探测、雷达测距、超声波测距和激光测距等等。
在此之中,CCD探测具备不需要信号发射源、使用便捷、同时得到许多的环境信息等特点,然而视觉测距需要另外的计算开支。
雷达测距具备二十四小时工作,适应于恶劣的环境中进行短距离、高精度测距的优势,不过比较容易受到电磁波的干扰。
激光能轻易穿透雨雾,不容易被干扰,而且它在方向性、单色性、亮度、测量速度方面都有不错的表现。
不过它在和前面几种测距方法相比较,超声波测距能够直接测量近距离目标,纵向分辨率好,适用范围大,方向性强,而且具由不受烟雾、光照、电磁干扰等因素影响,且覆盖面较大等优点。
现在,超声波测距已经大量运用于移动机器人的定位、液位高低的测量和躲避障碍等领域,应用前景非常好。
超声波是一种在弹性介质里的机械振荡。
它是通过和介质相接触的振荡源所产生的,它的频率都在20000Hz以上。
超声波在医疗技术、日常生活、工业生产中的应用越来越多。
超声波在介质里传播的时候在不同介面上具备反射的特点。
因为他具有指向性强、传播能量大,方向性好、传播距离较远等等特性,经常用在测量物体的厚度、距离、液位等。
超声波的传播速度与介质的密度和弹性特征相关。
它在空气里的传播速度是340m/s。
当声音的频率超出人耳听力的频率极限时,我们就不会觉察出四周声音的存在,因此称这类高频率的声为"超”声,它是属于机械波的范围。
超声波也遵从一般机械波在弹性介质中的传播规律,就比如在介质的分界面上发生反射和折射反应,在进到介质后会被介质吸收而发生衰减等。
恰是因为拥有这样的特性,让超声波可以运用在距离的测量中。
超声波测距的方法常见的有相位检测法、声波幅值检测法和渡越时间法这三种。
在这之中,相位检测法精度最高,不过检测的范围有限;声波幅值检测法容易被反射介质所影响。
所以,现在超声波测距一般都用渡越时间法。
超声波测距的工作原理是发射换能器向外面发射超声波,然后超声波就在介质里传播,碰到障碍物之后反射,产生了回波,接收换能器就接收回波。
渡越时间法就是通过检测发射超声波与接收回波之间的时间差来测算出目标物体和信号发射源之间的距离。
从技术上看,超声波测距系统从上个世纪70年代开始就已经开始实用化在上个世纪70年代末期已经广泛运用到各大领域中。
近些年来,国内的科研专家在超声波回波信号处理方法、新型超声波换能器研治、超声波发射脉冲选取等方面进行了许多理论分析和研究,并且对于超声测距中常见影响因素提出了温度补偿、接收回路串入自动增益调节环节等来增加超声波测距精度的措施。
因为超声波测距的原理简单、容易完成和成本低廉等优势,在液位测量、汽车防撞、移动机器人定位和避障、曲面仿形检测和导盲系统等方面获得了广泛的认可。
接触式液位的测量存在了很多问题,比如易渗漏、易腐蚀、不便于检修和维护等。
通过超声波测距能够完成液位的非接触式测量,解决了上面这些问题。
和其他的测位方式相比较,超声波的液位测量具备不用接触、结构简单、安装和维护便捷、性能稳定可靠等优点。
移动的机器人要装上很多种传感器来得到环境信息以确定自己的位置和躲避障碍物,当中比较普遍的传感系统是视觉系统和超声波测距系统。
超声波传感器早已被大量的用于测距传感器,并运用在机器人的定位和避障上。
由于汽车数量的飞速增长,汽车在安全和使用便捷方面的性能备受关注。
因为存在视觉的盲区,我们通常在倒车时不能看清楚车子后面的障碍物,非常容易刮伤汽车或者发生事故。
通过在车身前后方安置超声测距传感器能够准确的测量车身距障碍物间的距离,方便了驾驶员在泊车、倒车和起动车辆时前后左右探视所造成的困扰,而且让驾驶员没有了视野死角和视线模糊的不便,增强了驾驶的安全性。
1总体设计方案
本设计包括硬件和软件设计两个部分。
模块划分为数据采集、按键控制、四位数码管显示。
电路结构可划分为:
超声波传感器、单片机控制电路。
就此设计的核心模块来说,单片机就是设计的中心单元,所以此系统也是单片机应用系统的一种应用。
单片机应用系统也是有硬件和软件组成。
硬件包括单片机、输入/输出设备、以及外围应用电路等组成的系统,软件是各种工作程序的总称。
单片机应用系统的研制过程包括总体设计、硬件设计、软件设计等几个阶段。
系统采用STC89C52单片机作为核心控制单元。
STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
超声波传感器测出数据,然后单片机进行处理,从而在显示器得出最后的距离。
系统总体的设计方框图如图1.1所示。
2超声波测距硬件设计
2.1主控制模块
主控制最小系统电路如图2.1所示。
硬件电路总设计见图2.2,从以上的分析可知在本设计中要用到如下器件:
STC89C52、超声波传感器、按键、四位数码管等一些单片机外围应用电路。
其中D1为电源工作指示灯。
电路中用到2个按键,一个是电源开关键,一个复位键。
2.2电源设计
电源部分的设计采用3节5号干电池4.5V供电。
2.3超声波测试模块
超声波模块采用现成的HC-SR04超声波模块,该模块可提供2cm-400cm的非接触式距离感测功能,测距精度可达高到3mm。
模块包括超声波发射器、接收器与控制电路。
基本工作原理:
采用IO口TRIG触发测距,给至少10us的高电平信号;模块自动发送8个40kHz的方波,自动检测是否有信号返回;有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。
测试距离=(高电平时间*声速(340m/s))/2。
实物如下图2.3。
其中VCC供5V电源,GND为地线,TRIG触发控制信号输入,ECHO回响信号输出等四支线。
超声波探测模块HC-SR04使用方法如下:
I/O口触发,给Trig口至少10us的高电平,启动测量;模块自动发送8个40kHz的方波,自动检测是否有信号返回;有信号返回,通过I/O口Echo输出一个高电平,高电平持续时间就是超声波从发射到返回的时间,测试距离=(高电平时间*340)/2,单位为m。
程序中测试功能主要由两个函数完成。
实现中采用定时器0进行定时测量,8分频,TCNTT0预设值0XCE,当timer0溢出中断发生2500次时为125ms,计算公式为(单位:
ms):
T=(定时器0溢出次数*(0XFF-0XCE))/1000
其中定时器0初值计算依据分频不同而有差异。
2.3.1超声波的特性
声音是与人类生活紧密相关的一种自然现象。
当声的频率高到超过人耳听觉的频率极限(根据大量实验数据统计,取整数为20000Hz)时,人们就会觉察不出周围声的存在,因而称这种高频率的声为“超”声。
超声波的特性有:
1)束射特性由于超声波的波长短,超声波射线可以和光线一样,能够反射、折射,也能聚焦,而且遵守几何光学上的所有定律。
即超声波射线从一种物质表面反射时,入射角等于反射角,当射线透过一种物质进入另一种密度不同的物质时就会产生折射现象,也就是要改变它的传播方向,两种物质的密度差别愈大,则折射率也愈大。
2)吸收特性声波在各种介质中传播时,随着传播距离的增加,其强度会逐渐减弱,这是因为介质要吸收掉它的部分能量。
对于同一介质,声波的频率越高,介质吸收就越强。
对于一个频率一定的声波,在气体中传播时吸收尤为历害,在液体中传播时吸收就比较弱,在固体中传播时吸收是最小的。
3)超声波的能量传递特性超声波之所以能在各个工业部门中得到广泛的应用,主要原因还在于比声波具有强大得多的功率。
为什么有这么强大的功率呢?
因为当声波进入某一介质中时,由于声波的作用使物质中的分子也随之振动,振动的频率和声波频率—样,分子振动的频率决定了分子振动的速度。
频率愈高速度愈大。
物资分子由于振动所获得的能量除了与分子本身的质量有关外,主要是由分子的振动速度的平方决定的,所以如果声波的频率愈高,也就是物质分子愈能得到更高的能量。
超声波的频率比普通声波要高出很多,所以它可以使物质分子获得很大的能量,换句话来说,超声波本身就可以供给物质分子足够大的功率。
4)超声波的声压特性当声波进入某物体时,由于声波振动使物质分子相互之间产生压缩和稀疏的作用,将使物质所受的压力产生变化。
由于声波振动引起附加压力现象叫声压作用。
2.3.2超声波换能器
完成产生超声波和接收超声波这种功能的装置就是超声波传感器,习惯上称为超声换能器,或者超声波探头。
超声波探头主要由压电晶片组成,既可以发射超声波,也可以接收超声波。
小功率超声探头多用作探测方面。
它有许多不同的结构,可分直探头(纵波)、斜探头(横波)、表面波探头(表面波)、兰姆波探头(兰姆波)、双探头(一个探头反射、一个探头接收)等。
超声探头的核心是其塑料外套或者金属外套中的一块压电晶片。
构成晶片的材料可以有许多种。
由于晶片的大小,如直径和厚度也各不相同,因此每个探头的性能都是不同的,我们使用前必须预先了解清楚该探头的性能参数。
超声波传感器的主要性能指标包括:
1)工作频率工作频率就是压电晶片的共振频率。
当加到它两端的交流电压的频率和晶片的共振频率相等时,输出的能量最大,灵敏度也最高。
2)工作温度由于压电材料的居里点一般比较高,特别时诊断用超声波探头使用功率较小,所以工作温度比较低,可以长时间地工作而不失效。
医疗用的超声探头的温度比较高,需要单独的制冷设备。
3)灵敏度主要取决于制造晶片本身。
机电耦合系数大,灵敏度高。
人类能听到的声音频率范围为:
20Hz~20kHz,即为可听声波,超出此频率范围的声音,即20Hz以下频率的声音称为低频声波,20kHz以上频率的声音称为超声波。
超声波为直线传播方式,频率越高,绕射能力越弱,但反射能力越强。
为此,利用超声波的这种性能就可制成超声波传感器。
另外,超声波在空气中的传播速度较慢,为340m/s,这就使得超声波传感器使用变得非常简便。
我们选用压电式超声波传感器。
它的探头常用材料是压电晶体和压电陶瓷,是利用压电材料的压电效应来进行工作的。
逆压电效应将高频电振动转换成高频机械振动,从而产生超声波,可作为发射探头;而利用正压电效应,将超声振动波转换成电信号,可作为接收探头。
为了研究和利用超声波,人们已经设计和制成了许多种超声波发生器。
总体上讲,超声波发生器大体可以分为两大类:
一类是用电气方式产生超声波,一类是用机械方式产生超声波。
电气方式包括压电型、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。
它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。
目前较为常用的是压电式超声波发生器。
压电式超声波发生器实际上是利用压电晶体的谐振来工作的。
超声波发生器内部结构如图所示,它有两个压电晶片和一个共振板。
当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。
反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。
如图2.4所示
2.4超声波传感器原理
市面上常见的超声波传感器多为开放型,一个复合式振动器被灵活地固定在底座上。
该复合式振动器是由谐振器以及一个金属片和一个压电陶瓷片组成的双压电晶片元件振动器。
谐振器呈喇叭形,目的是能有效地辐射由于振动而产生的超声波,并且可以有效地使超声波聚集在振动器的中央部位。
当电压作用于压电陶瓷时,就会随电压和频率的变化产生机械变形。
另一方面,当振动压电陶瓷时,则会产生一个电荷。
利用这一原理,当给由两片压电陶瓷或一片压电陶瓷和一个金属片构成的振动器,所谓叫双压电晶片元件,施加一个电信号时,就会因弯曲振动发射出超声波。
相反,当向双压电晶片元件施加超声振动时,就会产生一个电信号。
基于以上作用,便可以将压电陶瓷用作超声波传感器。
超声波是一种在弹性介质中的机械振荡,其频率超过20KHz,分横向振荡和纵向振荡两种,超声波可以在气体、液体及固体中传播,其传播速度不同。
它有折射和反射现象,且在传播过程中有衰减。
超声波的基本特性如下所述:
1)波长波的传播速度是用频率乘以波长来表示。
电磁波的传播速度是3×108m/s,而声波在空气中的传播速度很慢,约为344m/s(20℃时)。
在这种比较低的传播速度下,波长很短,这就意味着可以获得较高的距离和方向分辨率。
正是由于这种较高的分辨率特性,才使我们有可能在进行测量时获得很高的精确度。
2)反射要探测某个物体是否存在,超声波就能够在该物体上得到反射。
由于金属、木材、混凝土、玻璃、橡胶和纸等可以反射近乎100%的超声波,因此我们可以很容易地发现这些物体。
由于布、棉花、绒毛等可以吸收超声波,因此很难利用超声波探测到它们。
同时,由于不规则反射,通常可能很难探测到凹凸表面以及斜坡表面的物体,这些因素决定了超声波的理想测试环境是在空旷的场所,并且测试物体必须反射超声波。
3)温度效应声波传播的速度“c”可以用下列公式表示。
C=331.5+0.607t(m/s)式中,t=温度(℃)也就是说,声音传播速度随周围温度的变化而有所不同。
因此,要精确的测量与某个物体之间的距离时,始终检查周围温度是十分必要的,尤其冬季室内外温差较大,对超声波测距的精度影响很大,此时可用18B20作温度补偿来减小温度变化所带来的测量误差,考虑到本设计的测试环境是在室内,而且超声波主要是用于测距功能,对测量精度要求不高,所以关于温度效应对系统的影响问题在这里不做深入的探讨。
4)衰减传播到空气中的超声波强度随距离的变化成比例地减弱,这是因为衍射现象所导致的在球形表面上的扩散损失,也是因为介质吸收能量产生的吸收损失。
如图2.5所示,超声波的频率越高,衰减率就越高,超声波的传播距离也就越短,由此可见超声波的衰减特性直接影响了超声波传感器有效距离。
5)声压特性声压级SPL是表示音量的单位,利用下列公式予以表示。
SPL=20logP/Pre(dB)式中,“P”为有效声压(μbar),“Pre”为参考声压(2×10-4μbar)如图2.6所示为几种常用超声波传感器的声压图。
6)灵敏度特性灵敏度是表示声音接收级的单位,使用下列公式予以表示
灵敏度=20logE/P(dB)式中,“E”为所产生的电压(Vrms),“P”为输入声压(μbar)。
超声波传感器的灵敏度直接影响着系统测距范围,如图2.7所示为几种中常见超声波传感器的灵敏度图,从图中可以发现40KHz时传感器的声压级最高,也就是说40kHz时所对应的灵敏度最高。
7)辐射特性把超声波传感器安装在台面上。
然后,测量角度与声压(灵敏度)之间的关系。
为了准确地表达辐射,与前部相对比,声压(灵敏度)级衰减6dB的角度被称为半衰减角度,用θ1/2表示。
超声波设备的外表面尺寸较小易于获得精确的辐射角度。
如图2.8所示为几种常见超声波传感器的辐射特性示意图。
分析以上研究结果不难看出超声波传感器工作在40KHz范围内具有最大的声压级和最高的灵敏度。
2.5测距分析
超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。
超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离S,即:
S=340t/2
最常用的超声测距的方法是回声探测法,超声波发射器向某一方向发射超声波,在发射时刻的同时计数器开始计时,超声波在空气中传播,途中碰到障碍物面阻挡就立即反射回来,超声波接收器收到反射回的超声波就立即停止计时。
超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物面的距离S,即:
S=340t/2。
由于超声波也是一种声波,其声速v与温度有关。
在使用时,如果传播介质温度变化不大,则可近似认为超声波速度在传播的过程中是基本不变的。
如果对测距精度要求很高,则应通过温度补偿的方法对测量结果加以数值校正。
声速确定后,只要测得超声波往返的时间,即可求得距离。
这就是超声波测距仪的基本原理。
如图2.9所示
(2.1)
(2.2)
式中L---两探头之间中心距离的一半
又知道超声波传播的距离为
(2.3)
式中v—超声波在介质中的传播速度
t—超声波从发射到接收所需要的时间
将(2.2)、(2.3)代入(2.1)中得
(2.4)
其中,超声波的传播速度v在一定的温度下是一个常数(例如在温度T=30度时,V=349m/s);当需要测量的距离H远远大于L时,则(2.4)变为
(2.5)
所以,只要需要测量出超声波传播的时间t,就可以得出测量的距离H。
2.6时钟电路的设计
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
因为一个机器周期含有6个状态周期,而每个状态周期为2个振荡周期,所以一个机器周期共有12个振荡周期,如果外接石英晶体振荡器的振荡频率为12MHz,一个振荡周期为1/12us,故而一个机器周期为1us。
如图2.10所示为时钟电路。
2.7复位电路的设计
复位方法一般有上电自动复位和外部按键手动复位,单片机在时钟电路工作以后,在RESET端持续给出2个机器周期的高电平时就可以完成复位操作。
例如使用晶振频率为12mHz时,则复位信号持续时间应不小于2us。
本设计采用的是自动复位电路。
如图2.11示为复位电路。
图2.11复位电路图
2.8显示模块
显示模块采用数码管显示接口电路如图2.12
3超声波测距的软件设计
3.1软件设计方法
超声波测距仪的软件设计主要由主程序、超声波发生子程序、超声波接收中断程序及显示子程序组成。
我们知道C语言程序有利于实现较复杂的算法,汇编语言程序则具有较高的效率且容易精细计算程序运行的时间,而超声波测距仪的程序既有较复杂的计算(计算距离时),又要求精细计算程序运行时间(超声波测距时),所以控制程序可采用C语言和汇编语言混合编程。
汇编语言是一种面向机器的低级的程序设计语言。
它直接利用机器提供的指令系统编写程序,该类程序的可执行指令是与机器语言程序的指令一一对应的。
汇编语言由于是面向机器的程序设计语言,与具体的计算机硬件有着密切的关系,因此,可移植性差。
但由于汇编指令与机器语言指令一一对应,即一条汇编语言的可执行指令对应着一条机器语言指令,反之亦然。
因此,汇编语言可直接利用机器硬件系统的许多特性,如寄存器、标志位以及一些特殊指令等,具有执行速度快、占用内存少等优点。
汇编语言的缺点是程序的通用性和可移植性差;程序比较繁琐,调试困难;目标程序比较庞大,运行速度慢。
而C语言是一种编译型的程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。
C语言有功能丰富的库函数,运算速度快,编译效率高,有良好的可移植性,而且可以直接实现对系统硬件的控制。
C语言是一种结构化设计语言,支持支持由顶向下结构化程序设计技术。
C语言的模块化程序结构可以使程序模块实现共享。
在C语言的可读性方面更容易借鉴前人的开发经验,提高程序的开发水平。
C语言应用于单片机编程出了上述特点外,还有以下突出特点:
编译器可以自动完成变量存储单元的分配,省去了分配和纪录存储单元的繁琐;不必对单片机和硬件接口的结构有很深入的了解,省去了单片机漫长的学习时间;具有良好的可移植性,只要将程序略加改动就可以将其应用与其他类型的单片机,省去了更改单片机型号时重新编写程序的无奈。
因此利用C语言编写程序可以大大缩短目标系统软件的开发周期,程序的可读性明显增加,便于改进、扩充、研制规模更大、性能更完备的系统。
3.2软件系统流程介绍
超声波测距的原理为超声波
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 超声波 测距 系统 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)