姚旺
(济宁技师学院,山东济宁 272000)
基于AT89S52单片机的超声波测距仪设计
姚旺
(济宁技师学院,山东济宁 272000)
本文详细介绍了基于单片机控制的超声测距仪的原理,整个硬件电路由超声波发射电路、超声波接收电路、显示电路等模块组成。此系统具有易控制、工作可靠、测距准确度高、可读性强和流程清晰等优点。实现后的产品可用于需要测量距离参数的各种应用场合。
AT89S52单片机 超声波 测距
超声波测距由于其科研技术难度较低且制作成本比较低,适合大规模生产、推广。所以我们现在所见到的一些测距仪器基本都是利用超声波来测量距离的。超声波作为一种非接触性检测技术,它可以在不接触到被测物体时就检测出距离,所以它不受被测介质、光线、烟雾、电磁干扰等因素的影响。这就可以解决人们在粉尘多的情况下,给人类引起的身体伤害,腐蚀性质的被测物对测量仪器的腐蚀,触电接触不良造成的误测情况。且对被测元件无磨损,是测量仪器牢固耐用,使用寿命加长,降低能量的损耗节省了人力物力,从长远的利益看,是有很大的研究价值的。
总体上讲,超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电型、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。他们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。目前较为常用的是压电式超声波发生器。在超声波测量系统中,频率取得太低,外界的杂音干扰较多;频率取得太高,在传播的过程中衰减较大,检测距离越短,分辨力也变高。本文中选用的探头是4OKHz的收发分体式超声传感器,由一支发射传感器UCM-T40KI和一支接收传感器UCM-R4OKI组成。
超声波测距的方法有多种:如往返时间检测法、相位检测法、声波幅值检测法。本设计采用往返时间检测法测距。其原理是超声波传感器发射一定频率的超声波,借助空气媒质传播,到达测量目标或障碍物后反射回来,经反射后由超声波接收器接收脉冲,其所经历的时间即往返时间,往返时间与超声波传播的路程的远近有关。测试传输时间可以得出距离。假定s为被测物体到测距仪之间的距离,测得的时间为t/s,超声波传播速度为v/m·s-1表示,则有关系式S=VT/2。在精度要求较高的情况下,需要考虑温度对超声波传播速度的影响,按式V=331.4+0.607T对超声波传播速度加以修正,以减小误差。式中,T为实际温度单位为℃,V为超声波在介质中的传播速度单位为m/s。
本文所研究的超声波测距仪利用超声波指向性强、能量消耗缓慢、传播距离较远等优点,即用超声波发射器向某一方向发送超声波,同时在发射的时候开始计时,在超声波遇到障碍物的时候反射回来,超声波接收器在接收到反射回来的超声波时,停止计时。设超声波在空气中的传播速度为V,在空气中的传播时间为T,汽车与障碍物的距离为S,S=VT/2,这样可以测出汽车与障碍物之间的距离,然后在数码管显示出来。根据设计要求并综合各方面因素,本设计决定采用AT89S52单片机作为主控制器,用动态扫描法实现数码管数字显示,超声波驱动信号用单片机的定时器完成。
图1 数码管电路
3.1 超声波发射电路
通过分析,用单片机P0.1发射一组方波脉冲信号,其输出的波形是稳定可靠的,但输出电流和输出功率很低,不能够推动发射传感器发出足够强度的超声信号,所以超声波发射电路是有超声波探头和放大电路组成。本设计采用74LS04芯片进行信号的放大。工作时,由单片机产生的40KHZ的脉冲信号从P0.1口向超声波的发发射电路发出信号,在经放大电路放大后,驱动超声波探头将超声波发射出去。
3.2 超声波接受电路设计
超声波和其它的声波一样,在传播过程中能量会衰减的很厉害,此时,超声波信号接收装置会受到很大的影响。因此,我们还要设计一个超声波放大电路。让超声波能够接收到这个微小信号并将其放大,让超声波接收装置能够接收识别。超声波接收电路主要由集成电路CX20106A芯片电路构成,CX20106A芯片电路可以对超声波信号进行放大、限幅、带通滤波、整形、比较等功能,比较完后超声波接收电路会输出一个低电平到单片机去请求中断,当即单片机停止计时,并开始去进行数据的处理。因为CX20106A本身就具有很高的抗干扰能力,而且灵敏度也比较高,所以能满足设计的要求。由于在设计过程中条件有限,所以选择了集成超声波发射和接收装置: HR-SR04超声波集成模块。
3.3 显示电路
显示模块采用数码管显示接口电路如图1所示。
利用51系列单片机设计的测距仪便于操作、读数直观。经实际测试证明,该类测距仪工作稳定,能满足一般近距离测距的要求,且成本较低、有良好的性价比。由于该系统中锁相环锁定需要一定时间,测得的距离有误差,在汽车雷达应用中可忽略不计;但在精度要求较高的工业领域如机器人自动测距等方面,此误差不能忽略,可以通过改变一些硬件的应用实现对超声波的快速锁定或根据自己的需要在程序中加入测距软件补偿的代码,使误差进一步减小,可以满足更高要求。
[1]孙琳琳,石飞飞.一种高精度超声波测距仪的设计与实现[J].科学技术与工程,2010(3).
[2]陈荣,杨喜岭.基于TDC-GP21的高精度超声波测距仪设计[J].仪表技术,2013(4).
[3]赵旭峰.基于S3C2410的超声波测距仪的设计[J].硅谷,2010(22).