- Sensori di gas della serie MQ
- Preparazione dell'hardware:
- Approccio per misurare la PPM dai sensori di gas MQ:
- Calcolo del valore di Ro in Clean Air:
- Misura il valore di Rs:
- Rapporto Rs / Ro con PPM:
- Programma per calcolare PPM utilizzando il sensore MQ:
- Visualizzazione del valore PPM sull'hardware con Arduino e MQ-137:
Fin dai tempi dell'era industriale, noi uomini ci siamo evoluti rapidamente. Con ogni progresso inquiniamo anche il nostro ambiente e alla fine lo degradiamo. Ora il riscaldamento globale è una minaccia allarmante e anche l'aria che respiriamo sta diventando critica. Quindi anche il monitoraggio della qualità dell'aria ha iniziato ad acquisire importanza. Quindi in questo articolo impareremo come utilizzare qualsiasi sensore di gas della serie MQ con Arduino e mostrare l'output in PPM (parti per milione). La PPM è anche espressa in milligrammi per litro (mg / L). Questi sensori sono comunemente disponibili e sono anche affidabili per misurare i diversi tipi di gas mostrati di seguito
Sensori di gas della serie MQ
- Anidride carbonica (CO2): MG-811
- Monossido di carbonio (CO): MQ-9
- Composti organici volatili totali (TVOC): CCS811
- Anidride carbonica equivalente (eCO2): CCS811
- Ossido di metallo (MOX): CCS811
- Ammoniaca: MQ-137
- Qualità dell'aria: MQ-135
- GPL, Alcol, Fumo: MQ2
Abbiamo già utilizzato MQ2 per il rilevamento del fumo e MQ-135 per il progetto di monitoraggio della qualità dell'aria. Qui userò il sensore MQ-137 di sainsmart per misurare l' ammoniaca in ppm. Con il sensore in mano ho esaminato tutti i tutorial disponibili e ho scoperto che non esiste una documentazione adeguata su come misurare il gas in ppm. La maggior parte dei tutorial tratta solo i valori analogici o introduce alcune costanti che non sono affidabili per misurare tutti i tipi di gas. Quindi, dopo aver giocato a lungo online, ho finalmente scoperto come utilizzare questi sensori di gas della serie MQ per misurare ppm usando Arduino. Spiego le cose dal basso senza alcuna libreria in modo che tu possa utilizzare questo articolo per qualsiasi sensore di gas disponibile con te.
Preparazione dell'hardware:
I sensori di gas MQ possono essere acquistati come modulo o solo come sensore da solo. Se il tuo scopo è misurare solo ppm, è meglio acquistare il sensore da solo poiché il modulo è adatto solo per l'utilizzo del pin digitale. Quindi, se hai già acquistato il modulo, devi eseguire un piccolo hack che verrà discusso ulteriormente. Per ora, supponiamo che tu abbia acquistato il sensore. Il pinout e il collegamento del sensore sono mostrati di seguito
Come puoi vedere devi solo collegare un'estremità di "H" all'alimentazione e l'altra estremità di "H" a terra. Quindi combina sia A che B. Collega un set per fornire tensione e l'altro al tuo pin analogico. Il resistore R L gioca un ruolo molto importante nel far funzionare il sensore. Quindi prendi nota del valore che stai utilizzando, si consiglia un valore di 47k.
Se hai già acquistato un modulo, dovresti tenere traccia delle tracce del tuo PCB per trovare il valore del tuo R L nella scheda. Grauonline ha già svolto questo lavoro per noi e di seguito è riportato lo schema elettrico della scheda del sensore di gas MQ.
Come puoi vedere il resistore R L (R2) è collegato tra il pin Aout e la massa, quindi se hai un modulo il valore di R L può essere misurato usando un multimetro in modalità resistenza tra il pin Vout e il pin Vcc di il modulo. Nel mio sensore di gas sainsmart MQ-137 il valore di RL era 1K e si trovava qui come mostrato nell'immagine sotto.
Tuttavia, le affermazioni del sito web che fornisce una pentola variabile R L che non è vero, come si può vedere chiaramente nello schema elettrico, il piatto viene utilizzato per impostare la tensione variabile per op-amp e non ha nulla a che fare con R L. Quindi dobbiamo saldare manualmente il resistore SMD (1K) mostrato sopra e dobbiamo utilizzare il nostro resistore tra i pin Ground e Vout che fungeranno da RL. Il miglior valore per RL sarà 47K come suggerito dalla scheda tecnica, quindi useremo lo stesso.
Approccio per misurare la PPM dai sensori di gas MQ:
Ora che conosciamo il valore di R L, procediamo su come misurare effettivamente ppm da questi sensori. Come tutti i sensori, il punto di partenza è la scheda tecnica. La scheda tecnica MQ-137 è fornita qui, ma assicurati di trovare la scheda tecnica corretta per il tuo sensore. All'interno della scheda tecnica abbiamo bisogno di un solo grafico che verrà tracciato rispetto a (Rs / Ro) VS PPM, questo è quello di cui abbiamo bisogno per i nostri calcoli. Quindi parlaci e tienilo a portata di mano. Quello per il mio sensore è mostrato sotto.
Risulta che il sensore MQ137 può misurare NH3, C2H6O e persino CO. Ma qui mi interessano solo i valori di NH3. Tuttavia puoi utilizzare lo stesso metodo per calcolare ppm per qualsiasi sensore che ti piace. Questo grafico è l'unica fonte per noi per trovare il valore di ppm e se potessimo in qualche modo calcolare il rapporto di Rs / Ro (asse X) possiamo usare questo grafico per trovare il valore di ppm (asse Y). Per trovare il valore di Rs / Ro dobbiamo trovare il valore di Rs e il valore di Ro. Dove Rs è la resistenza del sensore alla concentrazione di gas e Ro è la resistenza del sensore in clean sir.
Sì… questo è il piano, vediamo come possiamo farla franca…
Calcolo del valore di Ro in Clean Air:
Si noti che nel grafico il valore di Rs / Ro è costante per l'aria (linea blu spessa) quindi possiamo usarlo a nostro vantaggio e dire che quando il sensore funziona all'aria aperta il valore di Rs / Ro sarà 3,6 fare riferimento all'immagine sotto
Rs / Ro = 3,6
Dal datasheet si arriva anche ad avere una formula per il calcolo del valore di Rs. La formula è mostrata di seguito. Se sei interessato a sapere come viene derivata questa formula puoi leggere attraverso i sistemi di jay con, vorrei anche ringraziarli per avermi aiutato a risolvere questo problema.
In questa formula il valore di Vc è la nostra tensione di alimentazione (+ 5V) e il valore di R L è quello che abbiamo già calcolato (47K per il mio sensore). Se scriviamo un piccolo programma Arduino potremmo anche trovare il valore di V RL e infine calcolare il valore di Rs. Di seguito ho fornito un programma Arduino che legge la tensione analogica (V RL) del sensore e calcola il valore di Rs utilizzando questa formula e infine lo visualizza nel monitor seriale. Il programma è ben spiegato attraverso la sezione commenti, quindi sto saltando la sua spiegazione qui per mantenere questo articolo breve.
/ * * Programma per misurare il valore di R0 per un RL noto con aria fresca * Programma di: B.Aswinth Raj * Sito web: www.circuitdigest.com * Data: 28-12-2017 * / // Questo programma funziona meglio in una stanza con aria fresca con temperatura Temp: 20 ℃, Umidità: 65%, Concentrazione O2 21% e quando il valore di Rl è 47K #define RL 47 // Il valore del resistore RL è 47K void setup () // Funziona solo una volta {Serial.begin (9600); // Inizializza la COM seriale per visualizzare il valore} void loop () {float analog_value; float VRL; float Rs; galleggiante Ro; for (int test_cycle = 1; test_cycle <= 500; test_cycle ++) // Legge l'uscita analogica del sensore per 200 volte {analog_value = analog_value + analogRead (A0); // aggiunge i valori per 200} analog_value = analog_value / 500.0; // Prendi il VRL medio = valore_analogico * (5.0 / 1023.0);// Converte il valore analogico in tensione // RS = ((Vc / VRL) -1) * RL sono le formule che abbiamo ottenuto dalla scheda tecnica Rs = ((5.0 / VRL) -1) * RL; // RS / RO è 3.6 come abbiamo ottenuto dal grafico del datasheet Ro = Rs / 3.6; Serial.print ("Ro at fresh air ="); Serial.println (Ro); // Visualizza il ritardo Ro calcolato (1000); // ritardo di 1 secondo}
Nota: il valore di Ro varierà, lasciare che il sensore si preriscaldi almeno per 10 ore, quindi utilizzare il valore di Ro.
Ho concluso che il valore di Ro è 30 KΩ per il mio sensore (quando R L è 47kΩ). Il tuo potrebbe variare leggermente.
Misura il valore di Rs:
Ora che conosciamo il valore di Ro possiamo facilmente calcolare il valore di Rs usando le due formule precedenti. Si noti che il valore di Rs calcolato in precedenza è per la condizione dell'aria fresca e non sarà lo stesso quando nell'aria è presente l'ammoniaca. Calcolare il valore di Rs non è un grosso problema di cui possiamo occuparci direttamente nel programma finale.
Rapporto Rs / Ro con PPM:
Ora che sappiamo come misurare il valore di Rs e Ro potremmo trovare il suo rapporto (Rs / Ro). Quindi possiamo usare il grafico (mostrato sotto) per fare riferimento al valore corrispondente di PPM.
Sebbene la linea NH3 (colore ciano) sembri lineare, in realtà non lo è. L'aspetto è perché la scala è divisa in modo non uniforme per l'aspetto. Quindi la relazione tra Rs / Ro e PPM è in realtà logaritmica che può essere rappresentata dall'equazione sottostante.
log (y) = m * log (x) + b dove, y = rapporto (Rs / Ro) x = PPM m = pendenza della retta b = punto di intersezione
Per trovare i valori di m e b dobbiamo considerare due punti (x1, y1) e (x2, y2) sulla nostra linea del gas. Qui stiamo lavorando con l'ammoniaca, quindi i due punti che ho considerato sono (40,1) e (100,0.8) come mostrato nell'immagine sopra (contrassegnati come rossi) con segni rossi.
m = / m = log (0,8 / 1) / log (100/40) m = -0,243
Allo stesso modo per (b) otteniamo il valore del punto medio (x, y) dal grafico che è (70,0.75) come mostrato nell'immagine sopra (contrassegnato in blu)
b = log (y) - m * log (x) b = log (0,75) - (-0,243) * log (70) b = 0,323
È così ora che abbiamo calcolato il valore di m e b possiamo equiparare il valore di (Rs / Ro) a PPM usando la formula seguente
PPM = 10 ^ {/ m}
Programma per calcolare PPM utilizzando il sensore MQ:
Di seguito viene fornito il programma completo per calcolare la PPM utilizzando un sensore MQ. Poche righe importanti sono spiegate di seguito.
Prima di procedere con il programma è necessario inserire i valori di Resistenza di carico (RL), Pendenza (m), Intercetta (b) e il valore di Resistenza in aria fresca (Ro). La procedura per ottenere tutti questi valori è già stata spiegata, quindi inseriamoli ora
#define RL 47 // Il valore del resistore RL è 47K #define m -0.263 // Inserisci la pendenza calcolata #define b 0.42 // Inserisci l'intercetta calcolata #define Ro 30 // Inserisci il valore Ro trovato
Quindi leggere la caduta di tensione sul sensore (VRL) e convertirla in tensione (da 0 V a 5 V) poiché la lettura analogica restituirà solo valori da 0 a 1024.
VRL = analogRead (MQ_sensor) * (5.0 / 1023.0); // Misura la caduta di tensione e converti in 0-5V
Ora che il valore di VRL è calcolato puoi usare la formula discussa sopra per calcolare il valore di Rs e anche il rapporto (Rs / Ro)
rapporto = Rs / Ro; // trova il rapporto Rs / Ro
Infine, possiamo calcolare il PPM con la nostra formula logaritmica e visualizzarlo sul nostro monitor seriale come mostrato di seguito
doppio ppm = pow (10, ((log10 (ratio) -b) / m)); // usa la formula per calcolare ppm Serial.print (ppm); // Visualizza ppm
Visualizzazione del valore PPM sull'hardware con Arduino e MQ-137:
Basta con tutta la teoria costruiamo un semplice circuito con il sensore e il display LCD per visualizzare il valore del gas in PPM. Qui il sensore che sto usando è MQ137 che misura l'ammoniaca, lo schema del circuito per la mia configurazione è mostrato sotto.
Collega il tuo sensore e il tuo LCD come mostrato nello schema elettrico e carica il codice fornito alla fine del programma. È necessario modificare il valore Ro come spiegato sopra. Apportare anche le modifiche ai valori dei parametri se si utilizza qualsiasi altro resistore come RL diverso da 4.7K.
Lasciare acceso il set-up per almeno 2 ore prima di eseguire qualsiasi lettura (si consigliano 48 ore per valori più accurati). Questo tempo è chiamato tempo di riscaldamento, durante il quale il sensore si riscalda. Dopodiché, dovresti essere in grado di vedere il valore di PPM e la tensione visualizzati sullo schermo LCD come mostrato di seguito.
Adesso per accertarci che i valori siano realmente legati alla presenza di ammoniaca, posizioniamo questo allestimento all'interno di un contenitore chiuso e inviamo ammoniaca al suo interno per verificare se i valori sono in aumento. Non ho un misuratore PPM adeguato con me, calibralo e sarebbe fantastico se qualcuno con il misuratore potesse testare questa configurazione e farmi sapere.
Puoi guardare il video qui sotto per verificare come variavano le letture in base alla presenza di ammoniaca. Spero che tu abbia capito il concetto e ti sia piaciuto impararlo. Se hai dei dubbi lasciali nella sezione commenti o per un aiuto più dettagliato usa il forum qui.