30 de abril de 2012

Sensor de Alcohol MQ-3

Cómputo Integrado
Laboratorio

Para mi proyecto Arduino realicé un alcoholímetro donde utilice uno de los sensores más comunes para la detección de alcohol en el aliento humano, y como no entre en detalles acerca del sensor, les platico un poco trabaja y como fue conectado.

Les dejo el enlace del reporte del proyecto: Proyecto Arduino: Alcoholímetro

Este es un sensor de alcohol llamado MQ-3, que detecta etanol en el aire. Es uno de los sensores de gas más sencillos por lo que funciona casi de la misma manera con otros sensores de gas como el de gas metano y gas butano. Cuesta alrededor de los $85 pesos. Típicamente se utiliza como parte de los alcoholímetros o probadores de aliento para la detección de etanol en el aliento humano.


Básicamente, tiene 6 pines, la tapa y el cuerpo. Aunque a pesar de que tiene 6 pines, se suelen utilizar sólo 4 de ellos. Dos de ellos son para el sistema de calefacción, lo que marco como H y los otros 2 son para la conexión de alimentación y de tierra, que están marcados como A y B.


Si miramos por dentro el sensor, encontraremos un pequeño tubo. Este tubo es un sistema de calefacción que esta hecho de óxido de aluminio y dióxido de estaño, y dentro de este hay bobinas, que prácticamente producen el calor. Y también se pueden encontrar 6 pines. 2 pines que llamados son llamados pin H y están conectadas a las bobinas del calentador y los otros están conectados directo al tubo.


Como conectar el sensor


El sensor tal y como lo suelen vender en las tiendas distribuidoras es como el de la primer imagen mostrada aquí, lo cual aveces dificulta el uso del mismo ya que tenemos que soldar cuidadosamente los pines necesarios a cable, y por la estructura en que se encuentran suele ser un tanto batalloso.


Pero tuve la suerte de que al comprarlo me proporcionaron una pequeña placa especial para el sensor donde ya vienen marcadas exactamente las 4 salidas necesarias para la lectura del sensor y donde se facilita la forma de soldar.


Esta pequeña placa sigue exactamente las instrucciones para conectar al Arduino y recibir los datos del sensor.


Yo con cables para interconexión soldé a cada una de las 4 salidas (GND, A1, B1, H1) y me quedo lo siguiente.


Ejemplo para recibir la lectura del sensor


Armé un pequeño circuito para leer los datos del sensor y verlos desde el monitor serial.


El código que use para esta lectura.


Y por último les muestro la salida desde el monitor serial, después de haber usado un algodón impregnado con alcohol etílico.

Podemos notar que los datos recibidos van desde valores cercanos a 600 y llega a subir hasta valores cercanos a 1000.


Bibliografía
Blog de sensores
Breathalyzer with MQ-3 and Arduino

