Pages Menu
TwitterFacebook



BANNER2_ALT

Posted by on May 20, 2014 in Sensores digitales | 24 comments

Sensor de Flujo

Sensor de Flujo

Flujo de agua Sensor YF-S201

 

 

Este sensor sirve para medir el flujo del agua, o por ejemplo de un invernadero, o en su casa como en un proyecto, resulta muy importante conocer el consumo de liquido. Este sensor se instala en la linea del  agua, y utiliza un sensor de efecto Hall. Sirve para medir la cantidad de líquido que se ha movido a través de él. El aspa de viento tiene un pequeño imán atado, y hay un sensor magnético de efecto Hall, en el otro lado del tubo de plástico se puede medir la cantidad de vueltas de la aspa de viento que ha hecho a través de la pared de plástico. Este método permite que el sensor permanezca seguro y seco.

El sensor viene con tres cables: rojo (potencia 5-24VDC), negro (a tierra) y amarillo (salida de impulsos de efecto Hall). Al contar los pulsos de la salida del sensor, puede seguir fácilmente el movimiento del fluido: cada pulso es de aproximadamente 2,25 mililitros. Tenga en cuenta que esto no es un sensor de precisión, y la frecuencia del pulso varía un poco dependiendo de la velocidad de flujo, la presión del fluido y la orientación del sensor. Se necesitará una cuidadosa calibración si se requiere más que un 10% de precisión. Sin embargo, su gran para las tareas básicas de medición.

1

2

 

Características:

  • Modelo: YF-S201
  • Tipo de sensor: Hall effect
  • Voltaje de funcionamiento: 5 a 18 V DC
  • Max consumo de corriente: 15 mA a 5 V
  • Tipo de salida: 5V TTL
  • Trabajo Caudal: de 1 a 30 litros / minuto
  • Temperatura de funcionamiento: -25 a 80 ℃
  • Humedad de trabajo Rango: 35% -80% de humedad relativa
  • Precisión: ± 2%
  • Rango de flujo: 1-30L/min
  • Modo de detección: Vertical
  • Presión máxima del agua: 2,0 MPa
  • Ciclo de trabajo de la salida: 50% + 10%
  • Tiempo de subida de la salida: 0.04us
  • Tiempo de caída de la salida: 0.18us
  • Velocidad de flujo características del pulso: Frecuencia (Hz) = 7,5 * Caudal (L / min)
  • Pulsos por litro: 450
  • Durabilidad: un mínimo de 300.000 ciclos
  • Longitud del cable: 15cm
  • 1/2 “conexiones nominales de tubería, 0.78” de diámetro exterior, 1/2 “de la rosca
  • Tamaño: 2.5 “x 1.4” x 1.4

 

Conexión de sensor de flujo con Arduino

Para realizar la conexión del sensor de flujo con el Arduino.” Mostramos la siguiente imagen.

FRITZING4

5

 

Programa en C++  para obtener el sensor de flujo con el arduino UNO.

Una vez conectado el sensor de flujo a Arduino UNO, el siguiente paso será realizar un programa que obtenga los valores de flujo  y los muestre por el puerto serie, de esta forma podremos verificar que el hardware (sensor y Arduino) funcionan correctamente.

Instalaremos los drivers necesarios, instalaremos el IDE de desarrollo de Arduino y conectaremos Arduino al PC por el puerto USB.

A continuación escribiremos el siguiente programa:

volatile int NbTopsFan;
int Calc;
int hallsensor = 2;
void rpm ()
{
NbTopsFan++;
}
void setup()
{
pinMode(hallsensor, INPUT);
Serial.begin(9600);
attachInterrupt(0, rpm, RISING);
}
void loop ()
{
NbTopsFan = 0;
sei();
delay (1000);
cli();
Calc = (NbTopsFan * 60 / 5.5);
Serial.print (Calc, DEC);
Serial.print (" Litros/min\r\n");
}

El  codigo anterior muestra los litros que pasa por el sensor de flujo. si desea saber los pulsos que manda el sensor cambiar el codigo. por este al final del programa principal.

void loop ()
 {
 cli();
 pulsesAux = pulsesCounter;
 sei();
if ( (pulsesAux != 0) && (pulsesPrev == pulsesAux) ) {
 Serial.print("pulses:");
 Serial.println (pulsesAux, DEC);
 cli();
 pulsesCounter = 0;
 sei();
 pulsesPrev = 0;
 pulsesAux = 0;
 }
 cli();
 pulsesPrev = pulsesAux;
 sei();
 delay(1000);
 }

 

Lo compilaremos para verificar que la sintaxis del código C++ es correcta, para ello pulsaremos el botón “Verify. (verificar)”. Si el código es correcto devolverá “Done compiling”, si hay algún error en el código lo indicará:

Una vez verificado el código pulsaremos en el botón “Upload” para enviar el programa a Arduino UNO. Si Arduino está correctamen conectado al PC por el puerto USB, el programa será subido y el IDE de Arduino mostrará “Done uploading”

