_SKU_KIT0139_投入式液位变送器 - jimaobian/DFRobotWikiCn GitHub Wiki

KIT0139-全家福-CN.jpg

简介

投入式液位变送器采用高性能的感压芯片,配合先进的电路处理和温度补偿技术,在不同深度下传感器受到的压力不同,不同压力转化为对应数值的电流信号输出,从而达到对液位深度的测量。 本产品采用不锈钢外壳隔离防腐,可直接投入被测液体中,从水、油到粘度较大的糊状物都可以进行高精度的测量。无论是在河水、水库液位测量,还是在供水液位监测、城市地下水位监测、水处理池上都有良好的使用效果。 本产品搭配了Gravity: 电流转电压模块(4~20mA),该模块将传感器的电流信号转换为电压信号供Arduino或其他控制器读取,此产品应用于水厂、炼油厂、污水处理厂、建材、轻工、机械等工业领域,实现对液体的测量。

产品参数

  • 线长: 5m
  • 量程: 0-5m
  • 综合精度: 0.5%
  • 输出信号: 4-20mA
  • 工作电压: 12-36V
  • 工作温度: -20-70℃
  • 过载能力: 300%
  • 寿命: 1*10^8压力循环(25℃)
  • 膜片壳体材质: 316L不锈钢
  • 防护等级: IP68

引脚说明

投入式液位变送器

|

标号 名称 功能描述
1(红) VCC 液位变送器正极
2(红,粗管) AIR PIPE 导气管
3(黑) GND 液位变送器负极

投入式液位变送器引脚对应表

|- | 电流转电压模块

|

标号 名称 功能描述
1 GND 电源负极(0V)
2 VCC 电源正极(3.3~5.5V)
3 A 电压信号输出
4 I+ 测量电流输入端
5 I- 测量电流输出端

电流转电压模块引脚对应表

|}

使用教程

该教程介绍投入式液位传感器搭配电流转电压模块,将传感器输出的电流信号转化为电压信号,Arduino UNO主控板通过读取该电压信号并转换,从而实现对水深的测量,其它5V/3.3V电平的主控板使用方法类似。

基本测量原理

当液位变送器投入到被测液体某一深度,传感器末端所受到的压力为 KIT0139_Measure_principle(CH).png 同时,通过导气管将液面上的大气压力P0引入到传感器的背压腔,以抵消传感器末端的大气压力P0,使传感器测得压力为P'=P-P0=ρgh。因此,若已知液体密度ρ和重力加速度g,通过测量压力P',可推算出液位深度h。

液位传感器测得压力信号经电路转换放大与补偿后以标准的4-20mA信号输出。液位变送器电流、电流转电压模块输出电压与所测量的呈线性关系,如下图: Relationship_Depth&Current&Voltage(CH).png

| 注意:

图中所示量程、电压与电流为对于纯水而言,若为其它液体,需要考虑该液体的密度,具体换算关系见样例代码。 |

安装连接图

KIT0139_Arduino_connection(CH).png

准备

样例代码

|

/***********************************************************
  DFRobot Gravity: Analog Current to Voltage Converter(For 4~20mA Application)
  SKU:SEN0262

  GNU Lesser General Public License.
  See <http://www.gnu.org/licenses/> for details.
  All above must be included in any redistribution
 ****************************************************/

#define ANALOG_PIN A1
#define RANGE 5000 // Depth measuring range 5000mm (for water)
#define CURRENT_INIT 4.00 // Current @ 0mm (uint: mA)
#define DENSITY_WATER 1  // Pure water density normalized to 1
#define DENSITY_GASOLINE 0.74  // Gasoline density
#define PRINT_INTERVAL 1000

int16_t dataVoltage;
float dataCurrent, depth; //unit:mA
unsigned long timepoint_measure;

void setup()
{
  Serial.begin(9600);
  pinMode(ANALOG_PIN, INPUT);
  timepoint_measure = millis();
}

void loop()
{
  if (millis() - timepoint_measure > PRINT_INTERVAL) {
    timepoint_measure = millis();

    dataVoltage = analogRead(ANALOG_PIN);
    dataCurrent = dataVoltage / 120.0; //Sense Resistor:120ohm
    depth = (dataCurrent - CURRENT_INIT) * (RANGE/ DENSITY_WATER / 16.0); //Calculate depth from current readings

    if (depth < 0) depth = 0.0;

    //Serial print results
    Serial.print("depth:");
    Serial.print(depth);
    Serial.println("mm");
  }
}

|}

结果

在Arduino IDE串口监视器能实时显示此时变送器所处水深深度,显示单位为毫米。

常见问题

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

更多

DFshopping_car1.png DFRobot商城购买链接

⚠️ **GitHub.com Fallback** ⚠️