压电雨量计使用指南

分类:操作指南更新时间:2026-06-05

1. 产品简介

压电雨量计(又称压电式雨量计、压电动能式雨量计)是一款利用压电效应原理监测降雨量的智能传感器,能全天候工作,精确测定并提供可靠数据,无需定期维护。该仪器不同于传统翻斗式雨量计,压电式雨量计采用压电陶瓷动能式雨量监测,根据雨滴滴打的力度进行识别,从毛毛细雨到磅礴大雨均可监测。

压电雨量计凭借安装简单、数据准确、监测范围大、对大雨可精准监测等优势入选自然资源部普适型地质灾害示范设备,并在四川、湖北、广东、甘肃等地进行了广泛测试。

2. 工作原理

压电雨量计利用压电振子的压电效应,将机械位移(振动)变成电信号,然后根据雨滴冲击的能量转变的电压波形,根据电压波形的变化得到雨量的大小,从而实现对单个雨滴重量测算,进而计算降雨量。

具体来说,雨滴在降落过程中受到雨滴重量和空气阻力的作用,到达地面时速度为恒定速度,根据动量公式 P = mv(动量 = 质量 × 速度),测量冲击即可求出雨滴重量,进而得到持续降雨量。当雨滴撞击传感器金属壳体时,会引起传感器产生微小的机械振动,压电元件在振动时由于机械应力的作用,会在电极之间产生电压差,对外输出电信号。雨滴撞击的冲击力越大,则振动幅值越大,传感元件输出电压的幅值也越大。

3. 功能特点

特点说明
全固态一体化设计所有元器件集成于产品内部,无外露部件连接线,外观精美
无机械配件无任何外露部件,杜绝树叶、尘土、虫子等杂物对数据准确性的影响
测量精度高量程宽,稳定性能好,低功耗,抗外界干扰能力强
全天候工作不受天气变化的影响,精确到秒的降雨时长监测
免维护设计雨滴接触面为弧形设计结构,不存储雨水
自动水平校准安装后带有自动水平校准功能,无需现场校准
体积小巧携带、拆卸安装方便
防护等级高通常为IP65或IP66防护等级,适应恶劣户外环境

部分产品采用PVDF压电薄膜作为感雨器件,通过嵌入式AI神经网络分辨雨滴信号,避免因砂砾、灰尘、振动等干扰带来误触发。

4. 技术参数(典型值)

4.1 测量参数

参数典型值
雨强范围0~8mm/min
分辨率0.01mm
测量精度≤±4%(日累积降雨量)
刷新间隔5s~10s(视具体产品而定)

4.2 电气与环境参数

参数典型值
工作温度-40~85℃
工作湿度0~100%RH
储存温度-40~125℃
储存湿度<80%(无凝结)
供电电压DC12V(典型),也可选5~30VDC宽电压
功耗<0.2W,平均电流小于10mA
防护等级IP65~IP67

4.3 通讯接口

接口类型说明
RS485标配,支持MODBUS-RTU协议
RS232可选配
GPRS/4G可选配无线传输模块
LoRa/NB-IoT可定制,支持低功耗广域网传输

4.4 产品尺寸与重量

参数典型值
直径120~140mm
高度160~270mm
重量约0.9~2.0kg

5. 安装指南

5.1 安装位置要求

为保证测量精度,安装时须遵守以下要求:

水平1米半径内无遮挡:避免建筑物、树木等对雨滴路径造成遮挡,防止水滴飞溅影响测量结果

避开强机械振动源:远离发动机、水泵、风机等振动设备,避免振动干扰压电传感器信号

上方为开阔区域:确保雨滴直接滴落至传感器感应面,避免二次滴落和连续水流冲击

感应面朝上:确保压电感应面朝上,以便雨滴直接撞击

5.2 安装方式

压电雨量计通常采用以下安装方式:

安装方式说明
立杆顶部安装固定在外径50mm立柱顶部,立杆侧面开M6螺纹孔,孔心距离杆顶部8mm,使用M6×15十字圆头螺丝固定
抱箍式安装小型轻便、结构坚固,抱箍式安装简单方便;支持快速移除和换位监测
横臂安装配套横臂半圆适用于2寸半立杆(外径76mm),传感器安装采用2个M3×10十字圆头螺丝
法兰盘安装螺纹法兰连接使雨量传感器下部管件牢牢固定在法兰盘上,底盘的圆周上开三个安装孔,使用螺栓将其固定在支架上,使整套仪器保持在最佳水平度

5.3 安装步骤

确定安装位置:选择开阔无遮挡区域,确保雨滴能够自然滴落到传感器感应面

安装支架:按照上述安装方式将支架牢固固定在选定位置

安装传感器:将压电雨量计固定在支架上,确保水平安装

连接线缆:将传感器线缆连接到数据采集设备或无线传输模块

上电测试:接通电源,通过串口调试工具或上位机软件读取雨量数据,确认设备正常工作

