Come misurare la concentrazione di gas vari

Esistono numerosi usi dei sensori di gas. In particolare, grazie a questi sensori gli esseri umani possono essere salvati da potenziali pericoli. Quindi i sensori di gas svolgono ruoli importanti in vari settori, tra cui l’industria, le applicazioni mediche, ambientali e domestiche per il monitoraggio di gas tossici e infiammabili. Inoltre, come vedremo, con dei semplici sensori low-cost e Arduino è possibile stimare la concentrazione di vari gas, se supera la soglia di rivelabilità del sensore: dal monossido di carbonio all’idrogeno, dal metano all’alcool, dagli ossidi di azoto all’ammoniaca, al fumo, etc.

Un sensore di gas è un dispositivo in grado di rilevare la presenza di vari gas tossici e combustibili presenti nell’ambiente. L’interazione tra il gas di prova e la superficie di rilevamento può essere rilevata, a seconda del tipo di sensore, dalle misure di variazione di resistenza, capacità, funzione di lavoro, massa, caratteristiche ottiche, etc. Oggi esistono numerosi sensori di gas low-cost che possono essere impiegati da scienziati dilettanti e maker per realizzare i propri progetti.

In particolare, i sensori della serie MQ possono essere usati per realizzare rivelatori di fughe di gas oppure in vari tipi di esperimenti scientifici. Essi sono caratterizzati da: (1) ampio campo di rilevamento; (2) vita stabile e lunga; (3) risposta rapida e alta sensibilità. Necessitano di un lungo preriscaldamento (almeno 24 h), ma una volta raggiunta la temperatura di lavoro e quindi la stabilità della lettura possono essere usati anche per misure outdoor o mobile, ad esempio contro l’inquinamento.

Alcuni esempi di sensori di gas della serie MQ. Li puoi trovare insieme ad altri tipi in vendita online, ad esempio qui

I sensori della serie MQ possono essere facilmente inseriti su un modulo di Sensore di gas – Grove, che è un modulo compatibile con Arduino costituito da una base del sensore di gas (con l’elettronica che converte la variazione di resistenza/conduttività in tensione e la amplifica) e dal sensore vero e proprio. La tensione di funzionamento dei sensori della serie MQ è di 4,9-5,1 V, il consumo di corrente è elevato (800 mW) perché scaldano parecchio, mentre la temperatura di funzionamento è -25 – 70 °C.

Il valore fornito da un sensore riflette solo l’andamento approssimativo nel tempo della concentrazione di gas in un intervallo di errore consentito, NON rappresenta l’esatta concentrazione di gas. Il rilevamento di determinati componenti nell’aria richiede di solito uno strumento più preciso e costoso, che non può essere sostituito con un singolo sensore di gas. Se il tuo progetto ha lo scopo di ottenere la concentrazione di gas a un livello molto preciso, allora non consigliamo l’uso di un sensore di gas low-cost.

Un esempio di modulo Sensore di gas – Grove.

Il sistema “Grove” è costituito da uno “shield” di base (Grove Base Shield) e da vari moduli con connettori standardizzati per una rapida connessione, il che ne facilita l’utile interfacciamento a microprocessori come Arduino, dato che la tensione di uscita è proporzionale alla concentrazione del gas, ma non in modo lineare. Oltre ai sensori di gas della serie MQ, esistono altri sensori low-cost in versione anch’essi su modulo Grove come quelli della serie MQ, ma adatti per usi un po’ più specifici:

  • Sensore di gas multicanale
  • Sensore di VOC (Composti Organici Volatili)
  • Sensore di formaldeide (HCHO)
  • Sensore di CO2 (anidride carbonica)
  • Sensore di qualità dell’aria (Winsen MP503).

Un sensore di gas multicanale, in grado di misurare più gas contemporaneamente, ma ciascuno con un sensore specifico diverso.

Esempio di utilizzo di un sensore di gas della serie MQ

