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?
sensors
temperature-sensor
camillejr
quelle
quelle
Antworten:
Die FAQ zur Produktseite [ https://www.maximintegrated.com/de/support/faqs/ds18b20-faq.html] enthält einen Eintrag:
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:
quelle
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.
quelle