40 comentarios:

  1. Se podría usar este sensor sin necesidad de usar la tarjeta Arduino?, de manera que podamos saber algún tipo de variación que tenga a la salida y poder meter la señal a un microcontrolador

    ResponderEliminar
    Respuestas
    1. En mi caso solo he experimentado con este sensor y la placa Arduino, pero debe de poderse usar con cualquier otra placa, ya que el sensor no esta fabricado específicamente para uso con Arduino, solo sería de buscar un método o componente para la lectura en la salida del sensor, que bien podría ser una entrada análoga como la que tiene la placa Arduino.

      Eliminar
  2. oye, como seria la conexion del sensor con una pantalla LCD de 16x2, y al programarlo se tendria que calibrar el sensor con rangos de alcohol para que muestre en la pantalla el nivel de consentracion de alcohol. ya estubimos probando pero al programarlo no sale... espero tu respuesta Muchas Gracias :D

    ResponderEliminar
    Respuestas
    1. En realidad es comunicar los datos arrojados por el sensor para luego ser mostrados en la pantalla LCD. Supongo que también usas alguna de las placas de Arduino, entonces el sensor de alcohol debería de ir conectado como en el ejemplo que puse, y la pantalla LCD también conectada al Arduino, y luego usar la librería de LiquidCrystal para la impresión de texto en la pantalla.

      Personalmente no logré trabajar y hacer pruebas con alguna pantalla LCD, por lo que me siento limitado a mis explicaciones, pero te dejo el blog de un compañero, donde en su proyecto uso ese tipo de pantalla, el tiene imágenes también de como debe ir la conexión al Arduino, que te serán de gran ayuda, y también el código que implemento para la impresión de datos en pantalla, te dejo aquí la dirección y espero te sea de gran ayuda.

      http://synnick.blogspot.mx/2012/05/proyecto-de-integrados-notificaciones.html

      Eliminar
  3. esos valores del monitor serial que son?

    ResponderEliminar
    Respuestas
    1. Son el valor que se recibe en la entrada analógica del Arduino. En general, usando diferentes tipos de sensores, los valores deben de andar entre 0 y 1023.

      Eliminar
  4. donde se encuentra el monitor serial???

    ResponderEliminar
    Respuestas
    1. Desde la interfaz de Arduino IDE, se encuentra en el menú Herramientas y luego Monitor Serial, o con el método abreviado del teclado (Ctrl + Shift + M).

      Eliminar
  5. Como estas soy la hija de Mario Jara ingeniero en electrónica el esta interesado en los sensores mq3 sensor de alcohol mi pregunta es si los podemos adquirir en Argentina o en Brasil ya que somo de Paraguay y son los paises más accesibles o en el caso de que no se pueda si lo podemos realizar a travez tuyo y a la vez me qgustaría saber de que pais sos saludos Patricia.

    ResponderEliminar
    Respuestas
    1. Siento no haber respondido antes Patricia, yo me encuentro en México y es difícil también encontrar alguna tienda de electrónica que los venda. Algunos de mis compañeros lograron comprar estas tarjetas de Arduino en tiendas en línea. Saludos.

      Eliminar
  6. hola Ramon una pregunta podria hacer una preuba en la salida de la señal poniendo un multimetro para ver la variacion de voltaje o estoy equivocado?

    ResponderEliminar
  7. Buenas, la salida que ofrece este dispositivo es Analogico o Digital?

    ResponderEliminar
  8. podria utilizar un microcontrolador colocandole la salida del dispositivo a las entradas AC-DC de un microcontrolador, procesarla y luego enviarla a una LCD?

    ResponderEliminar
    Respuestas
    1. No me queda muy claro lo primero, pero definitivamente puedes procesar la lectura que se da del sensor en el Arduino para después mostrar el resultado en una LCD.

      Eliminar
  9. COMO SE DETERMINA LOS PINES DEL SENSOR YA QUE ESTE NO NOS INDICA CUAL ES LA DEBIDA COLOCACION EN LA TARJETA, EL DERECHO O AL REVES CALZA

    ResponderEliminar
  10. Si giras la tarjeta no debe de haber problema, pero no la voltees y deja que las indicaciones de los pines queden visibles (GND, B1, A1, H1), tal y como yo lo coloque, para evitar problemas.

    ResponderEliminar
  11. No importa como realice la conexión, no se si al calzarlo de manera herronea se vaya a quemar, debido a las terminales de vcc y gnd, es decir no logro identificar cuales son los pines A y B

    ResponderEliminar
    Respuestas
    1. ¿Tienes la tarjeta circular azul como la que yo muestro? Si la tienes, ponla tal y como en la imagen, no importa si esta girada hacia un lado o al otro, ya que en realidad los pines son simétricos. Y usa el pin de salida de 5V del propio Arduino para alimentar el sensor, y si usas una pila como alimentación, usa un regulador a 5V para no quemar el sensor.

      Eliminar
  12. oye companero tengo un poblema cuando conecto el sensor a tierra y voltaje se calienta no sabes si asi funciona

    ResponderEliminar
    Respuestas
    1. Cuando yo hice pruebas con este sensor si notaba que se calentaba, pero no lo suficiente como para que fuera insoportable al tacto.

      Eliminar
  13. hola.... tenemos un a peque duda con la programacion, no sabemos que valores ponerle entre 0 y 1023?

    ResponderEliminar
    Respuestas
    1. Los valores entre 0 y 1023 son los que te puede estar imprimiendo la lectura del sensor.

      Eliminar
  14. hola estoy empesando a realizasr una envestigacion respecto al alcohol y quisiera saber que tan sesible es el sensor, si sabes a que distancia puede medir el grado de alcohol o si es necesario soplar sobre el sensor

    ResponderEliminar
    Respuestas
    1. Hola Tatiana, a mi experiencia con el sensor te puedo decir que no sirve para mediciones a distancia, sólo te puede dar una lectura certera cuando se sopla sobre el sensor.

      Eliminar
  15. Una consulta, sabes como identificar fácilmente que pin es A y cual es B, y si al momento de conectar al arduino alreves estos pines (A en B o B en A) esto influya en su funcion? te lo agradecería un monton, espero me ayudes.. Gracias :D

    ResponderEliminar
    Respuestas
    1. Hola Jonathan, si también cuentas con la plaquita azul, no importa en que sentido la coloques.

      Eliminar
  16. si quisiera utilizar el sensor para emplearlo con un pic programado en pic c que cambios deberia realizarle???

    ResponderEliminar
    Respuestas
    1. Lo siento, nunca he usado PIC C, pero debes buscar la forma de leer la salida analógica del sensor.

      Eliminar
  17. Hola Ramón, he leído tu post y me resulta muy interesante.
    La duda que tengo es que tanto este sensor como los MQ-7 en los que estoy interesado llevan un precalentamiento. Se supone que debes alimentarlo a 5v durante 60 segundos y luego bajarlo a 1.4v durante 90 segundos.
    En tu programación no veo nada de eso y no se si es necesario. Conoces algo sobre este tema? Un saludo.

    ResponderEliminar
    Respuestas
    1. Hola Fernando, el sensor si requiere algo de tiempo para calentarse antes de poder detectar correctamente algún gas, pero desconozco totalmente si como tu dices hay que aplicar diferentes voltajes en ciertos lapsos de tiempo.

      Eliminar
  18. Hola yo hice pruebas con mi sensor con alcohol de 70º me da 444 y de 96º 450 en el aire siempre manda datos entre 110 a 124.
    Mi pregunta es si el sensor parece no tener una respuesta lineal lo conecte con un resistor de 10K me podrias detallar de como condicionas las lecturas cuando las recibes con el arduino gracias.

    ResponderEliminar
    Respuestas
    1. En su momento no experimente con alcohol de diferentes grados, pero en mi caso siempre daba valores entre 500 y 600 cuando no estaba expuesto a el alcohol, y arriba de 600 cuando se hacía pasar de cerca el algodón impregnado.

      Eliminar
  19. Ramon y si no tengo la placa azul que tienes tu en la imagen para identificar el A y B y el H y el GND de que otra manera podria identificarlas??? esero tu pronta respuesta

    ResponderEliminar
    Respuestas
    1. Si tomas como referencia la siguiente imagen (http://3.bp.blogspot.com/-_Zojz3pUfrs/T7lhveBS2oI/AAAAAAAABFo/73QWAuV9Ky8/s1600/alcohol-05.png), verás que los pines centrales son denominados H, tu puedes conectar tu GND a cualquiera de los H, siempre y cuando en el otro H pongas tu 5V, después de que hayas ubicado esto los pines B son los que estén a los lados del pin que conectaste al GND, y los A aquellos al lado del 5V. Disculpa por no haber contestado antes.

      Eliminar
    2. gracias ramon por tu respuesta hoy voy a armar el proyecto espero que todo me sala bien =) ahhh una pregunta mas tu utilizas el arduino de ubuntu para compilar la programacion cambia en algo si yo lo realizo con el mismo programaque brinda el arduino en su pagina oficial? cambiaria en algo la programacion?

      Eliminar
    3. Hola Diana, el programa debe ser el mismo, casi el mismo o tal vez solo difiera de la versión, pero no debería de ser diferente la programación :)
      Mucha suerte con tu proyecto!

      Eliminar

Nota: solo los miembros de este blog pueden publicar comentarios.