超声波:
超声波是由机械振动产生的, 可在不同介质中以不同的速度传播, 具有定向性好、能量集中、传输过程中衰减较小、反射能力较强等优点。
超声波传感器可广泛应用于非接触式检测方法,它不受光线、被测物颜色等影响, 对恶劣的工作环境具有一定的适应能力, 因此在水文液位测量、车辆自动导航、物体识别等领域有着广泛的应用。
超声波测距原理:
超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回波, 从而测出发射和接收回波的时间差Δt , 然后求出距离S 。在速度v 已知的情况下,距离S 的计算,公式如下:S = vΔt/ 2。
在空气中,常温下超声波的传播速度是334 米/秒,但其传播速度V 易受空气中温度、湿度、压强等因素的影响,其中受温度的影响较大,如温度每升高1 ℃, 声速增加约0. 6 米/ 秒。因此在测距精度要求很高的情况下, 应通过温度补偿的方法对传播速度加以校正。已知现场环境温度T 时, 超声波传播速度V 的计算公式如下:V = 331. 5 + 0. 607T
这样, 只要测得超声波发射和接收回波的时间差Δt 以及现场环境温度T,就可以精确计算出发射点到障碍物之间的距离。
超声波测距模块:
(1):采用IO口TRIG触发测距,给至少10us的高电平信号;
(2):模块自动发送8个40khz的方波,自动检测是否有信号返回;
(3):有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2。


例程:
/****************超声波测距1602显示****************
*单片机型号:STC89C52RC
*开发环境:KEIL
*名称:超声波测距液晶1602显示
/**********************包含头文件********************/
#include <reg52.h>
#define LCD_Data P0
#define Busy 0x80
/**********************宏定义*************************/
#define SPEED_30C 3495 //30摄氏度时的声速,声速V=331.5+0.6*温度;
#define SPEED_23C 3453 //23摄氏度时的声速,声速V=331.5+0.6*温度;
/**********************位定义*************************/
sbit ECHO=P1^6;
sbit TRIG=P1^5;
sbit BEEP=P2^3;
sbit LCD_RS=P1^0;
sbit LCD_RW=P1^1;
sbit LCD_E=P2^5;
/********************定义变量和数组*******************/
long int distance=0; //距离变量
unsigned char code table0[]={" SL-51A "};
unsigned char code table1[]={" NO ECHO "};
unsigned char code table2[]={"D

本文详细介绍了超声波的基本特性及其在非接触式检测中的应用,特别是超声波传感器在水文液位测量、车辆导航和物体识别等领域的使用。超声波测距原理基于发射和接收回波的时间差,通过计算可得到精确的距离。文中还提供了超声波测距模块的工作原理及示例程序,展示了如何在单片机环境下实现超声波测距并显示在液晶屏上。
7767

被折叠的 条评论
为什么被折叠?



