基于STC89C52RC的超声波测距系统设计

2010-09-21 02:43李航王可人
电子测试 2010年1期
关键词:测距超声波单片机

李航,王可人

(解放军电子工程学院 304实验室,安徽 合肥 230037)

0 引言

超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而经常被用于距离的测量。超声波测距是一种非接触式的检测方式。与其他方法相比,如电磁或光学的方法,它不受光线、被测对象颜色等影响。对于被测物处于黑暗、有灰尘、烟雾、电磁干扰、有毒等恶劣的环境下有一定的适应能力。因此在液位测量、机械手控制、车辆自动导航、物体识别等方面有广泛应用。特别是应用于空气测距,由于空气中波速较慢,其回波信号中包含的沿传播方向上的结构信息很容易检测出来,具有很高的分辨力,因而其准确度液较其他方法为高。而且超声波传感器具有结构简单、体积小、信号处理可靠等特点,检测比较迅速、方便,计算简单,易于做到实时控制,并且在测量精度方面能达到工业实用的要求。

1 超声波测距及系统工作原理

1.1 超声波测距原理

超声波是高于听觉频率阈值的机械波,其频率在104Hz~1012Hz之间。超声波具有直线传播特性,频率越高,反射能力越强,而绕射能力越弱,表现出更强的方向性。利用超声波的这种特性,采用时间差值检测法(常称渡越时间检测法)进行距离的测量。其测距原理是超声波发射器向某一方向发射超声波,在发射的同时开始计时。超声波在空气中传播,碰到障碍物反射回来,超声波接收器接收到反射波就立即停止计时,根据计时器记录的时间,就可以计算出发射点距障碍物的距离。系统根据时间延迟计算出距离,计算公式为:

声波在空气中传输速率的近似表达式为:

式中:T表示介质的温度(℃);S表示探测距离;V表示超声波的传播速度,其值受到温度和介质的影响;t表示从发送超声波到反射回波的时间间隔。

1.2 系统工作原理

该系统的核心部件为超声波传感器和STC89C52RC单片机。系统采用12MHz高精度的晶振,以获得较稳定的时间频率,减少测量误差。STC89C52RC用P1.0端口发出一个40kHz的方波信号驱动超声波发射器发射出一串超声波脉冲,同时启动单片机计时器计时测量超声波传播的时间。当脉冲到达被测目标时,利用外中断0口监测超声波接收电路输出的返回信号。当接收到信号时,外部中断发出指令让计数器停止计数,这样就能够得到发射到接收的时间差△t。同时温度补偿电路也将采集到的现场环境温度送到单片机,提供计算距离时对超声波传播速度的修正。最终单片机利用公式(1)、(2)计算出被测距离,并在LED上显示出结果。

2 硬件设计

硬件主要包括STC89C52RC单片机最小系统,超声波发射电路和接收电路、温度检测电路、键盘电路和LED显示电路等部分。超声波测距系统的框图如图1所示。

图1 系统总体框图

2.1 单片机最小系统设计

主控制器主要由单片机STC89C52RC、振荡器和复位电路3部分组成,它是单片机工作的必要组成部分,又称为单片机最小系统。它是测距系统的控制中枢,也是整个系统的核心部分。在测距系统中发挥4个作用:(1)实现人机对话;(2)控制超声波的发射;(3)处理超声波接收电路和补偿电路接收的信号;(4)时间转化成距离的数据处理。

2.2 超声波发射电路

发射电路由2个三极管、环形磁芯变压器、发射超声换能器组成,如图2所示。本系统的超声波传感器采用UCM40压电陶瓷传感器。P1.0端口产生40kHz的方波信号,接入发射电路的输入端。由于单片机端口产生的方波信号太弱,需放大该信号,同时利用射极跟随电路,以增强带负载能力。超声波传感器在放大信号的驱动下,发射超声波脉冲。

图2 超声波发射电路原理图

2.3 超声波接收电路

