Hi, beim DHT22 wird ein 10k Widerstand zwischen VCC und Datenleitung empfohlen. Ich habe hier 3 Stück, die ich an 3.3v ohne den Widerstand betreibe. Frage: Kann der fehlende Pullup die Qualität der Messung beeinflussen? Nach meinem Verständnis sollte nur die Kommunikation mit dem iC betroffen sein, oder? Danke
Filth __ schrieb: > Kann der fehlende Pullup die Qualität der Messung beeinflussen? Wie sollte er? Filth __ schrieb: > Ich habe hier 3 Stück, die ich an 3.3v ohne den Widerstand betreibe. Hast du am µC den Pull-Up aktiviert oder sieht der Pegel von deinem Datensignal trotzdem sauber aus?
Ich kann mir mangels Oszi das Signal nicht angucken. Aber ich bekomme Werte, also scheint es zu funktionieren.
Wieso muss eigentlich immer irgendjemand die Vorgaben des Datenblatts missachten und will dann wissen ob es nicht trotzdem funktioniert? BTW: So ein 10k Widerstand kostet <1ct
Es geht nicht um die Kosten sondern um die Frage, warum der empfohlen wird. Übrigens erwähnen die im Datenblatt nur einen 100nF zwischen VCC und GND aber keinen Widerstand. Ich will auch nicht wissen, ob es dann noch funktioniert - ich weiß, dass es der Fall ist... https://www.adafruit.com/datasheets/DHT22.pdf
:
Bearbeitet durch User
Was ist damit? Seite 2: https://www.adafruit.com/datasheets/Digital%20humidity%20and%20temperature%20sensor%20AM2302.pdf
Filth __ schrieb: > Frage: Kann der fehlende Pullup die Qualität der Messung beeinflussen? Du trollst, weil Du vermutlich doch einen PullUp-Widerstand verwendest. Möglicherweise sogar, ohne es bisher selbst gemerkt zu haben. Ich rate mal: Als Arduino-User verwendest Du eine Library zum Auslesen des Sensors? Mal angenommen, das wäre die Adafruit-Library. Dann wird dieser Code zum Initialisieren des Sensors verwendet:
1 | void DHT::begin(void) { |
2 | // set up the pins!
|
3 | pinMode(_pin, INPUT); |
4 | digitalWrite(_pin, HIGH); |
5 | _lastreadtime = 0; |
6 | }
|
Mit diesem Code wird der INTERNE PULLUP Widerstand des Atmega-Controllers aktiviert, also ein PullUp mit R= 20...50K So what? Das einzige was Dir fehlt, ist ein "externer PullUp" Widerstand. Aber ein PullUp ist vorhanden in Form des aktivierten "internen PullUp" am Pin des Controllers. Zumindest bei Leitungslängen bis 50 cm sollte das völlig problemlos sein. Wenn der Sensor allerdings mehrere Meter entfernt vom Controller angeschlossen ist, bietet sich ein kleinerer Widerstand als externer PullUp an.
Viel verwirrender für mich war, dass laut Datenblatt ein 4,7kOhm-Widerstand da hin soll. Messe ich nun den Widerstand, nachdem ich einen 4,7kOhm-Pullup verbaut habe, komme ich auf 2348Ohm. In den DHT22-Modulen sitzt also schon der 4,7kOhm-Pullup drin ...
:
Bearbeitet durch User
Dirk K. schrieb: > In den DHT22-Modulen sitzt also schon der 4,7kOhm-Pullup drin ... Habe gerade auch mal nachgemessen (AM2302 alias DHT22, ca. 1 1/2 Jahre alt) und kann die 4,7kΩ zwischen SDA und VDD bestätigen. Da muss man dann wohl aufpassen, wenn man mehrere auf den Bus packen möchte und kann sich einen zusätzliche Pull-Up sparen.
Mehrere gehen nicht, da sie keine eindeutige Adresse haben.
Seppi schrieb: > Mehrere gehen nicht, da sie keine eindeutige Adresse haben. Da hast du wohl wahr und das passt mit dem Pull-up im Sensor. Ich hatte mich durch die Bezeichnung "Bus" irritieren lassen und gar nicht weiter aufs Protokoll geguckt.
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.