SEN0356 超声波液位传感器

概 述

这是一款非接触式液位传感器,利用超声波在液体中的反射原理检测液体高度,无需同液体直接接触即可实现对液位高度的检测,可对高温、高压密闭容器内的各种有毒物质、强酸、强碱及各种纯净液体的液位进行精确测量。

液位传感器检测高度最高可达2m,使用电压为DC3.3V-12V,采用UART串口自动输出,可搭配各类主控制器使用,如arduino,树莓派等。模块工作响应时间仅为1S,分辨力1mm,对容器内液位变化可实时稳定输出当前液位高度,即使容器内液体流空再次进夜也无需重启。还带温度补偿,可根据实际工作温度值自动对测量值进行修正,保证检测到的高度足够精确。

模块采用一体式探头设计,体积小巧,安装简单,对液体介质和容器的材质无特殊要求,金属,陶瓷,塑胶和玻璃均可有效穿透,可广泛应用于适用于石油化工、冶金、电力、制药、供排水、环保等系统和行业的各种介质的液位实时检测。

注意:

1、常温下不同材质容器,钢、玻璃、铁、陶瓷、不发泡塑料等密实材料,其探测盲区和探测极限高度也有不同。

2、常温下相同材质容器,容器厚度不同其探测盲区和探测极限高度也有不同。

3、探测液位超出模组有效探测值,以及被测液体的液面出现较大晃动或倾斜时,检测液体高度值不稳定。

4、使用本模块时需将耦合剂或AB胶涂于传感器表面方可使用,耦合剂用于测试使用,不会固定,若需长时间固定于某一处,请涂AB胶(A胶和B胶需混合搅拌使用)。

技术参数

  • 工作电压:DC3.3V-12V
  • 平均电流:<35mA
  • 盲区距离:≤50mm
  • 探测液位高度:50mm-20000mm
  • 工作周期:1S
  • 输出方式:UART串口
  • 分辨力:1mm
  • 有液体响应时间:1S
  • 无液体响应时间:10S
  • 常温精度:(±5+S*0.5%)mm
  • 探头中心频率:2MHz
  • ESD:±4/±8KV
  • 工作温度:-15-60℃
  • 存贮温度:-25-80℃
  • 兼容介质:金属、塑胶和玻璃等
  • 尺寸:直径27.7mm±0.5mm,高度17mm±1mm,线长450mm±10mm

功能特点

  • 防护等级高
  • 抗干扰强
  • 数据输出稳定可靠
  • 功耗低
  • 响应时间快
  • 抗静电强
  • 工作温度宽
  • 测量精度高
  • 体积小,安装便捷
  • 自动输出方式,释放用户处理器

UART输出说明

UART通信说明

UART 数据位 停止位 奇偶校验 波特率
TTL电平 8 1 9600bps

UART输出格式

帧数据 说明 字节
帧头 固定为0xFF 1字节
DATA_H 距离数据的高8位 1字节
DATA_L 距离数据的低8位 1字节
SUM 通讯校验和 1字节

UART输出举例

帧头 DATA_H DATA_L SUM
0xFF 0x07 0xA1 0xA7

注:校验和只保留累加数值的低8位;

SUM	=(帧头+ Data_H+ Data_L)&0x00FF
	=(0XFF + 0X07 + 0XA1)&0x00FF
	=0XA7;
距离值=Data_H\*256+ Data_L=0X07A1;

转换成十进制等于1953;
表示当前测量的距离值为1953毫米

LED指示灯说明

(1)LED灯长亮:模组通电但没有检测到物体。

(2)LED慢闪:模组探测到液体时,LED指示灯以每秒一次频率闪烁。

引脚说明

引脚图
引脚标识 引脚名称 引脚描述
红色引线 VCC 3.3V-12V电源输入引线
黑色引线 GND 电源地引线
黄色引线 TX UART输出引线
白色引线 RX

Arduino平台使用教程

准备工作

  • Arduino UNO
  • 超声波液位传感器

连线图

传感器-UNO连线图

示例代码

#include <SoftwareSerial.h>

SoftwareSerial mySerial(11,10); // RX, TX
unsigned char dat[4]={};
int depth;
int sum;

void setup()
{
 Serial.begin(115200);
 mySerial.begin(9600);
}

void loop()
{
    do{
     for(int i=0;i<4;i++)
     {
       dat[i]=mySerial.read();
     }
  }while(mySerial.read()==0xff);

  mySerial.flush();
 
  if(dat[0]==0xff)
    {
      sum=(dat[0]+dat[1]+dat[2])&0x00FF;
      if(sum==dat[3])
      {
           depth=dat[1]*256+dat[2];   
           Serial.print("depth=");
           Serial.print(depth);
           Serial.println("mm");
      }
      else
      { 
      Serial.println("no water");
      }
     }
     delay(500);
}

常见问题

还没有客户对此产品有任何问题,欢迎通过qq或者论坛联系我们!

更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。

更多

DFshopping_car1.png DFRobot商城购买链接