Si7021 - Große Differenzen bei Luftfeuchtigkeit

Hallo zusammen,

ich möchte in der Wohnung in verschiedenen Räumen Temperatur und Luftfeuchtigkeit messen. Dazu habe ich insg. 3 GY-21 Sensoren von ebay.
Zum Testen habe ich sie an einen Arduino Uno angeschlossen. Wenn ich nun die Werte der Sensoren vergleiche, stelle ich sehr große Unterschiede fest.
Beispiel (Sensoren direkt nacheinander angeschlossen, selber Ort, selber Sketch):

Sensor A: 67.09%, 22.95°C
Sensor B: 43.83%, 23.80°C
Sensor C: 53.99%, 23.70°C

Während die Temperaturwerte annähernd übereinstimmen sind die Unterschiede zwischen den Luftfeuchtigkeitswerten schon sehr groß und gehen über die angegebenen +-3% hinaus.

Die Differenzen scheinen auch ähnlich zu bleiben, wenn an einem anderen Ort getestet wird:
Sensor A: 71.80%, 22.94°C
Sensor B: 47.33%, 23.90°C
Sensor C: 57.36%, 23.47°C

Zwischen A und B liegen in beiden Testläufen ca. 24%, zwischen A und C ca. 14%.

Im Sketch nutze ich die Library "Adafruit_Si7021". Dort passiert nichts weiter als die Initialisierung des Sensors und der Ausgabe der Werte über Serial im Abstand von 1 Sekunde.

Ich bin mir bewusst, dass man keine Wunder von dieser Art Sensor erwarten kann. Mir kommen die Differenzen allerdings schon sehr groß vor.
Sind jemandem diese Probleme bekannt und hat jemand eine Lösung? Kann das mit einem Defekt der Sensoren zu tun haben?

Vielen Dank und viele Grüße
pschild

Hallo,

also ich kenne den Sensor nicht. Du solltest aber sicher sein das Du die Sensoren nicht zu nahe bei Dir auf dem Tisch liegen hast. Atemluft kann ein Grund sein das unterschiedliche Messwerte da raus kommen. Nass geworden ist auch keiner irgendwann mal ?
Heinz

Nachtrag
Verschieden Räume !!
i2c ist auch nicht für große Entfernungen gedacht , mehr als 1-2m wird da nicht gehen.

Hallo pschild,
ich habe auch einen dieser Sensoren im Einsatz. Diese Abweichungen habe ich nicht, das passt schon recht gut mit 3%. Hast Du eine Referenz die Du zum Vergleich heranziehen kannst? Wenn ja, dann mal die Sensoren einzeln - und wie Rentner schreibt - mit kurzen Leitungen rennen lassen und mit der Referenz vergleichen.

Hallo
packe alle Sensoren in eine Frischhaltedose und messe so die Abweichungen.
Mit den ermittelten Abweichungen kannst du die Sensoren kalibrieren.

Hallo,

vielen Dank für die schnellen Antworten!
Nass geworden sind die Sensoren nicht, nein.
Das mit den großen Entfernungen war glaube ich ein Missverständnis. Ich habe die Sensoren jeweils mit ca. 5cm langen Kabeln am Arduino angeschlossen. Diesen wiederum per USB am Laptop und den gesamten Aufbau in verschiedenen Räumen getestet und dabei den Serial-Output beobachtet.

Ich habe die Sensoren übrigens mit 4 Klemmprüfspitzen mit dem Arduino verbunden (3.3V, GND, SDA, SCL). Kann es vllt. daran liegen? Ich lasse mir an Sensor A gerade die mitgelieferten Pins löten und probiere es damit auch noch mal.

Ich habe Sensor B und C noch mal in einer Dose getestet, sodass ich ausschließen kann, dass es an meinem Atem o.ä. liegt. Ich habe beide Sensoren ca. 10 Minuten "einpendeln" lassen und folgende Werte erhalten:

Sensor B: 52.79%, 25.71°C
Sensor C: 60.30%, 25.87°C

Temperatur stimmt auch hier ziemlich überein, Luftfeuchte unterscheidet sich zwar hier weniger als 10%, aber mit den 8% bin ich immer noch nicht ganz zufrieden :wink:

@paulpaulson Was meinst du genau mit kalibrieren? Lassen sich die Sensoren einstellen oder meinst du, dass ich für den realen Wert pro Sensor einfach immer eine bestimmte Differenz addiere/subtrahiere, die ich dann vorher herausfinden muss?

Grüße!

Das könnte aber passen.
Die Genauigkeit der Sensoren liegt bei +-3% RH.
Wenn der erste an Stelle 56,5 52,8 ausgibt und der zweite an Stelle von 56,5 60,3 ist das beides an der äusseren Grenze.

Nachtrag:
Datenblatt 4.6.

Hallo
als erstes festellen ob die Sensoren wirklich in den Messwerten streuen.
Wenn ja, die Sensoren auf einen gemeinsamen Messwert kalibrieren.

Hallo,
wenn Du keine Möglichkeit zu einer Referenzmessung mit einem anderen Messgerät hast kannst Du noch versuchen über die Daten eines Wetterdienstes für deinen Wohnort zu den tatsächlichen Werten zu kommen. Ob es sich um einen konstanten Offset Fehler handelt oder um einen Linearitätsfehler kannst Du nur bei zwei unterschiedlichen Messpunkten feststellen. In der Regel sind Messwerte von 30-90% zu erwarten. Wenn Du bei etwa 40% und 70% eine Refferenz-Messung machst, kannst Du die Korrekturwerte für Steigung und Offset für eine lineare Regression ermitteln. Damit bist Du dann ziemlich genau über den gesamten Messbereich.
Heinz

Die Abweichung dort ist - wenn keine Messstation in direkter Umgebung - bei +-5% RH und somit noch weiter weg, als das, was der Sensor hergibt.

Nachdem hier ständig die Instrumente geklaut wurden, wird nicht mehr aufgebaut sagt der DWD - jetzt sind es 10Km bis zur nächsten auf fast dem gleichen Breitengrad und 35Km bis zur nächsten auf dem Längengrad. ;(

Wie ich oben schon schrieb, würde ich mich erstmal ans datenblatt und der dortigen Handlungsempfehlung halten.