Forum: Mikrocontroller und Digitale Elektronik Formelberechnung Temperatursensor


von Slati (Gast)


Lesenswert?

Hallo,

wie berechne Ich für einen Temperatursensor Anhand des Widerstandes die 
Temperatur, wenn Ich nur die Widerstandstabelle mit den etnsprechenden 
Temperaturangaben habe?

z.B. der KTY83/10

962 Ohm, 20°C
1000 Ohm, 25°C
1039 Ohm, 30°C

Über einen Spannungsteiler kann Ich ja jetzt den Widerstand des 
Temperatursensors messen, aber jetzt habe Ich da 30 verschiedene Werte 
Ohm/°C aus der Tabelle des Herstellers.



Was wäre den eine gute Lösung um die Temperatur zu berechnen?

von Wolfgang (Gast)


Lesenswert?

Slati schrieb:
> wie berechne Ich für einen Temperatursensor Anhand des Widerstandes die
> Temperatur, wenn Ich nur die Widerstandstabelle mit den etnsprechenden
> Temperaturangaben habe?

Indem du für ein mathematisches Modell des funktionalen Zusammenhangs 
zwischen Temperatur und Widerstand die Parameter bestimmst und dann mit 
dieser Funktion von Widerstand in Temperatur umrechnest. Aus drei 
Stützstellen lassen sich nur drei Parameter bestimmen, also muss das 
Modell sehr gut das Verhalten beschreiben.

Du wirst aber eher nicht den Widerstand messen, sondern den Sensor in 
einem Widerstandsnetzwerk (Spannungsteiler mit Parallelwiderstand) 
einsetzen und dann die gemessene Spannung in eine Temperatur umrechnen 
wollen.

von ArnoR (Gast)


Lesenswert?

Slati schrieb:
> Was wäre den eine gute Lösung um die Temperatur zu berechnen?

http://www.nxp.com/documents/other/SC17_GENERAL_TEMP_1996_3.pdf

Seite 7.

von Walter S. (avatar)


Lesenswert?

Wolfgang schrieb:
> Aus drei
> Stützstellen lassen sich nur drei Parameter bestimmen

er schreibt von 30 Wertepaaren,
da würde ich eine Tabelle anlegen und zwischen den Stützstellen linear 
interpolieren

von Sascha (Gast)


Lesenswert?

Walter S. schrieb:
> Wolfgang schrieb:
>> Aus drei
>> Stützstellen lassen sich nur drei Parameter bestimmen
>
> er schreibt von 30 Wertepaaren,
> da würde ich eine Tabelle anlegen und zwischen den Stützstellen linear
> interpolieren

Hier: Ja.

Bei nem beliebigen Sensor mit unbekanntem Verhalten erstmal plotten und 
dann ne Interpolationsmethode überlegen. Für PTC und NTC wären linear 
schon ziemlich suboptimal, auch wenn man viele Stützstellen hat.

von Wolfgang (Gast)


Lesenswert?

Walter S. schrieb:
> er schreibt von 30 Wertepaaren,
Oh, überlesen - hatte nur 3 gesehen ;-)

> da würde ich eine Tabelle anlegen und zwischen den Stützstellen linear
> interpolieren

Wenn's schön sein soll und nicht auf eine elegante Beschreibung drauf an 
kommt: Interpolation mit kubischen Splines.

Aber wie schon gesagt: Die Widerstandswerte interessieren bei der 
Messung eigentlich nicht, da man gewöhnlich eine Spannungen in einem 
(minimalistischen) Widerstandsnetzwerk misst. Bei richtiger 
Dimensionierung ergibt sich ein recht linearer Zusammenhang. Um 
abzuschätzen, wieviel Aufwand man treiben will, sollte man die 
Genauigkeitsanforderungen kennen. Der Excel Solver hilft schnell, wenn 
man ein Modell auf minimale Abweichungen anpassen möchte.

Im übrigen ist das Problem wirklich nicht neu. ;-)

Stichworte: KTY83 Linearisierung

von Max M. (jens2001)


Lesenswert?

Slati schrieb:
> berechne Ich

> wenn Ich

> kann Ich

> habe Ich

von Walter S. (avatar)


Lesenswert?

Wolfgang schrieb:
> Interpolation mit kubischen Splines.

wenn man sich die Genauigkeit des Sensor anguckt ist das mit Kanonen auf 
Spatzen geschossen (und dass der TO (noch) nicht der Crack ist und 
deshalb hier nachfragt, sollte man auch berücksichtigen)

von Tom (Gast)


Lesenswert?


von eProfi (Gast)


Lesenswert?

