Temperatursensor DS18B20: Unterschied zwischen den Versionen

Aus CyberWiki
Zur Navigation springen Zur Suche springen
Zeile 23: Zeile 23:
1-Wire ist ein digitaler, serieller Bus, der mit einer Datenader und einer Masseleitung auskommt. Der DS18B20 enthält neben dem 1-wire-Interface den Temperatursensor und einen Analog-Digital-Wandler. Zuerst wird die 1-wire-Unterstützung  in der Datei '''/boot/config.txt''' aktiviert indem dort am Ende folgende Zeile eingetragen wird:
1-Wire ist ein digitaler, serieller Bus, der mit einer Datenader und einer Masseleitung auskommt. Der DS18B20 enthält neben dem 1-wire-Interface den Temperatursensor und einen Analog-Digital-Wandler. Zuerst wird die 1-wire-Unterstützung  in der Datei '''/boot/config.txt''' aktiviert indem dort am Ende folgende Zeile eingetragen wird:
  dtoverlay=w1-gpio,gpiopin=4
  dtoverlay=w1-gpio,gpiopin=4
Damit wird der Pin 4 des GPIO für 1-wire reserviert.
Damit wird der Pin 4 des GPIO für 1-wire reserviert. Nach dem '''reboot''' muss die 1-wire-Unterstützung im Kernel als Modul nachgeladen werden werden (als root-User). Es werden zwei Module benötigt, eines für den 1-wire-Bus allgemein und eines für die Temperaturmessung mit dem DS18B20:
sudo modprobe w1-gpio
sudo modprobe w1-therm

Version vom 30. Juni 2017, 10:21 Uhr

https://cdn-learn.adafruit.com/downloads/pdf/adafruits-raspberry-pi-lesson-11-ds18b20-temperature-sensing.pdf http://www.netzmafia.de/skripten/hardware/RasPi/Projekt-Onewire/

Schaltungsaufbau

Hier wird die verkabelte Version mit dem Sensor im Stahlrohr verwendet. Da es verschiedene Ausführungen gibt ist die Zuordnung der Kabelfarben zur Beschaltung entscheidend.
DS18B20.png
Bei mir sind das:

VDD = rot (Versorungsspannung +3V3)
DQ = gelb (Daten)
GND = schwarz (Masse)

Zwischen die 3,3-V-Leitung und die Datenleitung wird ein 4,7-Kiloohm-Widerstand (Pullup) geschaltet.
Für die Verkabelung mit dem Raspberry Pi B benötigt man sodann noch die Belegung der GPIO-Pins.

Pi-GPIO-header-26.png

Danach wird die Schaltung testweise auf einem Breadboard aufgebaut. Der Anschluss des Sensors dürfte aber nur gelingen wenn man die Kabelenden zuerst sorgfältig verlötet! Ist der Aufbau vollbracht, könnte das Ergebnis wie folgt aussehen und wir können uns erleichtert der Software widmen.
Die folgenden Ausführungen beziehen sich dabei auf Raspbian Jessie.

DS18B20 Test.JPG

Der 1-Wire-Bus

1-Wire ist ein digitaler, serieller Bus, der mit einer Datenader und einer Masseleitung auskommt. Der DS18B20 enthält neben dem 1-wire-Interface den Temperatursensor und einen Analog-Digital-Wandler. Zuerst wird die 1-wire-Unterstützung in der Datei /boot/config.txt aktiviert indem dort am Ende folgende Zeile eingetragen wird:

dtoverlay=w1-gpio,gpiopin=4

Damit wird der Pin 4 des GPIO für 1-wire reserviert. Nach dem reboot muss die 1-wire-Unterstützung im Kernel als Modul nachgeladen werden werden (als root-User). Es werden zwei Module benötigt, eines für den 1-wire-Bus allgemein und eines für die Temperaturmessung mit dem DS18B20:

sudo modprobe w1-gpio
sudo modprobe w1-therm