DHT22 liefert sporadisch falsche temperaturen

  • Hallo zusammen,

    ich betreibe einen D1 mit DHT22 Sensor. Dieser sendet per http-Request nach dem Deepsleep von 1 Minute die vom DHT gemessene Temperatur.

    Zum Ablauf: Der D1 befindet sich im DeepSleep, wird vom Interrupt geweckt. Nach dem Setup baut er der WiFi-Verbindung auf, wartet 10 Sekunden, liest dann vom DHT22 die Temperatur aus und schickt diese an NodeRed, wo ich sie auf einen SQL-Server weg schreibe.

    Es entstehen solche Ausreißer wie im Anhang. Hat jemand Erfahrungswerte, woran es liegen kann? Symptombekämpfung schaffe ich auch :) würde gern die Krankheit herausfinden und bekämpfen.

    Vielen Dank im Voraus!


    Hier noch der Code vom D1 schonmal


  • Moinsen,

    die Ursachen können vielfältig sein.
    Eine mögliche Ursache ist die "Aufwärmzeit" falls du mit dem Deep_Sleep auch dem Sensor den Strom abdrehst.
    Prinzipell lässt sich jeder OneWire Sensor via GPIO direkt als HIGH Ausgang betreiben. Dazu musst du nur den entsprechenden GPIO vor der Messung mind. 2 sek besser 5 sek. auf High setzen, damit dieser seine Vc bekommt.
    GGf kannst du noch zwischen dem Vc und GND Anschluss des Sensors einen 100nF Kondensator einbauen, um einfach die Spannung etwas stabiler zu halten. Viele dieser OneWire Sensoren reagieren mit einem "komischen" Verhalten, wenn in der Übertragungszeit die Spannung beginnt zusammenzubrechen. Da du leider über das von dir verwendete Stromversorgungskonzept keine Angaben machst, ist es schwer ohne einen vollständigen Beschaltungsplan hier detaillierter die Fehlermöglichkeiten einzugrenzen.

    Franky

  • Moin bitschubser,

    du hast aber kurze Minuten. Ich sehe da so 40 Sekunden.

    Was mich aber mehr interessiert, wird der DHT stromlos, während der Wemos D1 pennt?

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Moinsen,

    die Ursachen können vielfältig sein.
    Eine mögliche Ursache ist die "Aufwärmzeit" falls du mit dem Deep_Sleep auch dem Sensor den Strom abdrehst.
    Prinzipell lässt sich jeder OneWire Sensor via GPIO direkt als HIGH Ausgang betreiben. Dazu musst du nur den entsprechenden GPIO vor der Messung mind. 2 sek besser 5 sek. auf High setzen, damit dieser seine Vc bekommt.
    GGf kannst du noch zwischen dem Vc und GND Anschluss des Sensors einen 100nF Kondensator einbauen, um einfach die Spannung etwas stabiler zu halten. Viele dieser OneWire Sensoren reagieren mit einem "komischen" Verhalten, wenn in der Übertragungszeit die Spannung beginnt zusammenzubrechen. Da du leider über das von dir verwendete Stromversorgungskonzept keine Angaben machst, ist es schwer ohne einen vollständigen Beschaltungsplan hier detaillierter die Fehlermöglichkeiten einzugrenzen.

    Hallo Franky,

    der DHT liegt permanent an 5V bzw. 3,3V. der DHT ist zum Aufstecken auf den Arduino (klassisches Stecksystem). Die Spannungsversorgung wird über ein USB-Netzgerät an 230V sichergestellt und ist permanent verfügbar.

    Das mit der Kapazität werde ich ausprobieren, das klingt Sinnvoll und fristt kein Brot.

    Danke schonmal!

  • Moin bitschubser,

    du hast aber kurze Minuten. Ich sehe da so 40 Sekunden.

    Was mich aber mehr interessiert, wird der DHT stromlos, während der Wemos D1 pennt?

    73 de Bernd

    Hallo Bernd,

    gefühlt nicht, da er permanent an 5V bzw. 3,3V liegt.

    Ob jetzt 30 Sekunden oder 60... :) kann man mal machen. Ist ein langes WLAN-Kabel zwischen :D

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!