Manuel
Sensore di GAS
Tutorials -
Martedì 03 Maggio 2011 18:49
Scritto da Manuel

Il gas è una delle fonti d’energia più diffuse nella società moderna; è disponibile in varie tipologie e miscele, si può avere il metano, il GPL, il gas di città ecc… ma purtroppo per tutti i tipi di gas esiste un denominatore comune ovvero l’estrema pericolosità in caso di fuga. Infatti,se una miscela di gas e aria è compresa entro una ben precisa fascia di concentrazione, diventa altamente esplosiva. Questa fascia è compresa da dei valori ben precisi per ogni tipo di gas tramite il L.I.E. ( limite inferiore di esplosività ) e il L.S.E ( limite superiore di esplosività ). Al di sotto del L.I.E. non si ha sufficiente combustibile per innescare l’esplosione, al di sopra del L.S.E la miscela è talmente satura d’esplosivo (combustibile) e talmente povera d’ossigeno (comburente) che ugualmente l’esplosione non avviene. Quindi, l’individuazione tempestiva di gas in concentrazioni pericolose è estremamente importante ai fini della sicurezza domestica e industriale. Ora,in commercio esistono dei dispositivi che rilevano queste concentrazioni di gas pericolose con calcoli attendibili del L.I.E. del L.S.E. e la quantità di ppm dei gas, e quindi ho pensato che nel nostro piccolo, realizzare un dispositivo con Arduino che rileva una presenza di monossido di carbonio (CO) in percentuale anche piccola,nell’aria circostante senza soffermarci in calcoli complessi, è molto utile almeno per prevenire una creazione di zone pericolose di ristagno gassoso tipo in cucine o in prossimità di caldaie a Gas.

Il sensore è capace di rilevare concentrazioni da 20 a 2000 ppm e si chiama MQ-7.. a noi ci si presenta così:

 

709403

 

Il datasheet di questo componente lo potete trovare a questa pagina:

http://www.sparkfun.com/datasheets/Sensors/Biometric/MQ-7.pdf

mentre sempre in rete ho trovato questo esempio di collegamento utile ad una scheda Wiring ( i collegamenti sono identici ad Arduino purtroppo non ho trovato uno schema adatto per Arduino )

 

AirQualityMQ135

 

Siccome nel far funzionare questo sensore correttamente bisogna collegare una Resistenza da 10 kΩ come ci suggerisce il datasheet,ho trovato difficoltà nel saldarlo in una basetta millefori per la grandezza dei suoi piedini.Esiste in commercio una scheda già stampata per un fissaggio efficace di questo sensore ed anche carino a vedersi esteticamente..

 

708891

 

 

Nessuno però ci vieta di adattarlo in una scheda millefori magari allargando i fori con una punta a ferro da 1.5 mm oppure da 2mm. L’unico svantaggio è che nell’allargare il buco si perde la parte di rame che serve nel far aderire lo stagno per fissarlo, ma con un po’ di pazienza ci si riesce comunque a farlo.

Collegato ad Arduino,si sente sulla parte superiore del sensore,simile ad una maglia di ferro, che un po’ si riscalda…Tutto normale perché all’interno del sensore vi è un elemento riscaldante (costituito da una lega di Nickel-Cromo). Questo è necessario per vari motivi; la sensibilità è difatti in funzione della temperatura: maggiore è la temperatura maggiore è la capacità del sistema di “captare” molecole di gas nell’ambiente circostante. Le reazioni che si sviluppano sulla superficie del sensore sono endotermiche, ovvero assorbono calore dall’ambiente circostante, e un aumento di temperatura favorisce il verificarsi delle reazioni chimiche, aumentando di conseguenza la sensibilità, così come l’assorbimento di ossigeno. Se volete provare il suo corretto funzionamento,prima di collegarlo ad Arduino,basta che lo alimentate e con il tester misurate la resistenza che c’è sul piedino dei 5 V e sul piedino dove va collegato in una porta ANALOGICA di Arduino…noterete che vi da un valore abbastanza alto nell’ordine dei KΩ..se provate ad avvicinare un accendino premendo solo il pulsantino per emettere gas vedrete che il valore della resistenza diminuirà!

Ora il codice da caricare mi legge sulla porta seriale il valore non in ppm (perché ci importa relativamente poco del reale valore effettivo di ppm) ma in percentuale,dato che a noi ci importa che ci sia anche una minima presenza di gas nell’ambiente circostante come “preallarme”.

int gas; 
int perc_gas;
 
void setup() {
 Serial.begin(9600);              // setta la porta seriale a 9600
}
 
void loop() {
 gas = analogRead(0);              // Leggi il valore sul pin 0
 perc_gas = map(gas,0,1023,0,100); // mappa i valori corrispondenti alla percentuale
 Serial.print(perc_gas);           // stampa la percentuale
 Serial.print(" ");                // spazio 
 Serial.print( “%”);               //stampa %
 Serial.print(“ “);                // spazio ad ogni lettura
 delay(500);                       // aspetta 500 ms per la prossima lettura
}

Questo è un semplice utilizzo di questo sensore ma le idee da applicarci sopra di certo non mancano… un esempio pratico sarebbe quello di impostare 3 letture di percentuale con l’struzione switch/case con altrettante 3 soglie di livello di presenza di gas,magari facendo accendere 3 led di colore verde-giallo-rosso e perché no,di non attivare un relè a 12V quando si ha una percentuale alta di gas presente nell’aria, facendo chiudere un elettrovalvola…;)

Un saluto a tutti voi spero che sia stato utile a qualcuno con questo articolo.

 

Gioblu Robotics © 2010 - 2012 · Sitemap · privacy

gioscarab@gmail.com

Gioblu BOTServer è online dal 10 Aprile 2010 - 319.232 Visite - 1.027.175 Pagine visualizzate - 182.309 Visitatori unici - 536 utenti attivi