venerdì 16 marzo 2012

Etilometro con arduino e MQ3

Dopo una pausa dettata da impegni lavorativi e dalla realizzazione di un progetto forse un po' troppo ambizioso (di cui spero vi parlerò presto) torno a scrivere un post in cui vi presento un progettino facile facile ma utile e divertente.
Ho acquistato su robot-italy un po' di cose interessanti facendomi un regalino di natale.
Tra le varie cose questo: http://www.robot-italy.com/product_info.php?cPath=15_162&products_id=1818
che è un sensore in grado di cambiare la propria resistenza in base alla quantità di alchool presente nell'aria. Il costo di questo aggeggino è piuttosto basso, lo trovate a circa 5 Euro ma in alcuni siti stranieri costa ancora meno.
L'idea è quella di avere un etilometro casalingo autocostruito ma con un po' di pazienza potrebbe diventare un analizzatore di grado alcolico per la birra fatta in casa.

6 commenti:

  1. Salve,

    Sto provando a realizzare un etiloemtro con il sensore sopra citato, ma ho difficoltà a capire come interpretare i valori restituiti.
    Cioè come faccio a sapere che TOT valore equivale a TOT mg/l di Alcool?

    Grazie della cortese attenzione.

    RispondiElimina
  2. Ciao,
    Purtroppo la taratura non è così semplice ma puo' essere divertente :)
    Quello che ti consiglio è:
    1) Fai una misura a secco
    2) Bevi una unità di alcool (1 bicchiere di vino o una dose di super alcoolico) e fai una seconda misura
    3) Fallo fare anche a qualche amico e fai una media.
    4) Il valore dovrebbe essere comparato al famoso 0.5

    Come puoi capire la taratura è molto complessa in mancanza di un etilometro vero e proprio ma se una stima ti è sufficiente la procedura sopra indicata dovrebbe fare al caso tuo... un consiglio: non fidarti troppo la resistenza del sensore è suscettibile anche alle variazioni ambientali quali umidità e temperatura per cui non mi fiderei a salire in macchina se misura 0.49 e forse neanche 0.4.
    Fammi sapere se ci sono sviluppi.

    RispondiElimina
  3. Salve,

    La ringrazio tantissimo per la sua cortese attenzione.

    Quindi, se ho ben capito, devo calcolarmi il valore restituito nella porta seriale a 0,4mg/l di alcool nel mio sangue, giusto?

    stando a questo datasheet: http://www.sparkfun.com/datasheets/Sensors/MQ-3.pdf

    Una volta che sò che, ad esempio, 100 equivale a 0,4mg/l so anche che 200 è uguale a 0.8mg/l, cosi come 125 è circa 0.5 mg/l.
    Tenendo conto delle varie tolleranze e delle variazioni indotte dai fattori ambientali in linea di massima il ragionamento può considerarsi corretto?
    Potrei aiutarmi in questo con un etilometro tascabile che ho già in casa.

    Mi potrebbe anche cortesemente chiarire questo punto del datasheet:
    1MΩ- 8 MΩ
    (0.4mg/L alcohol )

    Significa che a 0,4mg/l la resistenza può variare da 1M a 8M ?

    Sto realizzando questo progetto per presentarlo al esame di maturità, non deve essere preciso, ma almeno devo essere in grado di spiegare come ho interpretato i valori resistiti da Arduino.

    Ancora grazie per la sua attenzione.

    RispondiElimina
  4. Penso che questo ti possa servire, non saprei fare di meglio :)

    http://www.settorezero.com/wordpress/principi-di-funzionamento-dei-sensori-di-alcool/

    comunque il tuo ragionamento è giusto.
    Se devi presentare il tuo progetto all'esame ti consiglio di farlo più semplice evitando ad esempio di presentare i rilevamenti su un lcd ma rappresentando i risultti su un array di led come ho visto fare in altri progetti. In questo modo puoi giustificare le tarature imperfette legate alle variazioni ambientali...
    Come dicevi tu è il metodo la cosa più importante visto che tarature fini non sono facili percò mi sembra che ci sei. sul datasheet è presente un circuito di esempio che dovrebbe aiutarti nel tuo intento.
    In questo post trovi anche un esempio di sketch per arduino che mi sembra un ottimo punto di partenza... E' in portoghese ma grazie a dio lo sketch non lo è :)
    http://lusorobotica.com/index.php/topic,111.0.html

    fammi sapere

    RispondiElimina
    Risposte
    1. Salve,

      Ho già realizzato sia HW che SW, l' unica cosa che mi amnca è l' interpretazione dei valori.
      Ora do un occhiata al sito in portoghese, poi proverò a calibrarlo anche con l' utlizzo di un vero etilometro.

      Il circuito l' ho già realizzato (per prevenire eventuali misure sfalsate che mi potrebbero mettere in difficoltà) con una scala di Led.
      Mi tolga un ultima curiosità, i datasheet sono tutti così grossolani nello specificare come interpretare i valori o questo è un caso raro?

      Mi sarei aspettato che a stabiliti fattori ambientali ( es. 20 gradi , 30% umidità, ecc.) fosse specificato che TOT valore di resistenza corrispondesse ad una misura in mg/l.


      Ancora grazie per i chiarimenti, cordiali saluti.

      Elimina
  5. Ciao,
    La figura 2 del ds è quella che devi interpretare.
    Anche se ci fosse scritto che a 20°C a 0.4 ml/L con il 25% di umidità hai una resistenza di 0.0000000007 che te ne fai se non hai una curva che ti permetta di dire che valore hai a 0.2ml/l?
    e se ti cambia la temperatura?
    I dati che ricevi sono grossolani perchè il sensore non è un sensore molto sofisticato e per quello costa poco.
    Se hai valori molto sballati tieni anche presente che devi farlo scaldare per 24 ore prima di fare misure, dopo tende a stabilizzarsi.
    Detto questo lo trovo comunque simpatico (ci tengo a precisare che non lo produco e non lo vendo, anzi non produco e non vendo proprio niente), certamente potevano darti una funzione ma sarebbe un po'sprecata visto che come vedi nella figura 2 alla stessa temperatura e stessa umidità E' PRATICAMENTE UNA RETTA... Non dovrebbe essere difficile calcolare i valori in base alle diverse concentrazioni...
    qualcosa tipo y=mx+q?

    RispondiElimina