完成固定:确认无误后锁紧所有紧固件,做好线缆防护

提示:设备安装后带有自动水平校准功能,无需现场校准,可放心使用。

6. 应用领域

压电雨量计可广泛应用于以下场景:

应用领域具体场景
地质灾害监测滑坡、泥石流等地质灾害易发区的降雨量预警监测
水利水文河道、水库、流域的降雨量监测,为洪水预警提供数据支撑
气象监测气象站、环境监测站的降雨过程实时观测
农业灌溉农田、果园的雨量监测,优化灌溉计划与节水管理
道路交通高速公路、机场、港口的降雨监测与安全预警
智慧城市城市排水监测与内涝预警
防汛抗旱降雨量自动采集、上报及存储,支持边缘计算时段/日降雨强度
风力发电风电场气象监测与运行安全预警

7. 通讯协议与数据读取

7.1 通讯接口

压电雨量计通常采用RS485通讯接口,支持MODBUS-RTU协议,是工业领域最常用的数据采集方式。

通讯参数(典型配置):

参数设置
波特率9600(可配置)
数据位8
校验位无(N)
停止位1

7.2 MODBUS协议读取雨量数据示例

以下以某型号压电雨量计为例,说明MODBUS-RTU协议的雨量值读取命令格式:

读出雨量值命令(出厂站号为02号):

02 03 00 00 00 04 44 3A

第一个字节 02:从机地址(站号)

03:功能码(读保持寄存器)

00 00:起始寄存器地址

00 04:读取寄存器数量(4个)

44 3A:CRC校验码

返回数据格式:

02 03 08 00 08 02 4A 02 B1 27 94 C0 BF

00 08(第4-5字节):雨量值

02 4A(第6-7字节):温度值

02 B1(第8-9字节):湿度值

27 94(第10-11字节):大气压力值

C0 BF:CRC校验码

注意:不同品牌和型号的压电雨量计寄存器地址定义可能不同,使用时请以产品附带的通讯协议手册为准。

7.3 与Arduino等单片机的连接

压电雨量计通常输出数字信号(RS485)或脉冲信号,可通过Arduino等单片机进行数据读取:

基本连接示意:

压电雨量计信号线Arduino引脚
VCC(DC12V)外部电源(不直接接Arduino 5V)
GNDGND
RS485-ARS485转TTL模块A端
RS485-BRS485转TTL模块B端
RS485模块TXArduino RX(软件串口)
RS485模块RXArduino TX(软件串口)

注意事项:

压电雨量计通常工作电压为DC12V,不能直接接Arduino的5V电源,需使用12V电源适配器或外部电池供电

需要使用RS485转TTL模块连接Arduino的串口

可使用MODBUS-RTU库在Arduino中编写代码读取雨量数据

7.4 基于Modbus RTU协议的程序示例(Arduino)

以下是一个基于Modbus RTU协议的Arduino读取程序示例,用于读取压电雨量计的雨量值、温度和湿度数据:

