郭增涛++胡安正
摘要:本文是以AT89C51为核心,灵活的运用超声波换能集成电路作为超声波的接收电路,在讨论了超声波测距原理、硬件电路实现和软件设计方法基础上,使得该超声波测距仪可实现测距范围:0.4m-3.00m。超过3.00m,数码管显示---。测量精度达到0.01m。
关键词:AT89C51;超声波测距;测量精度;测距范围。
在日常生产生活中很多场合如汽车倒车、机器人避障、工业测井等需要自动进行非接触测距。超声波具有指向性强、能量消耗缓慢、传播距离相对较远等特点,因此常被用于非接触测距。本文以AT89C51[1][2]为核心,借助于模数电技术和单片机技术的结合,设计出一种高精度的超声波测距仪。
1 系统总体方案
本系统硬件部分由AT89C51控制器[3][5]组成处理单元、超声波发射电路[4]及接收电路、数码管显示电路、按键电路组成。总体框图如图1所示。
2 超声波测距原理与方法
其原理为:检测从发射传感器发射的超声波[4]经气体介质传播到接收传感器的时间t,这个时间就是渡越时间,然后求出距离l。设l为测量距离,t为往返时间差,超声波的传播速度为c,则有l=ct/2。为了进一步提高测量精度,本设计中将根据需要利用软件方式增加角度补偿的设计: 。
3.硬件电路设计
系统硬件主要由单片机系统及显示电路、超声波发射电路、超声波检测接收电路、按键电路等四部分组成。
3.1 接收电路设计
需要一个前置放大电路将这一微小交变电压信号充分放大,同时考虑可能出现干扰信号,放大有用信号的同时加入
滤波电路,驱动后面的比较器输出电位跳变,作为确定接收到的时刻。接收电路如图2所示。
3.2单片机显示电路设计
选用4位LED示,表示距离的XXXXmm数值。由数码管,通过单片机编程实现显示,表示距离的XXXXmm数值。
该系统由单片机控制,通过NPN的三极管驱动数码管。
4.软件设计
超声波测距系统软件设计采用模块化设计,主要包括主程序设计、T1 中断服务子程,INT0 外部中断服务子程序、距离计算子程序、显示子程序和延时子程序等。而超声波测距发射子程序在P3.7口产生40kHZ方波脉冲宽度约12us,作为超声波发射器的输出信号。一旦接收到超声波返回信号后,就立即进入中断程序。进入中断程序后就立即关闭定时器,T0停止計时,并将接收到的标志位为1,然后在主函数里调用计算距离公式,在显示出来,流程图如图3所示。
5.测量结果与分析
系统测试结果如表1所示。
结果分析:由测量数据可以看出,该超声波测距仪可实现测距范围:0.4m-3.00m,测量精度达到0.01m。
6.结束语
由测量数据可以看出,该超声波测距仪可实现测距范围:0.4m-3.00m,测量精度达到0.01m。本文所设计的超声波测距系统,其结构简单、体积小、抗干扰性能好,若要满足更高的精度要求,还须进行适当改进。在某些特殊场合的应用中,还要考虑超声波的人射角、反射角以及超声波传播介质的密度、表面光滑度等因素。
参考文献
[1] 王迎旭.单片机原理与应用[M].北京: 机械工业出版社, 2004.7.
[2] 何立明.单片机原理教程[M].北京:北京航空航天大学出版社, 1998.
[3] 周向红.51 单片机应用与实践教程[M].北京:北京航空航天大学出版社,2008.5.
[4] 梁森、欧阳三泰.自动检测技术及应用[M]. 北京机械工业出版社2007.3.
[5] 胡锦等.单片机技术实用教程[M].北京.高等教育出版社,2003.
通信作者(指导教师):胡安正 湖北文理学院 物理与电子工程学院
通信作者(指导教师):胡安正 湖北文理学院 物理与电子工程学院