Temperaturfühler-Kennlinie als Formel

Gast #993997
Lesenswert?

Ich habe hier einen Temperaturfühler, den ich aufgrund der Bauform gerne 
für eine Steuerung verwenden möchte. Das Problem ist: Ich weiß nicht, 
was es für ein Bauteil ist. Wahrscheinlich ein NTC. Ich habe bei 
verschiedenen Temperaturen den Widerstand gemessen (2 Beine als 
Anschluß, Polung ist egal). Also ich habe eine elektrische Heizplatte 
genommen und und mit dem Infrarottermometer die Temperatur gemessen und 
von Fühler den Widerstand.

Das sind die Ergebnisse:

Grad Ceslsius  kOhm
26  330
75  80,5
80  66
90  54,5
100  42,1
110  37,3
120  28,6
130  23,7
145  17,6
150  17,9
155  16,2
160  13,6
165  11,6
170  11,3
175  10,2
180  9,0
190  9,5
200  7,0
210  6,8
220  6,0
230  6,6

Mir ist klar, daß da ein paar Meßfehler drin sein müssen. Meine Frage an 
die Mathebegabten: kann man aus diesen Werten sowohl die Meßfehler 
isolieren als auch eine Näherungsfunktion ableiten?

Ich würde dann gerne 10k in Reihe schalten und per Formel (nicht per 
Wertetabelle) aus dem Widerstands-Meßwert (bzw. dem Spannungsabfall) 
näherungsweise auf dem uC die Temperatur berechnen..

geht das? Wenn ja, wie? Bin gespannt.. :-)
Gast #994000
Lesenswert?

Ohne den Typ des NTCs zu kennen wird dir keiner den Messfehler sagen 
können. Aus den Daten kann man den nicht extrahieren, wie auch?
Für die Funktion braucht man keine großen mathematischen Kenntnisse. 
Nimm Excel oder ähnlich und fitte per Regression ein Polynom in deine 
Daten.
Gast #994013
Lesenswert?

Zwischen 26 und 75 °C ist estwas mager mit Stützpunkten, aber sowas 
sollte grob passen:

Linear model Poly4:
       f(x) = p1*x^4 + p2*x^3 + p3*x^2 + p4*x + p5

       p1 =  8.166e-007  (6.883e-007, 9.448e-007)
       p2 =  -0.0005355  (-0.0006019, -0.0004692)
       p3 =      0.1308  (0.1192, 0.1425)
       p4 =      -14.37  (-15.17, -13.58)
       p5 =       623.7  (606.8, 640.7)

Goodness of fit:
  SSE: 85.17
  R-square: 0.9991
  Adjusted R-square: 0.9989
  RMSE: 2.307
#994019
Lesenswert?

TOM wrote:
> Zwischen 26 und 75 °C ist estwas mager mit Stützpunkten, aber sowas
> sollte grob passen:
>
> Linear model Poly4:
>        f(x) = p1*x^4 + p2*x^3 + p3*x^2 + p4*x + p5
>
>        p1 =  8.166e-007  (6.883e-007, 9.448e-007)
>        p2 =  -0.0005355  (-0.0006019, -0.0004692)
>        p3 =      0.1308  (0.1192, 0.1425)
>        p4 =      -14.37  (-15.17, -13.58)
>        p5 =       623.7  (606.8, 640.7)
>
> Goodness of fit:
>   SSE: 85.17
>   R-square: 0.9991
>   Adjusted R-square: 0.9989
>   RMSE: 2.307

mit was hast du das berechnet?

Excel, Matlab.... ?

Ist es nicht effizienter sowas auf dem Controller mit Kennlinienfeld und 
linearer Interpolation zu machen.

Das oben dargestellt ist natürlich um einiges genauer!

MFG
Persönliche Seite #994023
Lesenswert?

Wie sieht die Kurve aus?
Sehr wahrscheinlich nicht linear?

Interpolationspolynome schlagen sehr stark aus, fuer sowas nimmt man 
dann ansonsten am besten eine Spline-Interpolation.

Ist die Kurve annaehernd linear kann man auch eine Regressionsgerade 
berechnen. Regression kann man uebrigens auch in hoeheren Graden 
veranstalten, aber da wird es recht aufwaendig.

