DYP-A17 超声波液位传感器接入指南
1. 传感器简介
| 项目 | 内容 |
|---|---|
| 设备名称 | A17 超声波液位(测距)传感器 |
| 型号 | DYP-A17-V1.0(RS485 受控输出型号 DYP-A17NY4W-V1.0) |
| 厂商 | 深圳市电应普科技有限公司(DYP / Best Sensor) |
| 协议类型 | Modbus-RTU(RS-485) |
| 接入方式 | EdgeBus DTU(KC21 电池版),LoRaWAN Class A |
| 业务代码 | 22112 |
| 模板名称 | DYP-A17 |
A17 采用超声波反射式测距技术,非接触测量探头到液面的距离(量程 25cm~1000cm),通过 KC21 电池版 DTU 以 Modbus-RTU 接入 ThinkLink,用于污水井/下水道液位监测,并提供高液位/溢出、低液位、传感器读数故障三类告警。
⚠️ 液位语义:A17 测量的是「探头到液面的距离」,液位越高,距离越小。因此高液位告警使用较小的距离阈值,低液位告警使用较大的距离阈值。
2. 产品特点
- 智能信号处理,盲区小,量程 25cm~1000cm,最小误差 < 1cm。
- 非接触测量,探头不接触污水,避免腐蚀、缠绕、结垢。
- 腔体防积水工艺,有效缓解探头凝露(污水井湿气重的关键)。
- 板载温度补偿(-15℃~60℃),自动修正温度偏差。
- 低功耗设计:静态电流 < 10µA、测量状态 < 15mA,配合电池版 DTU + COV 上报长期续航。
- 台阶过滤等级、探头激励强度、盲区判断值可调,适应井壁回波/井面波动等复杂工况。
- 静电防护设计,符合 IEC61000-4-2 标准。
3. 适用范围
- 污水井 / 下水道液位监测(本方案)
- 市政排水管网 / 雨水井内涝预警
- 集水坑 / 泵站液位监测
4. 采集器信息
4.1 硬件信息
| 项目 | 内容 |
|---|---|
| DTU 型号 | KC21(电池版) |
| 接口类型 | RS-485 |
| 供电方式 | 电池供电(已确认),LoRaWAN Class A |
| 设备模板 | MT-EB-BATTERY |
| 心跳周期 | 出厂/绑定默认短心跳(900s,保证调试入网);配置完成后经 SET RPC 设为 8h(28800s)省电 |
| 传感器工作电压 | DC 3.3~5.0V(静态 < 10µA,测量 < 15mA) |
⚠️ 供电兼容性提示(部署前现场核对):A17 传感器本体工作电压为 DC 3.3~5.0V。KC21 电池版 DTU 给传感器供电的输出电压须与之匹配(部分 KC21 电池版输出可选 3.3V/5V)。同类电池版超声波液位传感器已有成功接入先例,但部署前请核对 KC21 实际供电输出电压,避免供电不匹配导致传感器无法工作。
4.2 接线信息
| 引线 | 标注 | 功能 | 接 KC21(电池版) |
|---|---|---|---|
| ① | VCC | 3.3~5V 电源 | KC21 VCC 输出(核对电压) |
| ② | GND | 电源地 | KC21 GND |
| ③ | RX | RS485-B(反相端) | KC21 RS485-B |
| ④ | TX | RS485-A(同相端) | KC21 RS485-A |
注意:A17 的 ③RX = 485-B、④TX = 485-A,A/B 对应关系勿接反。
5. 数据采集
通过 Modbus-RTU(FC03 读保持寄存器,CRC-16,默认地址 0x01,9600/8/N/1,高字节在前)读取以下数据点:
0x0100处理值距离(滤波后稳定值)→ 液位主遥测0x0102环境温度
5.1 寄存器定义
| 寄存器地址 | 项目 | 数据类型 | 读写 | 说明 |
|---|---|---|---|---|
| 0x0100 | 处理值距离 | uint16BE(mm) | R | 多次测距滤波后稳定值,响应 0.9~2.5s(本方案采集) |
| 0x0101 | 实时值距离 | uint16BE(mm) | R | 单次实时距离,响应 130ms(本方案不采集,冗余) |
| 0x0102 | 环境温度 | int16BE(0.1℃) | R | 模组内部温度,分辨率 0.5℃(本方案采集) |
| 0x0200 | 从机地址 | uint16BE | R/W | 0x01~0xFE,默认 0x01 |
| 0x0201 | 波特率 | uint16BE | R/W | 默认 0x03=9600 |
| 0x0210 | 盲区判断值 | uint16BE(cm) | R/W | 25~100,默认 25;影响盲区内稳定性 |
| 0x0211 | 台阶过滤等级 | uint16BE | R/W | 0~5,默认 4;越高过滤越强(井面波动/凝露场景需调) |
| 0x0212 | 探头激励强度 | uint16BE | R/W | 5~15,默认 10 |
| 0x0213 | 小角度模式 | uint16BE | R/W | 0 常规 / 1 小角度,默认 0 |
5.2 通讯报文示例
读处理值距离:主 01 03 01 00 00 01 85 F6 → 从 01 03 02 02 F2 38 A1(0x02F2=754mm)
读温度: 主 01 03 01 02 00 01 24 36 → 从 01 03 02 01 2C B8 09(0x012C=30.0℃)
写台阶过滤: 主 01 06 02 11 00 03 98 76 → 从 01 06 02 11 00 03 98 76(台阶过滤=3级)6. EdgeBus 模型
6.1 EB 配置参数
| 参数 | 值 |
|---|---|
| name | dyp-a17 |
| port | 22 |
| version | 0x87 |
| dataType | 0x12 |
| upPeriodIndex | 70(上传周期 app_70) |
| periodIndex | 74(采集周期 app_74) |
| indexAPP | 150(Modbus 地址 app_150) |
| COV | 开启,distance(covAppIndex 110 / cov_distance) |
| 串口 | 9600 / 8 / NONE / 1 |
| Battery | true(Class A) |
| BzType / BzVersion | 22112 / 1 |
6.2 EB 代码
typescript
const eventInfo = [
{
name: "dyp-a17", port: 22, version: "0x87", dataType: "0x12", upPeriodIndex: 70,
quInfo: [
{
protocol: "modbus", addr: "0x01", code: "0x03", periodIndex: 74,
indexAPP: 150, indexCMD: 0, copySize: 1,
listVal: [
{ start: "0x0100", end: "0x0100", covType: "Uint16BE", covAppIndex: 110 },
{ start: "0x0102", end: "0x0102" }
]
}
]
}
];
// otaConfig: BaudRate 9600/8/NONE/1, Battery true, ConfirmDuty 60, BzType 22112, BzVersion 16.3 说明
- 1 个查询事件:FC03 读寄存器 0x0100(处理值距离)与 0x0102(温度)两个数据点(0x0101 实时值不读)。
- COV 上报:distance 启用 COV,阈值取自 app_110(cov_distance);液位变化 ≥ 阈值即时上报,兼顾电池省电与溢出及时预警。
- 采集/上传周期分离:采集周期 app_74,上传周期 app_70(COV 上报窗口上限)。
- 上行帧布局:标准 DTU 6 字节头 + distance(index 6-7,uint16BE)+ temperature(index 8-9,int16BE),dataLen = 10。
7. 物模型
7.1 物模型基本信息
| 类型 | 显示名 | id Name |
|---|---|---|
| 遥测物模型 | [A17] | dyp_a17_22112 |
| 参数物模型 | [A17-PARA] | dyp_a17_para_22112 |
7.2 上行帧结构
frameInfo:port 22,dataLen 10,rssi true,battery 4,tagList [{index:0,tag:0x87},{index:1,tag:0x12}]
| index | 字段 | 类型 | 单位 | 系数 |
|---|---|---|---|---|
| 6 | distance | uint16BE | mm | 1 |
| 8 | temperature | int16BE | ℃ | 0.1 |
8. 第三方平台数据订阅
8.1 MQTT Topic
/v32/{Organization Account}/tkl/up/telemetry/{eui}8.2 上报示例数据
json
{
"eui": "0102030405060708",
"active_time": "2026-06-06T08:35:48.000Z",
"thingModelId": "115859351784026112",
"thingModelIdName": "dyp_a17_22112",
"telemetry_data": {
"snr": 12.5,
"rssi": -68,
"battery": 3.55,
"distance": 754,
"temperature": 23.5
}
}9. RPC
9.1 RPC 名称
| 类型 | 显示名 | id Name |
|---|---|---|
| 参数设置 | [A17 SET] 22112 | dyp_a17_set_22112 |
| 参数读取 | [A17 GET] 22112 | dyp_a17_get_22112 |
| 设备寄存器调整(变体) | [A17 ACT] 22112 | dyp_a17_set_filter_22112 |
| 告警阈值配置 | [A17 SET ALARM] 22112 | dyp_a17_set_alarm_22112 |
9.2 参数定义
| 参数 | 槽位/寄存器 | 名称 | 单位 | 类型 | 默认 | 说明 |
|---|---|---|---|---|---|---|
| period_up | app_70 | 上传周期 | s | uint32LE | 3600 | 数据上报云端间隔(COV 上报窗口上限) |
| period_read | app_74 | 采集周期 | s | uint32LE | 300 | DTU 轮询传感器间隔 |
| cov_distance | app_110 | COV 距离阈值 | mm | int16BE | 50 | 距离变化 ≥ 该值即时上报 |
| period_heart | app_40 | 心跳周期 | s | uint32LE | 28800 | 电池省电默认 8h(出厂短心跳仅用于调试) |
| addr_modbus | app_150 | Modbus 地址 | — | uint8 | 1 | DTU 查询目标地址 |
| step_filter | 0x0211 | 台阶过滤等级 | — | uint16 | 4 | 透明 FC06 写设备寄存器(井面凝露/波动时调高) |
| blind_zone | 0x0210 | 盲区判断值 | cm | uint16 | 25 | 透明 FC06 写设备寄存器 |
9.3 RPC 说明
- dyp_a17_set_22112:一次下发上传/采集周期、COV 阈值、Modbus 地址、心跳周期(PTL-D01 port 214)。电池设备心跳保持 ≥1h(默认 8h)省电。
- dyp_a17_get_22112:读取上述 DTU app 参数当前值。
- dyp_a17_set_filter_22112(变体):下拉选「台阶过滤等级 / 盲区判断值」,透明通道 FC06 写设备寄存器,echo 校验后回写 shared_attrs。每次仅调整一项,当前值自动回填。
- dyp_a17_set_alarm_22112:按井体配置告警阈值(写 server_attrs.alarm_config,供告警触发器读取)。
10. 告警
告警触发器 dyp_a17_trigger_22112([A17] Level Alarm Trigger)在每帧遥测后评估,阈值取自 server_attrs.alarm_config(经 dyp_a17_set_alarm_22112 RPC 按井体配置;未配置时使用安全默认)。
| 告警 | 条件(距离语义) | 默认阈值 | 级别 |
|---|---|---|---|
| 高液位 / 溢出 | distance ≤ high_level_dist(液面逼近探头) | 300mm | high |
| 低液位 | distance ≥ low_level_dist(井近空) | 8000mm | mid |
| 传感器读数故障 | distance 异常(< 250mm 盲区 / ≥ 10000mm 超量程 / = 0) | — | mid |
- 距离阈值带 50mm 迟滞死区,防止阈值附近震荡误报。
- 使用前先调用 dyp_a17_set_alarm_22112 配置阈值,并在设备分组中设置通知群。
- 失联(无数据上报)由平台离线告警机制处理(触发器仅在上行时评估,无法检测「无上行」)。
11. 模板选择
在 ThinkLink 平台中按以下方式查找模板:
- 模板名称:DYP-A17
- 业务代码:22112(超声波液位传感器)
12. 补充说明
- 厂家默认:从机地址 0x01,波特率 9600,盲区 25cm,台阶过滤 4 级,探头激励 10。
- 修改从机地址:FC06 写 0x0200;修改波特率:FC06 写 0x0201(重启生效)。
- 污水井湿气重、温差大时探头易凝露积水,影响超声波信号;A17 防积水工艺可缓解,必要时通过 dyp_a17_set_filter_22112 调高台阶过滤等级。