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

时间:2024-12-27 02:18:23 来源:作文网 作者:管理员
关键词:单片机;温度补偿;超声波 Design of Ultrasonic Range Finding System Based on AT89S52

AN Yu-lEi

Key words: MCU; temperature compensation; ultrasonic 本文介绍一种以AT89S52单片机为核心的低成本、高精度、LCD数字显示超声波测距仪的硬件电路和软件设计方法。实际使用证明该仪器工作稳定,性能良好。

1 超声波测距的基本原理

本设计采用超声波渡越时间检测法。其原理为:检测从超声波发射器发出的超声波,经气体介质的传播到接收器的时间,即渡越时间。渡越时间与气体中的声速相乘,就是声波传输的距离。考虑实际情况,采用异地脉冲反射式来测距,即需测距离是声波传输距离的一半:测出发射和接收回波的时间差△t,然后求出距离。在速度v已知的情况下,距离的计算公式如公式1:

S=v·△t/2 (1)

超❤声波属于声波范围,而声速与温度有密切的关系[4],因此测量环境温度可以提高测量精度。声速和温度的关系为: 其中T为环境温度。

2 超声波测距系统的总体结构设计

2.1 设计方案

超声波测距仪的设计要求如下:

1) 测量范围小于等于5米;

2) 测量误差小于0.3cm;

3) 进行温度补偿;

4) 以LCD显示,显示温度和距离;

根据以上要求,测距仪的设计方案如下,共四个模块。

①以AT89S52单片机为主控制器。该器件是INTEL公司生产的MCS-51系列单片机中的基础产品,采用了可靠的CMOS工艺制造技术,具有较高性能的8位单片机。利用其定时器计数器0实现超声波往返时间的测量; ③采用超声波发射接收一体化器件HC-SR04,以降低调试的复杂性,提高系统的稳定性; 3 硬件设计

3.1 控制模块设计 3.2 超声波模块设计

集成电路HC-SR04是一款集发射,接收和控制一体的超声波测距专用模块。超声波模块时序图如图2所示。

其上共有4跟引脚,电源引脚VCC,地引脚GND,触发引脚Trig,和反射波检测Ech¿o。时序图表明只要❣通过IO口给Trig一个大于10微秒的TTL高电平既可以触发模块发送8个40KHz的方波,并自动检测是否有超声波返回。若有信号返回,通过IO口Echo输出一个高电平,且高电平的持续时间就是超声波从发射到接收的时间 。因此只要测得Echo脉冲宽带,结合声速就可以计算出所测距离。

3.3 测温模块 通过单线总线端口访问DS18B20的协议主要有:①初始化,也就是主机检测DS18B20的存在;②ROM操作,包括主机对DS18B20的读写等;③存储器操作命令;④执行测温,读取温度和温度转换等。

通过现场测温,计算出当前温度下的波速,可较精确的计算测量距离。

3.4 显示模块

4 软件设计 4.1 超声波往返时间计算子程序

void test

{ StartModual;//启动超声波模块

_nop_;//延时以防止接收端

_nop_;//接到发射波

_nop_;

_nop_;

_nop_;

while;//当Echo为零时等待

TR0=1; //开启计数

while; //当Echo为1

//计数并等待

TR0=0; //关闭计数

}

4.2 距离计算子程序 void calculater

{

float v; //声速

float tp; //温度

time=TH0*256+TL0;

TH0=0;

TL0=0;

if //温度为正直

tp=temp*0.0625;

else//温度为负值

tp=temp*;

c=331.4+0.61*tp; //温度补偿

distance=)/100;

}

5 实验结果与结论

利用游标卡尺对测距仪标定,测量数据如表1。

利用AT89S52单片机设计的超声波测距仪¡易于操作,读数直观,功耗较低,体积小,便于嵌入其他系统。经实际使用,该测距仪性能稳定,成本低。采用了温度补偿单✞元,提高了测量精度,测量精度可达0.3cm,最小测量距离为3cm,最大测量距离达400cm,达到了很好的效果。

中国wWw.LWlm.com

参考文献: [2] 姜道连,宁延一,袁世良.用AT89C2051设计超声波测距仪[J].国外电子元器件,2000.

[3] 钟志万.基于AT89S52和K9F6408U0A的数字语音系统设计[J].电子设计工程,2010,18:180-184.

[4] 沈红卫.基于单片机的智能系统设计与实现[M].北京:电子工业出版社,2005:305-306.


热门排行: 教你如何写建议书