Forum: PC-Programmierung NTC Temperatursensor Materialkonstante


von andy_help (Gast)


Lesenswert?

Hallo,
ich habe eine Frage zu einem NTC Temperatursensor.
Ich habe mir hier welche gekauft, jedoch sind vom Hersteller nur die 
Widerstandswerte bei Temperaturen bekannt.

Was ich suche, ist die Materialkonstante.

Daten vom Hersteller:
Temperatur Widerstandswert
 20°C      2031
 30°C      1286
 40°C      843,9
 50°C      569,9
 60°C      388
 70°C      277,8
 80°C      200
 90°C      146,7
100°C      108
110°C      82,7
120°C      63,5
130°C      49,3
140°C      38,9
150°C      30,4
160°C      24,4
170°C      19,8

Hierzu wollte ich folgende Formel nach b umstellen:
T = T_N * B / (B + T_N * ln(R / R_N))

Wie wird die Formel nach B umgestellt?

von georg (Gast)


Lesenswert?

andy_help schrieb:
> Wie wird die Formel nach B umgestellt?

Garnicht. Man macht sich eine Näherungsgleichung 2. oder 3. Grades für 
das benötigte Messintervall. Dafür hast du ja genügend Stützpunkte, und 
man kann sich ausrechnen lassen, wie der maximale Fehler im Intervall 
ist. Ist er nicht tragbar, muss man den Grad der Gleichung erhöhen.

Georg

von Harald W. (wilhelms)


Lesenswert?

georg schrieb:

> Garnicht. Man macht sich eine Näherungsgleichung 2. oder 3. Grades für
> das benötigte Messintervall.

Das geht übrigens recht einfach mit Excel. Zu einer gemalten Kurve
liefert das direkt die passende Formel n-ten Grades.

von Yalu X. (yalu) (Moderator)


Angehängte Dateien:

Lesenswert?

andy_help schrieb:
> Hierzu wollte ich folgende Formel nach b umstellen:
> T = T_N * B / (B + T_N * ln(R / R_N))

  B = ln(R / R_N) · T · T_N / (T_N - T)

Aber wozu?

andy_help schrieb:
> Was ich suche, ist die Materialkonstante.

Also B und wahrscheinlich auch R_N.

scipy.optimze.curve_fit schlägt für T_N = 25 °C folgende Werte vor:

  R_N = 1612 Ω
  B   = 4018 K

Daraus ergibt sich die Kurve im Anhang.

georg schrieb:
> Man macht sich eine Näherungsgleichung 2. oder 3. Grades für
> das benötigte Messintervall.

Warum sollte man eine gegebene gute Näherungsgleichung durch eine
schlechtere ersetzen wollen? Eine Exponentialfunktion lässt sich nun mal
nicht gut durch ein Polynom annähern. Und wie willst du aus den Polynom-
koeffizienten das gesuchte B bestimmen?

: Bearbeitet durch Moderator
von georg (Gast)


Lesenswert?

Yalu X. schrieb:
> Und wie willst du aus den Polynom-
> koeffizienten das gesuchte B bestimmen?

Überhaupt nicht, das Polynom ist das was in der Software verwendet wird. 
Und Multiplikation ist nun mal viel weniger Rechenaufwand als 
Logarithmus (das zählt im Embedded-Bereich schon noch was, auch wenn du 
der Meinung bist Rechenzeiten wären völlig egal). Im übrigen ist ein 
Polynom mit max 0,1 K Fehler völlig ausreichend ausser für alle die, die 
glauben sie könnten mit ein paar Eiswürfeln ihren Sensor auf mK 
kalibrieren, aber mit solchem Blödsinn gebe ich mich nicht ab. Die 
meisten sollten schon froh sein wenn ihre Werte +- 1 K stimmen.

Wozu sollte man denn B brauchen ausser um aus dem Widerstand die 
Temperatur zu berechnen? Nur so aus Spass an der Theorie?

Georg