Ora immagineremo di usare il sensore di gas MQ5. In realtà, la scelta del sensore dipende non solo dal tipo di gas che vogliamo misurare ma anche dal range di concentrazione che ci interessa poter rilevare, che probabilmente vorremo il più ampio possibile. Tanto per fare un esempio concreto, l’idrogeno (H2) può essere rivelato con il sensore MQ-2 nell’intervallo di 300-5.000 ppm (parti per milione), ma con il sensore MQ-8 può essere rivelato nell’intervallo ben più ampio di 100-10.000 ppm.

Il modulo Sensore di gas – Grove MQ5 è utile per il rilevamento di perdite di gas (in ambito domestico e industriale). È adatto per rilevare, in particolare, i gas idrogeno (H2), gas propano liquido (GPL), metano (CH4), monossido di carbonio (CO), Alcool. Grazie all’elevata sensibilità ed ai tempi di risposta rapidi, è possibile eseguire le misurazioni in tempi rapidi. La sensibilità del sensore può essere regolata facilmente usando il potenziometro presente sul relativo modulo.

Un sensore della serie MQ è un sensore con uscita analogica. Perciò deve essere collegato a qualsiasi presa analogica di una Grove Base Shield. Gli esempi utilizzati in questo tutorial fanno uso del pin analogico A0. Collega dunque questo modulo alla porta A0 di Base Shield. Naturalmente, se non hai la Grove Base Shield, puoi collegare il modulo Grove ad Arduino direttamente utilizzando i singoli cavetti realizzando la connessione come mostrato nella tabella seguente.

Il collegamento di un modulo di sensore di gas ad Arduino tramite la Grove Base Shield o direttamente. 

La tensione di uscita dal sensore di gas aumenta all’aumentare della concentrazione di gas, pertanto non sarà difficile individuare sperimentalmente un livello di soglia al di sopra del quale dovremo essere avvisati o dovrà scattare qualcosa. Ricordo che la sensibilità può essere regolata variando il potenziometro. Si noti che il miglior tempo di preriscaldamento per il sensore è superiore a 24 ore. Per informazioni dettagliate sul sensore MQ-5 o su altri della serie MQ, fai riferimento ai datasheet reperibili online.

Usando il codice (sketch) che puoi scaricare da qui, dopo averlo caricato (previo copia e incolla) su Arduino IDE, viene visualizzata sul monitor seriale la tensione letta dal sensore. Questo valore può essere utilizzato come soglia per rilevare eventuali aumenti / diminuzioni della concentrazione di gas. Si noti che possiamo anche leggere il valore della tensione in uscita dal sensore anche direttamente usando un tester e alimentando il modulo del sensore a 5 V, senza quindi usare Arduino e lo sketch.

Un esempio di lettura del livello di gas con un tester, senza usare Arduino. In questo caso è stato usato un sensore di qualità dell’aria, il Winsen MP503, che puoi trovare qui.

Se dobbiamo fare misurazioni relative, con il nostro sensore di gas e con lo sketch illustrato (o con il collegamento diretto a un tester) non avremo problemi, e dopo le 48 ore in cui l’apparecchio è andato a regime potremo prendere le nostre letture per notare eventuali trend, meglio sotto forma di grafici (vedi il ns. articolo Come fare dei grafici “super” con Arduino, che trovi qui). Ma come possiamo convertire i valori di tensione rilevati in una stima della concentrazione del gas da noi monitorato?

Come stimare la concentrazione approssimata del gas

In questa parte dell’articolo vedremo un modo per conoscere la concentrazione approssimativa di gas con il sensore da noi scelto, ma possiamo facilmente estendere la tecnica agli altri sensori della serie MQ. Secondo la scheda tecnica del sensore MQ5, questi sensori sono testati per condizioni “standard” (i valori forniti possono quindi variare in base al cambiamento di temperatura o umidità) e non sono calibrati. Per stimare la concentrazione del gas che ti interessa, segui la seguente procedura:

