Ausgelagert aus DS 1820 und GUI
Hallo,
ich versuche verzweifelt auch im Minusbereich zu messen.
Hat jemand dafür eine Lösung?
Ausgelagert aus DS 1820 und GUI
Hallo,
ich versuche verzweifelt auch im Minusbereich zu messen.
Hat jemand dafür eine Lösung?
Messen im Minusbereich mit DS1820 und GUI? Schau mal ob du hier fündig wirst!
Hat jemand dafür eine Lösung?
Lösungen gibt es viele, nur nicht immer das passende Problem, wo klemmts denn?
Du sollest mehr schreiben, klemmts am Rechnen mit negativen Zahlen?
Hallo Düsentrieb,
Hallo,
ich versuche verzweifelt auch im Minusbereich zu messen.
Hat jemand dafür eine Lösung?
ja, ich habe eine Lösung.
Für ein Projekt musste ich bis -80 °C Temperaturen recht genau messen können. Ich habe nach einiger Recherche Tieftemperatursensoren erworben, die bis -200 °C linear arbeiten. Vertrauend darauf, dass der Temperaturkoeffizient von -200 bis + 150 °C konstant sein soll (lt. Datenblatt), habe ich diesen im Temperaturbereich 100 bis 30 °C mittels Blockkalibrator bestimmt und bei tiefen Temperaturen mit CaCl2 * 6 H20 - Eis (-50 °C) und Trockeneis-Ethanol (-72 °C) verifiziert. Demnach kann ich in diesen Bereichen mit weniger als 0,15 °C Abweichung messen.
Leider komme ich an Flüssigstickstoff nicht heran, um bei -196 °C verifizieren zu können.
Reicht Dir das?
Beste Grüße
Andreas
ja, ich habe eine Lösung.
endet die mit con oder hon am Ende?
Hallo Düsentrieb,
ich habe Deine Frage mal in einen eigenen Thread ausgelagert. Den Titel kannst Du gerne anpassen.
ich habe Deine Frage mal in einen eigenen Thread ausgelagert
prima, trotzdem wissen wir noch nicht welcher Art sein Problem ist
Solange es nicht in Kelvin sein soll, müsste das gehen, auch unter Nutzung von Kelvin sollte eine Umrechnung in z.B. °C gut möglich sein.
Hallo jar,
endet die mit con oder hon am Ende?
nee, am Ende ist 0, 00 und 000.
Ach, und das Projekt war auch noch in Deinem Wohnort. Du erinnerst Dich noch dran?
Beste Grüße
Andreas
nee, am Ende ist 0, 00 und 000.
endet die mit con oder hon am Ende?
ich meinte aber ICON oder PYTHON
Solange es nicht in Kelvin sein soll
Jetzt bin ich empört!11
Jetzt bin ich empört!
Ehrlich gesagt, dachte ich auch sofort an Dich und danach erst an °(Grad).
Moin!
Boa eh, schon 10 Antworten zum Thema!!!
73 de Bernd
ps.: nun 11
Hallo zusammen,
leider ging durch das Auslagern der ursprüngliche Code auf den ich mich bezogen habe verloren:
Python
#!/usr/bin/python3
import os
import sys
import time
def Aussentemperatur():
# 1-wire Slave Datei lesen
file = open('/sys/bus/w1/devices/10-0008034b525c/w1_slave')
filecontent = file.read()
file.close()
# Temperaturwerte auslesen und konvertieren
stringvalue = filecontent.split("\n")[1].split(" ")[9]
temperature = float(stringvalue[2:]) / 1000
# Temperatur ausgeben
rueckgabewert = '%6.2f' % temperature
return(rueckgabewert)
def Innentemperatur():
# 1-wire Slave Datei lesen
file = open('/sys/bus/w1/devices/10-0008034c24c7/w1_slave')
filecontent = file.read()
file.close()
# Temperaturwerte auslesen und konvertieren
stringvalue = filecontent.split("\n")[1].split(" ")[9]
temperature = float(stringvalue[2:]) / 1000
# Temperatur ausgeben
rueckgabewert = '%6.2f' % temperature
return(rueckgabewert)
print ("Temperaturabfrage")
x = 0
while x <= 1:
messdaten = Aussentemperatur()
print ("Außentemperatur : ", messdaten, "°C"),
messdaten = Innentemperatur()
print ("Innentemperatur : ", messdaten, "°C",)
time.sleep(300)
Alles anzeigen
Leider wird in allen Foren, in denen die Abfrage des DS1820 mit Python beschrieben ist, immer der selbe Code beschrieben:
Zitat
Damit sind aber nur Temeperaturen >= 0°C auswertbar. Fällt die Temeperatur unter 0, geht der Wert auf über 4000 hoch.
Leider bin ich nicht fit genug um das Programm so anzupassen dass auch im Minusbereich der richtige Wert angezeigt wird.
Wer kann mir helfen?
hmmm ich sehe auch keine Fehlerbearbeitung
z.B. ist
85°C nicht Temperatur sondern Fehler
125°C oder 129°C ist nicht Temperatur sondern Fehler
Der Code scheint unvollständig!
In C berechnet mit CRC Check funktioniert das besser, da müsste ich noch mal in meinen C Code schauen, aber du fragst ja nicht nach C sondern nach Python und das kann ich nicht!
https://www.mikrocontroller.net/topic/317823#3443725
(int16_t)0xFFF8 = -8
-8 * 0,0625 = -0,5°C
Man sollte natürlich das Datenblatt lesen können:
"The temperature data is stored as a 16-bit sign-extended two’s
complement number"
CRC
Danke trotzdem.
Vielleicht findet sich ja noch jemand
Kannst du mal zeigen, was genau aus dem Sensor ausgelesen wird? Zum Beispiel den Wert von stringvalue in Zeile 18.
Hier (https://st-page.de/2018/01/20/tut…ng-mit-ds18b20/) findest du sonst noch ein anderes Python-Beispiel.
Hallo,
die Ausgabe hier lautet: t=4084397
Da sich der Wert ändert liegt es sicher nicht am Sensor
Zum vergleich, ein anderer Sensor liefert das Ergebnis t=30562, was einer Temperatur von 30,56 °C entspricht
> die Ausgabe hier lautet: t=4084397
War das -0.685 Grad?
Die Temperatur müsste so ca -8°C sein.
Genau müsste ich mich mal in die Kälte begeben.
Ich denke aber dass es da doch sicher einen festen Algorithmus geben muss?
> Ich denke aber dass es da doch sicher einen festen Algorithmus geben muss?
Klar gibt es das.
Nach dem Datenblatt ist es ein 16 Bit Wert mit Sign-Bit(s). 4084397 ergibt aber eine 6 stillige Hex-Zahl. Der Driver auf dem Pi scheint da noch was zu machen.
- - - - - - -
Ist der Wert ueberhaupt gueltig?
Ich glaube frueher mal gab es negative Werte fuer t=
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!