ich messe mit dem Raspi B und 2 ds1820 den Vor und Rücklauf der Heizungskörper das programm liefert mir auch entsprechende Werte die ich abspeichere allerdings wenn ich im direkten Vergleich ( wärend der Messung) gleichzeitig mit einem Multimeter mit Thermoelement messe finde ich einen unterschied von fast 10 -15 Grad bei messwerten zwischen 29 und 35 Grad.
hat jemand scon einmal ähnliche erfahrung mit DS 1820 gemacht ?
Liegt es am messaufbau? der jedoch standard mit 1 pullup Wiederstand 4.7 Kohm aufgebaut ist wie in allen tutorials beschrieben ?
Python
#!/usr/bin/python3
# coding=utf-8
# messen-vers4.py
#----------------
import os, sys, time
sens_1 = "Sensor_1"
sens_2 = "Sensor_2"
def aktuelleTemperatur_1():
# 1-wire Slave Datei lesen
file = open('/sys/bus/w1/devices/28-0317025315ff/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 aktuelleTemperatur_2():
# 1-wire Slave Datei lesen
file = open('/sys/bus/w1/devices/28-031703d51dff/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)
schleifenAnzahl =int (input ("eingabe schleifenanzahl?"))
schleifenPause =int (input ("eingabe Wartezeit in sec"))
schleifenZaehler = 0
dauer = schleifenAnzahl*schleifenPause/60
print (schleifenAnzahl," Messungen alle ",schleifenPause ," Sekunden gestartet")
print ("Messdauer",dauer, "Minuten" )
while schleifenZaehler <= schleifenAnzahl:
messdaten1 = aktuelleTemperatur_1()
messdaten2 = aktuelleTemperatur_2()
time.sleep(schleifenPause)
print (time.strftime("%d:%b:%H:%M"),"S1", messdaten1,"S2",messdaten2,"°C",)
daten = ((time.strftime("%d:%b:%H:%M"),"S1",messdaten1,"S2",messdaten2,"\n",))
text1 = " ".join(daten) # liste in string umwandeln
w = open("wert","a")
wert= (text1 ) #definition für wert da sonst NameError: name 'wert' is not defined
w.write (wert)
#w.close
schleifenZaehler = schleifenZaehler + 1
print ("Temperaturabfrage beendet")
Alles anzeigen