DHT22 Sensoren liefern größtenteils falsche Werte

Registriere dich jetzt, um exklusive Vorteile zu genießen! Als registriertes Mitglied kannst du Inhalte herunterladen und profitierst von einem werbefreien Forum.
Mach mit und werde Teil unserer Community!
  • Hallo zusammen,


    ich bauen gerade bzw. habe schon eine Kühlschranküberwachung aufgebaut. Es sollen einfach die Werte vom Kühlschrank und vom Gefrierschrank zu einem Ziel geschickt werden. Welches ist egal. Aktuell ist es Thingspeak oder MongoDB atlas zum testen. Hierbei fällt mir auf, dass einer der beiden Sensoren dauerhaft falsche Werte liefert und ich kann mir absolut nicht erklären warum. Ich arbeite mit Python in der Version > 3.0.

    Vielleicht kann mir hier jemand von euch einen Tipp geben?


    Raspberry Pi4 mit aktuellem Raspbian Lite

    DHT22 Sensoren


    Hier seht ihr alles was ich bis jetzt habe. Wenn ich die Sensoren die Werte direkt auf die Kommandozeile ausgeben lasse, dann sind die Werte wie erwartet also größtenteils korrekt:

    Werte:


    Thingspeak (Feld 1 = Temperatur Kühlschrank, Feld 2 = Luftfeuchtigkeit Kühlschrank, Feld 3 = Temperatur Gefrierschrank, Feld 4 = Luftfeuchtigkeit Gefrierschrank)

    Werte welche an Thingspeak gesendet werden:


    MogoDB Atlas:

    Werte welche zur Mongo DB geschrieben werden:


    Ich bin gespannt auf eure Meinungen. Btw. ich habe das ganze nochmal identisch nachgebaut und habe dort ebenfalls das gleiche Problem. (Natürlich neu gekaufte DHT22)

  • Grüß dich,


    Zwischen der Daten Leitung und 5V Leitung soll noch ein 10KOhm Widerstand.


    Ansonsten sind die DHT nicht mehr zeitgemäß.

    Adafruit empfiehlt da den BMP/BME oder deren AHT.


    Du solltest kein nacktes except benutzen. Da sonst dein Programm bei anderen Fehlern auch durchläuft. Du willst da ein

    Python
    except RuntimeError as e:
            # Reading doesn't always work! Just print error and we'll try again
            print("Reading from DHT failure: ", e.args)

    einfugen.


    Adafruit DHT


    Generell solltest du, wenn du weißt welcher Fehler kommen kann, diesen auch angeben.


    Dann schau dir gleich Mal f-strings an. Das ist jetzt Standard.

  • Hi zusammen,

    Danke dir, ich baue später mal die excepts ein. Danke auch für deinen Tipp mit dem Widerstand und den anderen Sensoren. Ich habe jetzt mal alles bestellt und probiere die aus, sobald die da sind :)



    Wobei ich hier auf den eher günstigen setzten würde. Im Kühl/Gefrierschrank will man ja nur die Temp messen und nicht die Pressure oder Humidity.


    wie hast du das mit dem Kabel gemacht?

    Ja vielleicht ein bisschen oversized aber mal schauen habe jetzt auch noch andere digitale Sensoren bestellt ... mal schauen.


    Kabel habe ich wie folgt gemacht. Von GPI mit Jumper zu einen Signalkabel (https://www.amazon.de/gp/product/B00W0PZMHY/ref=ppx_yo_dt_b_asin_title_o04_s00?ie=UTF8&psc=1 (Affiliate-Link)) . Verbindungen von Jumper zu Signalkabel und Signalkabel zu DHT22 sind gelötet.


    Gruß

    Flo

  • Entschuldige, sind beide ca. 2 Meter lang.


    Bei meinem 2. Versuch allerdings sind die nur mit ganz normalen Jumper gesteckt.

  • Hi, TheRealFlori;


    Habe Ich da am Anfang was übersehen???:

    Quote


    Hier seht ihr alles was ich bis jetzt habe. Wenn ich die Sensoren die Werte direkt auf die Kommandozeile ausgeben lasse, dann sind die Werte wie erwartet also größtenteils korrekt:

    Äähh, Freezer bei 1.620°C ist größtenteils wohl eher nicht korrekt, außer wenn du Glocken gießen willst ;)


    Also Ich würde ja erst mal da ansetzen, wo es um die primitive Datenerfassung geht und da scheint ja irgendwas im Argen zu liegen.

    1.: Wirklich sicher, dass auch bei diesem Sensor die Verkabelung passt?

    2.: Auch in diesem Script zwischen den Messungen der Sensoren ein "sleep" einfügen

    3.: Sensoren mal vertauschen; wandert der Fehler -> Sensordefekt; Wackelkontakt; Kabelbruch?


    Nur so Ideen...

    Schwitzende Grüße,

    rasray

  • Hallo zusammen,


    zuerst nochmal zu deinen Ideen rasray, Ich bin mir bei allem zu 100 % sicher, ich habe dazwischen auch schon mit sleeps gearbeitet und die sensoren auch vertauscht, es schaut immer gleich aus.


    Der Tipp von keepfear hat mir bis jetzt am besten geholfen. Ich habe mir jetzt DS18B20 Sensoren gekauft und nutze hierfür One-Wire. Das funktioniert einfach spitze!


    Danke euch allen :)

  • Jetzt würde mich ja trotzdem interessieren:


    Können die DHT-Sensoren überhaupt sinnvoll im Kühlschrank / Gefrierfach funktionieren?

    - Sollen Feuchtigkeit messen / Offene Platine / Kondenswasser / Kurzschluss ???

  • Hallo rasray,


    Kondenswasser bildet sich auf einem Gegenstand nur, wenn er vom "Kalten" ins "Warme" kommt. Wissenschaftlich ausgedrückt: Kondenswasser bildet sich auf einer Oberfläche, wenn Temperatur der Oberfläche den Taupunkt der Umgebungsluft erreicht oder unterschreitet.


    Im Kühlschrank / Gefrierschrank kann sich nur dann Kondenswasser bilden, wenn dort Gegenstände sind, die entsprechend warm und feucht sind bzw. wenn die Temperatur im Innenraum deutlich schwankt und dadurch Zonen entstehen, deren Oberflächentemperatur kleiner gleich dem Taupunkt der Umgebungsluft im Kühlschrank / Gefrierschrank sind.

    Die feuchte Luft gelangt natürlich auch ein, wenn man den Kühlschrank / Gefrierschrank öffnet.


    Beste Grüsse


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Können die DHT-Sensoren überhaupt sinnvoll im Kühlschrank / Gefrierfach funktionieren?

    Andreas hat es etwas verklausuliert audgedrückt, aber die klare Antwort ist: Nein.

    Der DHT22 ist nicht betauungsresistent und liefert unter 2.96V Betriebsspannung falsche Werte.


    Ich hatte vor Jahren 5 St. gekauft, davon funktioniert nur noch einer, die anderen zeigeten immer 100% RH oder mehr an. Der gute ist bei mir im Keller wo das ganze Jahr mehr oder weniger konstante Temperaturen herrschen.

    Neulich hatte ich einen der "kaputten" DHT22 aus der Schublade genommen und ausprobiert, und ploetzlich ging er wieder einwandfrei. Ich hab echt keine Ahnung wie sowas sein kann.


    Als Alternative setze ich seit Jahren SHT21 bzw. SHT31 ein.

  • Hallo nurazur,

    Neulich hatte ich einen der "kaputten" DHT22 aus der Schublade genommen und ausprobiert, und ploetzlich ging er wieder einwandfrei. Ich hab echt keine Ahnung wie sowas sein kann.

    Das liegt an der Membran. Wenn sich dort Flüssigkeit einlagert, dann zeigt der Sensor 100% rF an. Die Feuchtigkeit diffundiert im Laufe der Zeit aus der Membran heraus. Während dieser "Ausdampfungsphase" zeigt der Sensor zu hohe Werte an. Sobald sich ein Gleichgewicht eingestellt hat, misst der Sensor wieder brauchbar.


    Allerdings sollte man diesem Sensor nicht allzu grosses Vertrauen entgegenbringen, was die Wiederholgenauigkeit betrifft.


    Beste Grüsse


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.