SENSOR DE PRESIÓN SKU237545 0-12 Bar. Salida analógica arduino
La presión es un parámetro muy importante en nuestro sector de la Refrigeración, al igual que la temperatura y la humedad. En el curso pasado conseguimos medir la temperatura y la humedad en un circuito frigorífico, para este curso nos propusimos medir la presión y ya podemos presentar un avance importante, a falta de probarlo en un circuito real.
La presión interviene en el proceso de ajuste y control de la instalación, en función de este parámetro, podemos poner en marcha ventiladores de condensación para bajar la presión de alta, hacer que el compresor pare antes de entrar en vacío o establecer una secuencia de variación de la producción frigorífica, en función de la demanda en cada momento, consiguiendo que la instalación funcione de manera fiable y automática, en las mejores condiciones de eficiencia energética.
Pasamos a describir nuestro proyecto en Arduino, las características de este sensor, el esquema eléctrico de montaje y la programación en IDE de Arduino.
1.- Características del sensor.
Transductor de presión de alta calidad
Sensor de combustible de aceite para Gas-agua-aire
Especificaciones del artículo
Nombre de la
marca: TMOEC
Tipo: Sensor
de vibración
Número de
modelo: SKU237545
Material:
Metal
Uso:
Pressure Transducer Sensor
Teoría:
Pressure Transducer Sensor
Salida: Pressure Transducer Senso
Voltaje de trabajo: 5VDC
Voltaje de salida: 0,5-4,5 VDC
Material DEL Sensor: aleación de acero al carbono
Corriente de funcionamiento: ≤ 10 mA
Rango de presión de funcionamiento: 0-1,2 MPa
La mayor presión: 2,4 MPa
Longitud del Cable: 19 cm
Destruir la presión: 3,0 MPa
¿Temperatura de trabajo? Rango: 0-85
Rango de temperatura de almacenamiento: 0-100
Error de medición: ± 1,5% FSO
Rango de temperatura de Error: ± 3,5% FSO
Tiempo de respuesta: ≤ 2,0 ms
Vida útil: 500.000 Uds.
Aplicación: medición de líquido de gas no
corrosivo
Características:
Fácil extracción, conexión de acero al carbono más firme.
El acero inoxidable es duradero, sellado a
prueba de agua, chips importados.
Cableado: rojo + / negro - / amarillo
salida
Tensión de alimentación: 5 Voltios DC (Rojo y Negro)
Tensión de salida: 0,5 Voltios DC (Amarillo
y Negro) a presión atmosférica (manométrica 0 bar)
Tensión de salida: 3
Voltios DC (Amarillo y Negro) a presión de 6 bares manométrica (procedente de un
compresor)
Tensión de salida: 4,5 Voltios DC (Amarillo y Negro) a presión de 12 bares
Programación en
Arduino:
Las entradas
analógicas en Arduino son de 10 Bit
La salida
(cable amarillo) se conecta a la entrada A0 del Arduino
Positivo
(cable rojo) a +5V
Negativo
(cable negro) a GND
Tendría que
ser 0 para 0 Voltios / 1023 para 5 voltios
Como da 0,5
voltios para 0 bar y 4,5 voltios para 12 bar, descartamos 0,5 por abajo y 0,5
por arriba con lo cual nos quedarían:
5-0 = 5
equivale a 1023 pasos
4,5-0,5 = 4
equivale a 818,4 pasos
Por tanto
tiene una precisión de 12 bares/818 = 0,0146 bares
2.- Esquema eléctrico
#include <Wire.h> //allows conmunication over i2c devices
#include <LiquidCrystal_I2C.h> //allows interfacing with LCD screens
LiquidCrystal_I2C lcd (0x3f,2,1,0,4,5,6,7); //Creación del objeto lcd
const int pressureInput = A0; //select the analog input pin for the pressure transducer
const int pressureZero = 102.4; //analog reading of pressure transducer at 0 bar
const int pressureMax = 921.6; //analog reading of pressure transducer at 12 bar
const int pressuretransducermaxBar = 12; //bar value of transducer being used
const int baudRate = 9600; //constant integer to set the baud rate for serial monitor
const int sensorreadDelay = 1000; //constant integer to set the sensor read delay in milliseconds
float pressureValue = 0; //variable to store the value coming from the pressure transducer
void setup() //setup routine, runs once when system turned on or reset
{
Serial.begin(baudRate); //initializes serial conmunication at set baud rate bits per second
lcd.setBacklightPin(3,POSITIVE); //Puerto P3 del circuito integrado PCF8574 del adaptador I2C como positivo
lcd.setBacklight(HIGH); //Iniciamos el fondo retroiluminado, habilita iluminación posterior del LCD
lcd.begin(16,2); //initializes the LCD screen
lcd.clear(); //Limpiamos la lcd
}
void loop() //loop routine runs over and over again forever
{
pressureValue = analogRead(pressureInput); //reads value from input pin and assigns to variable
pressureValue = ((pressureValue-pressureZero)*pressuretransducermaxBar)/(pressureMax-pressureZero); //conversion equation to convert analog reading to Bar
Serial.print(pressureValue, 1); //prints value from previous line to serial
Serial.println("Bar"); //prints label to serial
lcd.setCursor(0,0); //sets cursor to column 0, row 0
lcd.print("Pressure:"); //prints label
lcd.print(pressureValue, 1); //prints pressure value to lcd screen, 1 digit on float
lcd.print("Bar"); //prints label after value
lcd.print(" "); //to clear the display after large values or negatives
delay(sensorreadDelay); //delay in milliseconds between read values
}
No hay comentarios:
Publicar un comentario