Sensores de Flujo

Sensores de Flujo de Agua para Arduino

El sensor de flujo de agua, también llamado flujómetro o caudalímetro, podemos utilizarlo en muchos proyectos con Arduino donde tengamos que mover líquidos y necesitemos medir el caudal que está pasando por nuestro sistema.

El caso típico de uso es en los sistemas de riego por aspersión o riego por goteo donde podríamos necesitar conocer  cuánta agua estamos mandando a las plantas o en situaciones donde utilicemos bombas de agua y para proteger el motor necesitemos saber en todo momento si está pasando líquido por nuestra bomba.

Qué es caudal?

El caudal es la cantidad de líquido o fluido que circula a través de una cañería, tubería o manguera por unidad de tiempo. Por lo general se expresa en la unidad de volumen dividida por la unidad de tiempo (por ejemplo: l/m, l/h, m³/h, etc.).

Recordemos que un litro de agua es equivalente a un decímetro cúbico (d³), por lo que 1000 litros equivalen a un metro cúbico (m³).

Tipos de Caudalímetro

Podemos elegir entre diferentes tipos de caudalímetros o medidores de caudal según el uso que le daremos y los recursos con los que contamos. Existen caudalímetros que sirven para medir distintos fluidos (agua, combustibles, aceites) y distintos volúmenes con mayor o menor precisión, y van desde los 2 u$s hasta los 10.000 u$s.  Veamos algunos tipos de sensores de flujo:

  • Caudalímetro Mecánico de Turbina: Es el típico medidor de  agua que tenemos todos en nuestras viviendas. El flujo hace girar un molino cuyo eje mueve un contador mecánico que acumula las lecturas. Al ser mecánico no sirve para arduino.
  • Caudalimetro Ultrasónico: Se utilizan en la industria y cuestan miles de dólares. Mide a través de cañerías de cualquier material el tiempo que tarda el ultrasonido en atravesar el fluido a medir.
  • Caudalímetro Electromagnético: Utilizado en la industria para cañerías de hasta 40 pulgadas y altas presiones. También cuesta miles de dólares.
  • Caudalímetro Electrónico a Turbina: Son de bajo costo y bastante precisos. La desventaja que tienen es que al ser intrusivos tienen alta perdida de carga y sufren alto deterioro en sus piezas, pero son los ideales para utilizar en nuestros proyectos con Arduino.

Cómo funciona el sensor de flujo con Arduino

El funcionamiento del sensor de flujo electrónico a turbina que utilizaremos con Arduino es simple y complejo a la vez. Simple por que basicamente consta de una turbina que gira al pasar el agua a través de ella, y complejo por utiliza un sensor de efecto Hall para calcular el flujo de agua. No entraremos en este artículo a describir el efecto Hall, ya que no es necesario comprenderlo para hacer un buen uso del flujómetro.Vista interior del caudalímetro de turbina con sensor de Efecto Hall

El agua circula a través del cuerpo del medidor de flujo haciendo girar la turbina o hélice que tiene dentro. Cuanto más flujo haya más rápido girarán las aspas de la turbina. Un imán situado en la turbina genera un pulso positivo cada vez que pasa por el sensor de efecto Hall. De esta forma podemos conocer las RPM que general la hélice y calcular el caudal de agua con una sencilla ecuación.

Modelos de sensores de flujo para Arduino

Son 4 los sensores de caudal más utilizados con Arduino, las mayor diferencia entre ellos es el tamaño de las roscas de conexión y por supuesto el caudal que miden, veámoslo comparativamente:

YF-S401

YF-S201

FS300A

FS400A

Sensor

sensor de flujo YF-S401 sensor de flujo YF-S201 sensor de flujo FS300A sensor de flujo FS400A
Conexión 1/4" 1/2" 3/4" 1"
Caudal 0.3 a 6 L/Min 1 a 30 L/Min 1 a 60 L/Min 1 a 60 L/Min
Presión Máxima 0.8 MPa 1.75 MPa 1.2 MPa 1.2 MPa
Voltaje DC 5~18 V DC 5~18 V DC 5~18 V DC 5~18 V
Temperatura del Líquido ≤ 80°C ≤ 80°C ≤ 80°C ≤ 80°C

 

Conexión del sensor

La conección eléctrica es muy sencilla, todos los sensores de flujo tienen 3 cables: rojo y negro para positivo y GND y amarillo para la salida de los pulsos. Como es necesario utilizar interrupciones externas, podemos utilizar los pines 2 ó 3 de Arduino UNO, que son los que manejan interrupciones. Nos decidimos por el pin 2 para que funcione también el código en otras placas arduino que manejan interrupciones externas en ese pin (mega, nano, mini y micro).

Importante: todos los sensores de flujo tienen en la carcasa una flecha que indica el sentido en el que debe circular el liquido. Debe respetarse el sentido para que el sensor funcione correctamente y no se dañe.

 

Sketch Arduino

La conversión de frecuencia de pulsos (Hz) a caudal (L/min) varía entre modelos y depende de factores como la presión, la densidad de líquido e incluso del mismo caudal.

Para calcular el caudal debemos usar un factor de conversión y una formula provistos por el fabricante. Este factor de conversión sólo nos servirá de referencia, ya que en la mayoría de los casos deberemos ajustarlo realizando pruebas.

Fórmula:   f(Hz) = K * Q(L/min)

Donde f es la frecuencia de pulsos, K es el factor de conversión y Q es el caudal en litros por minuto. Despejando Q en la ecuación obtenemos que Q = f/K

Factores de conversión para cada sensor de flujo según el fabricante:

Sensor de ¼”:   S
Sensor de ½”: 7,5
Sensor de ¾”: 5,5
Sensor de 1″: 4,8

En el siguiente código de ejemplo usamos interrupciones para contar la cantidad de pulsos que se generan en un segundo y dividir el total por el factor de conversión para obtener el caudal de litros por minuto.