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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2010年1月第1期
电子测试
ELECTRONIC TEST
Jan.2010
No.1基于STC89C52RC的超声波测距系统设计
李航,王可人
(解放军电子工程学院 304实验室,安徽 合肥 230037)
摘要:本文介绍了一种基于STC89C52RC的超声波测距系统的工作原理及其硬件组成和相应的软件流程。

硬件系统由脉冲发射电路、接收电路、温度补偿电路和相应的控制电路组成。

软件部分采用单片机C语言程序编程,主要由键盘扫描、定时器/计数器初始化、超声波发射子程序、中断服务子程序和LED动态显示子程序构成。

同时,为了提高超声波测距精度,采用温度传感器进行环境温度检测,对超声波的传播速度进行校正。

实测证明,系统具有较高的测量精度和较强的适应性。

关键词:STC89C52RC;超声波;测距;温度补偿
中图分类号:TP274.53 文献标识码:A
Ultrasonic ranging system reversing 
LI Hang,Wang Keren
(Lab 304, EEI,Hefei Anhui 230037,China)
Abstract:This paper introduces a single-chip-microcomputer STC89C52RC control system for ultrasonic ranging system and the hardware circuit and the software flow chart of the control system. This hardware includes a pulse transmitter, a receiver, a temperature compensating circuit and related control logic. And the software is composed by keyboard scan, timer or counter initialization, sending ultrasonic subprogram, interrupt service routine and dynamic display subprogram. At the same time, in order to improve the accuracy of the ultrasonic range system that the temperature and correct the speed of the ultrasound. The measure results show that the system can obtain higher precision and better adaptability.
Keywords: STC89C52RC; ultrasonic wave; distance measure; temperature compensation
0 引言
超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而经常被用于距离的测量。

超声波测距是一种非接触式的检测方式。

与其他方法相比,如电磁或光学的方法,它不受光线、被测对象颜色等影响。

对于被测物处于黑暗、有灰尘、烟雾、电磁干扰、有毒等恶劣的环境下有一定的适应能力。

因此在液位测量、机械手控制、车辆自动导航、物体识别等方面有广泛应用。

特别是应用于空气测距,由于空气中波速较慢,其回波信号中包含的沿传播方向上的结构信息很容易检测出来,具有很高的分辨力,因而其准确度液较其他方法为高。

而且超声波传感器具有结构简单、体积小、信号处理可靠等特点,检测比较迅速、方便,计算简单,易于做到实时控制,并且在测量精度方面能达到工业实用的
要求。

1 超声波测距及系统工作原理
1.1 超声波测距原理
超声波是高于听觉频率阈值的机械波,其频率在104Hz~1012Hz之间。

超声波具有直线传播特性,频率越高,反射能力越强,而绕射能力越弱,表现出更强的方向性。

利用超声波的这种特性,采用时间差值检测法(常称渡越时间检测法)进行距离的测量。

其测距原理是超声波发射器向某一方向发射超声波,在发射的同时开始计时。

超声波在空气中传播,碰到障碍物反射回来,超声波接收器接收到反射波就立即停止计时,根据计时器记录的时间,就可以计算出发射点距障碍物的距离。

系统根据时间延迟计算出距离,计算公式为:
S=V+t/2 (1)
声波在空气中传输速率的近似表达式为:
V≈331.4+0.6T (2)
式中: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的方波信号,接入发射电路的输入端。


于单片机端口产生的方波信号太弱,需放大该信号,
DS18B20可以直接读出被测温度值,而且采用3线制与单片机相连,减少了外部硬件电路,
2.5 键盘和显示接口电路
本系统采用ZLG7290键盘及数码管专用驱动芯片。

ZLG7290与单片机STC89C52RC 采用I2C 接口进行通信。

ZLG7290可以驱动8位共阴数码管
或者64个独立的LED 以及64个按键。

3 系统软件设计
软件分为2部分:主程序和中断服务程序,流程图如图5所示。

主程序完成初始化、超声波发射、接收控制和显示等工作。

中断服务程序包括定时中断服务子程序和外部中断服务子程序,分别完成超声波的发射、距离计算及温度补偿等工作。

图5 程序流程图
4 测量数据
一般情况下,应测量几次数据取其平均值,目
同时利用射极跟随电路,以增强带负载能力。

超声波传感器在放大信号的驱动下,发射超声波脉冲。

图2 超声波发射电路原理图2.3 超声波接收电路
超声波接收电路通过超声波传感器接收回波信号并将其放大,之后将放大的信号整形为数字信号,作为中断信号送入STC89C52RC 外中断器,使其产生中断。

因此,该电路可分为放大部分和整形部分。

具体电路如图3所示。

3个LM324运算放大器组成三级回波信号放大电路,放大后的信号再经一个4011反相整形后,送给单片机外部中断P3.3端口。

图3 超声波接收电路原理图
2.4 温度检测电路
温度检测电路用来实时测量周围环境的温度,补偿传播速度变化对传播距离的影响。

本系统采用温度传感器DS18B20作为检测元件,测温范围-55℃~+125℃,固有测温分辨率最大可达0.0625℃。

UCM4UT
C1
3μF R11k Ω
R3100k Ω
R23k Ω
C20.1μF
C30.1μF
+12V +Vcc
+12V +Vcc
PNP NPN 1k ΩUCM40R
LM324LM324
LM324
v o
C3
10μF C210μF
R3
10k Ω
R510k Ω
R8
100k Ω
R7100k Ω
R14
100k Ω
R131k Ω
R17 1M ΩR1510k Ω
R410k Ω
+Vcc +Vcc +Vcc +Vcc C310μF C410μF
R9 10k Ω
R18 10k Ω
R10 10k ΩR12 100k Ω
R11 100k Ω
的是为减少由于测量过程中的系统抖动引起的误差。

表1的数据都是在测距系统固定的情况下测量的。

由于本设计没有考虑其他环境因素(如:气压、湿度……)的影响,只考虑了温度补偿的影响,所以在测量的时候给测量结果带来了一定的误差。

由表1可见测量精度达到设计要求。

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.
作者简介:李航,在读硕士研究生,研究方向为通信信号处理。

E-mail:harket@
测量次数123456
当前温度(℃)5510101515
实际距离2005001000150020003000
测量距离12024981001149720023002 2201501998150219983001
31995021002150120013001
42025021001149820013002测量平均值200.5500.751000.51499.52000.53001.5
距离误差0.50.750.50.50.5 1.5
表1 测量数据(单位:mm)。

相关文档
最新文档