ESP32 mit DHT22

OP #7159768
Lesenswert?

Hallo,

ich plane 5 DHT Sensoren an einem ESP32 Development Board zu betreiben.
Die DHT Sensoren sind jeweils in den Zimmern im Haus verteilt. Der ESP32 
sitzt zentral. Die Kabelverbindung läuft über 1.5 mm2 Kabel.

Soweit ich verstanden habe sind die GPIOs des ESP32 für 3.3V ausgelegt 
sind.

Jetzt habe ich im Datenblatt zum DHT 22 gelesen, dass der mit einer 
Spannung von 3.3V - 6V betrieben werden kann, wobei 5V empfohlen sind 
und ein Pullup Widerstand (10K) zwischen DATA und VCC sitzen sollte. 
Aber liegen dann nicht 5V am GPIO des ESP32?

Ich habe schon eine ähnliche Konstellation laufen:
- Wemos D1 Mini mit einem Powershield
- AM2301
Die AM2301 werden mit 5V versorgt. Messe ich am GPIO sehe ich ca. 4.9V. 
Ich wäre jetzt davon ausgegangen, dass der Wemos auch nur 3.3V am GPIO 
verträgt. Warum ist der noch nicht gestorben?

Gruß
bjoern_w803
OP #7159942
Lesenswert?

STK500-Besitzer schrieb:
> Eine asymmetrische Schnittstelle, die für geräteinternen Gebrauch
> vorgesehen ist, fängt sich mit Sicherheit irgendwelche Störungen ein.

Das sollte dann aber beim Wemos D1 Mini mit dem AM2301 ähnlich sein?
Das Setup betreibe ich im Erdgeschoss seit über einem Jahr.

Was wäre ein alternativer Temperatur / Humi. Sensor? Sollte man dabei 
auf I2C Sensoren ausweichen?
Gast #7160030
Lesenswert?

Hallo,

über wie viel Meter reden wir bei dem weit entfertesten Sensor?

I2C ist auch nur als Kommunikation auf einer PCB gedacht. Das weiteste 
was ich mal zu laufem bekommen hab waren 1,5-2m. (also nicht zu 
empfehlen)

Must wohl auf RS232 oder RS485 nehmen.

Vier Adrige Leitung (+,sig,sig,-)
µC <-> RS485 <-> Leitung <-> RD485 <-> µC <-> Sensor

Sonst kannst dir auch mal Temperaturdraht(typ k) angucken, dort wird die 
Auswertung ein bisschen schwieriger ;)

Gruß
Michael
OP #7160046
Lesenswert?

Michael M. schrieb:
> über wie viel Meter reden wir bei dem weit entfertesten Sensor?

Ich kann es dir ehrlich gesagt nicht genau sagen - vielleicht maximal 
25m - gehe aber von weniger aus. Aber wie gesagt betreibe ich ein 
ähnliches Setup (siehe oben).

Mal angenommen ich würde es jetzt so testen wollen, stehe ich noch immer 
vor dem eigentlichen Problem, dass ich bei der Kabellänge 5V brauche und 
die GPIOs und für 3.3V ausgelegt sind. Da scheint sich das 'Internet' 
aber auch nicht einige zu sein, welche PINs in der Praxis mit 5v 
funktionieren ohne das Board zu schmoren.

Meine Idee wäre jetzt ein Bi-Direktionaler Level Shifter (3.3V <-> 5V).

PS: Die Datenblätter vom DHT22 sind sich bzgl. Entfernung auch nicht 
ganz einig.
Hier spricht man von 100m:
https://cdn-shop.adafruit.com/datasheets/Digital+humidity+and+temperature+sensor+AM2302.pdf
hier spricht man von 20m:
https://www.sparkfun.com/datasheets/Sensors/Temperature/DHT22.pdf
Gast #7160059
Lesenswert?

Bjoern schrieb:
> Aber liegen dann nicht 5V am GPIO des ESP32?

