便携式测距仪系统设计说明_第1页
便携式测距仪系统设计说明_第2页
便携式测距仪系统设计说明_第3页
便携式测距仪系统设计说明_第4页
便携式测距仪系统设计说明_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

..题目:便携式测距仪系统设计〔硬件英文题目:DesignofSystemonPortableRangefinder作者声明本人以信誉郑重声明:所呈交的学位毕业设计〔论文,是本人在指导教师指导下由本人独立撰写完成的,没有剽窃、抄袭、造假等违反道德、学术规范和其他侵权行为。文中引用他人的文献、数据、图件、资料均已明确标注出,不包含他人成果及为获得东华理工大学或其他教育机构的学位或证书而使用过的材料。对本设计〔论文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本毕业设计〔论文引起的法律结果完全由本人承担。本毕业设计〔论文成果归东华理工大学所有。特此声明。毕业设计〔论文作者〔签字:签字日期:年月日本人声明:该学位论文是本人指导学生完成的研究成果,已经审阅过论文的全部内容,并能够保证题目、关键词、摘要部分中英文内容的一致性和准确性。学位论文指导教师签名:年月日摘要STC89C52单片机是STC单片机中应用中一款最为广泛的单片机,在自动化及其相关领域具有相当高的价值,STC89C52单片机具有低功耗、高性能以及便于操作等特征受到了广大爱好者的好评。超声波测距仪在生活中能够稳定的测量出精确的距离,超声波具有低能耗、易于传播等特性,因此在生活中得到了广泛的应用。本次设计主要以STC89C52单片机为核心加上超声波传感器来完成本次超声波测距仪的制作,以STC89C52为主控芯片,发射模块发射超声波,接收模块接受发回的超声波,利用超声波传感器对距离的测量以及单片机的运算与处理得出相应的距离,显示结果。本次设计的系统方案通过软件和硬件以及各个模块的相互配合得以实现。论文最后通过综合实验证明,设计出的系统能够稳定运行,实现简便及人性化的输入操作以及显示界面,实现了一定的测量精度,基本完成设计的预计要求,对超声波测距仪低成本化的最终实现具有参考意义。关键字:超声波传感器;测距仪;模块;单片机..ABSTRACTSTC89C52singlechipmicrocomputeristhemostwidelyusedintheapplicationofasinglechipmicrocomputerSTC,Ithasahighvalueinthefieldofautomationanditsrelatedfields,STC89C52MCUwithlowpowerconsumption,highperformanceandeasytooperate,andotherfeaturesbythemajorityoffans,Ultrasonicdistancemeasuringinstrumentcanbestableinlifetomeasuretheprecisedistance,Ultrasoundhasthecharacteristicsoflowenergyconsumption,easytospread,soithasbeenwidelyusedinlife.ThisdesignmainlyusestheSTC89C52singlechipmicrocomputerasthecoreandtheultrasonicsensortocompletetheproductionoftheultrasonicdistancemeasuringinstrument.,STC89C52asthemaincontrolchip,transmittermoduletransmitsultrasonic,receivingmoduletoacceptthereturnedultrasonic,usingultrasonicsensorsfordistancemeasurementandMCUoperationandprocessingthattheappropriatedistance,theresultwillbedisplayed.Thedesignofthesystemprogramthroughthesoftwareandhardwareaswellastheinteractionbetweenthevariousmodulestoachieve.Finallythroughcomprehensiveexperimentsdemonstratethatdesignedthesystemtostableoperation,therealizationissimpleanduser-friendlyinputoperationanddisplayinterface,toachieveacertainmeasurementaccuracy,andbasicallycompletethedesignoftheexpectedrequirementsofthelowcostofultrasonicrangefindertheultimaterealizationofthereferencevalue.Keywords:Ultrasonicsensor;distancemeasuringinstrument;module;singlechipmicrocomputer..目录TOC\o"1-3"\h\u10938绪论 3281021.系统总体方案设计6200461.1本论文主要研究内容6205101.2超声波测距仪需求分析6161661.3超声波距离测量的方案614484超声波传感器测距原理619685超声波传感器的原理7208841.4系统主控芯片的方案与选择8297771.5系统设计方案9269151.6本章小结10219182.超声波测距仪的原理分析11294802.1超声波的基本概念及其特性11316292.2超声波传播速度12249652.3回声探测法超声波测距仪原理简介1429652.4本章小结15115623.系统硬件电路设计1635973.1主控电路17275643.2电源部分1777843.3超声波测试模块18322873.4时钟电路模块19100253.5复位电路模块199443.6按键模块2057873.7声音报警模块2156383.8显示模块2167013.9本章小结22178464.系统软件设计2375684.1系统总体软件设计思路23162074.2超声波探测模块的流程图24297254.5程序抗干扰处理2614774.6本章小结2715425.实验最终调试与结果28218345.1焊接调试28267105.2硬件以及软件调试286613致谢3215839参考文献33绪论自从文明起源的伊始,人类的测量方法就随着时代的进步也跟着发生变化,工具也是五花八门。随着时代的进步人类测量距离的方法也从简单的尺子测量发展到可以利用超声波对距离进行精准的测量。人们发现超声波具有能耗低、指向性强、传播距离较远等优点,因此利用传感器技术与自动控制系统相结合制作可以利用超声波进行距离测量的精密仪器。目前超声波测距已经是最为广泛的一种测距方法了,其具有方便、快捷、精准等优点,在工业、农业、电力等社会各行业领域中都有了它的身影。背景与意义早期我国的超声波测距仪也是依赖于机械原理而进行工作的,但随着世界的电子技术的迅猛发展国内的测距仪在各方面不甘落后,甚至在一些方面科技含量甚至更高、更好。但国内的超声波测距器,精度比较小误差比较大,而且用于多方方向的测距仪也并不是很普及。然而随着科学技术的迅速发展,超声波测距仪的作用将会越来越大。但是,然而就目前技术水平而言,人们可以准确利用的测距技术还是相当的局限。因此,这是一个正在蓬勃发展而又有前途无限的技术及产业领域。展望未来,超声波测距仪作为一种新型的非常重要有用的仪器在各方面都将有很大的进步以及发展的空间,它将朝着更加高定位、高精度的方向而发展,以达到人类日益发展的需求。目前超声波测距仪在测量距离时都是利用超声波在空气中的传播速度与时间之间关系进行计算然后得出结果。常见的技术主要有微波雷达测距和利用超声波测距以及利用激光测距这三种方法。因为超声波具有指向性强、能耗慢而且在介质中传播的距离比较远的这些优点,所以经常用于距离的测量。超声波测距仪主要用于一些工业现场的方位查看、汽车的倒车、移动机器人的自动避障操作、建筑工地的施工,可以在高温、潮湿以及多尘等非常恶劣的环境下进行工作。相比较于其他的测量距离的技术而言,超声波定位技术成本非常低,但是精由于人类生理所决定超声波的振动频率只有在一定范围内才能被人的耳朵所识别,该范围为20~20000赫兹。超声波的频率下限大约和人所能听到的频率上限相等。因此,我们就把频率高于20000赫兹的声波称为之为"超声波"。超声波的各种性质决定他是机械波,机械振动与波动是超声波探测的物理基础。超声波在生活中有很多应用,例如可用于距离测量、速度的测量、障碍物的测量、清洁功能、金属焊接技术、杀灭细菌、检查金属物件的缺陷、以及焊接铝金属、清洁衣物、玻璃打孔、以及寻找沉没了的轮船...等。超声波的波长相比较于其他的声波而言显得特别长,因为通常的障碍物都会比超声波的波长大很多,所以说在衍射能力方面超声波并不是很强,而且在介质密度不发生任何改变的情况下,超声波能够沿着波的方向一直沿直线传波,超声波的波长越短它的直射能力就会越好。当声音在空气中传播时,带动空气中的微粒往返振动而对微粒做功。声波的功率就是表示声波做功快慢的物理量。在相同情况下,声波的频率越高,它所具有的功率就会越大,所以说超声波跟声波相比较,超声波的功率比声波要大的多。目前在国内外的超声波测距方面的能力和主要研究的方面是各不相同的,主要体现在对距离的精确度以及能量损耗上、不同的超声波不同的操作频率,超声波信号的使用方法和超声波测距处理器的选择以及应用上。因为超声波指向性强非常的强而且能量消耗比较小,在很多的介质中传播的距离非常远,因此超声波经常用于距离的测量以及距离的判断,使用超声波测距往往都比较方便、迅速、便于计算、容易做到实时控制。研究可以语音播报的无线测距仪将在工业控制、能源水利勘探方面发挥重大意义,具有极大的优势和广阔的前景。超声波的测量并不需要接触,并不会受到光照、电磁波或者粉尘等外来因素的干扰,超声波的测距过程是利用了计算超声波在被测物的物体和超声波传感器之间的传输时间然后通过计算来测量距离的,然而对于被测物体是没有任何损害的。而且超声波的传播速度在一定范围内与频率是没有关系的。超声波的这些独特优点被越来越多的人们所追捧。目前对于超声波精确测距的要求也越来越广,如油库和水箱液面的精确测量和控制,物体内气孔大小的检测和机械内部损伤的检测等。在机械制造,金属冶炼,航海运输,航空事业、石油、车辆交通、化工等工业领域也有广泛地应用。此外,在材料应用、生物进化等领域中也占具重要地位。超声波测距的意义在于:距离检测是一个非常重要的手段,我们可以利用这个原理制作出许多不同的传感器,现在的超声波测距装置已经相当普及而且价格也非常便宜。超声波在不同介质中传播的速度不一样,就比如超声波在气体中传播的速度并不等于超声波在液体中传播的速度,超声波具有定向性好、能量释放集中、传输过程中衰减较小、反射能力相当强等优点。超声波能以一定速度按照固定方向传播,在碰到障碍物后产生反射,所以利用这一特点,我们可以通过测定超声波往返所用时间然后就可以计算出相离的距离,从而实现无接触从而测量物体的距离。超声波测距具有迅速、快捷、方便等优点,而且不受光线等因素的影响,广泛应用于水文液位测量、建筑施工工地的测量、现场的位置监控、振动仪车辆倒车障碍物的检测、移动机器入探测定位等领域。本文设计的数字式超声波测距仪通过对超声波往返时间内输入到计数器特定频率的时钟脉冲进行计数,进而显示对应的测量距离。研究现状随着科学技术在近几十年的迅猛发展,超声波测距仪的应用范围也逐渐从工业工业生产慢慢走进了人们生活,如此广泛的应用使得提高人们对测距仪的了解显得特别重要。随着超声波传感器处理声波方法的不断改善,该如何研发新型、高性能超声波换能器以进一步拓宽超声波测距的应用,作为解决超声波测距功能不足的一个根本手段,受到了国内外越来越多的学者所关注,目前市场上普通的超声波测距系统,一般采用发射单超声脉冲的方法,这种方法在测距精度和可靠性等方面的研究已较成熟。但是当它采用较高频率超声波时,会因空气吸收而较快衰减,导致有效测量距离降低;在通过降低频率以增大测距范围时,测距的绝对误差又会增大。因而该方法存在测量分辨力和有效作用距离的矛盾,极大制约了超声波传感器应用领域的拓宽。现阶段,我们国内的一些科学家在对超声波发射电路的优化以及发射功率和发射频率的控制,优化最大探测距离的提高等方面做出了卓越的贡献。对新型超声波传感器进行研究并取得了一定成果,但对新款的超声波传感器的组成材料、超声波传感器的创新方面的研究还是很不尽人意。超声波测距功能因为其原理比较简单而且很容易达到效果以及成本低廉等优点,在水位测量、自动化机器人的定位和避障、汽车防护功能和曲面仿形检测等领域得到了广泛的应用。超声波测距凭借其原理简单、易于实现以及成本低等优点得到了广泛的应用。由于超声波指向性强,能量消耗缓慢,因此同样适用于机器人的研制上。用使移机器能自避障行走必须装备测距系统使其及获取距障碍物距离信息〔距离向超声波测距系统机器解其前、左侧右侧环境提供运距离信息。利用超声波检测往往比较迅速、便且计算简单、易于做实控制测量精度面能达工业实用要求广泛应用本课题研究非实用商业价值。3.设计任务基于单片机以及超声波传感器原理,设计用于距离测量的超声波测距仪的硬件电路和相应的软件并且制作样品。要求实现样品可以通过超声波的测量得出准确的距离。4.论文内容安排论文首先介绍了国内外超声波测距仪以及超声波传感器的发展历程、现状,分析了设计需求,对比论证了各种实现方案,确定系统总体方案的选择。然后介绍了基于超声波测距仪的原理,硬件部分的选择。本文重点研究了超声波测距仪的硬件模块:数据采集模块、按键控制模块、数码管显示模块等以及一些软件设计部分的相关原理和工作流程。论文最后通过综合实验检测设计出的系统,并总结了课题研究中出现的问题,对造成流量测量误差的各种因素进行了详细的研究、分析。5.本章小结本章节主要介绍了了超声波测距仪的发展历程和现状,特别介绍了超声波测距仪的历史背景以及现在国内超声波测距仪的主要情况,进而阐明了本课题的研究意义;概述了本次设计任务与论文内容安排。..1.系统总体方案设计1.1本论文主要研究内容本论文需要充分了解超声波的传播特性,以及在实际测量过程中各种干扰对于测量精度的影响,选择相应的硬件策略并采取合适软件抗干扰措施确保测量的稳定。设计系统对应的控制测量电路,并综合仪器在设计方面的自身实际情况与现场环境解决出现的问题并提出改进方案。1.2超声波测距仪需求分析超声波测距仪涵盖了超声波传感装置、蜂鸣器、单片机模块〔硬件控制模块以及软件控制模块,设计的超声波测距仪须达到以下功能:距离测量超声波测距仪的最主要功能就是对距离的测量,因此该实物需要达到能对距离进行精准的测量,以及准确、直观的显示在数码显示管上。数据计算利用超声波传感装置对声波的发送以及接受得到相应数据,通过单片机对相应的数据进行计算,得出所要测量的距离。显示模块显示模块采用了四位显示数码管,在超声波传感装置以及单片机对声波处理和计算得出的距离数据能够准确的显示在四位数码管上。键盘输入实物中含有3个按键,通过按键能够分别实现设定、加、减这三种功能。报警功能通过三个按键分别实现设定、加、减这三种功能,以实现报警的要求距离。通过蜂鸣器产生报警功能。〔6电源设计在电源设计方面采用了3节5号干电池,以达到4.5v的电压。1.3超声波距离测量的方案超声波传感器测距原理利用超声波装置的发射器往任意一个方向发射超声波,在发射的时候同时按下计时器开关开始计算时间,超声波在空气中的传播规律就是只要碰到任何障碍物便会反射回来,因此超声波装置中的接收器在接受到反射波的同时就会立刻停止计时。在空气中超声波传播的速度为V,声波传播的时间为T,所以我们能通过计算得到发射点距离障碍物的长度S=VT。本仪器在超声波发射以后,对超声波的发射一直到接收进行计时。系统定时发射出超声波,在启动发射超声波的同时打开系统内部的定时器,然后再利用定时器的计数功能来记录超声波发射的时间和收到的反射回来的超声波的时间。当收到超声波的反射波的同时,接收电路输出端产生一个负跳变,控制系统在检测到这个负跳变信号后,会停止计时器记时,读取时间,计算距离,测量结果输出给显示设备。超声波测距由于多种方法,例如:有渡越时间检测法、相位检测法以及声波幅值检测法等。声波幅值检测法受到反射波的干扰相对来说比较大。相位检测法虽然得出的结果精度非常的高但是所能检测范围相当有限。所以渡越时间法最为适合超声波测距仪。渡越时间检测法的原理:检测超声波〔超声波发射装置所发射的,渡越时间就是超声波通过空气传播返回超声波接受装置的时间。在气体介质中的声速与渡越时间相乘,就是超声波所经过的路程,也就是测得的距离。目前超声波测距已经得到了相当高的重视,国内一般使用专用集成电路根据超声波测距的原理设计各种各样的测距仪器,然后专用集成电路的成本相对来说比较高、而且功能单一。而以单片机为核心的测距仪器则可以实现预先设置、多端口检测、显示数据、蜂鸣报警等多种功能,并且成本低廉、精度较高、操作简便、工作稳定性高、可靠。以8052为内核的单片机系列,其硬件结构系统具有功能部件齐全、性能强大等特点。尤其值得一提的是,除了8位CPU以外,还具备一个很强的8位处理器,它本质上是一个完整的8位微计算机,即包含完整的位CPU,位RAMROM〔EPROM,位寻址寄存器、I/O口和指令集。因此,8052是双CPU的单片机。位处理在开关决策、逻辑电路仿真、过程测控等方面相当有效,而8位处理则在数据采集和处理等方面具有相当明显的优势。超声波传感器的原理能够发射超声波以及能够接收超声波的装置就叫超声波传感器,一般称之为为超声换能器,有些时候也叫超声波探头。超声波传感器主要是由压电晶片所构成,既可以发出超声波,也能够收到超声波。小功率的超声换能器多用于一些勘探方面。它有很多不同的结构部分,可以分成直探头〔发射纵波、双探头〔一个探头反射、一个探头接收、斜探头〔发射横波、表面波探头〔发射表面波、兰姆波探头〔可以发射兰姆波等。超声传感器的核心是一块压电晶片一般处于他的塑料外套中或者有的是存在于金属外套中。构成晶片可以利用很多种材料,因为晶片的直径、大小和密度、厚度都会有所差异,因此不同的传感器的性能都是不同的,在我们准备操作前必须预先了解清楚该探头的属性以及性能情况。超声波传感器的主要性能指标包括:工作频率:压电晶片在工作时产生的振动频率就是工作频率。当加到它两端的交流电压的频率和晶片的共振频率相等时,可以输出最大的能量,在这时灵敏度也是最大值。