超声波接收电路通过超声波传感器接收回波信号并将其放大,之后将放大的信号整形为数字信号,作为中断信号送入STC89C52RC外中断器,使其产生中断。因此,该电路可分为放大部分和整形部分。具体电路如图3所示。3个LM324运算放大器组成三级回波信号放大电路,放大后的信号再经一个4011反相整形后,送给单片机外部中断P3.3端口。

图3 超声波接收电路原理图

2.4 温度检测电路

温度检测电路用来实时测量周围环境的温度,补偿传播速度变化对传播距离的影响。本系统采用温度传感器DS18B20作为检测元件,测温范围-55℃~+125℃,固有测温分辨率最大可达0.0625℃。DS18B20可以直接读出被测温度值,而且采用3线制与单片机相连,减少了外部硬件电路,

2.5 键盘和显示接口电路

本系统采用ZLG7290键盘及数码管专用驱动芯片。ZLG7290与单片机STC89C52RC采用I2C接口进行通信。ZLG7290可以驱动8位共阴数码管或者64个独立的LED以及64个按键。

3 系统软件设计

软件分为2部分:主程序和中断服务程序,流程图如图5所示。主程序完成初始化、超声波发射、接收控制和显示等工作。中断服务程序包括定时中断服务子程序和外部中断服务子程序,分别完成超声波的发射、距离计算及温度补偿等工作。

图5 程序流程图

4 测量数据

一般情况下,应测量几次数据取其平均值,目的是为减少由于测量过程中的系统抖动引起的误差。表1的数据都是在测距系统固定的情况下测量的。由于本设计没有考虑其他环境因素(如:气压、湿度……)的影响,只考虑了温度补偿的影响,所以在测量的时候给测量结果带来了一定的误差。由表1可见测量精度达到设计要求。

表1 测量数据(单位:mm)

5 结论

该系统由键盘控制,通过选择不同的按键来选择不同的功能。利用对超声波渡越时间的测量来实现距离的测量。因此,距离测量的精度就转化为时间测量的精度了。系统对该系统测量误差进行了分析,采用温度补偿的方法,使其测量更精确。选用了UCM40T/R压电陶瓷传感器,设计并制作完成了超声波测距系统的硬件部分,编写了相应的运行软件,进行了调试和试运行,结果还是令人满意的。

[1]杨帆,刘畅,马俊,张敬泉.超声波测距仪研究[J].电子器件,2009(4).

[2]刘彬,杨子建,白楠,贾丽,袁小平.超声波液位监测装置的研制[J].科技资讯,2009(5).

[3]龚军,罗杰.带有温度补偿和LCD显示的超声波测距仪设计[J].电子元器件应用,2008(7).

[4]周凯,赵望达,赵迪,刘静.高精度超声波测距系统[J].装备制造技术,2006(5).

[5]庞京玉,王骏.高精度超声波测距系统开发[J].现代计算机,2009(3).

[6]曲明辉,李振波,陈佳品.基于ARM微控制器的超声波测距系统设计[J].微处理机,2009(4).

[7]朱士虎,何培忠,王立巍.基于AT89S52超声波测距仪设计[J].仪表技术,2009(6).

[8]胡瑞,周锡青.基于超声波传感器的测距报警系统设计[J].科技信息,2009(7).

[9]宋继红.基于单片机的高精度超声波液位检测系统[J].机电产品开发与创新,2009(5).

[10]张军.AVR单片机应用系统开发典型实例[M].北京:中国电力出版社,2005(8).

[11]陈汝全,刘运国,雷国君.基于超声波传感器的测距报警系统设计[M].北京:电子工业出版社,2003.

[12]李光飞,李良儿,楼然苗.单片机C程序设计实例指导[M].北京:北京航空航天大学出版社,2005.

猜你喜欢
测距超声波单片机
基于单片机的SPWM控制逆变器的设计与实现
类星体的精准测距
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
蝙蝠的超声波
基于Niosll高精度超声波流量计的研究
浅谈超声波测距
蝙蝠的超声波
超声波流量计的研究
基于PSOC超声测距系统设计