- Gassensoren der MQ-Serie
- Vorbereiten Ihrer Hardware:
- Ansatz zur Messung des PPM von MQ-Gassensoren:
- Berechnung des Ro-Wertes bei sauberer Luft:
- Messen Sie den Wert von Rs:
- Verhältnis von Rs / Ro zu PPM:
- Programm zur Berechnung des PPM mit dem MQ-Sensor:
- Anzeigen des PPM-Werts auf Hardware mit Arduino und MQ-137:
Seit dem Industriezeitalter haben wir Menschen uns rasant entwickelt. Mit jedem Fortschritt verschmutzen wir auch unsere Umwelt und verschlechtern sie schließlich. Jetzt ist die globale Erwärmung eine alarmierende Bedrohung, und selbst die Luft, die wir atmen, wird kritisch. Daher hat auch die Überwachung der Luftqualität zunehmend an Bedeutung gewonnen. In diesem Artikel erfahren Sie, wie Sie einen Gassensor der MQ-Serie mit Arduino verwenden und die Ausgabe in PPM (parts per million) anzeigen. PPM wird auch als Milligramm pro Liter (mg / l) ausgedrückt . Diese Sensoren sind allgemein verfügbar und eignen sich auch zur Messung verschiedener Gasarten (siehe unten)
Gassensoren der MQ-Serie
- Kohlendioxid (CO2): MG-811
- Kohlenmonoxid (CO): MQ-9
- Total Volatile Organic Compounds (TVOCs): CCS811
- Äquivalentes Kohlendioxid (eCO2): CCS811
- Metalloxid (MOX): CCS811
- Ammoniak: MQ-137
- Luftqualität: MQ-135
- LPG, Alkohol, Rauch: MQ2
Wir haben bereits MQ2 für die Rauchmessung und MQ-135 für das Projekt zur Überwachung der Luftqualität verwendet. Hier werde ich den MQ-137-Sensor von sainsmart verwenden, um Ammoniak in ppm zu messen. Mit dem Sensor in der Hand habe ich alle verfügbaren Tutorials durchgesehen und festgestellt, dass es keine ordnungsgemäße Dokumentation zur Messung des Gases in ppm gibt. Die meisten Tutorials behandeln entweder nur die analogen Werte oder führen einige Konstanten ein, die für die Messung aller Arten von Gas nicht zuverlässig sind. Nachdem ich lange online herumgespielt hatte, fand ich endlich heraus, wie man diese Gassensoren der MQ-Serie verwendet, um ppm mit Arduino zu messen. Ich erkläre die Dinge von unten ohne Bibliotheken, damit Sie diesen Artikel für jeden bei Ihnen verfügbaren Gassensor verwenden können.
Vorbereiten Ihrer Hardware:
Die MQ-Gassensoren können entweder als Modul oder nur als Sensor erworben werden. Wenn Sie nur ppm messen möchten, kaufen Sie den Sensor am besten alleine, da das Modul nur für die Verwendung des digitalen Pins geeignet ist. Wenn Sie das Modul bereits gekauft haben, müssen Sie einen kleinen Hack ausführen, der weiter unten erläutert wird. Nehmen wir zunächst an, Sie haben den Sensor gekauft. Die Pinbelegung und der Anschluss des Sensors sind unten dargestellt
Wie Sie sehen, müssen Sie nur ein Ende von 'H' an die Versorgung und das andere Ende von 'H' an Masse anschließen. Kombinieren Sie dann beide A und beide B. Schließen Sie einen Satz an die Versorgungsspannung und den anderen an Ihren analogen Pin an. Der Widerstand R L spielt eine sehr wichtige Rolle, damit der Sensor funktioniert. Notieren Sie sich also, welchen Wert Sie verwenden. Ein Wert von 47k wird empfohlen.
Wenn Sie bereits ein Modul gekauft haben, sollten Sie Ihre Leiterplattenspuren verfolgen, um den Wert Ihres R L auf der Platine zu ermitteln. Grauonline hat diese Arbeit bereits für uns erledigt und der Schaltplan der MQ-Gassensorplatine ist unten angegeben.
Wie Sie sehen können, ist der Widerstand R L (R2) zwischen dem Aout-Pin und der Masse angeschlossen. Wenn Sie also ein Modul haben, kann der Wert von R L mit einem Multimeter im Widerstandsmodus über den Vout-Pin und den Vcc-Pin von gemessen werden das Modul. In meinem sainsmart MQ-137 Gassensor betrug der Wert von RL 1K und befand sich hier wie in der Abbildung unten gezeigt.
Die Website behauptet jedoch, dass sie einen variablen Poti von R L bereitstellt, was nicht wahr ist, wie Sie im Schaltplan deutlich sehen können. Der Poti wird zum Einstellen der variablen Spannung für den Operationsverstärker verwendet und hat nichts mit R L zu tun. Wir müssen also den oben gezeigten SMD-Widerstand (1K) manuell löten und unseren eigenen Widerstand über dem Erdungs- und Vout-Pin verwenden, der als RL fungiert. Der beste Wert für RL ist 47 KB, wie im Datenblatt vorgeschlagen, daher werden wir denselben verwenden.
Ansatz zur Messung des PPM von MQ-Gassensoren:
Nachdem wir den Wert von R L kennen, können wir fortfahren, wie ppm von diesen Sensoren tatsächlich gemessen werden. Wie bei allen Sensoren ist der Ausgangspunkt das Datenblatt. Das MQ-137-Datenblatt finden Sie hier. Stellen Sie jedoch sicher, dass Sie das richtige Datenblatt für Ihren Sensor finden. Innerhalb des Datenblattes benötigen wir nur ein Diagramm, das gegen (Rs / Ro) VS PPM aufgetragen wird. Dies ist das Diagramm, das wir für unsere Berechnungen benötigen. Also gab es und halte es irgendwo griffbereit. Die für meinen Sensor ist unten abgebildet.
Es stellt sich heraus, dass der MQ137-Sensor NH3, C2H6O und sogar CO messen kann. Aber hier interessieren mich nur die Werte von NH3. Sie können jedoch dieselbe Methode verwenden, um ppm für jeden gewünschten Sensor zu berechnen. Dieses Diagramm ist die einzige Quelle für uns, um den Wert von ppm zu ermitteln. Wenn wir das Verhältnis von Rs / Ro (X-Achse) irgendwie berechnen könnten, könnten wir dieses Diagramm verwenden, um den Wert von ppm (Y-Achse) zu ermitteln. Um den Wert von Rs / Ro zu finden, müssen wir den Wert von Rs und den Wert von Ro finden. Wobei Rs der Sensorwiderstand bei Gaskonzentration und Ro der Sensorwiderstand bei sauberem Sir ist.
Ja… das ist der Plan, mal sehen, wie wir damit durchkommen können…
Berechnung des Ro-Wertes bei sauberer Luft:
Beachten Sie, dass im Diagramm der Wert von Rs / Ro für Luft konstant ist (dicke blaue Linie), sodass wir dies zu unserem Vorteil nutzen können und sagen können, dass der Wert von Rs / Ro 3,6 beträgt, wenn der Sensor an Frischluft arbeitet unten
Rs / Ro = 3,6
Aus dem Datenblatt erhalten wir auch eine Formel zur Berechnung des Wertes von Rs. Die Formel ist unten gezeigt. Wenn Sie wissen möchten, wie diese Formel abgeleitet wird, können Sie Jay-Con-Systeme durchlesen. Ich möchte sie auch dafür danken, dass sie mir dabei helfen, dies zu klären.
In dieser Formel ist der Wert von Vc unsere Versorgungsspannung (+ 5 V) und der Wert von R L ist derjenige, den wir bereits berechnet haben (47 K für meinen Sensor). Wenn wir ein kleines Arduino-Programm schreiben, können wir auch den Wert von V RL finden und schließlich den Wert von Rs berechnen. Ich habe unten ein Arduino-Programm angegeben, das die analoge Spannung (V RL) des Sensors liest , den Wert von Rs anhand dieser Formel berechnet und schließlich im seriellen Monitor anzeigt. Das Programm wird im Kommentarbereich gut erklärt, daher überspringe ich die Erklärung hier, um diesen Artikel kurz zu halten.
/ * * Programm zum Messen des Werts von R0 für ein bekanntes RL bei Frischluftbedingungen * Programm von: B.Aswinth Raj * Website: www.circuitdigest.com * Datum: 28-12-2017 * / // Dieses Programm funktioniert am besten in einem Frischluftraum mit Temperatur Temp: 20 ℃, Luftfeuchtigkeit: 65%, O2-Konzentration 21% und wenn der Wert von Rl 47K beträgt #define RL 47 // Der Wert des Widerstands RL ist 47K void setup () // Läuft nur einmal {Serial.begin (9600); // Serielle COM zur Anzeige des Wertes initialisieren} void loop () {float analog_value; float VRL; float Rs; float Ro; for (int test_cycle = 1; test_cycle <= 500; test_cycle ++) // Den Analogausgang des Sensors 200 Mal lesen {analog_value = analog_value + analogRead (A0); // addiere die Werte für 200} analog_value = analog_value / 500.0; // Nimm den durchschnittlichen VRL = analog_value * (5.0 / 1023.0);// Analogwert in Spannung umwandeln // RS = ((Vc / VRL) -1) * RL sind die Formeln, die wir aus dem Datenblatt Rs = ((5.0 / VRL) -1) * RL erhalten haben; // RS / RO ist 3,6, wie wir aus dem Diagramm des Datenblattes erhalten haben. Ro = Rs / 3,6; Serial.print ("Ro an der frischen Luft ="); Serial.println (Ro); // Berechnete Ro-Verzögerung anzeigen (1000); // Verzögerung von 1 Sek.}
Hinweis: Der Wert von Ro variiert, lassen Sie den Sensor mindestens 10 Stunden vorheizen und verwenden Sie dann den Wert von Ro.
Ich kam zu dem Schluss, dass der Wert von Ro für meinen Sensor 30 KΩ beträgt (wenn R L 47 kΩ beträgt). Ihre können leicht variieren.
Messen Sie den Wert von Rs:
Nachdem wir den Wert von Ro kennen, können wir den Wert von Rs unter Verwendung der obigen zwei Formeln leicht berechnen. Beachten Sie, dass der zuvor berechnete Wert von Rs für die Frischluftbedingung gilt und nicht der gleiche ist, wenn Ammoniak in der Luft vorhanden ist. Die Berechnung des Wertes von Rs ist kein großes Problem, um das wir uns im endgültigen Programm direkt kümmern können.
Verhältnis von Rs / Ro zu PPM:
Jetzt, da wir wissen, wie man den Wert von Rs und Ro misst, können wir sein Verhältnis (Rs / Ro) finden. Dann können wir das Diagramm (siehe unten) verwenden, um den entsprechenden Wert von PPM zu ermitteln.
Obwohl die NH3-Linie (Cyan-Farbe) linear zu sein scheint, ist sie tatsächlich nicht linear. Das Erscheinungsbild ist darauf zurückzuführen, dass die Skala für das Erscheinungsbild ungleichmäßig aufgeteilt ist. Die Beziehung zwischen Rs / Ro und PPM ist also tatsächlich logarithmisch, was durch die folgende Gleichung dargestellt werden kann.
log (y) = m * log (x) + b wobei y = Verhältnis (Rs / Ro) x = PPM m = Steigung der Linie b = Schnittpunkt
Um die Werte von m und b zu finden, müssen wir zwei Punkte (x1, y1) und (x2, y2) auf unserer Gasleitung berücksichtigen. Hier arbeiten wir mit Ammoniak, daher sind die beiden Punkte, die ich berücksichtigt habe, (40,1) und (100,0,8), wie im obigen Bild (rot markiert) mit roter Markierung gezeigt.
m = / m = log (0,8 / 1) / log (100/40) m = -0,243
In ähnlicher Weise erhalten wir für (b) den Mittelpunktwert (x, y) aus dem Diagramm (70,0,75), wie im obigen Bild gezeigt (blau markiert).
b = log (y) - m · log (x) b = log (0,75) - (-0,243) · log (70) b = 0,323
Nachdem wir nun den Wert von m und b berechnet haben, können wir den Wert von (Rs / Ro) mit der folgenden Formel mit PPM gleichsetzen
PPM = 10 ^ {/ m}
Programm zur Berechnung des PPM mit dem MQ-Sensor:
Das vollständige Programm zur Berechnung des PPM mit einem MQ-Sensor ist unten angegeben. Im Folgenden werden einige wichtige Zeilen erläutert.
Bevor wir mit dem Programm fortfahren, müssen wir die Werte für den Lastwiderstand (RL), die Steigung (m), den Schnittpunkt (b) und den Wert für den Widerstand an der Frischluft (Ro) eingeben. Die Vorgehensweise zum Abrufen all dieser Werte wurde bereits erläutert. Geben Sie sie jetzt ein
#define RL 47 // Der Wert des Widerstands RL ist 47K #define m -0,263 // Berechnete Steigung eingeben #define b 0,42 // Berechneten Achsenabschnitt eingeben #def Ro 30 eingeben // Gefundenen Ro-Wert eingeben
Dann lesen Sie den Spannungsabfall über den Sensor (VRL) und wandelt es in Spannung (0 V bis 5 V), da das analoge Lese werden nur Werte von 0 bis 1024 zurück.
VRL = analogRead (MQ_sensor) * (5.0 / 1023.0); // Den Spannungsabfall messen und auf 0-5V umwandeln
Nachdem der Wert von VRL berechnet wurde, können Sie die oben diskutierte Formel verwenden, um den Wert von Rs und auch das Verhältnis (Rs / Ro) zu berechnen.
Verhältnis = Rs / Ro; // Verhältnis Rs / Ro finden
Schließlich können wir das PPM mit unserer logarithmischen Formel berechnen und wie unten gezeigt auf unserem seriellen Monitor anzeigen
doppelte ppm = pow (10, ((log 10 (Verhältnis) -b) / m)); // Formel verwenden, um ppm zu berechnen Serial.print (ppm); // ppm anzeigen
Anzeigen des PPM-Werts auf Hardware mit Arduino und MQ-137:
Genug von all der Theorie lassen Sie uns eine einfache Schaltung mit dem Sensor und dem LCD bauen, um den Wert von Gas in PPM anzuzeigen. Hier ist der Sensor, den ich verwende, MQ137, der Ammoniak misst. Der Schaltplan für meinen Aufbau ist unten gezeigt.
Verbinden Sie Ihren Sensor und Ihr LCD wie im Schaltplan gezeigt und laden Sie den am Ende des Programms angegebenen Code hoch. Sie müssen den Ro-Wert wie oben erläutert ändern. Nehmen Sie auch die Änderungen der Parameterwerte vor, wenn Sie einen anderen Widerstand als RL als 4,7 KB verwenden.
Lassen Sie Ihr Setup mindestens 2 Stunden lang mit Strom versorgt, bevor Sie Messungen vornehmen (48 Stunden werden für genauere Werte empfohlen). Diese Zeit wird als Aufheizzeit bezeichnet, während der sich der Sensor erwärmt. Danach sollten Sie in der Lage sein, den Wert von PPM und die auf Ihrem LCD-Bildschirm angezeigte Spannung wie unten gezeigt anzuzeigen.
Um sicherzustellen, dass die Werte wirklich mit dem Vorhandensein von Ammoniak zusammenhängen, stellen wir diese Einrichtung in einen geschlossenen Behälter und senden Ammoniakgas hinein, um zu überprüfen, ob die Werte ansteigen. Ich habe kein richtiges PPM-Messgerät bei mir, um es zu kalibrieren, und es wäre großartig, wenn jemand mit Messgerät dieses Setup testen und mich wissen lassen könnte.
In dem folgenden Video können Sie überprüfen, wie sich die Messwerte je nach Vorhandensein von Ammoniak verändert haben. Ich hoffe, Sie haben das Konzept verstanden und es genossen, es zu lernen. Wenn Sie irgendwelche Zweifel haben, lassen Sie sie im Kommentarbereich oder für detailliertere Hilfe nutzen Sie das Forum hier.