基于单片机的超声测距系统
2016-10-22王鑫彤
王鑫彤
辽宁锦州渤海大学工学院
基于单片机的超声测距系统
王鑫彤
辽宁锦州渤海大学工学院
本文设计了基于单片机的超声波测距系统,通过该系统可以说明单片机的应用广泛,而且还可以进一步了解,掌握单片机的开发方法。本文主要是围绕着超声测距系统的实现原理,硬件设计电路以及软件程序设计方面进行论述的,并且在软件程序实现部分给出了部分的流程图。超声测距系统在很多领域中有着重要的意义。
单片机 超声 测距
1 引言
传统的测距仪器一般选择的是超声波,雷达以及激光等,然而由于如果采用雷达和激光进行测距的话就会增加成本的预算,因此这两种仪器的使用并没有得到广泛的推广与运用,除此之外,雷达和激光对一些领域是存在着限制性的,主要是用在军事方面比较多。在这种情况下,超声波的测距系统应运而生,这种系统的成本投入比较多,而且容易实现,另外系统的结构在设计方面相对其他仪器而言比较简单,此外考虑到超声波可以在传播的期间实现不受烟雾等因素的影响,而且由于对待电磁场以及光线方面不是很敏感,因而用在黑暗的环境以及灰尘比较多的环境中比较适合,超声波测距系统的实现在很多的领域中都可以发挥很大的实力,应用的场合其中就包括了海洋测量以及工业,建筑领域方面。
2 超声测距原理
超声测距的原理涉及到了脉冲回波,脉冲回波的这一个概念诞生于1964年,主要的原理是通过用超声的脉冲去激励超声的探头,从而会发生向外辐射的现象,然后经过反射后接收到的信号就是超声波,也可以称为是回波。记下超声波出发的初始时间到接收到的时间这个过程的时间段设置为ToF。关于这个距离测量会受到很多因素的影响,比如传输过程中的温度,压强以及空气中的密度等等。
时间的测量是否精确这对于系统而言是很重要的一部分,也是值得深究的一个问题。要计算出时间就需要先对距离进行计算,本文讨论了两种计算距离的方法。脉冲回波法与相位差法这两者在处理回波方面有不同的方式,相位差计算距离的原理是首先超声波的接收端接收到经过调制后的回波信号,然后将信号放入到放大器中进行转换生成的信号是和相位的信号几乎是一模一样的,然后将这个产生的电信号的电压与驱动电压两者进行相互的比较,从而得出电压的相位差,接着就根据这个相位差能够进一步地求出需要的距离。这种方法的优点是测得的距离精确度很高,缺点是求出的解存在着不确定的因素。所以相比较于脉冲回波的方法采用的比较多。本文的距离测量用的就是这个方法。
3 超声测距系统的总体方案
本论文中的系统结构如图1所示。
图1 超声波系统的硬件电路图
通常情况下选择的超声探头的频率是40KHz,当要用到的频率要求很高的情况下只能定做了,本文中的超声波测距选择的超声波传感器的频率是40KHz,传感器的特性参数如表1所示。
表1 传感器特性参数
4 硬件设计
4.1发射电路
发射电路使用到调谐式与非调谐式,通常情况下调谐式组成元件有线圈,而其中的频率的决定因素有电容和电感。相比于调谐,非调谐的元件中不包含调谐的器件,而且超声的频率的决定因素是跟晶片中的相关参数有关系的。电路中的传感器的频率选择的是40KHz,从而可以发挥特性到最佳。发射的电压尽量取得最大值,由于发射电压和发射的频率是成正比的,另外发射电压增加,回波的频率也会增加。发射电路的设计结构相比较于接收电路而言要简洁。其中发射传感器中的电压是有一定值的限制的,这个值的最大值取值是在满足传感器的内部不会被损坏的情况下决定的。发射电路中的发射强度与电阻有关系,增加电阻,相对地发射强度也会增大,而且分辨率会降低。
发射电路实现的作用是增加发射探头处的电压值以及增高电路中的功率。本文中的发射电路的脉冲信号是由单片机发出的,脉冲信号很稳定发射电路设计如图2所示。
图2 发射电路
超声测距的系统中的组成部分主要有单片机发射电路,接收电路以及数码管等。本文的主控制器单片机的型号选择的是AT89S52。
4.2接收电路
接收电路的组成部分主要包括了带通的滤波电路,前置放大电路以及积分器和自增益电路。接收电路的最前端放置的是放大电路。而且信噪比也高,同时动态变化的范围可以是100dB以上。屏蔽盒中放着放大器,而且换能器也放在旁边,另外前置的放大器中还包括了反向的二极管以及隔离所需的电阻。
目的是阻止脉冲比较大的信号发送到放大极。在回波接收的这个过程中,当超声波发送到表面的时候,回波信号反射回来的会比较微弱,而且电压也比较小。
4.3检测电路
当信号进过放大滤波这些操作后下一步就是检测信号,检测的目的是将接收到的信号从出发到接收的这个过程所需要的时间确认下来,这个时间的确定可以说是一个很难把握的,由于这个时间跟系统中的仪器的质量有关系,与仪器的测量是否精确有关另外电路的检测对系统的工作也是有着很大的影响。在检测电路中信号接收时要保证一定的精确度,这是十分重要的,一般情况下需要把具有固定值的电平和输入的信号做一个对比分析,上升和下降沿的触发的生成通过电平的输出来决定,最终形成数字脉冲,从而将外中断的引脚触发。
5 软件设计
当硬件部分的功能差不多实现后,就需要进行软件设计,其中的软件设计的目的是为了处理数据和实现应用。软件设计主要完成的功能包括:
①对信号的发射进行控制,在软件设计的过程中要确保可以输出脉冲串;
②对数据进行存储处理;
③显示输出是将测得的距离通过LED进行显示。
5.1主程序结构
本系统中采用的编程语言是汇编,软件设计主要包括了主程序,子程序以及中断服务的子程序等等。具体的流程图如下所示。首先是中定时器打开之前需要对脉冲串的子程序进行初始化,接着启动中断服务。在初始化中重要的部分是关于定时器是如何工作的和初始化的初始值该如何设置。下面图3-5为程序流程图。
图3 主程序流程图
图4 外部中断子程序流程图
图5 定时中断子程序流程图
6 改进与建议
①考虑到探头的功率毕竟是具有一定的限制性的,所以适用的范围是室内,范围比较小,所以需要 把功率换成大些的,这样的话测得的距离的范围就会大大地增大,此外超声传感器的中心频率也需要进行调整更换,单片机的程序需要进一步地优化,以便可以测得更远;
②考虑到在超声波进行传输的整个过程中,由于一些空气的流动以及灰尘的影响从而很容易会影响到传播距离的测量,可以将探头的功率进行改变也可以将被测的表面的一些条件进行改进,最后将集成的芯片也应用到里面去,从而进行改进。
7 结语
本文主要是围绕着单片机的超声测距系统进行论述,其中的涉及到的有硬件方面的设计以及软件方面的设计。单片机作为主控制器。本文主要介绍了超声测距系统的实现原理,通过软件进行控制,从而增强测量过程中的精确度。
[1] 孙育才.MCS-51系列单片微型计算机及其应用[M].南京:东南大学出版社,1997
[2] 隋卫平.高精度实时超声测距技术研究[D].北京:国防科学技术大学,2003
[3] 孟立凡,郑宾.传感器原理与技术[M].北京:国防工业出版社,2005
[4] 康华光.电子技术基础(模拟部分)[M].北京:高等教育出版社,1999