Werte in Tabellenkalkulation eingeben, daraus Spannung des 
Spannungsteilers und entsprechenden ADC-Wert errechnen, Graphen 
darstellen, Trendlinie mit Formel anzeigen (evtl. Anzahl der angezeigten 
Stellen erhöhen), fertig.

> sondern den Sensor in einem Widerstandsnetzwerk (Spannungsteiler
> mit Parallelwiderstand) einsetzen
Parallelwiderstand biegt zwar die Kurve etwas gerader (das kann der µC 
besser), kostet aber Auflösung.

Serienwiderstand des Spannungsteilers so groß wählen, wie der Sensor bei 
der Temperatur hat, an der man die höchste Auflösung wünscht.

von Slati (Gast)


Lesenswert?

Oh, vielen dank für die vielen Antworten.

Also Parallelwiderstand so wählen, dass die Kurve gut getroffen wird und 
dann linear zwischen Zwei Widerstandswerten annähern und dann zu den 
nächsten beiden springen etc.?

Das hatte der Prof. an meiner Lösung angemängelt.

Ist es in der Praxis üblich eine Funktion herzuleiten die alle 
Widerstandswerte als Funktionswert annimmt?

Sowas wie Polynom Approximation ...?

von Wolfgang (Gast)


Lesenswert?

Slati schrieb:
> Sowas wie Polynom Approximation ...?

Polynome treffen zwar die Stützstellen bei ausreichend hohem Polynomgrad 
genau, machen aber dazwischen gerne beliebigen Unfug. Bei manchen 
Funktionsverläufen tun sie sich fürchterlich schwer.

von Helmut S. (helmuts)


Lesenswert?

Bei einem NTC-Widerstand wird oft diese Formel mit Rn und B hier 
genommen.

https://de.wikipedia.org/wiki/Hei%C3%9Fleiter

Für höhere Genauigkeit gibt es dann noch die Steinhart-Hart Gleichung 
mit 3 Koeffizienten für NTC-Widerstände.
Bei einem Hersteller hatte ich auch schon mal eine Gleichung ähnlich mit 
Steinhart-Hart mit 4 Koeffizienten gesehen.


Wenn man natürlich nur einen schwächlichen Mikrocontroller und 
Echtzeitanforderungen hat, dann macht man eher eine Interpolation in 
einer Tabelle.

von Slati (Gast)


Lesenswert?

Vielen dank Tom so werde Ich es machen, habe Ich glatt übersehen:

http://www.sprut.de/electronic/temeratur/temp.htm#ptc

@jens2001
Sehr konstruktiv.

@Walter S.
Woher willst du den das wissen?

von Helmut S. (helmuts)


Lesenswert?

Helmut S. schrieb:
> Bei einem NTC-Widerstand wird oft diese Formel mit Rn und B hier
> genommen.
>
> https://de.wikipedia.org/wiki/Hei%C3%9Fleiter
>
> Für höhere Genauigkeit gibt es dann noch die Steinhart-Hart Gleichung
> mit 3 Koeffizienten für NTC-Widerstände.
> Bei einem Hersteller hatte ich auch schon mal eine Gleichung ähnlich mit
> Steinhart-Hart mit 4 Koeffizienten gesehen.
>
>
> Wenn man natürlich nur einen schwächlichen Mikrocontroller und
> Echtzeitanforderungen hat, dann macht man eher eine Interpolation in
> einer Tabelle.

Oh ich sehe gerade, dass es um einen Si-Sensor (PTC) geht. Da passen 
meine vorgeschlagenen NTC-Gleichungen natürlich gar nicht.

von Hermann (Gast)


Lesenswert?

Wenn du die von mir angegebene Excel-Tabelle benutzt, kannst du dir den 
Tempertaturbereich für die optimale Linearisierung genau vorgeben und 
den enstehenden Fehler auswerten:
Beitrag "Re: Zwischenwerte vom KTY82-210 berechnen"
Oben die Temperatur (Kal-Temp1 und Kal-Temp2) eingeben und es wird der 
Optimale Vorwiderstand ausgerechnet. Unten in der Tabelle steht der 
Linearisierungsfehler. Die gewählten Koeffizienten sind aus dem 
Philips-Datenblatt - die kann man auch noch anpassen.

von Carsten R. (kaffeetante)


Lesenswert?

http://rn-wissen.de/wiki/index.php?title=PTC/NTC#Linearisierung

Man sollte vielleicht mal darüber reden und festlegen wie groß der 
Linearisierungsfehler werden darf. Was genau hat der Prof bemängelt? Die 
Genauigkeit, Auflösung, Methodik...?

Weitere Suchbegriffe in Kombination mit Temperatursensor sind: 
Toleranzbandmethode, Festpunktmethode