von Yalu X. (yalu) (Moderator)


Angehängte Dateien:

Lesenswert?

georg schrieb:
> Yalu X. schrieb:
>> Und wie willst du aus den Polynom-
>> koeffizienten das gesuchte B bestimmen?
>
> Überhaupt nicht, das Polynom ist das was in der Software verwendet wird.
> Und Multiplikation ist nun mal viel weniger Rechenaufwand als
> Logarithmus

Das interpretierst du in den Wunsch des TE

andy_help schrieb:
> Was ich suche, ist die Materialkonstante.

hinein.

georg schrieb:
> Wozu sollte man denn B brauchen ausser um aus dem Widerstand die
> Temperatur zu berechnen? Nur so aus Spass an der Theorie?

Bspw. um die Schubladen des Kleinteilemagazins zu beschriften ;-)

Das klingt zwar etwas lächerlich, ist es in Wahrheit aber gar nicht:

Die beiden Parameter R25 (oder R85) und B charakterisieren das Verhalten
eines NTC über einen weiten Temperaturbereich mit guter Genauigkeit.
Benutzt du die parametrische Suche auf einer Hersteller- oder Händler-
Webseite, wirst du deswegen praktisch immer diese beiden Parameter als
Suchkriterien angeboten bekommen. Genauso wie man sich bei der Auswahl
einer Drossel als erstes für ihre Induktivität und ihren Wicklungs-
widerstand interessiert, fragt man bei einem NTC als erstes nach R25
und B.

Aber vielleicht hast du ja recht, und der TE sucht tatsächlich nach
einer Näherungsformel, um den gemessenen NTC-Widerstand in eine
Temperatur umzurechnen.

Wie ich oben schon schrieb, sind Polynome dafür nicht sehr gut geeignet.
Ich habe trotzdem mal versucht, gemäß deinem obigen Vorschlag T in
Abhängigkeit von R als Funktion n-ten Grades darzustellen.

Die im Anhang gezeigten Funktionen vom Grad 2, 3, 4 und 5 sind zwar
bzgl. ihres mittleren quadratischen Fehlers optimal, aber trotzdem
absolut unbefriedigend. Daran ändert sich auch nichts, wenn man den Grad
weiter erhöht, ganz im Gegenteil.

Angesichts der Tatsache, dass der TE seine Anfrage im PC-Forum gepostet
hat und dass Temperaturmessungen üblicherweise nicht im Millisekunden-,
sondern eher im Sekunden- wenn nicht im Minutentakt durchgeführt werden:

Meinst du wirklich, dass man sich wegen ein paar eingesparter µs pro
Messzyklus große Gedanken bzgl. einer Optimierung machen sollte?

Je nach konkretem Anwendungsfall gibt durch eine geschickte Verschaltung
des NTC dennoch Möglichkeiten, ohne den Logarithmus in der Auswertung
auszukommen. Dazu müsste der TE aber sein eigentliches Problem näher
beschreiben.

Im Moment wissen wir nur, dass er sich für das B interessiert, und das
hat er bereits bekommen.

von georg (Gast)


Lesenswert?

Yalu X. schrieb:
> Die im Anhang gezeigten Funktionen vom Grad 2, 3, 4 und 5 sind zwar
> bzgl. ihres mittleren quadratischen Fehlers optimal, aber trotzdem
> absolut unbefriedigend

Ja, die sind grausig. Ich habe meine Methode mit Pt100 benutzt, da 
genügt eine quadratische Gleichnung, um Werte besser als die die 
Genauigkeit eines 1/3-DIN-Sensors zu erhalten. Da ist halt die 
Nichtlinearität wesentlich geringer. So oder so, es lohnt sich 
eigentlich heute nicht mehr, mit analogen Bauteilen Kennlinien 
anzupassen, Näherungsgleichungen berechnet der Computer einmal und die 
Benutzung in der Firmware ist so gut wie völlig kostenfrei.

Georg

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.