Die Frage kann die das Ohmsche Gesetz beantworten. Der Spannungsabfall 
am Widerstand berechnet sich aus Widerstandswert und fließendem Strom.

Bjoern schrieb:
> Warum ist der noch nicht gestorben?

Miss die Spannung am GPIO einfach einmal nach. Es werden keine 5V sein.

Der Strom wird durch die Eingangsschutzdioden fließen.
OP #7160106
Lesenswert?

> Bjoern schrieb:
>> Warum ist der noch nicht gestorben?
>
> Miss die Spannung am GPIO einfach einmal nach. Es werden keine 5V sein.

Danke - ich habe es bei meinem Wemos Setup nachgemessen. Da liegen ca. 
4.9V an.

> Der Strom wird durch die Eingangsschutzdioden fließen.

Wenn auf dem ESP32 eine Schutzdiode am Eingang ist, sollte er mit den 
~5V klar kommen. Oder doch lieber auf Sicherheit gehen und einen Level 
Shifter verwenden? Kosten ja nix...
Gast #7161203
Lesenswert?

Bjoern schrieb:
> Ich wäre jetzt davon ausgegangen, dass der Wemos auch nur
> 3.3V am GPIO verträgt.

Gängig wäre, daß das Datenblatt Vcc+0,3V als absolutes Maximum erlaubt; 
d.h. bis max. 3,6V dürfte er noch nicht sterben.


> Warum ist der noch nicht gestorben?

Weil Dir auch das Überschreiten der maximal zulässigen Werte nicht 
garantiert, daß der Chip stirbt; aber es könnte jederzeit passieren.
OP #7161252
Lesenswert?

MaWin schrieb:
> Ja und wie viele Bitfehler hast du da so? 90%? Und die restlichen 9%
> sind geraten?

Was würde denn bei Bitfehlern passieren? Ich bekomme falsche oder 
überhaupt keine Werte. Die falschen Werte wären aber mit Sicherheit 
nicht konstant.

Erstens habe ich natürlich (zumindest am Anfang) die Messergebnisse mit 
einem anderen Thermometer überprüft.
Zweitens - auf dem Wemos läuft Tasmota. Der schickt alles an NodeRed und 
NodeRed schiebt alles in InfluxDB. Ich habe mir gerade die 
Messergebnisse der letzten 24h angeschaut.
Alle 4min wird ein Wert in die DB geschrieben. Die Werte liegen alle 
sehr nah beieinander - Abweichung max. 0.1°C. Das würde ja der 
Messgenauigkeit entsprechen.
Was mich wundert ist, dass jeder 5te Wert leer ist. Das muss ich noch 
mal untersuchen. Stört mich aber nicht, da die Fussbodenheizung relativ 
träge reagiert.
#7161781
Lesenswert?

Michael M. schrieb:
> Hallo,
>
> über wie viel Meter reden wir bei dem weit entfertesten Sensor?
>
> I2C ist auch nur als Kommunikation auf einer PCB gedacht. Das weiteste
> was ich mal zu laufem bekommen hab waren 1,5-2m. (also nicht zu
> empfehlen)
>
> Must wohl auf RS232 oder RS485 nehmen.

Der DHT22 benutzt doch so‘n Pseudo-1-Wire Protokoll… Wenn es läuft, 
warum nicht. Meine Heizung würde ich damit nicht steuern, aber so als 
Informationsquelle für Temperatur & Luftfeuchtigkeit…
OP #7162067
Lesenswert?

Uwe D. schrieb:
> Meine Heizung würde ich damit nicht steuern, aber so als
> Informationsquelle für Temperatur & Luftfeuchtigkeit…

Vielleicht habe ich mich da etwas falsch ausgedrückt - die Heizung wird 
damit nicht gesteuert. Aber die Thermostaten. Und was machen die 
Busch-Jäger Dinger anders? Bei den 'billigen' für 60€ sieht man nicht 
mal die Temperatur ;-)
Gast #7162162
Lesenswert?