http://de.wikipedia.org/wiki/Lineare_Regression
http://de.wikipedia.org/wiki/Spline-Interpolation
Gast #994040
Lesenswert?

>>Also ich vermute mal, daß ich mich bei 220, 180
>>und 145 Grad vermessen
welche formel hast du jetzt genommen
wenn du die aud meinem excel dokument hast, dann sind eher die werte 
unter 100°C noch einmal nachzumessen
Gast #994049
Lesenswert?

Ich hab gar keine Formel genommen, nur das Augenmaß, das besagt, daß 
sich die Werte stetig / gleichartig zur Temperatur ändern sollten..

Bei den Werten unter 100 Grad bin ich mir sogar sicherer, denn da hatte 
ich mehr Zeit zum Messen, weil die Herdplatte ja immer langsamer 
abkühlt..
Gast #994061
Lesenswert?

Wenn es einigermaßen genau sein soll:

1. Mehrere Zyklen fahren. Auf gute thermische Kopplung achten. Laaangsam 
hochheizen.

2. Zyklen in beide Richtungen messen (Aufheizen und Abkühlen). Wenn 
dabei nicht ähnliche Kurven rauskommen, hat man zu schnell geheizt.

3. (gemittelte) Messpunkte als Tabelle ablegen und linear interpolieren. 
Oder wie willst Du mit dem AVR (z.B.) ein Polynom 4. Grades berechnen 
(ok, kann man machen, muss man aber nicht).

4. Infrarot-Thermometer? Nimm einen Alublock, 2 Bohrungen, 
Wärmeleitpaste, packe da den Sensor und einen Thermofühler (vom 
Multimeter) rein und leg das auf die Heizplatte. Und laaangsam anheizen.
Gast #994117
Lesenswert?

@Olaf:
>> ...und du meinst nicht das man da etwas vernachlaessigen kann? .-)

nein, du?
Das ist immer eine Frage der Genauigkeitsanforderungen, die uns ja nicht 
bekannt sind.

Nur weil p1 sehr klein ist, ist noch lang nicht zu vernachlässigen 
immerhin geht die Temperatur in 4. Potenz ein.


@Sebastian B.:
Matlab Curve-Fitting Toolbox
Gast #994144
Lesenswert?

Die gesuchte Formel findest du bspw. Wikipedia, wenn du nach NTC suchst:

  http://de.wikipedia.org/wiki/NTC

  RH = RN * exp(b * (1/T - 1/TN))

Die Formel enthält drei Parameter RN, TN und b. RN und TN können zu
einem Parameter a = RN * exp(-b / TN) zusammengefasst werden, T wird in
Kelvin angegeben, also ergibt sich

  RH = a * exp(b / (T + 273.15))

a und b sind typabhängig. Durch Ausprobieren (oder Rechnen) findest du
heraus, dass a=0.0105 und b=3100 ganz gut passen (s. Anhang). Für eine
bessere Bestimmung der Parameter muss die Messung genauer sein.

Dass die Kurve so gut passt, spricht dafür, dass es sich bei dem Bauteil
tatsächlich um einen NTC (oder ein Teil mit ähnlicher Funktionsweise)
handelt.
Angehängte Dateien:
Gast #994239
Lesenswert?

Ist wohl ein 330k-NTC (330kOhm Widerstand bei 20°C). Dann fällt der aber 
als Sensor aus, weil die üblicherweise nur bis 140-150°C gehen. Darüber 
hinaus altern sie stark, was bedeutet, dass sich der Widerstandswert mit 
der Zeit verschiebt.

Besorg Dir einen PT500 oder PT1000, gibt es mäßig teuer bei Conrad, 
billig und robust vom Klempner aus alten Wärmemengenzählern, deren 
Kalibrierung abgelaufen ist. Der hat dann aber eine andere Kennlinie... 
;-)

Bedenke, dass Du sowieso noch umrechnen musst, weil Du ja nicht 
Widerstand, sondern die Spannung über einem Spannungsteiler mißt. FALLS 
Du das mit AVR machen willst => Tabelle und lineare Interpolation ;-) 
;-)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren