Ich möchte gern die Temperatur an einer Meßkarte erfassen und über
Labview auswerten. Jetzt habe ich hier schon etwas gefunden nur will es
nicht richtig funktionieren. Anbei meine Exceltabelle und mein Labview
Programm.
Kann mir einer von euch sagen was ich falsch mache?
Joerg schrieb:> Kann mir einer von euch sagen was ich falsch mache?
du verrätst uns zuwenig über deinen Aufbau. Was für eine
Temperatursensor erzeugt die Spannung? Woran genau machst du fest, dass
es "nicht richtig funktioniert"?
Mein Tipp: vielleicht versuchst du einen ADC-Wert linear in einer
Temperatur umzurechnen, obwohl der Zusammenhang zwischen beiden gar
nicht linear sein sollte. Zumindest ist der Zusammenhang zwischen
Temperatur und Spannung in deiner Tabelle deutlich nichtlinear.
Mit einem Datenblatt kann ich nicht dienen, da derSensor von einem BBQ
Thermometer stammt (Maverick) und bei 25Grad hat er 1,2MOhm. Mehr ist
nicht bekannt.
Jörg schrieb:> Wie bekommeich die Werte denn Linear?
Da du in LabVIEW unterwegs bist könntest du eine Skalierung nutzen.
(Entweder im MAX oder im Programmcode). Der kannst du z.B. ein Polynom
mitgeben oder eine Messtabelle, bei der zwischen den gemessenen
Stützstellen linear interpoliert wird. Wenn du mit der Tabelle arbeiten
willst achte bitte darauf, dass es halbwegs hochwertige Messungen sind -
deine Tabelle oben scheint mir (neben der Nichtlinearität) auch noch
verrauscht zu sein.
Ein Ausgleichspolynom könnte da etwas gutmütiger sein, weil es nicht
jeden kleinen Ausschlag der Messwerte mitmacht. "Einen Namen" hat dir
oben gezeigt, wie du von deinen Messwerten zu einem Polynom kommen
kannst (über LabVIEW geht es auch). Wobei mir bei dem oben gezeigten
Polynom nicht so richtig gut gefällt, dass die Kurve zwischen 20 und 30°
abfällt (was deine Messwerte nicht tun).
Das ist wahrscheinlich doch ein 25k Widerstand. Wie erstellt ihr so
schnell solche Tabellen?
Ist es Ratsam am Widerstand noch etwas herumzutesten? Ich nutze ja nicht
mal die ganze Auflösung von 0-5V am Analogeingang? HAbt ihr da noch
einen Tipp für mich?
Wie setze ich die Gleichung dann um? (Herleitungen sind nicht so meins!)
Jörg schrieb:> 0,1 Grad wenn möglich.
Dann finde bitte aber erstmal genau raus, welcher Messwiderstand da
verbaut ist.
Evtl. ist es ja dann irgendwann ein 22K...
Und 1.2M bei 25° klingt für einen NTC auch eher untypisch.
Evtl. 1.0M?...
Wie ist deine Tabelle entstanden?
Mit welchem Thermometer / Voltmeter wurden die Messwerte genommen?
Sind die auf 0.1° genau gemessen?
Temperatur Widerstand [kOhm]
21,0 1217,3
24,5 1024
33,8 644
46,0 347,8
64,5 167,62
76,0 103,42
80,0 80,69
85,0 71,89
Das sind die Werte nur am Widerstand gemessen. Ich kann jaübers WE noch
mal eine neue Tabelle aufnehmen. die Spannungswerte kommen von der
Meßkarte. Die Temperatur wurde mit einem Vergleichsensor auf dem
Maverickgerät abgelesen. Ich werde noch ein anderes Temperaturmeßgerät
auftreiben.
Der Widerstand wird morgen ausgemessen!
Aha, jetzt kommen wir der Sache schon näher.
1M bei 25° ist plausibel, und vermutlich entspricht der Rest der Kurve
einem Standard-NTC.
Wenn jetzt noch der andere Widerstand genau bekannt ist, wird es
einfach...
Jörg schrieb:> Ich hatte den 50K ersetzt, da ich damit nicht über 130 Grad gekommen> bin.
OK. Solange die Schaltung nicht in Serie geht, ist es ja auch egal, wie
präzise der Widerstand ist, solange du seinen genauen Wert kennst.
Deine ursprüngliche Tabelle ist wohl nicht mit dem 12-Bit ADC
entstanden, sondern eher mit einem 10-Bit Wandler.
Und offenbar auch mit einem anderen Widerstand.
Am besten machst du jetzt nochmal eine neue Tabelle, die 5V müssen genau
stimmen, der besagte 22.976K Widerstand ist drin, und die
Referenztemperatur nimmst du so genau wie möglich.
Wenn das vorhanden ist, kann man weitermachen.
Das Ziel ist, über die gemessene Spannung und den bekannten
Shunt-Widerstand (22.9K) den NTC Widerstand zu ermitteln.
Wenn man diesen hat, kann man über Logarithmen die Temperatur errechnen.
Und mit deiner Tabelle findet man heraus, welche Charakteristik (Beta)
der NTC hat.
Die bisherigen Daten widersprechen sich da.
Wie kommt denn das, dass deine Widerstandswerte für den Messwiderstand
immer so unterschiedlich sind?
Neulich: 22.976K, heute: 29.866K
Miss du diesen im in die Schaltung eingebauten Zustand?
Deine neuen Messwerte haben ziemliche "Knicke", viel genauer als ca. +/-
2.5°C wird dein Thermometer nicht werden.
Ich errechne ein Beta von 4737
Den Widerstand des RTC errechnest du über die Formel
R_NTC = (R_shunt * U_ref) / U_adc - R_shunt
R_shunt ist dabei 29.866K, U_ref = 5.012V und U_adc ist der Messwert
Diesen Widerstandswert R_NTC setzt du dann in folgende Formel ein:
T = 323.15 * beta / (beta - 323.15 * ln(302775/R_NTC)) - 273.15
mit beta = 4737
1
°C U_adc °C (b) Fehler
2
16 0,091 16,9 -0,9
3
26 0,149 26,1 -0,1
4
30 0,177 29,5 0,5
5
35 0,209 32,9 2,1
6
40 0,279 39,0 1,0
7
45 0,355 44,4 0,6
8
50 0,450 50,0 0,0
9
55 0,523 53,7 1,3
10
60 0,628 58,4 1,6
11
65 0,754 63,4 1,6
12
70 0,894 68,4 1,6
13
75 1,049 73,3 1,7
14
80 1,214 78,2 1,8
15
85 1,366 82,4 2,6
16
90 1,572 87,7 2,3
17
95 1,765 92,6 2,4
18
100 1,990 98,1 1,9
19
105 2,197 103,1 1,9
20
110 2,394 107,9 2,1
21
115 2,611 113,3 1,7
22
120 2,797 118,0 2,0
23
125 3,005 123,6 1,4
24
130 3,184 128,7 1,3
25
135 3,350 133,8 1,2
26
140 3,510 139,0 1,0
27
145 3,655 144,1 0,9
28
150 3,805 150,0 0,0
29
155 3,921 155,0 0,0
30
160 4,012 159,3 0,7
31
165 4,130 165,5 -0,5
32
170 4,250 172,7 -2,7
33
175 4,320 177,5 -2,5
34
180 4,380 182,0 -2,0
Die 3. Spalte zeigt den errechneten Temperaturwert
Ich habe einen neuen eingelötet und somit neue Werte erhalten. Wie
bekomme ich denn das ganze genauer hin? An was liegt das? Vielen Dank
schonmal für deine Infos!