Introduction
This industrial stainless steel submersible pressure level sensor adopts high-performance pressure sensing chip, with advanced circuit processing and temperature compensation technology. The level transmitter receives different pressures at different depths of liquid, which can be converted into corresponding current signals and output through the sensor. In this way, the depth of liquid can be measured.
The shell of the transmitter is made of stainless steel, anti-corrosion and easy to clean. It can be directly placed in the liquid like water, oil or even mash with large viscosity. This product can provide a steady performance in all sorts of measurement conditions such as river, reservoir, city water supply, groundwater in urban, and basin.
We sold this product together with our Gravity: Analog Current to Voltage Converter(4~20mA). The converter can convert current into voltage signal which can be read by your Arduino controllers or other controllers. The throw-in type liquid level transmitter can be used in waterworks, refinery, sewage disposal work, construction, light industry, mechanical and so on.
Specification
- Cable Length: 5m
- Measuring Range: 0-5m
- Overall Accuracy: 0.5%
- Output Signal: 4-20mA
- Operating Voltage: 12-36V
- Operating Temperature: -20℃-70℃
- Overload Capacity: 300%
- Service Life: 1*10^8 Pressure Circulation (25℃)
- Membrane Material: 316L Stainless Steel
- Casing Material: 304 Stainless Steel
- Protection Class: IP68
Board Overview
Num | Label | Description |
---|---|---|
1(red) | VCC | Positive pole |
2(red, thick) | AIR PIPE | Air guiding tube |
3(black) | GND | Negative pole |
Num | Label | Description |
---|---|---|
1 | GND | Power Ground |
2 | VCC | Power Positive(3.3~5.5V) |
3 | Signal | Voltage Signal Output |
4 | I+ | Current Input |
5 | I- | Current Output |
Tutorial
This tutorial introduces the usage of level transmitter with current-to-voltage module, which converts the current signal output by the sensor into a analog voltage signal. The Arduino UNO reads this analog voltage signal and converts it to corresponding depth.
Measurement Principle
When the liquid level transmitter is put into a certain depth of some liquid, the pressure at the end of the sensor is
The atmospheric pressure P0 on the liquid surface is introduced into the back chamber of the sensor through the air guiding tube to offset the atmospheric pressure P0 at the end of the sensor, so that the measured pressure of the sensor is P'=P-P0=ρgh. Therefore, if the liquid density ρ and the acceleration of gravity g are known, the liquid level depth h can be calculated by measuring the pressure P'.
The pressure measured by the liquid level sensor is then amplified and compensated by the circuit and output with a standard 4-20 mA current signal. The relationship of output current of the liquid level transmitter, output voltage of the current to voltage module and depth are shown below:
Attention
- The depth ranges, voltages and currents shown in the figure are for pure water. If other liquid is to be measured, the density of the liquid needs to be considered. The specific conversion relationship is shown in the sample code.
Connection Diagram
Requirements
- Hardware
- Arduino UNO (or similar)
- Analog Current to Voltage module x1
- Throw-in Type Liquid Level Transmitter x1
- PH2.0-3P connector x1
- Software
- Arduino IDE(1.0.x or 1.8.x)
Sample Code
/***********************************************************
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 A2
#define RANGE 5000 // Depth measuring range 5000mm (for water)
#define VREF 5000 // ADC's reference voltage on your Arduino,typical value:5000mV
#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)/ 1024.0 * VREF;
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");
}
}
Result
The depth of liquid the sensor detected will be constantly displayed on the Arduino IDE serial monitor.(Unit: mm)
FAQ
If you have any questions about using this product, please check the FAQ list for that product for a corresponding solution. For any questions, advice or cool ideas to share, please visit the DFRobot Forum