bclose

Detector de llama

Arduino y los sensores de fuego

Objetivos

 

 

    • Presentar los sensores de llama.
    • Montar un circuito de ejemplo.
    • Ver sus características.
 

Material requerido.

Imagen de Arduino UNO

Arduino UNO o similar.

conexiones

Algunos cables de protoboard macho hembra.

Zumbador piezoelectrico

Un buzzer piezoeléctrico

Flame sensor

Un sensor de llama

tienda online prometec

Sensores de llama

 

No resulta extraño que los sensores de llamas se encuentren entre los más vendidos. La industria los suministra de todos los tipos, tamaños y precios, porque la idea de que se te queme la casa o la empresa es algo que ayuda mucho a sacar la cartera y buscar un detector que sea capaz de avisarte con tiempo de que hay llamas cerca de tus cosas.

En realidad, es muy probable que tengas varios de estos detectores en tu casa. Imagínate, por ejemplo, los calentadores de gas, los hornos domésticos de gas, o un sencillo calentador de agua y calefacción.

Todos ellos requieren una llama quemando gas. Si por cualquier motivo, la llama se extingue y no lo detectases, el gas seguiría fluyendo y causando un embalsamiento, listo para causar un disgusto explosivo.

Por eso, todos estos electrodomésticos, y sus equivalentes industriales, incorporan por ley, un detector de llama, que pueda cortar el gas en cuanto detecte falta de llama.

Lo sensores más sencillos (y baratos), suelen ser del tipo de detectores de ultravioletas, o sensores de infrarrojos.

 
  • El mercado ofrece, también, un amplio espectro de sensores del tipo de detectores de humo y de gases nocivos como monóxido de Carbono (CO) típico de la combustión,Dioxido de Carbono (CO2),  detectores de humo, o de gases peligrosos libres, como hidrocarburos  (Propano, Butano y demás).
  • Si tenemos ocasión en el futuro hablaremos de ellos.
 

En un entorno normal, la ignición de una llama provoca una ionización potente de gases comunes (En realidad un plasma ionizado, similar al que ilumina una lámpara halógena), que generan un patrón típico de frecuencia en el rango del ultravioleta. El detector es un semiconductor sensible a este rango de frecuencias.

Cuando la llama se estabiliza, es relativamente sencillo detectar su espectro infrarrojo, con una fotorresistencia LDR, pero diseñada para ser específicamente sensible a un rango característico.

Nosotros vamos a usar un sensor muy sencillo y fácil de manejar que es un sensor infrarrojo de llamas. Funcionan detectando una longitud de onda especifica (de unos 760 nm) que son características de las llamas, aunque son relativamente fáciles de engañar y pueden dar falsos positivos con ciertas luces.

Como todo en la vida, es cuestión de precio, y el nuestro es barato, así que nos tendremos que apañar, pero a pesar de todo, confio, en que el resultado de la sesión, sea satisfactorio.

Este sensor se encuentra muy frecuentemente encapsulado con un soporte y un potenciómetro para ajustar la sensibilidad, por poco dinero. Incluso se vende en formato múltiple, con varias cabezas apuntando en distintas direcciones

Montaje con soporte y ajuste
Multiple flame sensor

En principio siempre es recomendable usar uno montado (Porque dan menos trabajo y a la hora de la verdad no se suelta un cable), pero como me sobraba un detector independiente, por la mesa voy a montarlo en circuito de protoboard para ver qué pasa.

Flame sensor

 

Esquema de conexión

 

Lo normal para leer este sensor de llamas, seria usar un divisor de tensión como este:

Flame sensor circuit

Donde R1 debería tomar valores sobre 500k y como no tenía nada parecido, he usado 4 resistencias de 100k en serie, para tener lecturas claras en la puerta A0 de Arduino. EL esquema eléctrico es algo así:

Alarma de llamas

Y aquí tenemos el esquema de la protoboard:

Alarma de incendio

 

Programa de control

 

El programa es de lo más simple. Solo tenemos que leer la caída de tensión en el divisor y mandar una señal acústica con el buzzer en cuanto el valor de la lectura en A0 sobrepase un cierto umbral.

Vamos a recuperar, además, la función Beep () que escribimos en la sesion Buzzers o zumbadores, para dar el tono de alarma cuando se detecte una llama

void setup()
   {
       pinMode(9, OUTPUT);
   }

void loop()
   {
       int v = analogRead(A0) ;
       if ( v > 10)
            beep(200) ;
   }
  
void beep(unsigned char pausa)
   {
       analogWrite(9, 20);
       delay(pausa);             // Espera
       analogWrite(9, 0);        // Apaga
       delay(pausa);             // Espera
   }

Lo que hace el programa es leer el pin A0 y si su valor sobrepasa un mínimo (para evitar los falsos positivos) llama a la función beep() para dar la alarma.

 
  • Nota: Normalmente hay que calibrar la sensibilidad del sensor. Para ello hay que ver que valores te devuelve en tu caso concreto y afinar este valor umbral, para que no esté pitando continuamente.
  • Los sensores en placa, suelen venir con un potenciómetro, que hay que ajustar para calibrar la sensibilidad el detector.
  • Tambien convendría modificar el programa, para que el tono de la señal se hiciese mas agudo cuanto mas alto sea el valor de lectura en A0
 

Aquí os dejo un mini video con un ejemplo:

 

Resumen de la sesión

 

 
    • Hemos visto que estos pequeños sensores de llamas son simples y razonablemente eficaces.
    • Dan bastante falsos positivos especialmente si les acercáis una luz potente.
    • Os recomiendo la versión con montura por la comodidad de uso.
    • Hemos creado una pequeña alarma de incendios con unos materiales de muy poco coste
 

 

 

 

 

(39) Comments

  • Buenas noches

    Una pregunta referente al post siguiente, el del sensor de sonido. He visto que el programa tiene unos errores en cuanto a las conexiones del led y del DO, con respecto al esquema electrónico, ¿es cierto?. Bueno una vez que lo he solucionado, todo va bien, pero al conectar el sistema y cargar el programa el led parpadea u no deja de hacerlo, aun cuando modifico el potenciómetro, creo que falla algo, me podría decir cual es el problema, o que no he hecho bien?

Give a Reply

WordPress Anti-Spam by WP-SpamShield