Verwendung eines 4,7-kOhm-Widerstands mit DS18B20-Temperatursensor [geschlossen]


10

Ich habe einen Temperatursensor DS18B20 mit Arduino verwendet.

Ich habe gelesen, dass Sie die digitale Eingangsleitung und die 5-V-Leitung mit einem 4,7-kOhm-Widerstand verbinden sollten - wie auf dem Bild.

Kann jemand erklären, warum wir das tun müssen? Und warum dieser Widerstand? Was passiert, wenn wir überhaupt keinen Widerstand einsetzen oder einen anderen Widerstand verwenden?

Dallas DS18B20 mit dem 4,7 kOhm Widerstand


Datenblatt sagt?
Ignacio Vazquez-Abrams

2
Hier ist ein interessanter Blog zum Thema wp.josh.com/2014/06/23/…
Mikael Patel

Antworten:


10

Die FAQ zur Produktseite [ https://www.maximintegrated.com/de/support/faqs/ds18b20-faq.html] enthält einen Eintrag:

Q: Is the 4.7kΩ resistor needed for 5V and 3.3V operation?
A: Yes, the 4.7kΩ pullup resistor is required for both 5V and 3.3V applications.

Der 1-Draht-Bus erfordert, dass das Steuersignal hochgezogen wird, damit das Master-Gerät es niedrig ziehen kann, um nach Daten zu fragen, und das Slave-Gerät kann es niedrig ziehen, um die Daten zu geben. Auf diese Weise können Sie mehrere 1-Draht-Geräte auf demselben "einen Draht" haben.

Das Datenblatt weist auf einen anderen Zweck hin:

Another feature of the DS18B20 is the ability to operate
without an external power supply. Power is instead
supplied through the 1-Wire pullup resistor through the
DQ pin when the bus is high. The high bus signal also
charges an internal capacitor (CPP), which then supplies
power to the device when the bus is low. This method of
deriving power from the 1-Wire bus is referred to as “parasite
power.” As an alternative, the DS18B20 may also be
powered by an external supply on VDD.

1
Beachten Sie, dass ein Widerstand zwar erforderlich ist, jedoch nicht 4,7 kOhm betragen muss. Die internen Widerstände am Arduino reichen aus, um 4 Sensoren mit einer Drahtlänge von 2 bis 3 Fuß anzusteuern, nicht im parasitären Modus. Mit dem 4,7-k-Widerstand können Sie Systeme mit viel höherer Kapazität (Dutzende von Sensoren auf mehreren Metern) ansteuern. Zum Herumspielen oder für einen einzelnen Sensor besteht wirklich keine Notwendigkeit.
Perkins

3

Hinzufügen zu Joses Antwort oben, um Ihre anderen beiden Fragen zu beantworten

Und warum dieser Widerstand? Wenn das Gerät keine eigene Stromversorgung hat, verbraucht es den Strom, der durch den Pull-up-Widerstand fließt. Mit diesem Widerstand wird es also ordnungsgemäß mit Strom versorgt. Auch der andere Grund - wie Jose schrieb - ist, dass es der Wert ist, der hohe oder niedrige Bits unterscheidet.

Was passiert, wenn wir überhaupt keinen Widerstand einsetzen oder einen anderen Widerstand verwenden? Wenn Sie zu einem Wert außerhalb der Spezifikation gehen - erwarten Sie nicht, dass das Gerät ordnungsgemäß funktioniert, weil es den falschen Widerstand verwendet - z. B. funktioniert es möglicherweise nicht, weil der Widerstand nach dem Ohmschen Gesetz möglicherweise nicht ausreichend parasitär ist, wenn der Widerstand zu hoch ist Leistung. Obwohl es in der Lage sein sollte, die Fehlertoleranz des Widerstands zu tolerieren, macht es keinen Unterschied, ihn von 4700 Ohm um einige Ohm in beide Richtungen zu ändern. Sie können das Gerät ohne Widerstand beschädigen.


Vielen Dank! Was ich immer noch nicht verstehe, ist, dass wir den Temperatursensor direkt über die 5-V-Leitung mit Strom versorgen (einer der Schenkel des Sensors ist mit dem 5-V des Arduino verbunden). Bedeutet das also, dass die Stromversorgung von 5 V über den Widerstand zur digitalen Eingangsleitung (dem mittleren Zweig) führt?
Camillejr

Wie funktioniert der Sensor, wenn er vom Arduino gespeist wird?
Dat Han Bag

Ich versuche zu verstehen, was du denkst, deshalb habe ich das gefragt.
Dat Han Bag

1
In Ihrem speziellen Anwendungsfall verwenden Sie die Funktion "Parasitäre Leistung" nicht. Der 4,7-kOhm-Widerstand ist ein "Pull-up" -Widerstand für die Datenleitung des Busses. Warum 4,7k? Bei 5 V beträgt der größte Strom, der durch den Widerstand fließen kann, etwa 1 mA. Das ist schwach genug, dass jedes andere Gerät am Bus, das benötigt wird, um die Leitung auf (nahe) 0 V zu bringen, mehr als 1 mA Strom verbraucht. Aber wenn das Gerät loslässt (hört auf, den Strom zu senken), steigt die Leitung immer wieder auf 5 V an.
Jose Can uc
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.