版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的多方向超声波无限测距系统设计摘要本课题设计的多方向超声波无限测距系统,该系统可以测量与物体之间的距离,并且在手机端进行监测和显示。超声波测距在我们的生活中也已经广泛应用,比如汽车雷达,航海等工业领域,当然不仅是在工业领域,在医学和生物科学领域也得到广泛应用。在本次课程设计当中的主板就是负责对超声波的数据进行测量和处理,多个超声传感器分别可以测量不同方向的障碍物,当所需要测量的距离远远小于设定距离时,蜂鸣器和发光二极管就会发出声光报警并且在接收端显示具体距离。本文主要阐述了仪器研发和软硬件设计的理论知识。关键词:超声波,测距系统,单片机引言选题背景传统的用于测量超声波距离的技术在现如今的某些特殊应用场合中还是存在很多的缺陷,随着近年来我国的经济社会和计算机电子技术的不断发展,超声波技术的理论和技术研究的不断深入,超声波技术已经具有了精度较高,不需要接触等特征,超声波技术已经得到广泛应用,甚至在医学,生物科学等研究领域具有举足轻重的地位。超声波动物定位技术是一种泛指对于蝙蝠等一些不具有目视能力的动物体来进行定位和生存的一种技术手段和工具,主要指的是由于这些动物体在其周围环境中通过发射不容易被任何人直接观察和感觉或者是听到的一种超声波,借助周围的空气或者通过某种媒介进行反射而进行能量传播,然后再借助于由猎物或者是障碍物而且反射返回来的是声波强弱,通过这种方法我们可以准确地判定出狩猎者和障碍物的位置。超声波的运行速度比较之前的光速更轻,并且能够使得超声波传播持续时间也更容易,而且能够直接受到精准监测,而且能够使得超声波更容易直接接受振动控制,方向性也更好,所以人们使用仿真技术利用超声波测距,利用这种仿真技术进行超声波测距更加简单,精度更高。在一些危险场合,例如有毒或有腐蚀性的化学物质的高度,使用超声波测距就更加安全。在我们日常生活中也离不开超声波测距,例如车辆的倒车雷达,车载测距系统不仅具有优秀的社会效益而且还具有可靠的安全效益REF_Ref71037902\r\h[1],超声波测距也使我们的生活更加便利安全。未来的无人驾驶实现无人为的智能车辆停驶避免车祸REF_Ref71037949\r\h[2]。课题研究的意义超声波指向性好,利用超声共性、电子技术、声波特性还有电子计数等一系列功能的无接触测距方法REF_Ref71037989\r\h[3],对被检测到的物体没有任何损害,而且超声波作为一种特殊的无接触声波,具有一些基本的物理特性,例如:反射、折射、干涉等,应用更加灵活。超声波适应性比较强,更适合在一些恶劣环境下工作,不管是在精度上方面,亦或是可靠性上方面,超声波测距无疑是最好的选择,具有广泛的应用前景。国内外研究现状在国内研究还没有初步起步的时候,我们所采用的测距手段和方法—般是通过各自机械手段来进行测量,由于国外的科学技术发展迅猛,国内的各种测距手段和方法在许多特殊情况下或者是需要进行测量的场合上都无法做到有效测量,在这些测距的这个点上和国外先进技术的落后便导致了其他行业等等方面的差距。由于现代社会不断进步,国人也不断学习并且汲取新的知识,总结实践经验,自己开发了混合式微机、电子技术的先进计算机测量手段和方法,在相关领域也有用武之地,如今我国测量技术的发展与国外相比差距也越来越小,并且在某些方面,我国的水平也有长足的进步。国外运用超声波来进行测量的时间也比较晚,由于国外科技发展速度很快,所以他们从机械测量过渡到先进的非接触测量的时间要远比我们早得多,他们在结合微机和现代科学技术方面所设计出来的先进测量方法也比我们国家要更加精确,由于发展迅猛,近几年的测量原理在结构和功能上都有了不少进步,再结合计算机辅助,甚至现如今的互联网云计算方面,再融入集成电路设计,可以使得测量仪水平大幅提高,不仅如此,还能提供详细可靠的测量分析,现如今计算设备的小型化智能化也促进了测量仪的不断改进,现在对于细微测量的水平已经非常之高。1.4研究内容超声波测距系统控制系统模块中的超声波传感器模块HC-SR04中的测距模块发出一个超声波,声波在这个传感器方向发送它的过程中一旦主机遭受任何障碍物或者碰撞冲击时会自动发出返回,收到这个超声波的主机反射超声波时,接收器的电路自动输出产生一个较小的声波射频或者声波低电平,单片机外部的射频中断自动计时输出模块会直接产生一个射频中断计时信号,用来当作计时器的它记录了一个超声波从一个射频单片机发送到另一个单片机器之后返回的持续时间以及随后来回的一个超声波发射持续时间,结合声波持续时间函数来计算出正确的声波发射点与测量点的距离,最后在数码管模块上显示距离。本方法的设计主要是采用的一种检测方法,就是一种叫做超声波的回音计时器检测方法,超声波发射在特定的一个空间时刻或者特定的时间地点就有机会开始发射一个与传播的方向相同而且可以进行的超声波,发射相同的一个超声波时候这个计时器就有机会开始进行连续的计时,超声波发射在空中当它碰到特定的一个空气或者是障碍物就有机会进行连续的返回,计时器的启动停止后再次进行连续计时,超声波在特定空气环境中的连续传播运动速率大约为340m/s,根据这个计时计算时间等于t,假设一个超声波在特定发射点的传播距离与特定障碍物的发射距离大约为等于s,则由此计算公式得:s=340t/2.2.可行性分析2.1经济可行性单片机软件开发工具Keil为一个非常专业免费开发软件,使得产品开发的过程成本费用能够得到大大降低,在整个系统中,超声波传感器具有结构简单、体积小、费用低等几大主要的技术特点,信息处理简单可靠,易于直接实现系统的集成化,低成本加高精度测距,使得如今的现代超声波测距应用技术得到越来越多人的重视,具有很好的经济效益。2.2技术可行性超声波对于物体的光照以及颜色度不敏感,可以被广泛应用于识别透明的物体。超声波对于外界电磁场不敏感,但是却适合在内部电磁干扰较大的室外环境中。超声波更是可以在有毒或者有腐蚀性的环境中应用,更加安全。2.3可行性分析结论综上对于经济和技术的可行性分析,使用超声波测距,不仅成本低,更能高精度的进行测距,而且在技术方面更易于探测有危险的环境。
3.系统总体设计3.1需求分析改革开放以来,经济和社会的不断发展下,更多的家庭拥有了汽车,而汽车的发展也在不断进步,厂家们也越来越注重于汽车的安全措施,日常生活中出现的追尾事故都是车距保持不当造成的,在超声波测距的基础上,人们使用单片机技术发明了一套相对安全的系统,在车辆行驶过程中,在前后车距小于设定的安全距离时进行报警,同时这套系统在驾驶员行驶车辆时拐弯、倒车都会进行报警,超声波测距的利用使得车辆以及驾驶员和车内人的安全得到保障。超声波测距不仅应用在汽车领域,也覆盖了其他领域,例如建筑、开挖矿山等领域。以单片机为核心的超声波测距系统以实时的记录超声波发射和接收的时间来计算与障碍物之间的距离,计算准确精度高,相信在未来的技术发展中,超声波测距技术会越来越受到更多人的欢迎以及受到更多人的关注。3.2单片机简介本次课程设计超声波测距系统是基于单片机控制的,介绍总体设计之前,先来简单介绍一些关于单片机的一些知识。单片机全称为单片微型远程计算机,适用于各种远程控制领域,所以又称为单片微控制器,单片机由一个基本单块化的接口集成电路芯片构成,内部包含的基本控制功能部件:CPU、存储器、I/O接口电路等等,通过这些部件,单片机与合适的控制软件以及外部设备硬件结合,就可以完全发展成为一个完整的单片机自动化原创控制管理控制系统。3.2.1单片机内部构造内部构造图如下图:图3.2.1单片机内部构造图3.3总体设计思路本系统设计的超声波传感器方式采用的是HC-SR04,微处理机方式采用的是STC89C52RC单片机,显示方式采用的为4位共阳数码管,超声波传感器HC-SR04发射超声波,声波碰撞到障碍物时会自动返回,用定时器来计算一个超声波从信号发送开始直到接收的持续的时间,最后通过时间计算出距离障碍物的距离,最后在显示端显示出距离。图3.3系统基本框架图图3.3系统原理图4.系统硬件设计本设计使用的硬件部分包括HC-SR04超声波传感器、STC89C52微处理器、发光二极管、蜂鸣器、4位共阳数码管等几个部分共同组成,软件部分则为超声波的发射和接收的单片机编程语言设计,主要采用的为C语言编程设计,硬件部分的设计原理是为超声波传感器HC-SR04发射一个超声波,声波在飞行过程中遇到障碍物会返回,定时器会计算出超声波往返的时间,通过时间计算出距离,同时在距离小于设定距离时,报警装置会进行报警。4.1硬件模块介绍STC89C52为超声波测距系统中的核心组成部分,满足了科学计算和实验控制的基本要求,实验设计过程中所需要计算的精度和长度并不是很高,所以选择价格低廉使用的HC-SR04超声波传感器即可。通过HC-SR04检测障碍物信号传给单片机REF_Ref71038028\r\h[4]。4.1.1HC-SR04超声波测距模块4.1.1.1HC-SR04特点HC-SR04超声波测距模块达到2cm-400cm的非接触式距离精度感测功能,测距的精度最大范围可达到3mm;主要是由超声波发射器、接收器和控制电路所组成。4.1.1.2实物图图4.1.1.2HC-SR04超声波模块实物图
4.1.1.3HC-SR04主要参数工作电压直流5V工作电流15mA工作频率40kHZ最远射程4m最近射程2cm测量角度15度4.1.1.4HC-SR04原理图图4.1.1.4HC-SR04超声波传感器原理图4.1.2STC89C52RC单片机最小系统模块4.1.2.1特点STC89C52RC单片机不仅具有低成本功耗、高性能的特点,适合小型控制系统REF_Ref71038039\r\h[5],并且有8位CPU以及可在系统编程Flash。在短时空闲模式下,CPU暂时停止工作,允许RAM、定时器/计数器、串口、中断继续工作。在STC89C52RC中有五个中断源,中断是指在计算机执行某种程序时,由于某些特殊原因必须先中止原有程序的运行转去执行相应的处理程序,结束后,再回头进行原程序的执行,中断处理技术的应用使得计算机可以实时有效的收集系统中随机的参数信息,同时提高了计算机自我处理障碍和自我应变的能力。4.1.2.2实物图图4.1.2.2STC89C52RC单片机实物图4.1.2.3参数5V时最高时钟频率0-80MFlash程序存储器字节8KRAM数据存储器字节512数据指针24.1.2.4PDIP封装图图4.1.2.4封装图4.1.2.5STC89C52RC引脚结构图4.1.2.5STC89C52RC引脚结构图4.1.3数码管显示模块LED数码管是由多个发光二极管封装组成,通过电能转化为光能来进行显示,内部通有电流时,数码管就会发光。数码管数字控制管理系统在进行设计时就通常需要通过直接使用一个数字驱动控制电路对一个数码管的各个相分段码相位信号数字进行相位数字动态驱动,才真正能够通过这种计算方式得到我们所需要计算控制系统所应必需的各个相位段码信号数字,因此根据驱动方式的差异,可以分成静态显示和动态显示:4.1.3.1静态显示静态显示具有智能单片机自动锁存的显示功能,单片机发出显示的数据,数码控制会一直保持静态显示该信号位置的显示数据,处理器不再一直受到数码控制,到下次需要进行输出信号静态显示时,再向这个处理器继续传送另一次新的输出信号或显示数据。静态数码显示的主要优点也就是它所需要显示的信息数据稳定,占用了CPU的内存时间也比较少,相对它的缺点也就是这种管的数码管始终还是会持续发光,功耗太大。4.1.3.2动态显示动态显示是8个端的数码管显示笔画“a、b、c、d、e、f、g、dp”的同名端直接相互连在一起,此外每个数码管公共极由各自独立的I/O口和线路器进行动态控制,CPU送出一个相应的点亮字形码时,数码管与COM端接收到相同的字形码但数码管的是否点亮取决于各个COM端,COM端与I/O口连接。动态显示的优势是显示位数过多时可以节省I/O接口,缺点是占用CPU过多时间。本次设计距离显示单位一般约为mm,且本设计的CPU在工作效率的要求相对较低,即使用动态显示。4.1.3.34位数码管实物图图4.1.3.3数码管实物图
5.系统的调试与实现5.1系统软件设计超声波系统的控制核心为单片机,软件主要是要完成对计时、数据的计算以及结果处理等功能。本系统采取模块化的解决方案,将所有需要实现和完成特定功能的子模块进行分类组合成各个功能模块,再由主程序负责调用。此系统是在Keil环境下对STC89C52RC进行编写。系统的流程图如下图所示:图5.1系统流程图5.2传播时间的计算在超声波测距控制模块中向检测端发送一个信号宽度不小于10us的高电平,接收端等待高电平输出。当单片机检测到有高电平输出时,定时器开始计时,当变为低电平时停止计时,记录定时器的输出值,这个值就是运行时间。超声波时序图如图所示:图5.2超声波时序图5.3单片机程序开发单片机程序编写由Keil工具进行编译,使用的语言为C语言。本次实验设计使用的编译工具为KeiluVision5,Keil工具中的KeilC51支持汇编语言与C语言混合进行编程,C语言有利于复杂的算法,汇编语言编程效率更高,并在Proetus环境下对软、硬件联合仿真REF_Ref71038088\r\h[6],在本次实验中主要使用C语言进行编译,使用Keil开发工具编译代码如下图:图5.3Keil开发页面
5.4系统主要程序代码及流程图5.4.1定时器和串口的初始化本实验采用的为定时器0的方式,定时器初始化如下图:图5.4.1定时器初始化代码图串口的初始化是单片机重要的功能,串口的初始化可使单片机与蓝牙进行稳定的交互,在处理传感器的数据时,处理过的数据会通过串口不断发送给蓝牙。串口初始化代码如下所示:图5.4.1串口初始化代码图5.4.2中断服务程序超声波发生子程序的作用是通过发送超声波信号频率约为40KHz的方波,宽度为12us左右的脉冲,计数器自动通过打开发生电路打开计时。超声波射频测距核心模块的中断主要应用程序主要是通过利用外部中断0来表示检测本次计时器自动返回的超声信号,当本次计时器没有接受到此时返回的超声信号时,进入外部超声波测距中断的主应用程序,计时器自动停止了本次计时,测距成功后会赋值1,如果本次计时器的溢出依然没有成功检测到能得到此时返回的超声信号,定时器的溢出之后中断程序会自动使外部的中断0关闭,此时利用赋值2来表示说明本次测距未成功,重新开始发射一次超声波,中断服务程序流程图如下图:图5.4.2中断服务程序流程图5.4.3距离计算子程序超声波距离的计算方法该系统的设计基本原理是利用超声波在某一时刻向被测物体发射一个超声波信号,当这个超声波信号遇到障碍物时反射,返回的超声波信号被接收器接收,这样只要利用从发射超声波开始直至到接收到超声波信号的持续时间就可以通过计算出超声波发射器与被检测物体之间的距离。这个过程的时间由定时器进行记录。本次实验的距离为三个方向,分为前、左、右,三个方向距离的代码编写如下所示:前:图5.4.3前距离代码图左:图5.4.3左距离代码图右:图5.4.3右距离代码图5.4.4报警当传感器的检测距离小于设定的检测距离时,报警器会自动进行检测和报警,模块代码如下所示:图5.4.3报警代码图5.4.5显示子程序显示文字数据时,本设计采用的是动态显示的方法,目的是为了有效节省I/O端口资源,降低功耗,数码管的自动显示字形主要依靠单片机的动态对位和自动选中通端控制电路等来进行自动控制,将所有单片控主机中所有需要字形进行自动显示的对位数码管自动选通和通端控制电路打开,该位即自动显示具体字形,未选通的则不会亮。显示流程图如下图所示:图5.4.5显示流程图在编码显示上,各位数码管虽然并不是同时被灯光点亮,但是编码管被扫描的足够快,人眼看起来就是一组稳固定的显示数据,所以动态显示的效果与其静态时的显示方式是相同的。5.5系统测试5.5.1系统硬件测试单片机通电,单片机上各部分指示灯均正常亮,说明硬件电路相互连接正常。现象如下图所示:图5.5.1硬件工作正常图5.5.2系统软件测试打开Keil开发工具并且进行编译代码,下图即为发射端和接收端成功编译代码:图5.5.2发射端编译成功图图5.5.2接收端编译成功图5.6系统调试总结在软硬件电路制作完成并且调试好之后,即可将编译好的程序放入单片机中进行运行。整个系统调试完成后通过对误差分析不断完善整个系统以达到实验需要的目的。在实际测量当中,误差依然存在,误差来源有一下几种可能:1.超声波的发射与接受探头以及被测点有不可度量的角度,角度会直接影响测量的精确值。2.工具的简陋以及一些不可控制的环境因素。3.声波的强弱与待测距离的远近有关。参考文献叶战争,杨东,孙硕硕,尹雪霞,王保智.基于超声波的汽车测距防撞系统研究[J].黄河科技学院学报,2020,22(08):58-59.封弘卿,彭肖冰,陈彦名,陈映廷,吴灵屹,李睿奇.面向未来交通的车辆“冲突-协商”机制的设计[J].智能城市,2021,7(02):14-17.王瑞荣.基于单片机的超声波测距仪设计[J].电子测试,2021(05):22-23+33.李云强.基于Arduino的智能小车测距系统的设计[J].实验室科学,2019,22(05):11-15.袁晓文.STC89C52单片机在智能窗控制系统的应用[J].计算机产品与流通,2020(01):116.张美琪,赵兰.汽
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论