主页 > 案例大全 > 论文方法介绍-基于单片机超声波测距仪的设计与制作

论文方法介绍-基于单片机超声波测距仪的设计与制作

2021-04-22 10:45:37

  当今社会,科技的发展迅猛,人们的生活质量也越来越得到了提高。正是因为这样的原因,人们对测量等相关的工作的要求也越来越高了。进而人们迫切需要一种既方便快速,又测量准确的方法满足其的工作需要。而超声波的研究在这一点上完全可以满足人们对于测距的需要,再有其成本相对较低,因此选用测距技术时,利用超声波的方法成为切实可行的方法,超声波测距仪也顺势而生。

  本系统采用的单片机是市面上较常用的51系列的单片机。本系统选用ST89C51作芯片,通过超声波传感器控制超声波的发送和接收,利用设计的程序进行内部计算从而得出测量的距离,通过数码管显示出来.然后通过预先设定好的一个预设值的对比,完成在得出所测距离后系统自动进行比较的功能。若所测量的数值小于预设值,则蜂鸣器会受到ST89C51单片机的控制实现报警功能,数码管同时显示所测距离;否则蜂鸣器不报警,数码管正常显示距离。但当所测距离超出仪器所能测量的最大距离时,数码管无法显示出测量值显示为E。

  本系统具有易控制、工作可靠、测量精度高的优点,可实时检测并进行可控语音播报。

  1.1选题的目的和意义

  1.1.1选题的目的

  现如今超声波技术从最初的理论知识经过研究发展至大范围应用于测距、流量测距、液体成分测量、岩体检测等各个方面。利用超声波技术测量距离具有如下几个突出的优点:一是用于测量的环境介质可以是空气、液体或者固体等,适用的使用范围广泛;二是超声波对外界光线和电磁场不敏感,可用于黑暗环境,有灰尘、烟雾或强电磁干扰等各类恶劣环境中,能有效降低劳动强度;三是超声波传感器的结构简单,体积小,信息处理简单可靠,因此检测比较迅速、方便、计算简单,易于做到实时控制。在移动机器人、汽车安全、海洋测量等各个方面得到了广泛应用。因此,本课题的研究时非常具有实用和商业价值的。

  1.1.2选题的意义

  现今社会,科技的发展越来越快,人们的生活质量也越来越得到提高,正是因为这样,人们对测量等相关的工作要求也越来越高了。进而需要一种既方便快速,又测量准确的方法满足人们的工作需要。而超声波的研究在这一点上完全可以满足人们测距的需要,再有其成本相对较低,因此选用测距技术时,利用超声波的方法切实可行。

  1.2文献综述

  1.2.1国内研究

  对国内来说,我国于20世纪50年代初开始对超声波测距进行了较多的研究,并逐步取得了可喜的成果。近年来由于电子技术的迅猛发展,特别是单片机技术的应用,使得原来非常复杂的超声波测距仪的设计有了大幅度简化的可能。如:采用z86E08单片机控制的超声波测距数显装置,以8098单片机为核心的智能物位测量仪等,从而使得超声波测距仪的应用得到更多的普及。

  目前,我国所研制出的超声波测距仪在性能方面有了很大改善,但在精度等方面仍然落后。高速度和高效率是现代化工业的标志,这是建立在高质量的基础之上,精度作为高质量的一个重要指标,需要加大对其研究的力度。另外,我国正在使用的高精度超声测距系统大多从国外进口,很大程度上制约了工业发展,增加了工业生产线的投资成本。由于工业发展以及经济成本的制约,在超声波测距系统的研制和使用方面,我国迫切的需要加大国产化力度。因而,为使我国的工业化生产与装配立足于国内、走向世界,对超声波测距系统的精度和实时性问题进行研究具有极高的现实意义。

  1.2.2国外研究

  从19世纪末到20世纪初,在物理学上发现了压电效应与反压电效应之后,人们解决了利用电子学技术产生超声波的办法,从而迅速揭开了发展与推广超声技术的历史篇章。

  随着雷达技术、激光技术、电子技术的发展,超声波技术也得到“灵感”,进行了不断地更新、完善并趋于成熟。在一些发达国家中,超声波测距系统不但在性能方面较为完善,而且在精度上也很精准。超声波技术在医学、军事、日常生活等各个方面都发挥着不同的用处。

  1.3选题的主要研究内容

  (1)熟悉超声波进行测距的工作原理。

  (2)利用该原理设计出该系统硬件结构的电路。

  (3)对设计的电路进行分析,使其能够产生发生出超声波并且实现超声波的接收与发送,继而实现使用超声波的方式进行的测距作业的能力。

  (4)设计编写所用到的C语言程序。

  (5)实现测量的距离以数字的形式展现出来。

  (6)实现测量的距离与预设距离对比,低于预设距离进行警示。

  (7)实现测量距离之后,根据用户需求进行语音播报实际距离。

  (8)总结分析总体的设计方案,通过发送接收超声波的时间差来求出所测距离并显示出来。

  1.4本章小结

  这一章内容,是在查阅了大量与课题相关的文献资料的前提下,对这一课题的研究目的与研究意义进行了讨论,又大概的讲述了近几十年来超声波测距仪在国内外的发展状况,最后对本次设计的基于单片机超声波测距仪的功能进行了详细描述。

  2超声波测距仪方案的论证

  根据课题的功能要求,超声波测距仪整体结构图包括超声波发射电路,超声波接收电路,单片机电路,显示电路与测量电路等几部分模块组成。利用单片机来实现对超声波和超声波转换模块的控制。具体见图2.1所示。

  图2.1超声波测距系统结构框图

  2.1单片机系统的选型

  单片机是整个超声波测距系统的设计中的核心,所以对它的要求固然会比较多:价格要比较低,还需运行的速率较高且内部的存储要大以及要适用于多种环境的特点。

  STC89C51是一款超强抗干扰,加密性强,在线可编程,高速,低功耗CMOS 8位单片机。片内含4k bytes的可反复擦写Flash只读程序存储器和256 bytes的随机数据存储器(RAM),器件采用STC公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大的STC89C51单片机适合于许多较为复杂控制应用场合。因而本系统选用ST89C51RC单片机。

  2.2超声波模块的选型

  超声波测距模块有好多种类型,因为在测距系统中,超声波传感器的精度十分重要。在查阅了许多资料之后,因为HC-SR04超声波模块具有性能稳定,测度距离精准,能和国外的SPF05等超声波测距模块相媲美。因此,本系统选用了HC-SR04超声波模块作为本系统的超声波仪器。

  2.3数据显示部分的选型

  数据的显示是测距设计中较为重要的功能,这个功能模块的功能就是将测量电路所称得的距离经过模数转换后传输到单片机里去运算后,再使数据可以较为直观的显示出来。由于本设计的要求是只用简单的显示出测量距离并显示,因而本实验运用一个简单的数码管就可达到要求。本系统选用了3461BS-1数码管,作为显示部分。

  2.4报警模块的选型

  由于本系统想要报警模块可调,所以使用一个5V的有源蜂鸣器和一个红色LED来设计报警模块。

  2.5本章小结

  在这一章中,详细地介绍了在设计超声波测距系统时,其方案的论证。首先,介绍了单片机系统的选型,确定了STC89C51单片机为该测距系统的单片机;其次,介绍了系统设计的超声波模块的选型,确定了该超声波测距仪的超声波模型为稳定的HC-SR04超声波模块;最后,介绍了显示部分的选型,确定了型号为3461BS-1数码管作为显示屏。

  3超声波模块

  本系统采用的超声波进行测试的模块为HC-SR04,其实物图如图3.1所示,该模块在距离为2CM到500CM内都以及进行非接触式的距离感测,它的测量精度高达3MM。本模块包含了超声波的控制电路,超声波的发射器以及超声波的接收器,它基本的工作原理是:选取I0口的TRIG进行触发测距,给出高电平信号最少为10US;8个40khz的方波由该模块自动给出,并且主动的检测有没有信号的返回;假使有返回,那么通过IO口ECHO输出了高电平,测出该高电平的持续时间即为超声波发送出去并返回来接收到的时间段,记为t,单位为S。测试距离L=(时间t*声音在空气中的传播速度(340M/S))/2。该模块实物图为图4.1.2(1)。VCC的供给电源为5V,地线GND,TRIG是该模块触发控制的信号输入,ECHO是回响信号的输出。

  图3.1超声波模块实物图

  该模块的使用方法为:首先要启动测量,依靠的是通过I0口进行触发,要求TRIG口给出至少为10US的高电平。启动测量后,该模块会自动发送40KHZ的方波八个并检测有无信号的返回。当有信号返回的时候便通过I0口的ECHO输出高电平,该高电平所持续的时间即是所需测量超声波发射返回并接收到的时间。所测距离L=(所测时间*340)/2,单位为M。

  该模块的完成过程是依靠定时器0来完成限定时间的测量的,8分频,TCNTT0预设值为0XCE,且当timer0溢出中断2500次时是125ms,计算公式(单位:ms)为:

  T=(定时器0的溢出的次数*(0XFF-0XCE))/1000

  定时器0初值的计算根据分频的不同会有所差异。

  3.1超声波传感器

  市面上的该种传感器大部分都是开放式的,它的内部示意图如图3.2所示。在它的底部固定放置了一个复合形式的振动器,它是一个由双压电晶片(谐振器、金属片、压电陶瓷片)构成的振动器。谐振器的作用是将超声波全部汇聚到其底部振动器中央的地方,同时有效的对由振动而产生的超声波进行辐射。

  压电陶瓷在有电压的作用时,会因该电压及频率发生的变化进而产生一定的机械变形。而且在当压电陶瓷受到振动的时候,它会产生出一个电荷。因此当给该振动器或是给两个压电陶瓷当给由两片压电陶瓷仪电信号后,它便会因振动弯曲从而将超声波发射出来。相反的,给其施以一超声振动,则会相应得到一电信号。因此,该传感器选用压电陶瓷。

  图3.2超声波传感器内部构造图

  1、超声波衰减特性

  超声波可以在空气中进行传播,它的传播强度会因为传播距离的变大而相应成一定比例的逐渐减弱。衍射现象使其在球面上因扩散而导致的损失及介质对能量的吸收导致的吸收损失共同造成了它的衰减。随着其频率的升高,其衰减率也升高,其传播距离减短。从而可看出其有效距离受到其衰减性的直接影响。原理图如图3.3所示。

  图3.3超声波在不同距离下的衰减特性图

  2、超声波声压特性

  S.P.L.(声压级)=20logP/Pre(dB)

  该公式中,有效的声压用P表示(μbar),参考声压用Pre表示(2×10-4μbar)。几种常用的该传感器声压图如图3.4所示。

  图3.4超声波传感器声压特性图

  (3)超声波灵敏度特性

  其公式为:灵敏度=20log E/P(dB)式中,产生电压用E表示(Vrms),输入声压用P表示(μbar)。该特性会直接影响系统的测距范围。其特性图如图3.5所示。

  图3.5超声波传感器灵敏度特性图

  (4)超声波辐射特性

  将该传感器固定于一平台,得出测量角度及与声压灵敏度间关系。分析下图可得出当该传感器在40KHZ范围中工作时,它的声压级最大,灵敏度最高。(下图3.6所示为超声波发射特性图)

  图3.6超声波传感器辐射特性图

  了解了超声波的相关特性,针对超声波模块的设计,首先根据该模块所要实现的功能,进行分析、设计,绘制出了该模块的原理图,以完成该模块的发射接收功能,只有保证这一功能的实现,才能进一步将整个系统继续设计下去。

  3.2 HC-SR04超声波测距模块

  3.2.1管脚排列和电气参数

  3.2.1.1管脚简介

  HC-SR04的管脚排列如图3.7所示。

  (1)VCC为5V电源;

  (2)GND为地线;

  (3)TRIG触发控制信号输入;

  (4)ECH0回响信号输出。

  图3.7管脚排列图

  3.2.1.2电气参数

  电气参数如表3-1所示。

  表3-1电气参数表

  电气参数HC-SR04超声波模块

  工作电压DC 5V

  工作电流15mA

  工作频率40Hz

  最远射程4m

  最近射程2cm

  测量角度15度

  输入触发信号10us的TTL脉冲

  输出回响信号输出TTL电平信号,与射程成比例

  规格尺寸45*20*15mm

  3.2.2超声波时序图

  图3.8超声波时序图

  上图所示的图3.8为超声波时序图。此时序图表明只需提供一个10us一上脉冲触发信号,该模块内部将发出8个40kHz周期电平并检测回波。一旦检测到右回波信号则输出回响信号。回响信号的脉冲宽度与所测的距离成正比。由此通过发射信号到收到的回响信号时间间隔可以计算得到距离。公式:uS/58=厘米或者uS/148=英寸;或是:距离=高电平时间*声速(340M/S)/2;建议测量周期为60ms一上,以防止发射信号对回响信号的影响。

  3.7本章小结

  本章主要进行了对超声波测距系统中的重要部分,超声波模块进行了介绍,为之后的使用提供帮助。

  4系统程序的设计

  系统程序主要包括:主程序、显示子程序、报警子程序、按键子程序、超声波子程序等。

  4.1主程序的设计

  主程序主要负责距离的测量、数码管显示实测距离、按键控制安全距离的设置,当实际距离低于安全距离时蜂鸣器开始工作。流程图如下图4.1所示。

  设置安全距离

  N

  Y

  图4.1主程序流程图

  4.2数据显示子程序的设计

  数据显示子程序就是把超声波模块测量出的实际距离通过单片机处理成可识别的方式显示在数码管上。数据显示子程序流程图如下图4.2所示。

  图4.2数据显示子程序流程图

  4.3报警子程序的设计

  报警子程序的主要功能是在距离值超过预警值时,能够使蜂鸣器发声从而达到报警的目的。报警子程序流程图如图4.3所示。

  开始

  N

  超出预设值

  Y

  蜂鸣器报警

  返回

  图4.3报警子程序流程图

  4.4按键子程序的设计

  按键子程序主要功能是指安全距离可调,先按下设置键,再按上调键或者下调键可以调整安全距离。(也可以通过按键来确认是否进行语音播报实时距离)

  按键子程序的流程图如下图4.4所示。

  开始

  N

  按下设置键

  Y

  设置安全距离

  N

  按下按键

  返回

  图4.4按键子程序流程图

  4.5超声波子程序的设计

  超声波测距是借助于超声脉冲回波渡越时间法来实现的,设超声波脉冲由传感器发出到接收所经历的时间为t,超声波在空气中的传播速度为c,则从传感器到目标物体的距离D可用下式求出:D=ct/2。其系统框图的工作流程图如下图4.5所示。

  图4.5超声波子程序工作流程图

  基本原理:经发射器发射出长约6mm,频率为40khz的超声波信号。此信号被物体反射回来由接收头接收,接收头实质上是一种压电效应的换能器。它接收到信号后产生mV级的微弱电压信号。

  4.6本章小结

  本章主要对系统的各个程序进行了分析,并画出其系统流程图,为之后具体的设计打下良好的基础条件。

  5系统开发工具的介绍

  5.1 Proteus软件

  我选择用Proteus软件的主要原因是可以利用它预先在电脑上进行仿真实验,若实验不成功即没有达到预期效果,可以更为方便的检查电路,若是电路没有问题再去检查程序是否有漏洞,从而避免了直接将单片机等元器件焊接起来得到实物后发现运行出现问题需要拆掉重新设计不免会造成对元器件有一定程度的损坏还有不必要浪费。

  我之前的学习过程中,有接触过这个软件,在这次设计中,一时没有记起,是在老师的推荐下下载的这款软件,我按照网上的下载教程逐步完成安装。完成后,开始使用,首先是按照我设计的电路图对所有元器件进行连接。开始使用才发现这款软件功能极其强大,各种元器件它都含有,方便简单,只需按照我事先完成好的设计并画在纸上的电路图一步一步搬到电脑上。首先将设计中出现的所有元器件全部找出放在图中的相应位置,然后按照设计中的电路进行逐步连接,在连接完成后要仔细检查,不要出现错误,由于该软件的自动功能,使得连线过程简便又不易出错,画好后,将其保存准备待用。利用该软件使得我的工作效率得到了很大的提高。

  当然它最令人敬佩的还是它的仿真功能,将在Keil软件中写好的程序进行运行监测,没有报错的情况下便可将其生成一个.hex的文件,将其存在一个易于找到的文件夹中待用。在Proteus软件中打开画好的电路图,双击单片机,将文件关联到装有该系统源程序的.hex文件处,就可以进行下一步的仿真测试。

  这款软件使用方便,操作也相对简单,可以满足我们设计该系统所有的仿真需求,也大大减少不必要的浪费,节约了实际成本,更为我们节约了更多的时间,为我们在设计完成后对系统实现更优化提供了有利条件。

  5.2 Keil软件

  代码的编写我利用的是Keil软件,利用该件编写的程序同时通过Proteus软件来实现仿真测试,以便发现我在实际操作前,设计电路时出现的问题。该软件所具备的主要优点是可以帮助我对我所设计的程序进行检测,若程序有问题,能够让我可以提早的对程序进行修改,不至于等到将程序传入单片机后,发现不能正常暗中机子设想的方式运行时再四处查找出错原因,这样既费时又费力。有了这个软件,完美的提高了整个制作的效率与正确率。

  该软件是在老师的推荐下通过网上下载,并通过学习网上的安装方案步骤自行安装的。结合着老师的讲解以及网上教程,发现这个软件使用起来也是相对简单的,首先创建一个新的工程,继而选择自己所使用的单片机的型号,将新的工程创建完成后我们只需要开始将设计好的代码敲到计算机中,将编写完成的代码保存为.c文件,之后将该文件添加到工程菜单,编译文件,成功编译并创建.hex文件。值得特别注意的是编译完成后要注意错误警告是否是0,经过我的多次反复修改之后,我编写的程序终于没有什么问题,运行无误后,顺利进行下一步的仿真实验。

  5.3 STC-ISP软件

  这个软件是我用来下载编写好的.hex文件的STC系列单片机的专用下载软件,可以省去下载器的麻烦。这个软件的运行过程我认为相对复杂,是在老师和同学的帮助下最终完成的,它的优点是它是我使用的单片机类型的烧写工具,因为我所使用的单片机也是目前市场上比较常见的类型之一,因此能够看出该软件十分符合市场的需求,被广泛使用。

  5.4本章小结

  本章主要介绍了系统设计工程中需要用到的软件类型、使用方法、具备功能。使用这类软件极大程度的节约了时间与成本,避免了出现之后查找错误不容易查出、难以解决造成不必要的元器件浪费等问题。

  6系统实现

  6.1超声波模块

  超声波接口连接方式参照下图所标示。

  图6.1超声波接口电路图

  本模块要实现对超声波的发射与对超声波的接收,在整个系统的设计中显得尤为重要,只有实现其对超声波的接收与发射功能,才可以进行之后的计算。

  6.2显示模块

  三极管是电流放大器件,有三个极,分别叫做集电极C,基极B,发射极E。分成NPN和PNP两种。三极管向着自己,引脚从左到右分别为ebc,原理图中有箭头的一端为e,与电阻相连的为b,另一个为c。箭头向里指为PNP。三极管实物图如图6.2所示,原理图如图6.3所示。

  图6.2三极管实物图图6.3三极管原理图

  上一章介绍了本系统设计时选用了由一个4位一体的7段LED数码管构成,用于显示测量到的电压值。它是一个共阳极的数码管,每一位数码管的a,b,c,d,e,f,g和dp端都各自连接在一起,用于接收单片机的P1口产生的显示段码。S1,S2,S3,S4引脚端为其位选端,用于接收单片机的P2口产生的位选码。本系统采用动态扫描方式。扫描方式是用其接口电路把所有数码管的8个比划段a~g和dp同名端连在一起,而每一个数码管的公共极COM各自独立地受I/O线控制。CUP从字段输出口送出字型码时,所有数码管接收到相同的字型码,但究竟是哪个数码管亮,则取决于COM端。COM端与单片机的I/O接口相连接,由单片机输出位位选码到I/O接口,控制何时哪一位数码管被点亮。在轮流点亮数码管的位扫描过程中,每位数码管的点亮时间极为短暂。但由于人的视觉暂留现象,给人的印象就是一组稳定显示的数码。动态方式的优点是十分明显的,即耗电省,在动态扫描过程中,任何时刻只有一个数码管是处于工作状态的。具体连接图如图6.4所示。

  图6.4显示模块连接图

  6.3报警模块

  报警模块采用一个5 V有源蜂鸣器,有源蜂鸣器是靠压电效应的原理发声的。有源蜂鸣器内部自带震荡源,程序控制更方便,直接使用直流电压驱动就可发音。同时为了警示,在添加一个3mm红色LED以方便发现。报警模块展示图如下图6.5所示。

  图6.5报警模块电路连接图

  6.4按键模块

  单片机键盘有独立键盘和矩阵式键盘两种:矩阵式键盘接法程序比较复杂,但是占用的I/O少;独立键盘每一个I/O口上只接一个按键,按键的另一端接电源或接地(一般接地),这种接法程序比较简单且系统更加稳定。两者相对比之后,根据本设计的需要这里选用了独立式键盘接法。

  独立式键盘的实现方法是利用单片机I/O口读取口的电平高低来判断是否有键按下。将常开按键的一端接地,另一端接一个I/O口,程序开始时将此I/O口置于高电平,平时无键按下时I/O口保护高电平。当有键按下时,此I/O口与地短路迫使I/O口为低电平。按键释放后,单片机内部的上拉电阻使I/O口仍然保持高电平。我们所要做的就是在程序中查寻此I/O口的电平状态就可以了解我们是否有按键动作了。在用单片机对键盘处理的时候涉及到了一个重要的过程,那就是键盘的去抖动。这里说的抖动是机械的抖动,是当键盘在未按到按下的临界区产生的电平不稳定正常现象,并不是我们在按键时通过注意可以避免的。这种抖动一般10~200毫秒之间,这种不稳定电平的抖动时间对于人来说太快了,而对于时钟是微秒的单片机而言则是慢长的。硬件去抖动就是用部分电路对抖动部分加之处理,软件去抖动不是去掉抖动,而是避抖动部分的时间,等键盘稳定了再对其处理。所以这里选择了软件去抖动,实现法是先查寻按键当有低电平出现时立即延时10~200毫秒以避开抖动(经典值为20毫秒),延时结束后再读一次I/O口的值,这一次的值如果为1表示低电平的时间不到10~200毫秒,视为干扰信号。当读出的值是0时则表示有按键按下,调用相应的处理程序。

  根据设计的要求,这里我设置了四个按键,分别为语音播报,距离增加,距离减少和更改距离键。连接电路如下图6.6所示。

  图6.6按键模块电路连接图

  6.5电源模块

  由于蜂鸣器需要直流电,本系统选用DC插口实现整个电路的供电,除此在外,为方便使用,还添加一个自锁开关电路充当电源的开关。自锁开关原理图如图6.7所示,其硬件图如图6.8所示;DC插口硬件图如图6.9所示,其原理图如图6.10所示。

  图6.7自锁开关原理图图6.8自锁开关硬件图

  图6.9 DC电源插口硬件图图6.10 DC电源插口原理图

  6.6单片机控制模块

  单片机是把许多元器件集成在一块电路板上的微型计算机。单片机上虽然集成了很多的元器件,但是体积确不会很大,这就是为什么单片机受欢迎的原因了。功能强大的同时其体积却小并且制作起来不麻烦,购买的成本低。所以使用和研究单片机的人很多。在现在的环境下,工业仪表所采用的单片机来控制硬件的现象更多,因为采用了单片机后能保证仪表的工作性能,还能简化仪表的设备组成。

  STC89C51内部有4K的闪存存储电路,所以可以进行数据的存储,这款单片机的应用范围是十分的广泛的,开发也较为简单,电路设计较为容易。这款单片机的开发的成本低,所以被很多人群及企业所选择。器件内部的运行速度很快,引脚的数量大,是很多开发方案的首要选择。有多个定时器,定时的数据准确,中断的设计也比较方便,定时器和中断的结合使用,能够实现很多比较复杂的功能要求,也可以嵌套很多的中断执行。

  根据设计所需要求进行分析之后,本设计选择了STC89C51单片机为本系统的核心单片机。其管脚图如下图6.11所示。

  图6.11 STC89C51单片机管脚图

  6.6.1单片机单位电路的设计

  再根据设计所需系统需要达到的要求,设计单元电路,绘制出电路图。电路图如下图6.12所示。

  图6.12主控制最小电路图

  本系统设计时用到的器件有:STC89C51单片机,STC系列的单片机在市面上较常见,操作起来更为简便;蜂鸣器,用于当所测距离小于预设的安全距离时进行报警;按键,分为一个开关键,左、右、设定三个设定键和一个语音播报键;四位数码管,用以显示出所测出的实际距离,当所测距离超过仪器所能显示范围时显示为E;超声波传感器用以超声波的发射与接收等单片机的外围应用电路。电路中的4个按键分别是设定键、加减键和语音播报键。图中的D1是电源工作的指示灯。硬件电路的总设计图见图6.12所示。

  图6.12系统原理图

  6.6.2测距分析

  该发射器向一个方向发出超声波,在发射的同时启动计时器,当发射出的超声波遇到前方障碍物时便立刻原路返回,接收器接到返回来的超声波后便马上停止计时。根据声波在空气中的传播速度为340M/S,及记录的时间t,测得障碍物与初始发射位置间的距离:L=340t/2.

  超声波是声波,它的声速V跟外界的温度有关。在进行测距时,若传播介质的温度没有发生明显的变化,可将其近似的认为其速度在其传播过程中是不变的。但如果对测距的精度具有高要求,则需要使用温度补偿方法将所测量的结果加以校正。在声速已经确定的情况下,只需对其往返的时间进行测量,便能求出所测距离。如下图6.13所示。

  超声波发射障碍物

  S

  H

  θ

  超声波接收

  图6.13超声波测距模拟图

  L表示两个探头间二分之一的中间距离

  传播距离:

  由以上三个公式可得:

  当所测量的距离远远比L大时,得到公式为:

  例:首先检查仪器的各个元器件与连线完好,给装置正确安装电池,按开关键打开开关,按设定键进行预设值的设定,将预设值设为20cm。

  (1)保证前方足够远处都没有障碍物,进行测量距离,由于前方没有障碍物,所测距离远远超出数码管显示范围,显示为E。

  从实验数据可以看出系统可以完成设计要求,当所测量的距离超出仪器所测距离时

  (2)数码管无法显示距离,显示为E。

  在其前方放置一障碍物,用尺子首先测量障碍物与仪器之间的距离,测得距离为37.4cm,然后,确保仪器位置没有发生改变,打开仪器开关,进行测量,此时数码管显示为37.4,仪器并没有发出警报。

  通过这个实例可以看出,系统可以利用超声波,完成对距离的测量,并在内部将测量的距离与预设值进行自动比较,若测量值大于预设值,系统会正常显示所测距离,不会报警。

  (3)在其正前方放置一障碍物,用尺子首先测量障碍物与仪器间的距离,测得距离为18.7cm,然后,确保仪器的位置没有改变,可以事先将仪器固定,打开仪器开关,进行测量,此时,数码管显示为18.7,同时发出报警声音。

  从这个实验过程可以看出系统可以完成预先所需要的系统功能,系统在测量得到数值时,会将测量值与预设值自动进行比较,若测量值小于预设值时,系统会显示出测量值并自动报警。

  6.6.3电路设计

  (1)时钟电路设计

  XTAL1是反向放大器输入,XTAL2是反相放大器输出。该放大器经过一定的配置可以成为片内的振荡器。石晶振荡、陶瓷振荡二者都可以使用。如若使用外部的时钟源类驱动器件,那么就不接XTAL2。时钟电路电路图如图6.14所示。

  由于每个机器周期都包含着六个不同的状态周期,每个不同的状态周期又分为两个振荡周期,因此十二个振荡周期组成了一个机器周期。例如如果一个振荡频率是12MHZ的振荡器其振荡周期是1/12us,便可知其机器周期是1us。

  图6.14时钟电路图

  (2)复位电路设计

  复位的方法在一般情况下有两种,分别是自动复位和手动复位。复位的功能相当于计算器的清零功能,自动复位是说没进行完一次运算,系统会自动进行复位功能,手动复位是指利用一个按钮,当需要进行复位操作的时候,当单片机于时钟电路中开始进行工作之后,为完成复位这一操作,RESET端会连续的给出为时两个高电平的机器周期。例如当使用的晶振频率是12MHz的时候,所需要的复位信号应持续至少2us的时间。本次使用的是自动复位电路,其电路图如下图的图6.15所示。