Hallo zusammen, da ich leider ein absoluter Noob auf dem elektrotechnischen Feld bin, hoffe ich auf die Mithilfe durch etwas schlauere Köpfe. Problemumfeld: Ich habe an einem MCU zwei DHT22-Sensoren zur Temperatur- und Luftfeuchtigkeitsmessung hängen: Einer hängt draußen (wettergeschützt in einer Anschlussdose) und der andere zweigt dort ab in ein Gewächshaus. Die Leitungen sind +-150cm. Versorgt wird der MCU von einem 5V-Netzteil. Die DHTs wiederum mit 3,3V vom MCU. Der MCU hat die Daten auch schön per MQTT an einen zentralen Raspberry geliefert, heute habe ich den Strom vom Netzteil abgestellt, um andere MCUs anschließen zu können, ab und zu wieder an, um zu testen und jetzt zum Punkt: Dabei habe ich mir wohl die beiden DHTs geschrottet. Beide liefern keine Werte mehr. Ausgebaut auf dem Breadboard ausprobiert. Keine Werte. Backup-DHT ausgepackt auf selbe Schaltung gesetzt: Einwandfreie Wertermittlung. Bevor ich jetzt die neuen Sensoren anschließe, möchte ich auf jeden Fall wissen, wieso die alten Dinger kaputt gegangen sind. Hat da jemand eine Idee? Kann die Tatsache, dass beide gleichzeitig kaputt gegangen sind, ein Indikator für etwas (elektronisches) sein? Über Rückmeldungen würde ich mich sehr freuen. Greetz Jada PS: andere Beiträge bspw Beitrag "Frage zu DHT22?" und Beitrag "DHT22 wie äußert sich Defekt?" habe ich gelesen
Michael M. schrieb: > Kann die Tatsache, dass beide gleichzeitig kaputt gegangen sind, ein > Indikator für etwas (elektronisches) sein? Ja. Aber da keiner weiß, was genau Du da gemacht hast, wie die Schaltung aussieht, wie der Aufbau ist, kann sowieso niemand was konkretes sagen, auser zu behaupten, daß Du die falsch behandelt hast, z.B. zu viel Spannung draufgegeben.
Hi Jens, anbei meine Skizze des Aufbaus. das Netzteil wird mit 230V versorgt. Der Wemos D1 mini steckt via Buchsenleiste auf einer Platine, an den Ground Pin habe ich noch eine weitere Buchse angelötet, um die DHTs anschließen zu können. Die in der Zeichnung runden Verbindungspunkte sind 3er-Klemmen. (off topic: Ursprünglich hatte ich vor, die beiden DHTs und den D1 vom Netzteil versorgen zu lassen via V+ und G und nur die Datenpins der Sensoren mit dem MCU zu verbinden, das klappte aber nicht)
Ich vermisse je einen 10k Widerstand zwischen Pin 1 und 2 an den DHTs.
Die Spannung an der Datenleitung muss immer zwischen VCC und GND sein. Das gilt für beide Seiten (Sensor und Raspi). Wenn du einem Teil der Schaltung die Versorgungsspannung weg nimmst, kannst du diese Beschränkung nicht mehr einhalten. Wenn du VCC weg nimmst, muss die Spannung an der Datenleitung immer zwischen 0 Volt und 0 Volt liegen. Wenn du GND weg nimmst, musst die Spannung an der Datenleitung immer zwischen 3,3V und 3,3V liegen. Wahrscheinlich hast du diese Bedingung nicht eingehalten.
Martin schrieb: > Ich vermisse je einen 10k Widerstand zwischen Pin 1 und 2 an den DHTs. Vielleicht kennt der ESP8266 so etwas wie interne Pull-Ups ;-) Bei kurzer Leitung kann das reichen.
Wolfgang schrieb: > interne Pull-Ups > Bei kurzer Leitung kann das reichen. Würde ich von abraten. Denn die haben ca 50kΩ und reagieren schon auf das eigene Funksignal. Im direkten Umfeld eines ESP empfehle ich immer maximal 2,2kΩ, damit hatte ich noch keine Probleme.
Martin schrieb: > Ich vermisse je einen 10k Widerstand zwischen Pin 1 und 2 an den DHTs. Die 10k Widerstände zwischen Pin 1 und 2 kann ich einbauen, habe ich im Vorfeld auf einigen Seiten gesehen, da auf dem Breadbord der DHT aber auch ohne Widerstand die Werte lieferte, hab ich das blauäugig einfach 1:1 umgesetzt... Erklärt der fehlende Widerstand einen Kurzschluss der beiden Sensoren? (s. auch https://forum.arduino.cc/t/dht22-sensor-pullup-widerstand/403864/4 Beitrag #5)
Stefan ⛄ F. schrieb: > Wenn du einem Teil der Schaltung die Versorgungsspannung weg nimmst, > kannst du diese Beschränkung nicht mehr einhalten. > > Wenn du VCC weg nimmst, muss die Spannung an der Datenleitung immer > zwischen 0 Volt und 0 Volt liegen. > > Wenn du GND weg nimmst, musst die Spannung an der Datenleitung immer > zwischen 3,3V und 3,3V liegen. > > Wahrscheinlich hast du diese Bedingung nicht eingehalten. Also ich dachte, wenn ein Netzteil den MCU versorgt mit 5V, dann das Netzteil vom Strom genommen wird (und dann entsprechend 0V liefert), dass dann VCC und G 0V haben und damit dann kein Problem entstehen würde? Oder verstehe ich es richtig, dass ich uU den Ground weg genommen habe, VCC weiterhin 3,3V lieferte und die Datenleitung dann auch 3,3V brauchte, aber aufgrund der fehlenden Brückung (mit dem o.g. 10k Widerstand) die Spannung nicht bekam und dann wars das mit dem Sensor? Sorry, falls die Antwort schon in deinem Post stehen sollte, aber wie du merkst, hab ich noch zu viele Fragezeichen im Kopf :|
Verwirr... Wenn der Mikrocontroller mit 3,3V versorgt ist und kommuniziert, dann pulsiert die Datenleitung zwischen 0 und 3,3V. Aus Sich des Sensors ist das illegal, wenn er zu diesem Zeitpunkt keine Stromversorgung hat. Denn dann hat er Null Volt zwischen seinem VCC und GND, somit keinen Spielraum für irgendwelche sinnvollen Signale an anderen Pins. Wenn du GND beim Sensor abklemmst und der Mikrocontroller ein LOW sendet, dann hat dieses Signal aus Sicht des Sensor -3,3 Volt. Denn er hat keine Versorgungsspannung.
1 | 3,3V o------+-------------------------------------+ |
2 | | | |
3 | µC -------------Daten---------------Sensor |
4 | | |
5 | GND o-------+ |
Umgekehrt bekommst du ein Problem beim HIGH Pegel:
1 | 3,3V o------+ |
2 | | |
3 | µC -------------Daten---------------Sensor |
4 | | | |
5 | GND o-------+-------------------------------------+ |
Ohne Versorgungsspannung ist ein Signal mit 3,3V genau 3,3V höher als erlaubt.
Martin schrieb: > Ich vermisse je einen 10k Widerstand zwischen Pin 1 und 2 an den DHTs. auf gut deutsch, du vermisst einen richtigen pullup der nicht abgeschaltet werden kann und das somit praktisch nie höhere Spannungen in den Data induziert werde können. Bei 3.3V für die DHT würde ich sogar 3,3k wählen, kommt der Leitungslänge entgegen und der Anbindung an high und mit 1mA wird weder der ESP noch der DHT überfordert wenn low anliegt.
Okay, das habe ich verstanden, denke ich. Das sollte für mich ja dann gesammelt zu folgenden Feststellungen führen (und gerne korrigieren, falls die Aussage Quatsch ist oder falsch gefolgert wurde): 1.) Allg.: Mach zuerst die Datenleitungen ab, wenn du an VCC oder GND rumfummelst. => keine Probleme mit der Spannung auf der Datenleitung => keine Kurzschlüsse(?) 2.) DHT22: Pullup-Widerstand zwischen Pin 1 und 2 einfügen. Folgefrage (s.o. OT Beitrag 3): Warum funktioniert das nicht
1 | 5V o------+-------------------------------------+ |
2 | | |
3 | | 10kΩ | |
4 | | |
5 | µC -------------Daten---------------Sensor |
6 | |
7 | | | |
8 | |
9 | GND o-------+-------------------------------------+ |
sondern nur das
1 | 5V o------+ |
2 | | |
3 | | |
4 | | +-3,3V------------------------------+ |
5 | µC -------------Daten---------------Sensor (auch hier 10kΩ) |
6 | | +-G---------------------------------+ |
7 | | |
8 | | |
9 | GND o-------+ |
? Ich habe noch weitere Sensoren (nicht-DHT22), die ich nutzen möchte.
Michael M. schrieb: > Mach zuerst die Datenleitungen ab Jein. Besser: Schalte die Stromversorgung aus, bevor du fummelst. Das gilt eigentlich immer und überall. > Warum funktioniert das nicht Wenn du den Sensor mit 5V versorgst, dann will er vermutlich auch annähernd 5V als High Pegel sehen. Der Mikrocontroller lässt aber nur knapp über 3,3V zu. Leider fehlen im Datenblatt des DHT22 die konkreten Zahlen. Das ist ja schon Oberscheiße, was ist das für ein Müll?
Stefan ⛄ F. schrieb: > Wenn du den Sensor mit 5V versorgst, dann will er vermutlich auch > annähernd 5V als High Pegel sehen. Der Mikrocontroller lässt aber nur > knapp über 3,3V zu. Wenn ich mal vom Wemos D1 mini weg gehe und auf bspw. den ESP8266 wechsle, hat dieser ja auch einen 5V-Ausgangspin, wenn ich mit 5V auf VIN-Pin (MCU-Eingang) bin. Den DHT22 kann man ja generell mit 5V betreiben. Der Signalpegel gehen ja nichtsdestotrotz nur bis 3,3V. Dh im Schema (Anpassung zum vorigen Beitrag: 3,3V wird zu 5V):
1 | 5V o------+ |
2 | |
3 | | |
4 | |
5 | | |
6 | |
7 | | +-5V--------------------------------+ |
8 | |
9 | µC -------------Daten---------------Sensor (auch hier 10kΩ) |
10 | |
11 | | +-G---------------------------------+ |
12 | |
13 | | |
14 | |
15 | | |
16 | |
17 | GND o-------+ |
In meiner (scheinbar falschen) Logik, müsste es aber egal sein woher die 5V für den Sensor kommen, ob vom Netzteil oder vom MCU, weil beides die gleiche Spannung liefert!? Also müsste es doch ausreichen, nur die Datenleitung des Sensors mit einem MCU-Daten-Pin zu verbinden (+pullup). Wo ist mein Denk-/Verständnisfehler?
Michael M. schrieb: > Wo ist mein Denk-/Verständnisfehler? Das auch beim ESP8266 die Signale immer zwischen 0 und 3,3V liegen. Und das reicht dem DHT22 vermutlich nicht wenn er mit 5V versorgt wird. Dieses Thema poppt hier jede Woche auch bezüglich LED Lichterketten auf, die mindestens 3,5V Signale brauchen und mit 3,3V nur wild herum flackern.
Stefan ⛄ F. schrieb: > Michael M. schrieb: >> Wo ist mein Denk-/Verständnisfehler? > > Das auch beim ESP8266 die Signale immer zwischen 0 und 3,3V liegen. Und > das reicht dem DHT22 vermutlich nicht wenn er mit 5V versorgt wird. > > Dieses Thema poppt hier jede Woche auch bezüglich LED Lichterketten auf, > die mindestens 3,5V Signale brauchen und mit 3,3V nur wild herum > flackern. Asoooo, okay :) Vielen lieben Dank für deine geduldigen und verständlichen Antworten. Auch dem Rest vielen Dank!!! Falls ich weitere Fragen hab, scheint das hier eine gute Anlaufstelle zu sein.
Michael M. schrieb: > Vielen lieben Dank für deine geduldigen und verständlichen Antworten. Danke! Beim letzten mal (ein sehr ähnlicher Fall) wurde ich als unfähig beschimpft, weil ich das Unmögliche nicht einfach möglich machen konnte.
Stefan ⛄ F. schrieb: > Michael M. schrieb: >> Vielen lieben Dank für deine geduldigen und verständlichen Antworten. > > Danke! > > Beim letzten mal (ein sehr ähnlicher Fall) wurde ich als unfähig > beschimpft, weil ich das Unmögliche nicht einfach möglich machen konnte. Vermutlich ein (leider) normales Forenproblem :) Oder es liegt eben am Verhalten der MCU, das ich nicht immer als ganz logisch bezeichnen würde. zB die oben beschriebene Problematik mit den 5V Sensorenspannung und dem Datenpin, der auf 3,3V unterwegs ist: Warum funktioniert die Datenübermittlung problemlos auf dem Breadboard, aber in der Praxis in der Anwendung dann wiederum nicht? Da gleiche habe ich auch bei einem Servomotor, der 5V benötigt. Auf dem Breadboard bekommt er die über den ESP8266 und wird mit einem Pin per 3,3V ohne Murren geschaltet. Draußen will er es aber leider gar nicht. Nur wegen der Länge der Kabel??? Sowas ist für mich schwer zu verstehen xD
Stefan ⛄ F. schrieb: > wurde ich als unfähig > beschimpft ist doch normal, wir sind unfähig die Daten von Bauteilen zu verändern so sehr sich ein TO das auch wünscht!
:
Bearbeitet durch User
Michael M. schrieb: > Sowas ist für mich schwer zu verstehen Gerade wenn man sich knapp außerhalb der Grenzen befindet, die das Datenblatt als OK nennt, passiert so etwas. Mal geht es, mal nicht. Leider steht im Datenblatt dieses beknackten Sensors gar nicht drin, welche Pegel gültig sind. Bei den WS2812 Lichterketten kommt dazu, dass die Grenzwerte zwischendurch verändert wurden. Aber wenn man eine Lichterkette kauft, weiß man oft nicht, welche Variante des Chips dort verbaut wurde. Das kann einem beim DHT22 auch passiere, schließlich ist das Datenblatt diesbezüglich ein Freibrief.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.