DS18B20 digitaler Temperatursensor TO92 -55°C – +125°C für Arduino, Raspberry Pi

Beim DS18B20 handelt es sich um einen digitalen Temperatursensor im TO92 Gehäuse, der über einen One-Wire-Bus angesprochen wird. Auf diese Weise ist es möglich mehrere Sensoren an einem Mikrocontroller-Pin anzuschließen. Der Sensor besitzt eine Auflösung von 12 Bit und eine Messgenauigkeit von ±0.5°C im Messbereich von -55°C bis +125°C.

Meine Empfehlung

Wichtiger Hinweis:

Es handelt sich bei dem hier vorgestellten DS18B20 von AZ-Delivery nicht um das Original von Maxim. Der Parasitic Power Mode wird NICHT unterstützt, d.h. der Sensor muss am VCC Eingang mit 3.3V oder 5V Spannung versorgt werden. Beim Originalmodell von Maxim erfolgt die Stromversorgung über den Datenpin, beim Betrieb mit mehreren Sensoren am Bus ist aber auch hier eine separate Stromversorgung empfehlenswert, da sonst Probleme auftreten können.

Anschluss des DS18B20 an ein Arduino

Der DS18B20 verfügt nur über die drei Pins

  • VCC
  • Data (nicht parasitär!)
  • GND

An den Pin VCC wird eine Spannung von 3.3V oder 5V angelegt. Der Data Pin wird mit einem digitalen Pin des Arduino verbunden, z.B. mit Pin 3. Zuletzt nur noch GND mit Masse verbinden.

Bitte nicht vergessen:

Zwischen VCC und Data muss noch ein Pull-Up-Widerstand von 4,7 kΩ geschaltet werden. Wenn weitere Sensoren angeschlossen werden und lange Leitungen eingesetzt werden, muss der Widerstand evtl. verkleinert werden.

Zur Demonstration des One-Wire-Bus habe ich in die Schaltung zwei Sensoren eingebaut. Hier ist nur ein Pull-Up-Widerstand in Höhe von 4,7 kΩ notwendig.

Meine Empfehlung

Beispiel-Quellcode

Um unsere Temperatursensoren auszulesen, schreiben wir wieder einen kleinen Code. Aber zunächst müssen wir zwei Bibliotheken installieren.

OneWire
https://github.com/PaulStoffregen/OneWire

Arduino-Temperature-Control-Library
https://github.com/milesburton/Arduino-Temperature-Control-Library

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.