Skip to content

超声波传感器(DYP-ME007) ​

超声波测距 · Trig 触发 / Echo 回波 · IO 口脉冲测量

一、理论基础 ​

1.1 传感器概述 ​

DYP-ME007 是一款超声波测距模块,通过在触发端(Trig)发送一个 10μS 以上的高电平脉冲,在回升端(Echo)就可以接收到一个高电平脉冲,通过此高电平脉冲的高电平长度(持续时间),就可以计算出障碍物离超声波传感器的距离。

超声波测距具有非接触、精度较高、成本低等优点,广泛应用于测距、避障、液位测量、智能小车等场景。

1.2 关键特性 ​

参数规格
工作电压5V DC
工作电流15 mA
工作频率40 kHz
测距范围2 cm ~ 400 cm(典型)
测距精度±3 mm
触发信号10μS 以上 TTL 高电平脉冲
回波信号高电平,宽度 = 声波往返时间
接口Trig(输入)+ Echo(输出)
工作温度-10 ~ +70 ℃

1.3 工作原理 ​

超声波发射:Trig 端输入一个 10μS 以上的高电平脉冲,模块内部的超声波发射器(换能器)发出 8 个 40kHz 的超声波脉冲。

超声波接收:超声波遇到障碍物后反射回来,被接收器接收,模块将回波信号转换为高电平从 Echo 端输出。

距离计算:Echo 端高电平的持续时间等于超声波从发射到接收的往返时间。根据声速(约 340 m/s,空气中),距离计算公式为:

距离(cm) = 高电平时间(μS) × 声速(cm/μS) / 2
         = 时间(μS) × 0.034 / 2
         ≈ 时间(μS) / 58

除以 2 是因为测量的是往返时间,实际距离是单程。

1.4 典型应用 ​

  • 智能小车避障
  • 机器人测距与导航
  • 液位测量(非接触式)
  • 自动门人体检测
  • 停车场车位检测
  • 无人机定高
  • 物体接近报警

二、实验实例:DYP-ME007 超声波测距 ​

2.1 实验目的 ​

  1. 掌握超声波传感器的操作方法
  2. 掌握超声波传感器采集程序的编程方法

2.2 实验内容 ​

在 IAR 集成开发环境中编写超声波传感器采集程序,通过 CC2530 的 IO 口发送触发脉冲,采集回波高电平宽度,计算障碍物距离并通过串口输出。

2.3 预备知识 ​

  1. 了解 C 语言的基本知识
  2. 了解 IAR 中编写和调试程序的方法
  3. 了解定时器和 IO 口脉冲测量的基本原理

2.4 实验设备 ​

  • 硬件:WSN-V 教学实验箱(带传感器 3 扩展板)、PC 机
  • 软件:Windows + IAR EW for 8051、串口调试助手

2.5 接口电路 ​

P1.6 用于控制超声波传感器发送一个 10μS 的高电平脉冲(Trig),P1.7 用于采集回声的高电平长度(Echo)。

DYP-ME007 超声波传感器接口电路

电路说明:

  • M1 为 DYP-ME007 超声波模块(VCC/Trig/Echo/GND 四线)
  • Trig 经三极管 Q2(2N5551)驱动电路接 P1.6(CC2530 IO 输出)
  • Echo 经 R5(3K)+ R6(3K)分压后接 P1.7(CC2530 IO 输入)
  • C2(104)+ R3(10K)为滤波/上拉电路
  • VCC5 供电

2.6 关键函数 ​

触发脉冲:

c
P1_6 = 1;       // 拉高 Trig
delay_us(15);   // 保持 15μS(>10μS)
P1_6 = 0;       // 拉低 Trig

回波测量:

c
while (P1_7 == 0);  // 等待 Echo 变高
T1 = timer_value;    // 记录起始时间
while (P1_7 == 1);  // 等待 Echo 变低
T2 = timer_value;    // 记录结束时间
time_us = (T2 - T1); // 高电平宽度(μS)
distance_cm = time_us / 58;  // 换算距离

2.7 实验步骤 ​

  1. 连接好仿真器,及带传感器 3 扩展板的通用调试母板
  2. 新建工程 ultrasonic,添加相应文件并修改工程设置
  3. 创建 ultrasonic.c 并加入到工程中
  4. 编写 ultrasonic 相关函数:P1.6 发送 10μS 触发脉冲,P1.7 采集回波高电平宽度,计算障碍物距离,通过串口发送
  5. 编译下载运行,将手或书本等障碍物放在超声波传感器前方,改变距离,通过串口调试助手观察距离的变化

2.8 实验结果 ​

超声波测距串口输出结果

  • 障碍物距离变化时,串口输出的距离值实时更新
  • 距离越近,Echo 高电平宽度越短;距离越远,高电平宽度越长
  • 测量范围约 2cm ~ 400cm,超出范围或无反射时读数异常

知识点

超声波测距的精度受声速影响,声速与环境温度有关:v = 331.4 + 0.6 × T(℃)(m/s)。在 25℃ 时声速约 346 m/s,因此更精确的距离公式为 distance = time × (331.4 + 0.6T) / 2。此外,超声波测距存在盲区(通常 < 2cm),因为发射时的余振会影响接收;对于柔软、吸声或倾角过大的表面,反射信号弱,可能测量失败。

内容来源:《WSN-V 物联网综合教学实验指导书》第 7 章·7.14 超声波传感器采集实验,结合课程教学经验整理。


aioteer · 物联网专业课程群

💬AI 伴学配置