Alcool Tester (breathalyser) con PIC12F683

Giovanni Bernardo | March 4th, 2012
Categories: PIC® MCUs (8bit) - Sensors

Vi ho parlato tempo fa di come funzionano i sensori di alcool e vi ho quindi illustrato il sensore MQ-3. Abbiamo inoltre visto come sia semplice pilotare una bargraph da 30 led utilizzando soltanto 3 IO di un picmicro e qualche shift register tipo 74HC595. Per cui vi invito, se non l’avete già fatto, a leggere questi due articoli linkati prima di proseguire perchè, specie quello sul sensore MQ-3, è indispensabile per proseguire.

In questo progetto semplice semplice, fatto giusto per rilassarmi un po’ durante gli studi sui PICmicro a 32bit, non ho fatto altro che unire le due cose e l’ho fatto utilizzando un picmicro di quelli “piccoli”: il PIC12F683. Per cui, anche se non siete interessati a realizzare un alcool tester, può sempre essere utile per avere sottomano un esempio di utilizzo del modulo A/D su questo picmicro.

Il circuito è molto semplice, l’ho realizzato su una breadboard.

Conoscete bene il mio odio verso le breadboard ma ogni tanto le uso anch’io. Probabilmente a causa di questo mio odio, la prima breadboard che ho usato ha deciso di farmi impazzire un be po’: il circuito difatti non funzionava correttamente a causa di qualche strano falso contatto, che poi si è tramutato in altro tipo di problema spostando tutto il circuito in un’altra zona della breadboard…. Tutto si è risolto utilizzando una breadboard differente. Per cui, se avete problemi, usate una millefori perchè vi assicuro che il circuito funziona correttamente!

Settando opportunamente la word di configurazione è possibile utilizzare i pin dedicati all’oscillatore come normali IO e MCLR come ingresso. Sia il sensore di Alcool MQ-3 che la Bargraph Breakout Board le ho acquistate da Robot-Italy (qui e qui). Lo schema è il seguente (perdonatemi ma non mi andava di disegnarlo con Eagle, ogni tanto mi riposo pure io!):

Nello schema non è presente il connettore ICSP, potete aggiungerlo voi o programmare il picmicro a parte su un adattatore tipo questo come ho fatto io.

In realtà non è possibile, con questo schema/sorgente, realizzare un alcool tester molto preciso per svariati motivi: primo su tutti c’è il fatto che l’MQ-3 (ma quasi tutti i sensori di gas) necessitano un tempo di preriscaldamento che spesso supera le 24 ore, e poi il valore in uscita non è lineare in funzione della concentrazione di alcool (il che rende abbastanza difficile eseguire una conversione volt/ppm) ed è fortemente influenzato dalla temperatura.  Non dico che è impossibile realizzare un sistema preciso: sto dicendo che è molto difficile farlo e questo progetto esula dallo scopo: è più che altro un sistema per illustrare un utilizzo “ludico” di questo tipo di sensore, divertitevi con gli amici e basta.

In particolare la resistenza da 10KΩ andrebbe sostituita con un trimmer o con una resistenza di valore molto più elevato (200KΩ o più) per eseguire rilevazioni più precise. Provate a mettere la resistenza da 200KΩ e osservate il comportamento della bargraph: all’inizio sarà tutta illuminata (alla prima accensione tutta spenta e dopo alcuni secondi si illumina), man mano che il sensore si riscalda la tensione scende e il valore sulla barra di conseguenza si abbassa. Questo è il funzionamento corretto: usare il sensore dopo un adeguato tempo di riscaldamento. La resistenza di valore più basso consente di leggere un valore prossimo allo zero subito dopo l’accensione, ma ovviamente questo sistema non va bene per realizzare un apparato preciso.

Il sistema che ho utilizzato qui può andar bene per svariati tipi di sensori, ad esempio mi suggeriscono “dalla regia”, mentre scrivo questo articolo, che sarebbe ancora più simpatico, rimanendo sempre in ambito ludico, sostituire l’MQ-3 con un MQ-4 (sensore di metano e gas naturali) e realizzare quindi un flatulenzometro (vogliate perdonarmi ma non ho idea di come chiamare uno strumento del genere, forse andava meglio un termine anglosassone del tipo Fart-o-meter come hanno già fatto su instructables). Pare invece che l’MQ-7 (Sensore di monossido di carbonio, e probabilmente altri) non possa essere utilizzato con questo schema perchè richiede un’alimentazione “circolare” (la resistenza di riscaldamento va alimentata prima a 5V, poi a 1.4, quindi di nuovo a 5V e così via per tempi di 60sec).

Qui c’è un video che illustra il funzionamento:

Vedete che l’MQ-3 è molto sensibile e necessita di un certo tempo per “riprendersi” dopo essere stato invaso dai vapori di alcool. Provate a bere un po’ di liquore ed alitare sul sensore, ma dopo ovviamente non guidate!

Vi lascio con il sorgente… fatene buon uso e divertitevi ! Ma soprattutto se realizzate un fart-o-meter, fatemelo sapere e non usate il materiale che trovate qui per fare le raccolte a punti!

Downloads

Alcool tester con PIC12F683 e bargraph (348 downloads)

Datasheet PIC12F683 (1823 downloads)

Datasheet MQ-3 - Sensore Alcool Etilico (299 downloads)



Questo articolo ti è stato utile? Ti ha permesso di risolvere un problema o di migliorare le tue applicazioni? Ci lavori? Ti ha permesso di scrivere la tua tesina? Ti ha semplicemente fatto spendere un po' del tuo tempo in maniera costruttiva? Allora clicca il banner qui sotto:


Settorezero.com è un blog personale di Giovanni Bernardo aperto dal 25 Ottobre 2007. Non è una testata giornalistica né un sito a carattere commerciale.
Settorezero.com, il logo Zroid™ e la tagline "Play embedded electronics™" sono copyright ©2007÷2019 Giovanni Bernardo.
La navigazione su settorezero.com e la fruizione dei contenuti ivi presenti sono soggette ai seguenti Termini di utilizzo - Informativa sulla privacy - Utilizzo dei Cookie.
Il tema di questo sito è basato sul tema Fusion per wordpress, realizzato originariamente da digitalnature e fa uso del plugin Wassup per il computo delle statistiche.
Per poter contattare il gestore del sito potete utilizzare la sezione contatti o inviare una email a gianni[at]settorezero[dot]com.
Per seguire gli aggiornamenti del blog Settorezero, oltre al feed RSS, puoi anche seguire la pagina Facebook o iscriverti al canale Telegram.
Su Twitter, invece, pubblico un po' di tutto e, quando mi va, uso anche Tumblr - Google+ - Blogspot - Youtube.