简介
这是一款I2C接口的高精度差压传感器(压差传感器是一种用来测量两个压力之间差值的传感器,通常用于测量某一设备或部件前后两端的压差)。该传感器将高性能 MEMS 压力敏感芯片和专用调理芯片封装在管壳内,两个气路结构中压力互为参考,并采用独有算法实现对传感器进行多阶温度补偿,降低环境对输出的影响。
注意:为了保准测量精度和传感器的寿命,请尽量在洁净气体中使用。传感器气嘴中不能进水,否则会损坏传感器。
特性
- 多阶温度补偿
- I2C数字输出
- 精度高
应用场景
- 家庭医疗护理设备
- 便携式医疗设备
- 医疗监测
- 工业控制
- 新风系统
技术规格
- 供电电压:3.3V~5 V
- 测量范围:±500pa(±1.5%FS)
- 工作电流:<5mA
- 通讯方式:I2C
- I2C地址:0x00
- 工作温度范围:-40℃~85℃
- 温度补偿范围:-5℃~65℃
- 产品尺寸:14.5*24mm
引脚说明
序号 | 丝印 | 功能描述 |
---|---|---|
1 | VCC | 电源正极 |
2 | GND | 电源负极 |
3 | SCL | I2C时钟线 |
4 | SDA | I2C数据线 |
IC尺寸
说明:
(1)所有尺寸单位为mm, 未标注公差位置,尺寸公差为±0.05mm。
(2) B是连接到传感器底部的气管, T是连接到传感器顶部的气管。顶部气管T定义为高压力接口。
使用教程
准备
-
硬件
- 1 x Arduino UNO控制板
- 1 x LWLP 压差传感器
- 若干 杜邦线
-
软件
- Arduino IDE, 点击下载Arduino IDE
- 点击 下载差压传感器库文件.
关于如何安装库文件,点击连接
-
常用API接口函数列表
/**
* @brief 获取单次测量的传感器数据
* @return 结构体类型的数据
*/
sLwlp_t getData(void);
/**
* @brief 滤波处理函数,获取滤波处理的传感器数据
* @return 结构体类型的数据
*/
sLwlp_t getfilterData(void);
/**
* @brief 自动校准压差偏移.
*/
void autoCorDrift();
/**
* @brief 手动校准压差偏移.
* @param drift
*/
void passiveCorDrift(float drift);
接线图
样例代码1 - 测量数据
/*!
* @file readData.ino
* @brief 读取温度传感器的压差和温度值
* @copyright Copyright (c) 2010 DFRobot Co.Ltd (http://www.dfrobot.com)
* @licence The MIT License (MIT)
* @author [fengli](li.feng@dfrobot.com)
* @version V1.0
* @date 2020-05-14
* @get from https://www.dfrobot.com
* @url https://github.com/DFRobot/DFRobot_LWLP
*/
#include <DFRobot_LWLP.h>
/*!
* @brief Construct the function
* @param pWire IC bus pointer object and construction device, can both pass or not pass parameters, Wire in default.
* @param address Chip IIC address, addresses 0x0
*/
DFRobot_LWLP lwlp;
void setup() {
Serial.begin(9600);
//芯片初始化
while (lwlp.begin() != 0) {
Serial.println("Failed to initialize the chip, please confirm the chip connection");
delay(1000);
}
//自动校准压差偏移
lwlp.autoCorDrift();
//手动校准压差偏移
//lwlp.passiveCorDrift(/*Drift = */8.23);
}
void loop(void){
DFRobot_LWLP::sLwlp_t data;
//获取单次的测量数据
data = lwlp.getData();
//获取经过滤波处理后的数据
//data = lwlp.getfilterData();
//获取温度,单位为摄氏度
Serial.print("Temperature: ");
Serial.print(data.temperature);
Serial.println(" C");
Serial.print("Differential Pressure: ");
//获取压差,单位为pa
Serial.print(data.presure);
Serial.println(" pa");
delay(500);
}
结果
常见问题
还没有客户对此产品有任何问题,欢迎通过qq或者论坛联系我们!
更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。