#include <SoftwareSerial.h>  #include <HardwareSerial.h>     // 对于Uno/Nano等只有一个硬串口的板子,需要使用软串口或通过Serial1(如Mega) 
 // 本示例使用硬串口Serial(连接USB转485模块时需注意串口冲突) 
  // 推荐使用Mega的Serial1/Serial2等,或使用SoftwareSerial库     
  // 使用SoftwareSerial库(适用于Uno/Nano)
    #include <SoftwareSerial.h>  SoftwareSerial rs485Serial(10, 11); // RX=10, TX=11     // Modbus RTU 命令帧:读取雨量值(站号=02,读取4个寄存器) 
     const byte readRainCmd[] = {0x02, 0x03, 0x00, 0x00, 0x00, 0x04, 0x44, 0x3A};  byte responseBuffer[50]; // 接收缓冲区   
       void setup() {    Serial.begin(9600);      // 串口监视器    
       rs485Serial.begin(9600); // RS485通讯波特率(需与传感器匹配)   
        pinMode(2, OUTPUT);      // 用引脚2控制RS485收发(如需切换收发模式)   
         digitalWrite(2, LOW);    // 默认接收模式        Serial.println("压电雨量计读取测试开始");   
          Serial.println("=================================");  }     void loop() {    // 发送读雨量命令(站号02)   
           digitalWrite(2, HIGH);           // 切换到发送模式  
             rs485Serial.write(readRainCmd, sizeof(readRainCmd));    rs485Serial.flush();     
                     // 等待数据发送完毕   
                      delay(10);                       // 等待发送完成   
                       digitalWrite(2, LOW);            // 切换回接收模式    
                           delay(100); // 等待传感器响应        // 读取响应数据    
                           int index = 0;    unsigned long startTime = milps();    while (milps() - startTime < 500 && index < 50) {      if (rs485Serial.available()) {  
                                 responseBuffer[index++] = rs485Serial.read();      }    }    
                                     if (index >= 9) {      // 解析雨量值(寄存器地址0x00-0x01,两个字节,大端序) 
                                          uint16_t rainRaw = (responseBuffer[4] << 8) | responseBuffer[5];    
                                            float rainfall = rainRaw * 0.01; // 分辨率0.01mm,转换为mm       
                                                 // 解析温度值(寄存器地址0x02-0x03)    
                                                   uint16_t tempRaw = (responseBuffer[6] << 8) | responseBuffer[7];      float temperature = tempRaw * 0.1; // 分辨率0.1℃,转换为℃   
                                                            // 解析湿度值(寄存器地址0x04-0x05)    
                                                              uint16_t humRaw = (responseBuffer[8] << 8) | responseBuffer[9];      float humidity = humRaw * 0.1; // 分辨率0.1%RH,转换为%RH       
                                                                   // 输出结果      Serial.print("降雨量: ");      Serial.print(rainfall);      Serial.println(" mm");      
                                                                         Serial.print("温度: ");      Serial.print(temperature);      Serial.println(" ℃");        
                                                                             Serial.print("湿度: ");      Serial.print(humidity);      Serial.println(" %RH");     
                                                                                   Serial.println("---------------------------------");    } 
                                                                                   else {      Serial.println("等待传感器响应...");    }        delay(5000); // 每5秒读取一次  }

程序说明:

本示例基于Modbus RTU协议读取压电雨量计的雨量值、温度和湿度数据

使用SoftwareSerial库模拟串口与RS485转TTL模块通信

通过引脚2控制RS485模块的收发模式切换(发送命令时切换为发送模式,接收数据时切换为接收模式)

响应数据中,雨量值位于第4-5字节,温度值位于第6-7字节,湿度值位于第8-9字节

每个参数的分辨率均为0.01单位(即原始值乘以0.01得到实际数值)

该程序适用于大部分支持Modbus RTU协议的压电雨量计,站号默认为02,可根据实际设备修改

本示例代码可直接编译上传到Arduino UNO/Nano等开发板,用于实时读取雨量数据

8. 维护与注意事项

8.1 日常维护

维护项目频率操作说明
目测检查每年一次检查设备表面有无污泥、异物或鸟粪堆积
功能测试每年一次发出测量请求信号,检查传感器是否正常响应
清洁按需如有异物附着,用软布擦拭感应面,避免使用硬物刮擦

8.2 注意事项

防止异物干扰:保持传感器水平周围1米半径无遮挡,避免树叶、尘土、虫子等杂物掉落感应面

避免振动干扰:安装位置应避开强机械振动源(如大型发动机、风机等),否则可能导致误触发

保证雨滴直接滴落:传感器安装上方应为开阔区域,雨滴应直接滴落至传感器感应面,避免二次滴落和连续水流冲击

电源稳定:使用稳定的DC12V电源,避免电压波动影响测量精度

防雷保护:在雷雨多发区域安装时,建议加装防雷模块

定期检查线缆:户外使用环境下,检查线缆有无老化、破损、鼠咬等情况

冬季使用:如需在低温环境下使用,可选配加热模块,防止结冰影响测量

8.3 常见问题与排查

问题现象可能原因解决方法
无数据输出电源故障/接线错误检查电源电压和接线极性
数据异常偏大振动干扰/异物撞击检查安装位置是否避开振动源,清洁感应面
数据异常偏小感应面被遮挡/脏污清除遮挡物,清洁感应面
通讯失败波特率不匹配/接线松动检查通讯参数配置,重新插拔线缆
小雨无检测灵敏度不足/分辨率限制压电式雨量计在小雨或毛毛雨情况下误差较大,可与其他类型传感器配合使用

9. 选型建议

9.1 压电式雨量计与其他类型雨量计的对比

类型优点缺点适用场景
压电式无活动部件、免维护、响应速度快、可检测单个雨滴精度相对较低,小雨误差较大需要快速响应但精度要求不极致的场景,城市环境监测、地质灾害预警
翻斗式结构简单、成本低廉、技术成熟需定期清洁维护,暴雨时精度下降经济实用的一般气象观测
称重式可测量固态降水,精度高成本较高,需定期校准高精度连续监测、寒冷地区
光学/红外式体积紧凑,无机械部件易受灰尘、树叶等环境干扰空间有限的场合
雷达式可监测大范围区域设备价格较高气象部门和大型水文监测网络

9.2 选型考虑因素

测量精度要求:若对绝对精度要求较高,建议搭配翻斗式或称重式雨量计进行比对校准

维护条件:若安装地点偏远、不易维护,压电式雨量计的无维护设计具有显著优势

环境条件:考虑当地的气候特征,如多风沙地区需关注传感器防尘能力

供电条件:偏远无市电地区,需选用低功耗、支持太阳能供电的型号

通讯需求:根据数据回传需求选择RS485、4G、LoRa等通讯方式

预算限制:压电式雨量计成本介于翻斗式和高精度称重式之间,具有较好的性价比

FT-Y1.jpg