论文部分内容阅读
随着社会的发展,人们对距离或长度测量的要求越来越高。由于超声测距是一种非接触检测技术,不受光线、被测对象颜色等的影响,在较恶劣的环境(如含粉尘)具有一定的适应能力。因此,用途极度广泛。例如:测绘地形图,建造房屋、桥梁、道路、开挖矿山、油井等,超声测距仪的优点是:仪器造价比光波测距仪低,省力、操作方便。由于超声波易于定向发射,方向性好,强度好控制,它的应用价值己被普遍重视。
本设计利用超声波传输中距离与时间的关系,采用AT89C51单片机进行控制及数据处理,设计出了能精确测量两点间距离的超声波测距仪。该测距仪主要由超声波发射器电路、超声波接收器电路、单片机控制电路及显示电路构成。AT89C51单片机为核心的低成本、高精度、微型化数字显示超声波测距仪的硬件电路和软件设计方法。整个电路采用模块化设计,由主程序、预置子程序、发射子程序、接收子程序、显示子程序等模块组成。
1 超声波测距仪的设计思路
1)超声波概论。超声波是一种在弹性介质中的机械振荡,它是由与介质相接触的振荡源所引起的,其频率在20kHz以上。超声波在工业生产、医疗技术、日常生活中的应用越来越多。超声波在介质中传播时在不同介面上具有反射的特性,由于它有指向性强、方向性好、传播能量大、传播距离较远等特点,常用于测量物体的距离、厚度、液位等。我们知道,电磁波的传播速度为3×10 m/s,而超声波在空气中的传播速度为340m/s,其速度相对电磁波是非常慢的。超声波在相同媒体里传播速度相同,即在相当大的频率范围内声速不随频率变化,波动的传播方向与振动方向一致,是纵向振动的弹性机械波,它是借助于传播介质的分子运动而传播的,波动方程描述方法和电磁波是类似的。
A=A(x)cos (ωt+kx)
A(x)=A0
式中,A(x)为振幅,A0为常数,ω为圆频率,t为时间,x为传播距离,k=2π/λ为波数,A为波长,为衰减系数。频率越高衰减的越厉害,传播的距离越短。声波在空气媒质里传播,因空气分子运动摩擦等原因,能量被吸收损耗。考虑实际工程测量要求,选用频率f=40kHz的超声波。
2)超声波测距原理。发射器发出的超声波以速度υ在空气中传播,在到达被测物体时被反射返回,由接收器接收,其往返时间为t,由s=vt/2即可算出被测物体的距离。下表列出了几种不同温度下的声速。在使用时,如果温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。
3)单片机超声波测距仪原理。单片机发出40kHZ的信号,经放大后通过超声波发射器输出;启动定时器,超声波接收器将接收到的超声波信号经放大器放大,用锁相环电路进行检波处理后,启动单片机中断程序,测得时间为t,再由软件进行判别、计算,得出距离数并送LED显示。
2 系统整体方案的设计
由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量。利用超声波检测距离,设计比较方便,计算处理也较简单,并且在测量精度方面也能达到农业生产等自动化的使用要求。
目前在近距离测量方面常用的是压电式超声波换能器。根据设计要求并综合各方面因素,本文采用AT89C51单片机作为控制器,用动态扫描法实现LED数字显示,超声波驱动信号用单片机的定时器。
1)系统整体方案的论证。超声波测距的原理是利用超声波的发射和接受,根据超声波传播的时间来计算出传播距离。实用的测距方法有两种,一种是在被测距离的两端,一端发射,另一端接收的直接波方式,适用于身高计;一种是发射波被物体反射回来后接收的反射波方式,适用于测距仪。此次设计采用反射波方式。
测距仪的分辨率取决于对超声波传感器的选择。超声波传感器是一种采用压电效应的传感器,常用的材料是压电陶瓷。由于超声波在空气中传播时会有相当的衰减,衰减的程度与频率的高低成正比;而频率高分辨率也高,故短距离测量时应选择频率高的传感器,而长距离的测量时应用低频率的传感器。
硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分。单片机采用AT89C51。采用12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。单片机用P1.0端口输出超声波换能器所需的40kHz的方波信号,利用外中断0口监测超声波接收电路输出的返回信号。显示电路采用简单实用的4位共阳LED数码管,段码用74LS244驱动,位码用PNP三极管8550驱动。
3 单片机实现测距原理
单片机发出超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接收回波的时间差t,然后求出距离S=Ct/2,式中的C为超声波波速。
单片机(AT89C51)发出短暂的40kHz信号,经放大后通过超声波换能器输出;反射后的超声波经超声波换能器作为系统的输入,锁相环对此信号锁定,产生锁定信号启动单片机中断程序,得出时间t,再由系统软件对其进行计算。判别后,相应的计算结果被送至LED显示电路进行显示。
AT89C51通过外部引脚P2.0输出脉冲宽度为25us.载波为40kHz的超声波脉冲串,加到射随器的基级,经功率放大推动超声波发射器发射出去。超声波接收器将接收到的反射超声波送到放大器进行放大,然后用锁相环电路进行检波。经处理后输出低电平,送到AT89C51的引脚进行处理。
4 软件设计
超声波测距仪的软件设计主要由主程序、超声波发生子程序、超声波接收中断程序及显示子程序组成。我们知道C语言程序有利于实现较复杂的算法,汇编语言程序则具有较高的效率且容易精细计算程序运行的时间,而超声波测距仪的程序既有较复杂的计算(计算距离时),又要求精细计算程序运行时间(超声波测距时),所以控制程序可采用C语言和汇编语言混合编程。主超声波测距仪主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号(即INT0引脚出现低电平),立即进入中断程序。进入中断后就立即关闭计时器T0停止计时,并将测距成功标志字赋值1。如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢出中断将外中断0关闭,并将测距成功标志字赋值2以表示此次测距不成功。前方测距电路的输出端接单片机INT0端口,中断优先级最高,左、右测距电路的输出通过与门IC3A的输出接单片机INT1端口,同时单片机P1.3和P1.4接到IC3A的输入端,中断源的识别由程序查询来处理。
本设计利用超声波传输中距离与时间的关系,采用AT89C51单片机进行控制及数据处理,设计出了能精确测量两点间距离的超声波测距仪。该测距仪主要由超声波发射器电路、超声波接收器电路、单片机控制电路及显示电路构成。AT89C51单片机为核心的低成本、高精度、微型化数字显示超声波测距仪的硬件电路和软件设计方法。整个电路采用模块化设计,由主程序、预置子程序、发射子程序、接收子程序、显示子程序等模块组成。
1 超声波测距仪的设计思路
1)超声波概论。超声波是一种在弹性介质中的机械振荡,它是由与介质相接触的振荡源所引起的,其频率在20kHz以上。超声波在工业生产、医疗技术、日常生活中的应用越来越多。超声波在介质中传播时在不同介面上具有反射的特性,由于它有指向性强、方向性好、传播能量大、传播距离较远等特点,常用于测量物体的距离、厚度、液位等。我们知道,电磁波的传播速度为3×10 m/s,而超声波在空气中的传播速度为340m/s,其速度相对电磁波是非常慢的。超声波在相同媒体里传播速度相同,即在相当大的频率范围内声速不随频率变化,波动的传播方向与振动方向一致,是纵向振动的弹性机械波,它是借助于传播介质的分子运动而传播的,波动方程描述方法和电磁波是类似的。
A=A(x)cos (ωt+kx)
A(x)=A0
式中,A(x)为振幅,A0为常数,ω为圆频率,t为时间,x为传播距离,k=2π/λ为波数,A为波长,为衰减系数。频率越高衰减的越厉害,传播的距离越短。声波在空气媒质里传播,因空气分子运动摩擦等原因,能量被吸收损耗。考虑实际工程测量要求,选用频率f=40kHz的超声波。
2)超声波测距原理。发射器发出的超声波以速度υ在空气中传播,在到达被测物体时被反射返回,由接收器接收,其往返时间为t,由s=vt/2即可算出被测物体的距离。下表列出了几种不同温度下的声速。在使用时,如果温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。
3)单片机超声波测距仪原理。单片机发出40kHZ的信号,经放大后通过超声波发射器输出;启动定时器,超声波接收器将接收到的超声波信号经放大器放大,用锁相环电路进行检波处理后,启动单片机中断程序,测得时间为t,再由软件进行判别、计算,得出距离数并送LED显示。
2 系统整体方案的设计
由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量。利用超声波检测距离,设计比较方便,计算处理也较简单,并且在测量精度方面也能达到农业生产等自动化的使用要求。
目前在近距离测量方面常用的是压电式超声波换能器。根据设计要求并综合各方面因素,本文采用AT89C51单片机作为控制器,用动态扫描法实现LED数字显示,超声波驱动信号用单片机的定时器。
1)系统整体方案的论证。超声波测距的原理是利用超声波的发射和接受,根据超声波传播的时间来计算出传播距离。实用的测距方法有两种,一种是在被测距离的两端,一端发射,另一端接收的直接波方式,适用于身高计;一种是发射波被物体反射回来后接收的反射波方式,适用于测距仪。此次设计采用反射波方式。
测距仪的分辨率取决于对超声波传感器的选择。超声波传感器是一种采用压电效应的传感器,常用的材料是压电陶瓷。由于超声波在空气中传播时会有相当的衰减,衰减的程度与频率的高低成正比;而频率高分辨率也高,故短距离测量时应选择频率高的传感器,而长距离的测量时应用低频率的传感器。
硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分。单片机采用AT89C51。采用12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。单片机用P1.0端口输出超声波换能器所需的40kHz的方波信号,利用外中断0口监测超声波接收电路输出的返回信号。显示电路采用简单实用的4位共阳LED数码管,段码用74LS244驱动,位码用PNP三极管8550驱动。
3 单片机实现测距原理
单片机发出超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接收回波的时间差t,然后求出距离S=Ct/2,式中的C为超声波波速。
单片机(AT89C51)发出短暂的40kHz信号,经放大后通过超声波换能器输出;反射后的超声波经超声波换能器作为系统的输入,锁相环对此信号锁定,产生锁定信号启动单片机中断程序,得出时间t,再由系统软件对其进行计算。判别后,相应的计算结果被送至LED显示电路进行显示。
AT89C51通过外部引脚P2.0输出脉冲宽度为25us.载波为40kHz的超声波脉冲串,加到射随器的基级,经功率放大推动超声波发射器发射出去。超声波接收器将接收到的反射超声波送到放大器进行放大,然后用锁相环电路进行检波。经处理后输出低电平,送到AT89C51的引脚进行处理。
4 软件设计
超声波测距仪的软件设计主要由主程序、超声波发生子程序、超声波接收中断程序及显示子程序组成。我们知道C语言程序有利于实现较复杂的算法,汇编语言程序则具有较高的效率且容易精细计算程序运行的时间,而超声波测距仪的程序既有较复杂的计算(计算距离时),又要求精细计算程序运行时间(超声波测距时),所以控制程序可采用C语言和汇编语言混合编程。主超声波测距仪主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号(即INT0引脚出现低电平),立即进入中断程序。进入中断后就立即关闭计时器T0停止计时,并将测距成功标志字赋值1。如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢出中断将外中断0关闭,并将测距成功标志字赋值2以表示此次测距不成功。前方测距电路的输出端接单片机INT0端口,中断优先级最高,左、右测距电路的输出通过与门IC3A的输出接单片机INT1端口,同时单片机P1.3和P1.4接到IC3A的输入端,中断源的识别由程序查询来处理。