《基于单片机的超声波测距控制系统.docx》由会员分享,可在线阅读,更多相关《基于单片机的超声波测距控制系统.docx(10页珍藏版)》请在优知文库上搜索。
1、基于单片机的超声波测距限制系统1、总体方案设计本文所探讨的超声波测距仪利用超声波指向性强、能量消耗缓慢、传播距离较远等优点,即用超声波放射器向某一方向发送超声波,同时在放射的时候开场计时,在超声波遇到障碍物的时候反射回来,超声波接收器在接收到反射回来的超声波时,停顿计时。设超声波在空气中的传播速度为V,在空气中的传播时间为T,汽车与障碍物的距离为S,S=VT2,这样可以测出汽车与障碍物之间的距离,然后在LED显示屏上显示出来。其工作机理是依据压电材料的正逆压电效应,利用逆压电效应产生超声波,即逆压电效应是在压电材料上加上某种特定频率的交变正弦信号,材料就会产生随所加电压的变更规律而变更的机械形
2、变,这种机械形变推动四周介质振动,产生疏密相间的机械波,假如其振动频率在超声范围内,这种机械波就是超声波。本文所设计的超声波测距仪主要由AT89C52单片机、超声波放射电路、超声波接收放大电路、显示电路。首先由单片机驱动产生12MHZ晶振,由超声波放射探头发送出去,在遇到障碍物反射回来时由超声波接收探头检测到信号,然后经过滤波、放大、整形之后送入单片机进展计算,把计算结果输出到LED液晶显示屏上。它们所产生的超声波的频率,功率和声波特性各不一样,因而用途也各不一样。目前在近距离测量方面较为常用的是压电式超声波换能器。依据设计要求并综合各方面因素,本例确定采纳AT89C51单片机作为主限制器,用
3、动态扫描法实现LED数字显示,超声波驱动信号用单片机的定时器完成。超声波测距器系统设计如图1所示。图1超声波测距器系统设计框图1.ED显示超声波换能器障碍物主程序流程图:系统初始化发送超声波脉冲等待反射超声波2、详细电路设计2.1 系统硬件设计系统由AT89S51单片机、超声波放射电路、接收放大电路及显示电路组成。AT89S51单片机是整个系统的核心部件,用来协调各部件的工作,单片机采纳AT89C51或其兼容系列。采纳12MHZ高精度的晶振,以获得较稳定时钟频率,减小测量误差。先由单片机限制的振荡源产生40kHz的频率信号以驱动超声波换能器,持续放射超声波20ms。当第一个超声波脉冲放射后,计
4、数器开场计数,在检测到第一个回波脉冲的瞬间,计数器停顿计数,这样就能够得到从放射到接收的时间差t;依据所采集到的数据最终利用单片机计算出被测距离,并由显示器显示出来,显示电路采纳简洁好用的4位共阳LED数码管,段码用74LS244驱动,位码用PNP三极管9012驱动。测距电路的输出端接单片机中断端口,中断源的识别由程序查询来处理。在启动放射电路的同时启动单片机内部的定时器T0,利用定时器的计数功能记录超声波放射的时间和收到反射波的时间。当收到超声波反射波时,INTO出现低电平,马上产生一个中断恳求信号,单片机响应外部中断恳求,执行外部中断效劳子程序,读取时间差,计算距离。并将测距胜利标记位赋值
5、1。当计时器溢出时还未检测到超声波返回信号,那么定时器TO溢出中断将外中断0关闭,并将测距胜利标记赋值0,表示本次测距不胜利。2.2 超声波发生电路超声波放射电路主要由超声波换能器和反向器74LS04构成,单片机PLO端口输出的40KHZ方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推挽形式将方波信号加到超声波换能器两端可以提超群声波的放射强度。输出端采纳两个反向器并联,用以提高驱动实力。上拉电阻Rl、R2一方面可以增加超声波换能器的阻尼效果,以缩短其振荡的时间,提高反向器74LS04输出高电平的驱动实力;另一方面可以提高反向器7
6、4LS04输出高电平的驱动实力。超声波放射原理图如图3所示。2.3 超声波接收电路集成电路CX20216A是一款红外线检波接收的专用芯片,常用于电视机的红外接收器。因为红外遥控常用的载波频率38KHz与测距的超声波频率40KHz比拟接近,所以本设计利用它制作超声波检测接收电路,如图3所示。试验证明,用CX20216A超声波(无信号时输出高电平)具有很高的灵敏度和较强的抗干扰实力。适当变更电容CI的大小,可以变更接收电路的灵敏度和抗干扰实力。2.4 数据显示电路显示电路采纳简洁好用的4位共阳LED数码管,断码用74LS244驱动,位码用PNP三极管9012驱动。由PO口输出显示数据,P2.0P2
7、.3用来位选。2.5 单片机测距原理本设计采纳超声波渡越时间检测法。其原理为:检测从超声波放射器发出的超声波,经气体介质的传播到接收器的时间,即渡越时间。渡越时间与气体中的声速相乘,就是声波传输的距离。考虑实际状况,采纳异地脉冲反射式来测距,即需测距离是声波传输距离的一半。测动身射和接收回波的时间差,然后求出距离S。在速度V的状况下,距离S的计算公式如下:S=V*ZM2限制该系统的最大可测距离存在4个因素:超声波的幅度、反射的质地、反射和入射声波之间的夹角以及接收换能器的灵敏度。接收换能器对声波脉冲的干脆接收实力将确定最小的可测距离。为了增加所测量的覆盖范围、减小测量误差,可采纳多个超声波换能
8、器分别作为多路超声波放射/接收的设计方法。3、整体电路设计图44、软件程序设计超声波测距器的软件设计主要由主程序,超声波发生子程序,超声波接收中断程序及显示子程序组成,由于C语言程序有利于实现较困难的算法,汇编语言程序那么具有较高的效率并且简洁精确计算程序行动的时间,而超声波测距器的程序既有较困难的计算(计算距离时),又要求精确计算程序运行时间超声波测距时),所以限制程序可采纳C语言和汇编语言混合编程。下面对超声波测距器的算法,主程序,超声波发生子程序和超声波接收中断程序逐一介绍。4.1 主程序主程序流程图:图5程序首先要对系统环境初始化,设置定时器TO工作模式为16位定时/计数器模式,置位总
9、中断允许位EA并对显示端口Po和P2清0;然后调用超声波发生子程序送出一个超声波脉冲。为了防止超声波从放射器干脆传到接收器引起的直射波,须要延时约0.1ms(这也就是超声波测距器会有一个最小可测距离的缘由)后才可翻开外中断0接收返回的超声波信号。由于采纳的是12MHZ的晶振,计数器每计一个数就是Ius,所以当主程序检测到接收胜利的标记位后,将计数器TO中的数(即超声波来回所用的时间)按式(32)计算,即可得被测物体与测距器之间的距离。设计时取20时的声速为344ms,那么有(32)d=(VXt)/2=(172T/10000)Cm其中:T为计数器TO的计数值。测出距离后,结果将以十进制BCD码方
10、式送往LED显示约为0.5s,然后再发超声波脉冲重复测量过程。图5所示为主程序流程图。4.2 超声波发生子程序和超声波接收中断程序超声波发生子程序的作用是通过PLO端口发送两个左右的超声波脉冲信号(频率40KHZ的方波),脉冲宽度为12us左右,同时把计数器TO翻开进展时。超声波发生子程序较简洁,但要求程序运行时间精确,所以采纳汇编语言编程。ORG0000H1.JMPSTARTORG0003H1.JMPPINTOORGOOOBH1.JMPINTTOORG0013HRETIORGOOlBH1.JMPINTTlORGOO23HRETIORG002BHRETI超声波测距器主程序利用外中断0检测返回超
11、声波信号,一旦接收到返回超声波信号(即INTO引脚出现低电平),马上进入超声波接收中断程序。进入该中断后,就马上关闭计时器TO,停顿计时,并将测距胜利标记字赋值1。中断程序INTTO:CLREACLRTROMOVTH0,#OoHMOVTL0,#00HSETBETlSETBEASETBTRO;启动计数器TO,用以计算超声来回时间SETBTRl;开启发超声波用定时器TlOUT:RETIINTTl:CPLVOUTDJNZR4,RETOUTCLRTRl;超声波发完毕,关TlCLRETlMOVR4,#04HSETBEXO;开启接收回波中断RETIOUT:RETIPINTO:CLRTRO;关计数器CLRT
12、RlCLRETlCLREACLREXOMOV44H,TL0;将计数值移入处理单元MOV45H,TH0SETBOOH;接收胜利标记RETI假如当计时器溢出时还未检测到超声波返回信号,那么定时器TO溢出中断将外中断0关闭,并将测距胜利标记字赋值2,以表示本次测距不胜利。5、设计验证超声波测距仪的制作和调试,其中超声波放射和接收采纳中15的超声波换能器TCT40-10Fl(T放射)和TCT40-10SI(R接收),中心频率为40kHz,在安装时应当要保持两换能器中心轴线平行并相距48cm,其余元件无特别要求。假设能将超声波接收电路用金属壳屏蔽起来,那么可提高抗干扰实力。依据测量范围要求不同,可适当调
13、整与接收换能器并接的滤波电容C4的大小,以获得相宜的接收灵敏度和抗干扰实力。硬件电路制作完成并调试好后,便可将程序编译好下载到单片机试运行。依据实际状况可以修改超声波发生子程序每次发送的脉冲宽度和两次测量的间隔时间,以适应不同距离的测量须要。依据所设计的电路参数和程序,测距仪能测的范围为0.210m,测距仪最大误差不超过5cm。系统调试完后应对测量误差和重复一样进展屡次试验分析,不断优化系统使其到达实际运用的测量要求。6、设计成果在我们为期三周的设计中,我们用到了以前学到的许多学问,比方电工、单片机、和汇编语言等。这使我们意识到,任何一件产品的产生,都不是单一学问所能实现的。而且在电路的设计和
14、程序的编制过程中,出现了许多意想不到的错误,让我们措手不及,有些甚至是一些特别低级的错误,但是这些错误也同样让我们获益非浅,它使我们意识到,探讨是一个特别肃穆的过程,来不得半点马虎。在本课题的设计过程中尽管走了许多的弯路,但是还是学到了不少学问,从中受益匪浅。了解了超声波传感器的原理,学会了各种放大电路的分析、设计,也驾驭了单片机的开发过程中所用到的开发方法和工具。动手实力与自学实力得到了熬炼与提高,对待事物的看法也发生了变更。理论总是离不开实践的,设计制作过程中,盲目地追寻理论学问根本缺乏以解决任何问题,一味的死探讨课本是不会真正驾驭单片机的。只有真正动手去做才能发觉问题,解决问题,提高实力。在此次设计中,虽然没有完全做胜利,但是也出了效果,还是有许多的收获。成果如下列图X83CQVQ/办G.-.B=1r3,UUUUEICWX+:F令正,SC*“.ngj5乂1FP二4“马9”,1HDQutvtvR8,。$ISlXXn