Un programmino che ti servirà per stimare la concentrazione del gas che ti interessa. Esso fornisce il valore di R0, ovvero la normale concentrazione di quel gas nell’aria.

  1. Poni il sensore di gas in un ambiente con aria pulita (all’aperto, lontano da zone inquinate).
  2. Carica su Arduino il codice (sketch) che trovi qui (v. figura qui sopra).
  3. Apri il monitor seriale di Arduino IDE. Annota il valore di R0 fornito da questo programmino nel monitor seriale e che dovrà essere usato nel prossimo programma (sketch). Annota R0 solo dopo che la lettura si stabilizza, quindi dovrai aver acceso il sensore da almeno 48 ore.
  4. Sostituisci, nel nuovo e diverso codice (sketch) che trovi qui, R0 con il valore di R0 rilevato sperimentalmente al punto precedente.
  5. Esponi ora il sensore di gas a uno qualsiasi dei gas sopra elencati, cioè a uno di quelli a cui questo sensore specifico è sensibile. Il gas potrà avere ad es. la concentrazione che vuoi misurare. Se ad es. vuoi fare le misurazioni del GPL, puoi far uscire un po’ di gas da un accendino a 10 cm dal sensore.
  6. Annota il valore di Rs/R0 fornito da questo programmino nel monitor seriale (se la concentrazione da misurare varia puoi annotare il valore massimo di Rs/R0).

Il secondo programmino citato nel testo, che fornisce il valore di Rs/R0.

Ora possiamo ottenere la concentrazione di gas dalla figura seguente, che trovi nel datasheet del sensore MQ5. Se usi un altro sensore della serie MQ, dovrai quindi semplicemente prendere la figura analoga che trovi nel suo datasheet. Secondo la figura, possiamo innanzitutto vedere che la concentrazione minima che possiamo testare con questo sensore è di 200 ppm (parti per milione) e quella massima di 10000 ppm: in altre parole, possiamo rilevare una concentrazione di gas tra lo 0,02% e l’1%.

Naturalmente, il produttore non può fornire una formula al posto della figura perché la relazione tra rapporto e concentrazione non è lineare (le scale usate sulla figura sono logaritmiche). Supponiamo quindi che io abbia ottenuto, per il gas propano liquido (in figura LPG, retta color rosa shocking), il valore Rs/R0 = 0,4. Allora, dalla figura in questione possiamo vedere che la concentrazione di gas corrisponde a 800 ppm. Ovviamente, per gli altri gas dovremo usare le rispettive rette della figura.

La figura che lega il rapporto Rs/R0 alla concentrazione del gas (dal datasheet di MQ-5).

Tutto ciò si riferisce a condizioni “standard” di test (temperatura ambiente di 20 °C e umidità del 65+/-5%, tempo di riscaldamento superiore a 48 ore). Inoltre, se il sensore viene esposto per lungo tempo ad elevata umidità o ad elevata temperatura, la sua prestazione verrà influenzata in modo negativo. In altre parole, se proprio dovete usarlo all’aperto per il monitoraggio ad esempio dell’inquinamento, non lasciatelo alle intemperie ma alloggiatelo ben protetto in contenitori multipli connessi da tubicini.

Dato che non solo il gas ma anche l’umidità modifica la conduttività del sensore, capite bene come sia importante misurare pure l’umidità per usarla nell’interpretazione corretta dei dati. Ogni 25% di umidità in più o in meno, infatti, corrisponde a +/- 0,2 V di uscita dal modulo del sensore. Quindi, un +/-15% di umidità corrisponde a circa +/- 0,1 V. Considerato che l’uscita normale di un sensore potrebbe essere dello stesso ordine di grandezza, potete comprendere l’importanza della questione.

Uno dei vari kit di sensori della serie MQ che puoi trovare online ad es. qui.