zu M1.1.2: Lösungsvorschlag - Erste Schritte Temperatursensor auslesen
Hintergrundinformation zu 1-Wire-Schnittstelle:
Wie liest man die ersten Daten aus?
Ausführliches Tutorial-Video mit allen Schritten: [Tutorial] Raspberry Pi - Temperatur messen (DS18B20)
Lösungen zu den Fragen
Überprüfen Sie die Werte mit der Excel-Tabelle “LF07_LS01_Material zu M1.1 Temperatur-Umrechnung fuer 1-wire.xlsx”
Ermitteln Sie die Auflösungen (RESOLUTION) und die dazugehörende maximale Umwandlungszeit (MAX CONVERSION TIME) Ihres Sensors!
(s. Datasheet S. 5-6)
Wie lauten die in Ihrem Sensor eingestellten Trigger-Temperaturen tH und tL
(s. Datasheet S. 4 Figure 4)?
Welche Bedeutung hat das S-Bit in Zusammenhang mit den Trigger-Temperaturen?
Zu 1. Überprüfen Sie die Werte mit der Excel-Tabelle
Excel-Tabelle öffnen und die Hex-Wert aus der Kommandozeile in die blaue bzw. Rote Zelle eintragen. Der Wert wird in den gelben Zellen binär dargestellt und mit der jeweiligen Wertigkeit (s. Datasheet Figure 3 und Table 2) multipliziert. Rechts wird dann pro Byte (LSB und MSB) die Summe angezeigt und zur tatsächlichen Temperatur addiert.
Auszug Datasheet:
Zu 2. Ermitteln Sie die Auflösungen (RESOLUTION) und die dazugehörende maximale Umwandlungszeit (MAX CONVERSION TIME) Ihres Sensors. (s. Datasheet S. 5-6)
Die Resolution/Conversion Time kann im Byte 4 abgelesen werden (s. Datasheet S. 5 Figure 6).
Beispiel:
Hier: 7f (Zählung der Bytes beginnt bei 0!)
Hex: 7 f
Bits: 7 6 5 4 3 2 1 0
Wert: 0 1 1 1 1 1 1 1
R1 und R0 sind jeweils auf 1 gesetzt.
Mittels Figure 7 und Table 3 lässt sich so der Wert für die Resolution und max Conversion Time ermitteln:
Resolution: 12-bit
Max Conversion Time: 750ms
Zu 3. Wie lauten die in Ihrem Sensor eingestellten Trigger-Temperaturen tH und tL?
Zu 4. Welche Bedeutung hat das S-Bit in diesem Zusammenhang?
Die Trigger_Temperaturen und deren Vorzeichen können aus den Bytes 2 und 3 abgelesen werden. (s. Datasheet S. 5 Figure 6).
Die Umrechnung erfolgt mittels Figure 4 auf S. 4.
Beispiel:
Hier: 55 05 (Zählung der Bytes beginnt bei 0!)
tH:
Hex: 5 5
Bits: 7 6 5 4 3 2 1 0
Wert: 1 0 0 1 1 0 0 1
Vorzeichen: S=1 -> positiv
Temperatur: 0* 2^6 + 0*2^5 + 1*2^4 + 1*2^3 + 0*2^2 + 0*2^1 + 1*2^0 = 16+8+1 = + 25 °C
tL:
Hex: 0 5
Bits: 7 6 5 4 3 2 1 0
Wert: 0 0 0 0 1 0 0 1
Vorzeichen: S=0 -> negativ
Temperatur: 0* 2^6 + 0*2^5 + 0*2^4 + 1*2^3 + 0*2^2 + 0*2^1 + 1*2^0 = 8+1 = - 9 °C