Man kann alles so allgemein megapräzise und hochkomplex exakt 
nachrechnen. Wenn man aber die Anforderungen und Einsatzbedingungen auch 
nur etwas eingrenzt, kommt man oft mit erstaunlich einfachem Mitteln zu 
Ergebnissen, deren Fehler in den Unzulänglichkeiten des des Aufbaus, 
z.B. im ADC, (nahezu) verschwinden. Das kann man im Obigen Link schön 
sehen.

Eine Raumtemperatur braucht man z.B. nicht auf die zweite 
Nachkommastelle genau messen. Das wird nichts. Wozu dann den 
Rechenfehler mit viel Aufwand um noch eine Größenordnung  kleiner 
halten?

von Olaf (Gast)


Lesenswert?

> Polynome treffen zwar die Stützstellen bei ausreichend hohem Polynomgrad
> genau, machen aber dazwischen gerne beliebigen Unfug. Bei manchen
> Funktionsverläufen tun sie sich fürchterlich schwer.

Kannst du dafuer mal ein Beispiel zeigen? Ich haette eher gedacht das 
ein Polynom bei AUSREICHEND hohem Polynomgrad sehr gut interpoliert. 
Problematisch ist da IMHO eher die Extrapolation.

Olaf

von komisch (Gast)


Lesenswert?

Der erste Treffer bei aunt go zeigt das Problem:
https://de.m.wikipedia.org/wiki/Kreuzvalidierungsverfahren

von komisch (Gast)


Lesenswert?

Ach ja, gut geht e mit Splines:
https://de.m.wikipedia.org/wiki/Spline

von Max M. (jens2001)


Lesenswert?

Slati schrieb:
> werde Ich

> habe Ich

> @jens2001
> Sehr konstruktiv.

Hat aber nichts genutzt!

von Wolfgang (Gast)


Lesenswert?

Olaf schrieb:
> Kannst du dafuer mal ein Beispiel zeigen?

Erzeuge mal Testdaten mit der Funktion
1
y = a + b * 1/x
 und dann versuche die durch ein Polynom
1
y = summe (k_i * x^i) mit i >= 0
zu approximieren.

Wenn du das richtige Modell hast (1/x) reichen zwei Stützstellen, um die 
zwei Parameter zu bestimmen und eine fehlerfreie Interpolation zu 
machen. Versuch das mal mit einem Polynom y= k_0 + k_1*x

von Walter S. (avatar)


Lesenswert?

Wolfgang schrieb:
> Wenn du das richtige Modell hast (1/x) reichen zwei Stützstellen, um die
> zwei Parameter zu bestimmen und eine fehlerfreie Interpolation zu
> machen.

na das ist jetzt aber etwas unfair zu den Polynomen.
Ich kann aber auch gemein sein:
versuch mal
y= k_0 + k_1*x
durch
y = a + b * 1/x
zu approximieren

von Wolfgang (Gast)


Lesenswert?

Walter S. schrieb:
> na das ist jetzt aber etwas unfair zu den Polynomen.

Genauso ist nicht garantiert, dass ein KTY weniger unfair ist ;-)

Du darfst den Grad des Polynoms auch mal um den Preis von mehr 
Stützstellen erhöhen. Es bleibt ein Krampf - besonders wenn es an die 0 
ran geht.

von Arc N. (arc)


Lesenswert?

Olaf schrieb:
>> Polynome treffen zwar die Stützstellen bei ausreichend hohem Polynomgrad
>> genau, machen aber dazwischen gerne beliebigen Unfug. Bei manchen
>> Funktionsverläufen tun sie sich fürchterlich schwer.
>
> Kannst du dafuer mal ein Beispiel zeigen? Ich haette eher gedacht das
> ein Polynom bei AUSREICHEND hohem Polynomgrad sehr gut interpoliert.
> Problematisch ist da IMHO eher die Extrapolation.
>
> Olaf

Auf der Wikipedia-Seite meiner Lieblings-Interpolationsmethode gibt's da 
zumindest ein anschauliches Beispiel:
https://en.wikipedia.org/wiki/Monotone_cubic_interpolation
ebenso ab Seite 17 in
http://www.mathworks.com/moler/interp.pdf
Figure 3.8 und 3.9 wo u.a. stückweise lineare, Spline-, 
Polynom-Interpolation zu sehen sind.
Das Problem ist meist nicht die Stützstellen zu treffen, sondern ob das 
Dazwischenliegende der Realität entspricht.
Edith: Ist schon oben unter Kreuzvalidierung schön gezeigt.

von HildeK (Gast)


Lesenswert?


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.