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?
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.
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.
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
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.
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
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)
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.
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 ...?
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.
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.
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?
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.
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.
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?
> 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
Der erste Treffer bei aunt go zeigt das Problem: https://de.m.wikipedia.org/wiki/Kreuzvalidierungsverfahren
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
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
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.
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.
Nur für NTC passend (KTY83 ist PTC): http://www.sebulli.com/ntc/index.php?lang=de&points=32&unit=0.01&resolution=8+Bit&circuit=pulldown&resistor=10000&r25=10000&beta=3999&tmin=-10&tmax=50
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.