Para verificar el programa que hemos enviado a Arduino, abriremos la ventana de Serial Monitor del IDE de Arduino, pulsando en el botón “Serial Monitor”(imagen lupa).

11

Si tenemos correctamente conectado el sensor de flujo a la tarjeta Arduino y si el programa enviado es correcto, los datos actuales aparecen ala ventana de puerto serie.

numerossssss

 


 

 

24 Comments

  1. amigo, muy bueno el tutorial, queria hacer una pregunta, lo que pasa es que yo tengo un arduino 1 y uno mega, al ejecutar el codigo con arduino 1 ningun problema, pero con arduino mega no arreja medicion, esto a que se debe? podria ocupar el mismo codigo en el mega modificando algun parametro? de ante manos muchas gracias

    • Que tal, no deberia de haber ningun problema, solo verifica que los pines sean los mismos, saludos.

      • que raro u.u, cambié velocidad de comunicación y nada. es muy necesaria la resistencia de 220?

  2. muy buen tutorial!! gracias, oye una consulta, los comandos;

    cli();
    sei();

    que función cumplen? lo que pasa esque estoy trabajando con un sensor dh11 el cual tambein entrega una señal digital y descubrí que con estos 2 comandos no funciona el sensor, al quitarlos todo bien, pero el sensor de flujo no funciona :ssss help me pls

    • HOLA, que tal, son para habilitar y des-habilitar las interrupciones globales. Saludos

  3. hola, tengo una duda el programa que se muestra es para ver la taza de transferencia del liquido, se puede hacer un programa para que mida el volumen por ejemplo que mida una cantidad exacta que pasa digamos que se viertan 5 litros y registre los 5 litros?

    • Si, podrías convertir el flujo por unidad de tiempo en cantidad de fluido total, por ejemplo si el flujo que tienes es 1 litro por minuto, entonces en 5 minutos tienes los 5 litros. OJO la precisión ya depende de tu sistema en particular. Saludos

  4. Al parecer el calculo del flujo esta mal, en vez de ser 5.5 debería ser 7.5 según las especificaciones del sensor, y dado el caso que estas multiplicando por 60 deberia ser L/hora y no L/min.

    • Javier, gracias por la observiación, lo vamos a revisar.

  5. Hola.
    Buen tutorial, muchas gracias.

    Tengo una duda, ¿de alguna manera se podría modificar el programa para poder medir la velocidad del flujo?, ¿o necesito de otro sensor?

    Saludos.

    • Si, la velocidad es una proporción directa a la velocidad del giro de las aspas por lo que solo saca la relación de las aspas a metros por segundo. Saludos

  6. una consulta. estoy realizando este mismo proyecto, pero con dos sensores que funcionan al mismo tiempo con el mismo arduino. pero al momento de funcionar, las lecturas en el monitor serial son incorrectas (ya habiendo calibrado los sensores con sus respectivas medidas y haciendo pruebas por separado). ¿cuál debe ser el código en arduinoo para realizar esto mismo pero con dos sensores a la vez?

  7. Saludos

    ¿Por que es necesario la resistencia que aparece en la imagen?

    Gracias por responder

  8. Buenas tardes, tengo un problema de que el sensor no me detecta el flujo estoy trabajando con arduino y cuando enciendo la bomba y apago es cuando me detecta un valor y posterior mente me arroja puros ceros pero supongo es por la tierra.
    Mi pregunta es ¿Cómo puedo checar si mi sensor funciona?

    • Jose, conecta el sensor a Vcc/GND y la salida conectala a un osciloscopio para que veas si el sensor manda pulsos, si no puedes conectarla a un LED y soplar por la boquilla para activar la propela.

  9. Hola no se si puedas ayudarme a medir pero la cantidad de agua que esta pasando atraves del sensor, por ejemplo conectar un display al arduino que vaya contando la cantidad de listros que ya pasaron, de antemano muchas gracias.

    • Abraham, para trabajos personalizados puedes mandar un correo a contacto@hetpro.com.mx tiene un costo, si tu duda es especifica con gusto te podemos ayudar por este medio :)

  10. Hola, muy buen tutorial,
    quería consultar, si puedo conectar dos sensores de flujo, es posible? como hago las conecciones?

  11. Que tal amigo, me parece que tu lógica esta mal, ya que en las características del producto pones que tiene un rango de flujo de 1 a 30 litros/minuto pero en tus lecturas sale 1210 litros/minuto. Saludos

    • Tienes toda la razón, vamos a darle una revisada próximamente a ese detalle. Saludos.

  12. disculpa podrías ayudarme estoy proyecto que al pasar 3 litro se encienda un led podrias ayudarme como condiciono para que se encienda el led

    • Puedes poner un condicional o ciclo, que haga un conteo incremental donde si rebaza la variable encianda el LED

  13. Buenas tardes, que sucede si tengo 3 o más sensores de flujo? puedo conectarlos al mismo arduino? y que parte de la programación debo cambiar para que pueda visualizar los 4 caudales a la vez?

    • si se podria solo ten encuenta los pines necesarios para cada sensor, y podrias utilizar el mismo proceso que se uso para un solo sensor de flujo

Post a Reply

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *