Hallo zusammen,
ich weiss, dass das Thema schon mehrfach besprochen wurde. Grundsätzlich
habe ich auch keine Frage zu Aufbau, Verdrahtung, Berechnungsformel etc.
Mein Problem ist, dass ich, anhand des Datenblattes, nicht weiss, welche
Werte ich für A1 B1 C1 und D1 nehmen muss... Hab mit den Datenblättern
zu NTC nicht soviel Erfahrung, eigentlich gar keine...
Ich habe einen NTC mit 2.2K mit folgendem Datenblatt:
[[http://www.reichelt.de/?;ACTION=7;LA=6;OPEN=0;INDEX=0;FILENAME=B400%252FNTC-02_Serie.pdf;SID=29AA3x0qwQAR0AACxbmjwae0bb57c39b21a6831d1a0752384d586]]
Kann mir vielleicht jemand helfen?
Also : R(T):=R(25)*exp(b25*(1/(T+273) - 1/(25+373) ));
oder aehnlich. Das exponentielle Polynom wuerd ich lassen, den besser
als 2% ist der Sensor nicht.
Auf Seite 2 in der Tabelle findest du deinen B-Wert,
hier für 2200 Ohm 3977.
Auf Seite 4 unter der Formel ist das dann der Parametersatz 9
Eine Tabell ist auf Seite 10-11 unter Spalte 6.222
Hoffe, dein µC hat Rechenpower ;)
Hans
okay alles klar...
Also könnte ich mit folgender Formel die Temperatur berechnen:
T(R) = B / [273*(ln(RT/2200)+(1/25+273)]
Ich habe einfach die obige Formel nach T aufgelöst.
Oder habe ich einen Fehler gemacht?
Zum Test hatte ich noch einen DS1820 auf dem Board. Die Abweichung
zwischen den beiden Sensoren war im getesteten Bereich (~10-30 C) immer
<= 0,1 Grad.
Hallo olli,
Ich stand vor dem gleichen Problem.
Ich habe mir mit dem PC ausrechnen lassen und dann in ein Array fest
codiert.
War halt nur 8 bit.
Gruß,
Tom
> rth = (1.0/(a+b*temp+c*temp*temp+d*temp*temp*temp))-273.16;
Nicht optimal. Da kann man sich einiges sparen wenn man mit dem
Hornerschema arbeitet.
Allenfalls auf Ganzzahl umformen.
Nebliger Pfad schrieb:
> Nicht optimal. Da kann man sich einiges sparen wenn man mit dem> Hornerschema arbeitet.> Allenfalls auf Ganzzahl umformen.
Hast Du da ein C-Beispiel?
Kommt auch noch auf mich zu und ich muss das Rad ja nicht zum ...zigsten
Mal neu erfinden.
C, C ,C ... wenn man die Mathematik begriffen hat ist es nicht sehr
schwer. Also. Anstelle von
a*x+b*x*x+c*x*x*x // 6 multiplikationen 2 additionen
schreibt man
x*(u+x*(w+z*x)) //3 multiplikationen 2 additionen
Hallo Olli,
man kann auch für kleinere Temperaturbereiche mittels passendem
Spannungsteilerwiderstand linearisieren.
-> es reicht eine Geradengleichung um die Temperatur aus dem ADC-Wert zu
berechnen.
Siehe hier:
Beitrag "Temperatur Messung mit Mega8 und NTC-Widerstand 4,7k"
bei einem NTC mit 2K2 ist bei normalen ADC-Messbereichen die
Selbsterwärmung des Sensors nicht zu vernachlässigen. Ich würde bei 5V
ADC einen NTC nicht unter 10 KOhm verwenden.
(5V*5V / 10K = 2,5 mW bei 200K/W ergibt sich ein Fehler von 0,5K)
Ich mach gerade so was ähnliches mit einem NTC-Widerstand von Conrad,
bei dem diese Koeffizienten (a, b, c,...) nicht angegeben sind. Jedoch
ist im Datenblatt eine Tabelle, in der die Widerstandswerte in
Abhängigkeit der Temperatur angegeben ist.
Die Spannung über dem NTC wird gemessen, damit kann man auch die
Spannung am Vorwiderstand und den Strom und folglich auch den
Widerstandswert des NTCs berechnen.
Dann such ich in der Widerstandstabelle aus dem Datenblatt (liegt als
const im Programm natürlich vor) die beiden benachbarten Werte (darüber
und darunter), linearisiere zwischen beiden Werten und erhalte damit den
exakten Temperaturwert!
Ich glaube, diese Methode ist relativ umständlich, aber auch genauer als
die oben beschriebenen Methoden (oder was meinen die anderen?). Da ich
bei dieser Methode auch kein Logarithmus benötige, hält sich in Sachen
Geschwindigkeit wahrscheinlich sogar die Waage.
>Ich glaube, diese Methode ist relativ umständlich, aber auch genauer als>die oben beschriebenen Methoden (oder was meinen die anderen?).
Nee ist nicht umständlich, sondern die Standard-Methode wenn man kein
Floating Point verwenden sondern mit Integer-Rechnung auskommen will.
Im Normalfall macht man sich eine Tabelle mit Stützstellen aus
Eingangsspannung bzw. ADC-Wert (nicht Widerstand) und als Y-Wert die
Temperatur.
Die Genauigkeit ist (ohne Kalibrierung) limitiert durch den Sensor.
Bei 1% Sensoren ist die Abweichung schon in der Gegend von bis zu 2.5
Grad.
Nebliger Pfad schrieb:
> C, C ,C ... wenn man die Mathematik begriffen hat ist es nicht sehr> schwer.
Es muss nicht C sein, wäre aber für Copy&Paste ideal (kostet halt keine
Gehirnzellen und erzeugt keine unnötige Überschusswärme im
Oberstübchen).
Die Mathematik sollte kein Problem sein. Mit Hornerschema konnte ich
aber zunächst nichts anfangen, habe mich auch dahingehend schlau
gemacht.
Trotzdem danke.