Forum: Mikrocontroller und Digitale Elektronik DHT22 - Zwei Sensoren gleichzeitg kaputt, warum?


von Michael M. (jada1213)


Lesenswert?

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

von Jens G. (jensig)


Lesenswert?

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.

von Michael M. (jada1213)


Angehängte Dateien:

Lesenswert?

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)

von Martin (Gast)


Lesenswert?

Ich vermisse je einen 10k Widerstand zwischen Pin 1 und 2 an den DHTs.

von Stefan F. (Gast)


Lesenswert?

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.

von Wolfgang (Gast)


Lesenswert?

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.

von Stefan F. (Gast)


Lesenswert?

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.

von Michael M. (jada1213)


Lesenswert?

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)

von Michael M. (jada1213)


Lesenswert?

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 :|

von Stefan F. (Gast)


Lesenswert?

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.

von Joachim B. (jar)


Lesenswert?

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.

von Michael M. (jada1213)


Lesenswert?

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.

von Stefan F. (Gast)


Lesenswert?

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?

von Michael M. (jada1213)


Lesenswert?

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?

von Stefan F. (Gast)


Lesenswert?

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.

von Michael M. (jada1213)


Lesenswert?

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.

von Stefan F. (Gast)


Lesenswert?

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.

von Michael M. (jada1213)


Lesenswert?

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

von Joachim B. (jar)


Lesenswert?

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
von Stefan F. (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.