So überprüfen und kalibrieren Sie einen Feuchtigkeitssensor
Wie genau ist Ihr Feuchtigkeitssensor? Finden Sie es mit diesem Projekt heraus.
Feuchtigkeitssensoren sind alltäglich, relativ kostengünstig und in vielen verschiedenen Varianten erhältlich. Zu oft überprüfen wir das Datenblatt, verwenden es mit einer Schnittstelle und akzeptieren die Ergebnisse (solange die Werte „vernünftig aussehen“).
In diesem Projekt zeigen wir, wie man noch einen Schritt weiter geht und die Genauigkeit eines Feuchtesensors verifiziert. Wir veranschaulichen auch eine allgemeine Methode zur Sensorkalibrierung und wenden die Methode zur Kalibrierung der Ergebnisse an, um die Genauigkeit der Feuchtemessungen zu verbessern.
Im Projekt verwendeter Testaufbau (von links nach rechts, Quark D2000-Mikrocontrollerplatine, Sensorschnittstelle, HIH5030-Sensor in einer Mikroumgebung).
Projektgrundlagen
Um die Genauigkeit eines Sensors zu überprüfen, werden die erhaltenen Werte mit einem Referenzstandard verglichen. Um die Genauigkeit eines Feuchtesensors zu überprüfen, verwenden wir das „gesättigte Salz“-Verfahren zur Herstellung der Standards. Einfach ausgedrückt erzeugen bestimmte Salze (d. h. ionische Verbindungen wie Kochsalz oder Kaliumchlorid), wenn sie in einer wässrigen Lösung gelöst werden, eine Atmosphäre mit bekannter Feuchtigkeit (siehe Referenz-PDF).
Diese chemischen Eigenschaften werden verwendet, um Mikroumgebungen mit bekannten Prozentsätzen der relativen Feuchtigkeit (RH) zu erzeugen (d. h. Referenzstandards), und die Sensoren werden innerhalb der Mikroumgebung gelesen. Konkret werden wir eine Lösung in einem verschlossenen Glas herstellen, um die Atmosphäre zu bewahren, und dann den angeschlossenen Sensor in das verschlossene Glas legen. Anschließend wird der Sensor immer wieder ausgelesen und die Werte aufgezeichnet.
Durch Wiederholen des Verfahrens mit mehreren verschiedenen Salzen, die jeweils eine andere relative Luftfeuchtigkeit erzeugen, können wir ein Profil für den zu testenden Sensor entwickeln. Da wir die relative Luftfeuchtigkeit für jede Mikroumgebung kennen, können wir die Abweichungen unserer Sensormesswerte von diesen bekannten Werten beurteilen und somit die Genauigkeit des Sensors beurteilen.
Wenn die Abweichungen erheblich, aber nicht unüberwindbar sind, können wir mathematische Kalibrierverfahren in Software anwenden, um die Genauigkeit der Messungen zu erhöhen.
Ein Wort zur Sicherheit
Bevor Sie fortfahren, ist es wichtig, dass Sie verantwortungsbewusst mit den in diesem Projekt verwendeten Chemikalien umgehen.
- Lesen Sie das Sicherheitsdatenblatt (SDB oder manchmal MSDS (Material Safety Data Sheet)) für jede der verwendeten Chemikalien (Links für das SDB für jedes verwendete Salz finden Sie unten, und Sie können auch Literaturrecherchen zu jedem Salz durchführen und deren sichere Handhabungsverfahren).
- Inhalieren oder verschlucken Sie die Chemikalien nicht.
- Lassen Sie die Chemikalien nicht mit Ihrer Haut oder Augen in Kontakt kommen (verwenden Sie Handschuhe und Schutzbrille).
- Bereiten Sie die Lösungen nicht im selben Bereich zu, in dem auch das Essen zubereitet wird.
- Bewahren Sie die Chemikalien richtig auf.
- Entsorgen Sie die Lösungen und alle Instrumente, die zur Herstellung der Lösungen verwendet wurden, ordnungsgemäß, damit keine versehentlichen Expositionen erfolgen.
- Bevor Sie beginnen, wissen Sie, was zu tun ist, wenn eine versehentliche Exposition auftritt (siehe Sicherheitsdatenblatt).
Verwendete Salze
Im Allgemeinen gilt:Je mehr RH-Atmosphären Sie für Referenzstandards herstellen können, desto besser ist die Charakterisierung des zu testenden Sensors. Im praktischen Sinne sind die Ressourcen jedoch immer begrenzt. In diesem Projekt wurden vier Referenzstandards verwendet und die zur Herstellung der Referenzstandards verwendeten Salze wurden ausgewählt, um einen Bereich möglicher RH-Werte abzudecken, aber auch unter Berücksichtigung von Sicherheit, Verfügbarkeit und Kosten.
Die folgenden Salze wurden ausgewählt. Im Fall von Natriumchlorid (Kochsalz) wurde reines koscheres Salz billig in einem örtlichen Lebensmittelladen bezogen. Wenn Sie diesen Weg gehen, vermeiden Sie die Verwendung von Speisesalz mit Zusatzstoffen wie Jod oder Trennmitteln.
Salz | % RH (bei 25°C) | Quelle | Sicherheitsdatenblatt |
---|---|---|---|
Lithiumchlorid | 11.30 | Heimwissenschaftliche Tools | Sicherheitsdatenblatt für LiCl |
Magnesiumchlorid | 32,78 | Heimwissenschaftliche Tools | Sicherheitsdatenblatt für MgCl |
Natriumchlorid | 75,29 | Verschiedenes (siehe Text) | Sicherheitsdatenblatt für NaCl |
Kaliumchlorid | 84,34 | Heimwissenschaftliche Tools | Sicherheitsdatenblatt für KCl |
Erstellen einer Mikroumgebung
Wir haben Standards für fast alles und es gibt sogar einen für die Herstellung einer stabilen RH aus einer wässrigen Lösung (siehe ASTM E104 – 02(2012)). Obwohl mein Prüfstand und wahrscheinlich auch Ihrer kein offizielles Prüflabor ist, lohnt es sich, die Spezifikationen der Norm so genau wie möglich zu befolgen.
Beachten Sie auch, dass die in diesem Projekt präsentierten Ergebnisse, obwohl sie mit Sorgfalt gesammelt wurden, nicht so ausgelegt werden sollten, dass sie eine allgemeine Qualitätsaussage über die Genauigkeit einer Sensormarke widerspiegeln oder anzeigen. Es wurde nur eine kleine Anzahl von Sensoren getestet und die verwendeten Sensoren hatten ein unterschiedliches Alter und eine unterschiedliche Nutzungshistorie.
Für jedes Salz wurde eine matschige Mischung hergestellt, indem destilliertes Wasser zu einer Konsistenz hinzugefügt wurde, die sehr nassem Sand ähnelt. Vier oder fünf Esslöffel Chemikalie und ein Esslöffel destilliertes Wasser können ausprobiert werden, aber Sie müssen möglicherweise ein wenig experimentieren.
Die Mischung wurde in einem kleinen Glas mit einem festen Verschluss hergestellt. Glas oder sogar Kunststoff sollten gut funktionieren, solange es die Atmosphäre im Inneren halten kann. In die Oberseite des Glases kann ein kleines Loch gemacht werden, um Verbindungskabel zur Sensorschnittstelle und dann zu einem Mikrocontroller zu führen. Der angeschlossene Sensor wird dann ungefähr 0,5-1,0 Zoll über dem Gemisch positioniert. Achten Sie darauf, dass der Sensor niemals direkt mit der Lösung in Kontakt kommt, da er sonst wahrscheinlich beschädigt wird. Um die Verbindung in Position zu halten und das Loch in der Kappe abzudichten, kann leicht entfernbarer Kontaktkitt verwendet werden.
Es ist wichtig, dass Sie genügend Zeit für die Äquilibrierung einplanen, bevor Sie die letzte Messung vornehmen. Ich habe dieses Problem empirisch getestet und in ausgewählten Testfällen jede Minute bis zu sechs Stunden lang Messungen durchgeführt. Meiner Erfahrung nach war dies länger als nötig und ich habe mich auf 90-120 Minuten Äquilibrierungszeit für jeden Sensor und jedes Salz festgelegt. Dann wurde ein Durchschnitt der letzten fünf Messwerte für den Endwert verwendet. In allen Fällen zeigten die fünf Werte, wenn überhaupt, nur sehr geringe Unterschiede.
Darüber hinaus wurden alle Messwerte bei einer Umgebungstemperatur von etwa 25 °C (± 1°) gemessen, und der für jeden Standard verwendete RH-Wert war der für 25 °C angegebene Wert (die Werte finden Sie in dieser PDF-Datei).
HIH5030-Sensor auf einer Trägerplatine in einer Mikroumgebung mit Natriumchlorid.
Hardware
Mikrocontroller
In diesem Projekt verbinden wir die Sensoren mit einem Quark D2000 Mikrocontroller. Das D2000 ist ein 3V-Board mit I2C- und Analog-Digital-Schnittstellen.
Beachten Sie jedoch, dass fast jeder andere Mikrocontroller mit den entsprechenden Schnittstellen verwendet werden kann.
Sensorschnittstellen
Im Projekt getestete Sensoren; A) HIH8121, B) HIH5030, C) DHT-22 (AM2302), D) HIH6030 (auf einer Trägerplatine).
Es wurden vier verschiedene Arten von Feuchtigkeitssensoren getestet:DHT-22 (zwei wurden verwendet), HIH5030, HIH6030 und HIH8121. Die folgenden Schemata veranschaulichen die einfachen Schnittstellen, die für jeden Sensortyp verwendet werden, und die Konsultation der verlinkten Datenblätter bietet Hintergrundinformationen. für die Schaltungen.
- Der DHT-22 ist ein Temperatur- und Feuchtigkeitssensor mit einem proprietären seriellen Ausgang
- Der HIH5030 ist ein Feuchtigkeitssensor mit analogem (Spannungs-)Ausgang. Die Schnittstelle für diesen Sensor verwendet einen Operationsverstärker in einer Einheitsverstärkungskonfiguration zur Impedanzanpassung.
- Der HIH6030 und der HIH8121 sind Temperatur- und Feuchtigkeitssensoren, die das I2C-Protokoll verwenden
DHT-22-zu-D2000-Schnittstelle.
DHT-22 Stückliste:U1, DHT-22 Sensor; R1, 4,7 kΩ Widerstand; C1, 0,1 µF Kondensator.
HIH5030-zu-D2000-Schnittstelle.
HIH5030 Stückliste:U1, HIH3050-Sensor; U2, MCP601P Operationsverstärker; C1, 1,0 µF Kondensator; C2, 0,1 µF Kondensator.
HIH6030-zu-D2000-Schnittstelle.
HIH6030 Stückliste:U1, HIH6030 Sensor; R1 und R2, 2,2 kΩ Widerstand; C1, 0,22 µF Kondensator; C2, 0,1 µF Kondensator.
HIH8121-zu-D2000-Schnittstelle.
HIH8121 Stückliste:U1, HIH8121 Sensor; R1 und R2, 2,2 kΩ Widerstand; C1, 0,22 µF Kondensator.
Sensorsoftware
Alle Programme zur Erfassung von Sensordaten sind in der Sprache C geschrieben und können durch Klicken auf die Schaltfläche „Humidity Sensor Project Code“ heruntergeladen werden. Jeder ist kommentiert und direkt. Für jeden Sensor liest das Programm einfach jede Minute den Sensor aus und sendet den Wert an einen seriellen Monitor. Daher sollten sie sich leicht an Ihre spezielle Anwendung anpassen lassen.
Screenshots der Ausgabe von DHT22.c (links) und HIH5030.c (rechts).
Sensorbewertungsverfahren
Die folgende Tabelle enthält die Daten aus der Auswertung der Sensoren in jeder der vier Mikroumgebungen.
DHT #1 | DHT #2 | HIH5030 | HIH6030 | HIH8121 | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Referenz RH | OBS | ERR | OBS | ERR | OBS | ERR | OBS | ERR | OBS | ERR |
11.30 (LiCl) | 12.56 | 1,26 | 16,29 | 4,99 | 13.02 | 1.72 | 20,79 | 9.49 | 12.31 | 1.01 |
32,78 (MgCl) | 32,36 | -0,42 | 33,79 | 1.01 | 33.46 | 0,68 | 40,77 | 7,99 | 32.43 | -0,35 |
75,29 (NaCl) | 73.04 | -2.25 | 74,50 | -0,79 | 77,74 | 2,45 | 83,83 | 8.54 | 76,63 | 1,34 |
84,34 (KCl) | 82.30 | -2.04 | 82,15 | -2.19 | 85,84 | 1,50 | 93.43 | 9.09 | 85.01 | 0,67 |
RMSE | 1.657 | 2.799 | 1.708 | 8.796 | 0.920 |
Nachdem Sie die Daten der Sensorleistung in stabilen Umgebungen mit bekannter relativer Luftfeuchtigkeit gesammelt haben, können Sie die Genauigkeit eines Sensors numerisch bewerten.
Beachten Sie, dass wir in der Tabelle den Fehler für jeden Sensor bei jedem RH-Standard berechnet haben. Wir können diese Werte jedoch nicht einfach mitteln, um den Sensor zu bewerten, da einige Werte positiv und andere negativ sind. Wenn wir einfach einen Durchschnitt nehmen, würde der resultierende Wert den durchschnittlichen Fehler minimieren, da sich die positiven und negativen Werte gegenseitig aufheben würden.
Stattdessen berechnen wir einen quadratischen Mittelwertfehler (RMSE), um die Genauigkeit des Sensors zu charakterisieren. Die Formel für RMSE ist unten:
wobei O der beobachtete Sensorwert und I der ideale Sensorwert (d. h. der Referenzstandard) ist. Um den RMSE zu berechnen, quadrieren wir jeden Fehler (die Abweichung vom Referenzstandard), berechnen dann den arithmetischen Durchschnitt dieser Werte und ziehen schließlich die Quadratwurzel des Durchschnitts.
Nachdem Sie die Genauigkeit des Sensors charakterisiert haben, können Sie anhand des RMSE entscheiden, ob eine Kalibrierung des Sensors erforderlich ist. In einigen Fällen ist der RMSE klein und für Ihre Anwendung völlig akzeptabel und Sie können vernünftigerweise entscheiden, dass keine Kalibrierung erforderlich ist.
Die Ergebnisse zum Beispiel für den HIH8121 sind beeindruckend. Der RMSE beträgt weniger als 1 % und alle Abtastpunkte haben einen Fehler von weniger als 2 %.
Andererseits kann es in einigen Fällen vorkommen, dass die Sensorreaktion so schlecht und unregelmäßig ist, dass Sie einfach entscheiden, dass ein anderer Sensor für Ihre Anwendung erforderlich ist.
Bei der Entscheidung zur Kalibrierung sollte immer der für die Aufgabe erforderliche Genauigkeitsgrad berücksichtigt werden. Dennoch können wir die Genauigkeit der Sensormesswerte durch Kalibrierung für alle Sensoren in der Tabelle verbessern.
Verfahren zur Sensorkalibrierung
Um einen Sensor zu kalibrieren, müssen wir zunächst mathematisch die Funktion bestimmen, die die Idealwerte mit den beobachteten Werten in Beziehung setzt. Ein lineares Regressionsverfahren kann verwendet werden, um diese Funktion zu bestimmen.
Das Wort „linear“ im Namen des Regressionsverfahrens bedeutet keine lineare Funktion. Stattdessen bezieht sich der Begriff auf eine lineare Kombination von Variablen. Die resultierende Funktion kann linear oder krummlinig sein. Alle drei der folgenden Polynomfunktionen stellen eine lineare Regression dar (Anmerkung:Wir ignorieren einen 0-Grad-Fall, der in diesem Zusammenhang nicht nützlich ist).
- y =ax + b (erster Grad, linear)
- y = ax 2 + bx + c (zweiter Grad, quadratisch)
- y =ax 3 + bx 2 + cx + d (dritter Grad, kubisch)
Im aktuellen Projekt berechnen wir Sensorwerte mit vier Referenznormalen (d. h. n =4). Somit ist ein Polynom dritten Grades das Polynom höchsten Grades, das wir berechnen können. Es ist immer so, dass das höchstmögliche Polynom n – 1 ist, und das bedeutet in diesem Fall 3 (4 – 1).
Für die lineare Regression werden normalerweise Verfahren der kleinsten Quadrate verwendet. Bei diesem Verfahren wird eine Linie so angepasst, dass die Summe der Abstände von jedem Bezugspunkt zu der Linie so klein wie möglich ist. Es gibt viele Programme, die Verfahren der kleinsten Quadrate verwenden, um eine lineare Regression durchzuführen. Sie können sogar Excel verwenden (klicken Sie hier, um weitere Informationen zu erhalten).
Es sollte auch beachtet werden, dass wir keine lineare Regression verwenden müssen. Wir könnten nichtlineare Regression verwenden. Beispiele für nichtlineare Regression führen zu einer Potenzfunktion oder einer Fourierfunktion. Die lineare Regression ist jedoch für die Daten unseres Projekts gut geeignet und außerdem ist eine Softwarekorrektur (Kalibrierung) leicht zu implementieren. Tatsächlich glaube ich, dass Sie in diesem Projekt nicht viel gewinnen würden, wenn Sie nichtlineare Regression verwenden.
Auswahl des Polynoms
Theoretisch möchten wir das Polynom verwenden, das am besten zu den Daten passt. Das heißt, das Polynom, das den kleinsten Bestimmtheitsfaktor erzeugt, wird als r 2 . bezeichnet (oder R 2 , ausgesprochen „R im Quadrat“). Je näher r 2 1 ist, desto besser ist die Passform. Bei der Methode der kleinsten Quadrate gilt immer, dass die Anpassung umso besser ist, je höher der Grad des verwendeten Polynoms ist.
Sie müssen jedoch nicht automatisch das höchstmögliche Polynom verwenden. Da die Kalibrierung in Software erfolgt, kann es Fälle geben, in denen die Verwendung eines Polynoms niedrigeren Grades einen Geschwindigkeits- und/oder Speichervorteil darstellt, insbesondere wenn die Genauigkeit, die durch die Verwendung eines Polynoms höheren Grades erreicht werden soll, sehr gering ist.
Im Folgenden demonstrieren wir die Kalibrierungsverfahren für den HIH6030-Sensor unter Verwendung von Polynomen unterschiedlichen Grades und veranschaulichen dabei das allgemeine Verfahren, das auf jeden von Ihnen gewählten Polynomgrad anwendbar ist.
Unter Verwendung der Daten aus der vorherigen Tabelle führen wir zuerst die Regression der kleinsten Quadrate durch, um die Koeffizienten für jedes Polynom zu bestimmen. Diese Werte stammen aus dem verwendeten Regressionssoftwarepaket. Die Ergebnisse sind unten aufgeführt, einschließlich der r 2 Werte.
- Linear:y =ax + b; a =1,0022287, b = –8,9105659, r 2 =0,9996498
- Quadratisch:y =ax 2 + bx + c; a =-0,0012638, b =1,1484601, c = -12.0009745, r 2 =0,9999944
- Kubik:y =ax 3 + bx 2 + cx + d; a =0,0000076, b =-2,4906103, c =1,2061971, d =-12,7681425, r 2 =0,9999999
Die beobachteten Werte können nun mit den berechneten Funktionen modifiziert werden. Das heißt, die Sensormesswerte können wie in der Tabelle unten dargestellt kalibriert werden (beachten Sie, dass die OBS-, Corrected- und ERR-Werte auf zwei Dezimalstellen gerundet sind).
RAW | 1. Grad | 2. Grad | 3. Grad | |||||
---|---|---|---|---|---|---|---|---|
Ref RH | OBS | ERR | Korrigiert | ERR | Korrigiert | ERR | Korrigiert | ERR |
11.30 | 20,79 | 9.49 | 11.93 | 0,63 | 11.36 | 0,06 | 11.30 | 0.00 |
32,78 | 40,77 | 7,99 | 31,95 | -0,83 | 32,83 | 0,05 | 32,78 | 0.00 |
75,29 | 83,83 | 8.54 | 75.11 | -0,18 | 75,85 | 0,55 | 75,29 | 0.00 |
84,34 | 93.43 | 9.09 | 84,73 | 0,39 | 84,83 | 0,49 | 84,34 | 0.00 |
RMSE | 8.795736 | 0.562146 | 0.371478 | 0,00212 |
Es ist ersichtlich, dass alle drei Polynome im Vergleich zu den beobachteten Maßen eine signifikante Abnahme des RMSE bewirkten, und deshalb kalibrieren Sie. Die folgende Grafik veranschaulicht die Verbesserung unter Verwendung des Polynoms 1. Grades. Beachten Sie, wie die kalibrierten (korrigierten) Datenpunkte jetzt nahe der idealen Diagonale liegen.
Weitere Informationen lesen….
So prüfen und kalibrieren Sie einen Feuchtigkeitssensor
Aktuelles Projekt / Beitrag kann auch gefunden werden mit:
- Wie prüfe ich die Feuchtigkeitskalibrierung?
Herstellungsprozess
- Funktionsweise von Feuchtigkeitssensoren und ihre Anwendungen
- DHT11-Sensor und seine Funktionsweise
- Einfaches IoT – RaspberryPI HDC2010 wie es geht
- Python- und Raspberry Pi-Temperatursensor
- Raspberry Pi Wetterstation
- Raspberry Pi Temperatur- und Lichtsensor
- Raspberry Pi Sensor- und Aktuatorsteuerung
- Aeroponik mit Raspberry Pi und Feuchtigkeitssensor
- Windows 10 IoT Core und SHT15
- Überprüfen eines Gleichstrommotors