〔2工作温度:压电材料的居里点一般都很高,特别时诊断用超声波探头使用功率较小,所以工作温度比较低,可以长时间的工作而且也不会失去效果。医疗用的超声探头的温度比较高,需要单独的制冷设备。

〔3灵敏度:主要取决于制造晶片本身。机电耦合系数大,灵敏度高。图1-1超声波传感器结构1.4系统主控芯片的方案与选择系统芯片的选型影响到系统总体性能,根据要求提出了两个可行的芯片选型方案:〔151单片机主控芯片为STC90C516RD+单片机,该款芯片工作电压为3.5V-5.5V拥有Flash64K,SRAM1280字节,51单片机一共有39个I/O口并且机器周期可选择,有EEPROM、看门狗功能,共3个16位定时器/计数器,外部中断4路,掉电模式可由外部中断唤醒。该芯片具有低廉的价格,相关技术资料成熟全面,但只有8位的处理能力。〔252单片机52单片机使用的是MCS-51内核而且具有低能耗、高性能CMOS8位微控制器具8k字节系统可编程Flash存储器。相比与51单片机,52单片机有着更多的优势。相比较与51单片机,52单片机多了一个定时器,在串行通信中可以设置更高的波特率,RAM方面51是128而52却是256。51单片机的晶振只有24MHz,而52单片机最高可以达到33MHz,而且在看门狗,在掉电、数据指针等方面也远远胜过51单片机。1.5系统设计方案本次的超声波测距仪的设计包括了软件以及硬件两个部分,主要的相关模块分成了数据信息的收集模块、键盘按键的控制模块、四位数码显示管显示模块、报警等子模块等。而在电路结构方面则分成了3个部分,分别是:超声波传感器的相关电路、蜂鸣器相关电路以及单片机的控制电路。就对本次设计来说,本次的核心模块也就是中心单元则是靠单片机完成,所以本次的设计系统也算是单片机应用系统的相关应用。单片机的组成包括了硬件以及软件,硬件部分主要是由单片机本身还有相关的输入、输出设备以及外部电路等所组成。软件则是各种各样的程序所构成。单片机的系统研发过程主要包括总体的设计以及对软硬件分别进行设计等3个阶段。本次设计的超声波测距仪利用了STC89C52单片机作为核心的控制单元,每次当测距仪所测到的距离小于所设定的距离时,主控芯片则将测到的数据与我们开始设置的距离进行计算比较然后处理。最后控制蜂鸣器产生报警。系统总体的设计方框图如下图所示:电源电源超声波传感器模块按键控制STC89C52主控制器模块超声波传感器模块按键控制STC89C52主控制器模块四位数码管显示模块蜂鸣器报警模块四位数码管显示模块蜂鸣器报警模块图1-2系统设计方案框图结合需求分析与系统总体方案的选择,本设计的总体流程图1-3如下:图1-3本设计的总体流程图1.6本章小结本章首先介绍了整个系统的功能实现的要求与目标,阐明了在总体目标基础的系统设计大致步骤,接着对比分析了各个可行性方案的优劣,最后提出了实现系统设计功能的最终方案。..2.超声波测距仪的原理分析在确定了超声波测距系统的总体设计方案之后,想要达到超声波测距的具体功能,我们还需要了解以及掌握超声波以及超声波传感器的一些基本理论与知识。本章主要介绍了超声波的相关信息以及超声波传感器的相关信息,并详细的阐述理论条件下的测量公式,从而进行实验,以达到预期的效果。2.1超声波的基本概念及其特性超声波是一种人耳无法听到的波因为它的频率超过20KHz,超声波分横向振荡和纵向振荡两种形式,超声波可以在气体、液体及固体中传播,超声波在不同的介质中传播的速度也会有所差异。超声波的特性如下:波长:电磁波波的传播速度为3×108m/s,而声波的传播速度却很慢约340m/s。一来说波的传播速度是用其频率乘以波长然后得出来的,然而在仅仅只有340m/s的传播速度的情况下波长比较短也就意味着可以在方向上获得很高的分辨率以及对距离的清晰判断。正因如此使得我们在测量时获得了高精准度。反射:超声波只有通过反射才能确定物体的存在,因为金属材料、木材、泥土、玻璃、塑料产品和纸制品等几乎可以把所有超声波所反射,因此我们可以很容易地发现这些物体。然而有些材料会吸收超声波使得我们很难探测到他们例如:布、棉花、绒毛等,同时,在一些特殊情况的不规则反射,往往可能很难探测到凹凸不平的表面以及存在于倾斜角度过大地方的物体,正是这些原因决定了超声波的理想测试环境是在空旷的场所,并且测试物体必须反射超声波。温度效应:声波的传播速度一般用"c"表示,一般用公式c=331.5+0.607t<m/s>式中,t=温度<℃>表示,由此公式可以看出波的传播速度与温度是密切相关的,温度会影响到波的传播速度。因此为了测量的精确性,我们在使用超声波进行测距时必须将温度这一重要因素考虑进去。衰减:超声波在空气中传播会随着传播距离的增加超声波强度变化成比例地减弱,这是衍射现象而造成的声波在球形表面上的扩散损失。如图2-1所示,频率越高的超声波,衰减率也就会越高,超声波的传播距离也就越短,因此超声波的衰减特性直接影响了超声波传感器有效距离。图2-1声压在不同距离下的衰减特性2.2超声波传播速度本次课题是要对距离进行测量,因此所考虑的问题则是超声波在介质中中的传播速度,现对空气中超声波传播速度进行分析:空气中声速公式:c=331.5+0.607t<m/s>式中,t=温度<℃>表示,由此看出声速度与温度成正比,温度越高声速越快。水中声速公式:〔2-1〔其中C=声速,T=水温,S=含盐量,h=水深〔T=[0,35℃],S=[0,45%]根据资料的分析得到的超声波在水中传播速度与温度T,含盐量S及水深h有关,但是其中水深h多用于水下声速计算,因此在流量测量中水深h可忽略不计。〔2-2使用MATLAB对其两个变量水温和含盐量进行曲线绘制:图2-1声速与温度变化关系曲线图2-2声速与含盐量变化关系曲线由图可以看出在给定变化区间内,声速随着温度或含盐量的增加而增大。2.3回声探测法超声波测距仪原理简介利用超声波测距中最长见的方法便是回声探测法。回声探测法的原理:超声波发射器向某一方向发射超声波,在超声波发射出去的同时,定时器也同时开始计时,超声波在空气中传播,中途如果碰到障碍物会马上返回,超声波在接收到返回波的同时停止计时器的计时。超声波在空气中的一般传播速度为340m/s,然后按照计时器所记录的时间t,就可以计算出该位置离测距仪的距离s,即:s=340t/2。因为超声波也是一种声波,所以它的速度V和温度密切相关。在测量时,如果传播所经过的介质温度变化不是很大,则可以近似的将超声波的速度认定为保持不变。但如果对测量的结果要求精度很高,则可以通过温度补偿的方法对测量结果加以数值校正。声速确定后,只要测得超声波往返的时间,即可求得距离。这就是超声波测距仪的基本原理。超声波发射障碍物SHθ超声波接受图2-2超声波的测距原理以下为超声波测距仪对距离进行测量时的原理所要产生的相关计算,以及相关的原理公式:〔2-1〔2-2式中:L——两探头之间中心距离的一半已知传播距离:〔2-3式中:v——超声波在介质中的传播速度t——超声波从发射到接收所需要的时间因此又此得出,只要需要测量出超声波传播的时间t,就可以由此得出我们所要求得的H。2.4本章小结本章介绍了本次超声波测距仪设计的课题研究方法以及实施方式。..3.系统硬件电路设计本章根据回声探测法超声波测距仪总体方案的基础,确定了实现系统各模块功能的硬件电路的相关设计。系统主要由主控制模块、电源部分、超声波测试模块、时钟电路模块、复位电路模块、按键模块、声音报警模块、以及显示模块所组成。本次设计需完成必须依靠以上各个模块的参与,共同作用下达到预期的效果。如下图3-1为本次设计的超声波测距仪的硬件整体原理图:图3-1超声波测距仪硬件整体电路图3.1主控电路作为整个超声波测速系统中最为核心也是最为关键的一部分,本设计选择STC89C52单片机。STC89C52单片机在拥有非常强的抗干扰能力的同时还拥有相当高的运算速度与能耗较低等特点,确保了它的适用程度以及整体的性能指标。如下图3-2所示为本次设计的超声波测距仪的最小硬件系统。图3-2最小硬件系统有分析得在本设计的超声波测距仪中要用到以下器件:STC89C52单片机、超声波传感装置、按键、四位数码管、蜂鸣器等一些单片机外围应用电路。3.2电源部分本次设计在电源方面采用了自锁开关的引脚识别方法,其硬件原理图如下图3-3,其中p2为电池或者USB的接口,sw1为电源的开关用来接通和断开电源。其中12和45是常开触点而23和56是常闭触点。在开关按下了1245则该电路导通,2356则是断开如是弹开开关则相反。图3-3电源相关硬件图3.3超声波测试模块超声波测试模块作为超声波测距仪的最为重要部分之一,超声波模块的选择决定了整机性能的好坏。本设计选择使用HC-SR04作为本次超声波测距仪的超声波模块,该模块可提供2cm-500cm的范围内不需要接触也能进行测距,而且测距的精度还可以达到最高高3mm。本模块包含了超声波发射器、超声波接收器与控制电路。本测试模块采用IO口TRIG触发然后进行测距,只需要给10us的高电平信号,该测试模块将会自行发送8个40KHz的方波,然后自动检测信号的返回与否,如果会有信号返回,则给IO口的输出一个高电平,这个高电平持续了多久则证明超声波来回经历了多久。测试距离=<高电平时间*声速<340M/S>>/2。其中VCC供5V电源,GND为地线,TRIG触发控制信号输入,ECHO回响信号输出等四支线。如下图3-4为超声波装置的相关电路图:图3-4超声波装置电路图如图所示1接口接电源正极,4接电源负极也就是接地2和3接口分别接射脚〔接p32口和收脚〔p33口,该超声波模块在实行时采用了定时器0进行测量以及8分频TCNTT0预设值0XCE,当timer0溢出中断发生2500次时为125ms,计算公式为〔单位:ms:T=〔定时器0溢出次数*〔0XFF-0XCE/1000其中定时器0初值计算依据分频不同而有差异。3.4时钟电路模块在时钟电路方面方向放大器的输入以及输出分别为XTAL1和XTAL2。这个反向放大器也可以认为是片内的振荡器。在本次设计里石晶材料的振荡和陶瓷材料振荡都可以使用。但是如果是采用了外部的时钟用以驱动硬件,则XTAL2应不用连接。因为在一个特定的机器周期内会包含6个状态周期,2个振荡周期合起来是一个状态周期,因此一个机器周期包含12个振荡周期,如果外接的是石英材料晶体振荡器则它的振荡频率则为12MHZ,所以一个振荡周期为1/12us,因此一个机器周期就是1us。如图3-5所示则是本次设计的时钟电路模块的相关电路图。图3-5时钟电路电路图3.5复位电路模块传统的复位方法一般有2种,一种为上电自动复位方式还一种则是外部按键手动复位。单片机将会在时钟电路即将工作完成的同时,在RESET端连续施加2个机器周期的高电平也就可以达成复位的要求。例如使用晶振频率为12MHz时,则要求该电路的复位信号应不小于2us的持续时间。本次设计的复位电路模块是采用的自动复位电路。如图3-6示为本次设计的复位电路图。图3-6复位电路图3.6按键模块本次设计的超声波测距的按键模块采用的是独立按键,相关电路中只使用了3个独立按键,一个为设定键,两外两个分别为加键和减键。设定键作为对本次设计的测距仪所要求的报警距进行设定,加减两键分别是对距离大小的控制,当所测的的距离小于报警距离,蜂鸣器则开始报警。如图3-7为一个独立按键在系统中的相关电路图:图3-7独立按键电路图3.7声音报警模块本次设计中如若测得的距离小于所设定的距离时,蜂鸣器则会产生报警。在声音报警电路中采用一个Speaker和三极管、电阻接到单片机的P13引脚上,构成声音报警电路。蜂鸣器在安装时长脚接正极,短脚接负极。如下图3-8为本次设计的声音报警模块的电路图:图3-8声音报警电路3.8显示模块本次设计的超声波测距仪中显示模块算是最为重要的一块,因为该测距模块显示了最后的测距结果,采用了4位数码管将最后的测距结果显示在上面,前两位为所测得的米数,而后两位为厘米数。显示模块采用数码管显示接口电路如图3-9如下:图3-9数码显示管接口电路3.9本章小结本章对本次设计中所要涉及的硬件部分中的各个模块进行了详细的介绍,以及对各个硬件部分的相关电路给出了图示以及介绍。..4.系统软件设计本文的前几章已经对本次设计的实验方案以及具体实施方法做出了介绍,同时在前一章更是对本次设计系统的各个硬件模块以及连接方法进行了简要的介绍,基于前几章的基础本章节将要对本次设计中的软件模块方面做出一些简要的描述以及介绍,以下则为软件方面的简要介绍。4.1系统总体软件设计思路本次超声波测距仪系统的程序采用的编程语言为C语言,基于KeilμVision4开发平台。C语言是一门使用相当普遍的一款计算机编程语言,受到了广大计算机使用者的追捧。C语言给计算机编程提供了简单的编程方法而且容易操作的低级处理器最主要还是减少了很多不必要的机器代码以及随时随地很方便的进行计算机编程。与汇编程序相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因此更加容易读懂学习、更加容易使用。因为本次超声波测距仪系统设计中将要达到报警功能,因此在程序编写上因加入报警模块的程序编写,如下图4-1为系统主程序工作流程图:图4-1为系统主程序工作流程图4.2超声波探测模块的流程图HC-SR04超声波模块具有两种测量传播时间的方法可以使用。其中一种是将一个一个大于10微秒的脉冲信号给其Trig引脚,此时该模块将会自动产生8个40KHz的超声波脉冲,然后在马上打开计时器开始计时,当Echo引脚收到信号的同时计时器也开始关闭。然而这种方案却存在一些缺点,缺点是在操作的过程中非常的浪费时间,而无法确定的是,到底什么时候发射模块才会真正的开始发射超声波的脉冲。而HC-SR04超声波模块却提供了另一种比较可靠的计时方法。每当Trig引脚被触发时,开始发射超声波脉冲,接收端收到脉冲后Echo引脚会产生一个宽度与传播时间成正比的脉冲。这样只需要检测Echo引脚返回的脉冲信号宽度,即可确定超声波在发射端和接收端之间传播的时间。下图4-2为超声波探测环节流程图:图4-2探测环节流程图4.3按键程序超声波测距仪带有报警距离设定功能,报警距离自由设定的功能可以让使用者根据自己的实际需要来对报警距离进行设定。由于本设计在各种不同的场合都可以使用,所以可调节报警距离也加强了本设计在不同环境下的实用性。报警距离可调是通过按键来实现的,在系统初始化之后,系统会扫描设置键是否按下。在设置键被按下之后,可根据加减按键对之前保存的报警距离进行调节,当报警距离设定完成之后,再次按下设置键,完成设置,成功更新报警距离。如下图4-3为按键控制流程图:图4-3按键控制流程图4.4显示模块超声波测距仪需要通过显示模块才能让使用者直观地得到所需的测量数据,显示模块成为超声波测距仪与使用者进行信息交流的最重要的部分。通过显示模块,使用者可以得到测量值,或者调节报警距离。在超声波测距仪启动之后,经过初始化,数码管默认显示测量值,此时显示3位数码管:若安下设置键,则数码管显示报警距离,报警距离的调整也会通过数码管显示出来,测试显示4位数码管。当再次按下设置键后,退出报警距离的显示,重新显示测量值。如下图4-4为显示模块流程图:图4-4显示模块流程图4.5程序抗干扰处理在实验测量的现场一般很容易受到一些干扰或者是供电的不稳定等原因将会影响到单片机核心的运作,所以极有可能将会导致程序的跑飞,系统将会无法工作。这时候就必须使用到看门狗功能,规定时间内如果该单片机不防问看门狗,则系统将会默认此单片机处于故障中,看门狗则会强行将单片机进行复位,使单片机系统重新开始正常工作。4.6本章小结本章简要介绍了超声波测距仪各个模块的程序流程图以及实现的软件设计思路、原理和实现的方法。详细的主程序以及子程序请参考附录一。本章在最后还介绍了程序的抗干扰处理,以预防干扰因素对测试结果的影响。5.实验最终调试与结果5.1焊接调试在实物的最终调试时,焊接各个模块是最主要的过程,在焊接完成后才能进行对各个模块的设置以及测试。焊接的步骤是首先焊接好系统的各个模块芯片与材料,最后在焊接完每一个模块的基础上,再开始进行单独模块检测与调试。为了完成正常的焊接过程。而且想要要获得好的焊接结果,就一定要将焊接的顺序以及焊接的要点记清,严格按照焊接的流程来实施:最开始右手持电烙铁,然后用左手持有尖嘴钳持有元件或者导线。在焊接即将开始前,必须先将电烙铁充分预热,而且在烙铁头上面一定要含有足够的锡。然后将烙铁头的侧面紧贴在需要焊接的点,在角度方面也要求烙铁头与水平面大约成45℃角的范围内。以便于熔化的锡能够直接从烙铁头上面流到焊接点上。在拿走焊锡丝的同时,需要将烙铁头在被焊接处停留2到3秒左右的时间。在拿开焊锡丝的时候,烙铁不应该马上拿开,保持加热使焊锡以及完成润湿和扩散的过程,一直等到焊点在最明亮时候再马上拿走烙铁,左手拿着元器件保持不动。等待大约10秒的时间,焊点处的锡冷却凝固完成后,才可松开左手。整个焊接过程中,应避免虚焊、短路、偏位、少锡、多锡、极性反向等情况的发生,并且注意布线的简洁和布线的正确性。5.2硬件以及软件调试在焊接以及实物安装完毕以后,就可以将程序编译以后好下载到单片机里进行试运行。首先将写好程序的AT89S52单片机装到万用板上,然后在根据操作的实际情况观察是否要修改超声波发生子程序每次发出的测量时间的间隔和脉冲的宽度,以适应不同距离的测量需要。根据所设计的电路及其参数加上编写的程序,得出所能测得的距离,测距仪最大误差应该不超过1cm左右。在通电以后将仪器的超声波探头对着墙面往复移动,在观察数码管的显示数字结果会不会变化随着移动而发生变化,以及在测量范围内能否正常显示。如果超声波发射功率比较大时,则测量时的距离比较远,则相应的下限值〔盲区应设置为更高值。试验板中的声速没有进行温度补偿,声速值为340m/s,该值为15℃时的超声波值。系统调试完后应对测量误差和重复一致性进行多次实验分析,不断优化系统使其达到实际使用的测量要求。如下图5-1和5-2为本次设计的实物图:图5-1实物图图5-2实物图5.4本章小结本章对本次设计的超声波测距仪的软硬件的调试做出了说明,以及给出了相关的实片。..结论本次设计与研究的超声波测距仪采用了最为简便的电子元器件以及相关材料将软、硬件充分地结合了起来,充分利用了AT89S52单片机及该单片机的外围接口用以实现超声波测距系统,记数原理则是利用了单片机的定时器与计数器共同完成。因此本次设计的超声波测距仪的整体性能相当好,加上人性化强、可靠性能高等优点实现了操作简便的功能,同时也达成了数字方面的显示控制的智能化。经过了查阅大量的文献资料和相关的书籍,并且对市面上一些原本就有的一些类似产品进行了一定程度的抽查,大概了解了现在市面上的超声波测距仪的发展情况以及现有的功能。最主要是通过这次的设计培养了我的自学能力以及动手能力。通过这次的毕业论文,我学会了如何将曾经学过的知识转变为自己所能够利用的东西,并且逐渐从以前的被动学习知识到了主动对知识的向往,这可以算是是我在学习上最大的进步。本次设计通过软件以及硬件的共同设计,让我对软件以及硬件电路有了更深的了解。在很多实际问题中逐渐让我发现,很多在书本上出现的只是要想运用到实际的操作中会困难很多必须对只是进行深入的了解,而且有些问题不但要深入地理解,而且要不断地更正以前的错误思维。本次论文详细地介绍了超声波传感器的原理、结构、检测方式以及它的一些特性。超声波传感器以及单片机是本次设计系统的核心器件,只有深入地了解超声波传感器和单片机的工作原理,才能把握以及设计相关的操作。只有足够了解超声波传感器的运作原理,加上学会了各种放大电路的原理与分析,同时还必须掌握单片机的开发过程以及如何利用单片机设计相关电路模型的方法。通过本次设计,我不但对专业知识更加熟练,很好的将理论与实际结合起来,同时还学会了怎么才能更好的利用知识和日常生活相结合,最后我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。我懂得了学习的重要性,学会了坚持和努力,这将为以后的学习做出了最好的榜样!挫折是一份财富,经历是一份拥有。这次课程设计必将成为我人生旅途上一个非常美好的回忆!本课题所研究的超声波测距仪在控制成本的前提下保证了一定的测量精度,然而依然存在着诸多的不足与问题。..参考文献[1]吴政江.单片机控制红外线防盗报警器[J].XX师范学院学报,2001.[2]宋文绪.传感器与检测技术[M].北京:高等教育出版社,2004.[3]余锡存单片机原理及接口技术[M].XX:XX电子科技大学出版社,2000.[4]唐桃波,陈XX.基于AT89C51的智能无线安防报警器[J].电子设计应用,2003,5<6>:49~51.[5]李全利.单片机原理及接口技术[M].北京:北京航空航天大学出版社,2004.[6]薛均义张彦斌.MCS-51系列单片微型计算机及其应用[M].XX:XX交通大学出版社,2005.[7]徐爱钧,彭秀华.单片机高级语言C51应用程序设计[M].北京:北京航空航天大学出版社,2006.[8]康华光.电子技术基础〔模拟部分[M].北京:高等教育出版社,2004.[9]胡寿松.自动控制原理〔第五版.北京:科学出版社,2007.[10]唐俊翟.单片机原理与应用.北京:冶金工业出版社,2004.4.[11]马建国.电子系统设计.北京:高等教育出版社,2004.1.[12]李戈,孟祥杰,王晓华,王重秋.国内超声波测距研究应用现状[J]2011.第4期:1-2[13]阎石.数字电子技术基础[M],第四版.北京:高等教育出版社,1998.[14]PeterHauptmann,RalfLucklum,BerndHenning.UltrasonicSensorsforProcessControl.SensorsUpdate.1998,3:163-207[15]秦旭.用LM92温度传感器补偿的高精度超声波测仪.电子产品世界.2003,6:58-59[16]苏炜,龚壁建,潘.超声波测距误差分析.传感器技术.2004,23<6>:8-11[17]TheodoreF.BogartJr,JeffreyS.Bersley,GuillermoRico.ElectronicDevicesandCircuits,6thed.2006.[18]杨志忠.数字电子技术.北京:高等教育出版社.2003[19]常太华,苏杰,田亮.检测技术与应用.北京:中国电力出版社,2003[20]TomR.Watt.Coolingourtomorrowseconomically,ASHRAEJournal...附录一:程序#include<reg52.h>#include<intrins.h>#include"eepom52.h"#defineucharunsignedchar#defineuintunsignedint//数码管段选定义012345 6 7 8 9 ucharcodesmg_du[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90, 0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff}; //断码//数码管位选定义ucharcodesmg_we[]={0xe0,0xd0,0xb0,0x70};uchardis_smg[8]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8};sbitsmg_we1=P3^4; //数码管位选定义sbitsmg_we2=P3^5;sbitsmg_we3=P3^6;sbitsmg_we4=P3^7;sbitc_send=P3^2; //超声波发射sbitc_recive=P3^3; //超声波接收ucharflag_hc_value;//超声波中间变量sbitbeep=P2^3;//蜂鸣器IO口定义bitflag_key_b_en,flag_key_set_en;//按键蜂鸣器使能ucharsmg_i=3;//显示数码管的个位数bitflag_300ms;bitkey_500ms;longdistance; //距离uintset_d; //距离bitflag_csb_juli;//超声波超出量程uintflag_time0;//用来保存定时器0的时候的//按键的IO变量的定义ucharkey_can; //按键值的变量ucharzd_break_en,zd_break_value;//自动退出设置界面ucharmenu_shudu=10;//用来控制连加的速度bitflag_lj_en; //按键连加使能bitflag_lj_3_en; //按键连3次连加后使能加的数就越大了ucharkey_time,flag_value;//用做连加的中间变量ucharmenu_1;//菜单设计的变量uchara_a;/***********************1ms延时函数*****************************/voiddelay_1ms<uintq>{ uinti,j; for<i=0;i<q;i++> for<j=0;j<120;j++>;}/***********************处理距离函数****************************/voidsmg_display<>{ dis_smg[0]=smg_du[distance%10]; dis_smg[1]=smg_du[distance/10%10]; dis_smg[2]=smg_du[distance/100%10]&0x7f; }/******************把数据保存到单片机内部eepom中******************/voidwrite_eepom<>{ SectorErase<0x2000>; byte_write<0x2000,set_d%256>; byte_write<0x2001,set_d/256>; byte_write<0x2058,a_a>; }/******************把数据从单片机内部eepom中读出来*****************/voidread_eepom<>{ set_d=byte_read<0x2001>; set_d<<=8; set_d|=byte_read<0x2000>; a_a=byte_read<0x2058>;}/**************开机自检eepom初始化*****************/voidinit_eepom<>{ read_eepom<>; //先读 if<a_a!=1> //新的单片机初始单片机内问EEPOM { set_d=100; a_a=1; write_eepom<>; } }/****************独立按键处理函数********************/voidkey<>{ staticucharkey_new=0,key_old=0,key_value=0; if<key_new==0> { //按键松开的时候做松手检测 if<<P2&0x07>==0x07> key_value++; else key_value=0; if<key_value>=5> { key_value=0; key_new=1; flag_lj_en=0; //关闭连加使能 flag_lj_3_en=0; //关闭3秒后使能 flag_value=0; //清零 key_time=0; write_eepom<>; } } else { if<<P2&0x07>!=0x07> key_value++;//按键按下的时候 else key_value=0; if<key_value>=5> { key_value=0; key_new=0; flag_lj_en=1; //连加使能 zd_break_en=1;//自动退出设置界使能 zd_break_value=0;//自动退出设置界变量清零 flag_key_b_en=1;//按键蜂鸣器使能 } } key_can=20; if<key_500ms==1> //连加 { key_500ms=0; key_new=0; key_old=1; zd_break_value=0; } if<<key_new==0>&&<key_old==1>> { switch<P2&0x07> { case0x06:key_can=3;break; //得到k2键值 case0x05:key_can=2;break; //得到k3键值 case0x03:key_can=1;break; //得到k4键值 }// dis_smg[3]=smg_du[key_can%10]; } key_old=key_new; }voidsmg_we_switch<uchari>{ switch<i> { case0:smg_we1=0;smg_we2=1;smg_we3=1;smg_we4=1;break; case1:smg_we1=1;smg_we2=0;smg_we3=1;smg_we4=1;break; case2:smg_we1=1;smg_we2=1;smg_we3=0;smg_we4=1;break; case3:smg_we1=1;smg_we2=1;smg_we3=1;smg_we4=0;break; } }/***********************数码显示函数*****************************/voiddisplay<>{ staticuchari; i++; if<i>=smg_i> i=0; // P1=0xff; //段选 // P3=0xf0|<P3&0x0f>;//位选// P3=smg_we[i]|<P3&0x0f>;//位选 smg_we_switch<i>; P1=dis_smg[i]; //段选 }voiddelay<>{ _nop_<>; //执行一条_nop_<>指令就是1us _nop_<>; _nop_<>; _nop_<>; _nop_<>; _nop_<>; _nop_<>;}/*********************超声波测距程序*****************************/voidsend_wave<>{ c_send=1; //10us的高电平触发 delay<>; c_send=0; TH0=0; //给定时器0清零 TL0=0; TR0=0; //关定时器0定时 flag_hc_value=0; while<!c_recive>; //当c_recive为零时等待 TR0=1; while<c_recive> //当c_recive为1计数并等待 { flag_time0=TH0*256+TL0; if<<flag_hc_value>1>||<flag_time0>65000>>//当超声波超过测量范围时,显示3个888 { TR0=0; flag_csb_juli=2; distance=888; flag_hc_value=0; break; } else { flag_csb_juli=1; } } if<flag_csb_juli==1> { TR0=0; //关定时器0定时 distance=TH0; //读出定时器0的时间 distance=distance*256+TL0; distance+=<flag_hc_value*65536>;//算出超声波测距的时间 得到单位是ms distance*=0.017;//0.017=340M/2=170M=0.017M算出来是米 if<distance>350> //距离=速度*时间 { distance=888; //如果大于3.8m就超出超声波的量程 } }}/*********************定时器0、定时器1初始化******************/voidtime_init<> { EA=1; //开总中断 TMOD=0X11; //定时器0、定时器1工作方式1 ET0=1; //开定时器0中断 TR0=1; //允许定时器0定时 ET1=1; //开定时器1中断 TR1=1; //允许定时器1定时 }/****************按键处理数码管显示函数***************/voidkey_with<>{ if<key_can==1> { menu_1++; if<menu_1>=2> { menu_1=0; } if<menu_1==0> { menu_shudu=20; dis_smg[0]=smg_du[distance%10]; dis_smg[

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论