概 述
这是一款非接触式液位传感器,利用超声波在液体中的反射原理检测液体高度,无需同液体直接接触即可实现对液位高度的检测,可对高温、高压密闭容器内的各种有毒物质、强酸、强碱及各种纯净液体的液位进行精确测量。
液位传感器检测高度最高可达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
- 超声波液位传感器
连线图
示例代码
#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或者论坛联系我们!
更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。