Ich glaube ich hab deinen Fehler gefunden: Du nimmst nur R in den Logarithmus. Es ist aber R/R_n. Bsp: Ich nehme R_Fühler=1300kOhm, macht für R/R_n=13/10 ca. 20°C. Aber bei R/R_n=1300000 bekomme ich -120°C.
Und du rechnest (c*ln(x))^2 und nicht c*(ln(x)^2)
Danke schumix, habe nun meinen Widerstand abgeändert auf 47kOhm und die Formel im Quelltext angepasst:
Code:
def temp_get(adc):
#MAVERICK
a = 0.0033354016
b = 0.000225
c = 0.00000251094
Rn = 925
value = adc #read the adc
volts = (value / 4096.0) * 3.3 #calculate the voltage
ohms = (47.0 * volts) / (3.3 - volts) #calculate the ohms of the thermististor
rrn = ohms / Rn # R/R_n
lnohm = math.log1p(rrn) #take ln(ohms)
#Steinhart Hart Equatio: T = 1/(a + b[ln(ohm)] + c[ln(ohm)]^2)
t1 = (b*lnohm) # b[ln(ohm)]
t2 = math.pow(lnohm,2) # [ln(ohm)^2]
c2 = c*t2 # c[ln(ohm)^2]
temp = 1/(a + t1 + c2) #calcualte temperature
tempc = temp - 273.15 - 4 #K to C
return tempc
...und hier was bei 23°C Zimmertemperatur mit der Formel ausgespuckt wird (jede Sekunde eine Zeile):
Code:
168/4096 => 0.135 V => 2.0 ohms => 299.8 K => 22.6 C => 72.7 F
--------------------------------------------------------------------------------
174/4096 => 0.140 V => 2.1 ohms => 299.8 K => 22.6 C => 72.7 F
--------------------------------------------------------------------------------
235/4096 => 0.189 V => 2.9 ohms => 299.8 K => 22.6 C => 72.7 F
--------------------------------------------------------------------------------
175/4096 => 0.141 V => 2.1 ohms => 299.8 K => 22.6 C => 72.7 F
--------------------------------------------------------------------------------
145/4096 => 0.117 V => 1.7 ohms => 299.8 K => 22.6 C => 72.7 F
Probleme:
- Zählt diese Schwangung von value noch zum Jittering, denke wohl kaum?
- Sollte bei Zimmertemperatur nicht "1000.0 ohms" für 1000kOhm angezeigt werden?
- Wenn ich den Sensor mit meiner Hand umschließe, geht value und volts auf 0
- Trotz der geänderten Werte ändert sich an den errechneten Temperaturen garnichts.
,ich kenne nur leider keine kompetentere Anlaufstelle in dieser Sache.