Bjoern schrieb:
> Die Werte liegen alle sehr nah beieinander - Abweichung max. 0.1°C.
> Das würde ja der Messgenauigkeit entsprechen.

Bestimmt nicht. Nur weil irgendetwas 100 Mal wiederholt wird, muss es 
nicht die Wahrheit sein.
Die Messgenauigkeit kannst du nur durch Vergleich mit einem kalibrierten 
Referenzthermometer bestimmen.
Gast #7162323
Lesenswert?

Bjoern schrieb:
> Was wäre ein alternativer Temperatur / Humi. Sensor? Sollte man dabei
> auf I2C Sensoren ausweichen?

Uwe D. schrieb:
>> I2C ist auch nur als Kommunikation auf einer PCB gedacht. Das weiteste
>> was ich mal zu laufem bekommen hab waren 1,5-2m. (also nicht zu
>> empfehlen)
>>

>
> Der DHT22 benutzt doch so‘n Pseudo-1-Wire Protokoll… Wenn es läuft,
> warum nicht. Meine Heizung würde ich damit nicht steuern, aber so als
> Informationsquelle für Temperatur & Luftfeuchtigkeit…

hä ? hab doch nur auf seine Frage zu I2C geantwortet ...

Gruß
#7162567
Lesenswert?

Michael M. schrieb:
> Bjoern schrieb:
>> Was wäre ein alternativer Temperatur / Humi. Sensor? Sollte man
>> Der DHT22 benutzt doch so‘n Pseudo-1-Wire Protokoll… Wenn es läuft,
>> warum nicht. Meine Heizung würde ich damit nicht steuern, aber so als
>> Informationsquelle für Temperatur & Luftfeuchtigkeit…
>
> hä ? hab doch nur auf seine Frage zu I2C geantwortet ...
>
> Gruß

Ja, das habe ich schon verstanden und war keine Kritik an Deinen 
Ausführungen. Mir ging es darum, dass dieses spezielle Protokoll ja laut 
Hersteller für dies Leitungslänge besser geeignet scheint als I2C. Hätte 
ich schreiben sollen als es nur zu denken…
OP #7174778
Lesenswert?

So,

Testaufbau ist im Screenshot enthalten, wobei die Leitungslänge darin 
nicht zu erkennen ist.
Der Pullup-Widerstand ist direkt beim DHT22. Zwischen DHT22 und 
Lvl-Shifter sind ein paar Meter.

Es gibt schon ein paar Fehler:
11:40:36.830 DHT: Pin27 read 01F700F6EE
11:40:40.831 DHT: Pin27 read 01F700F6EE
11:40:44.876 DHT: Pin27 timeout waiting for high pulse
11:40:48.841 DHT: Pin27 read 01F700F6EE
11:40:52.843 DHT: Pin27 read 01F700F6EE

Die erfolgreichen Reads sind ok. Die timeouts kommen regelmäßig. Ich 
habe spaßeshalber mal eine Tasmota ESP32 mit einer geringeren CPU 
Taktung (80MHz anstatt 240MHz) und da gibt es weniger timeouts.

Also insgesamt noch nicht schön.

cu
Angehängte Dateien:
Gast #7174803
Lesenswert?

Bjoern schrieb:
> Also insgesamt noch nicht schön.

Wer Mikrokontroller-Schaltungen ohne Abblock-Kondensatoren aufbaut,
nachmacht oder verfälscht, insbesondere bei existierenden
Schaltungen die Abblock-Kondensatoren weglässt oder falsch
verschaltet oder selbst solche Schaltungen entwirft, in Verkehr
bringt und/oder aufbaut ohne Abblock-Kondensatoren nach Hersteller-
Empfehlungen zu verwenden, wird mit Zugangs-Ausschluss vom
Mikrokontroller-Forum nicht unter zwei Jahren bestraft.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren