Mit dem Temperatursensor PT100 kann kein genauer Messwert ermittelt werden

7

Ich versuche mit Arduino einen genaueren Temperaturwert vom PT100-Sensor (2-Draht) zu erhalten.

So sieht meine Schaltung aus:

Schaltkreis

Wenn der Sensor ungefähr 20 ° CI hat, erhalten Sie einen Wert für den A5-Pin, der 432 ist, und wenn der Sensor ungefähr 30 ° CI ist, erhalten Sie einen Wert für den A5-Pin, der 440 ist. Wie Sie sehen können, ist dies ein sehr kleiner Bereich (432 - 440) ).

Ich möchte einen größeren analogen Signalbereich von 100 bis 1000.

Vielleicht kann ich irgendwie den Widerstand von PT100 und mit einer mathematischen Formel erhalten, um die Temperatur zu erhalten.

Was kann ich mit meiner Schaltung tun, um eine genauere Temperaturmessung zu erhalten?

Muhamed Krlić
quelle

Antworten:

4

Sie können einen externen IC verwenden, der sich um das Ablesen des Sensors kümmert und dann das Ergebnis digital abruft , z. B. MAX31865

Vielleicht könnte ich irgendwie den Widerstand von PT100 erhalten und mit einer mathematischen Formel die Temperatur ermitteln?

Sie können Widerstandstabellen im Internet finden, eine Tabelle in Flash erstellen und mithilfe der Interpolation die Temperatur basierend auf dem erhaltenen Widerstand berechnen.

alexan_e
quelle
8

Mit einem RTD, der direkt an den A / D-Wandler des Arduino angeschlossen ist, können Sie keine genaueren Messwerte erhalten. Um genauere Messwerte zu erhalten, müssen Sie den Widerstandsthermometer in eine Brücke einbauen und einen Instrumentenverstärker verwenden, um ein größeres Signal zu entwickeln.

Joe Hass
quelle
4

Wenn Sie Präzision von einem PT100 erhalten möchten, müssen Sie zunächst eine 4-Draht-Version verwenden, nicht 2.

In einer 4-Draht-Version wird ein Paar verwendet, um den PT100 zu "versorgen", das zweite wird verwendet, um den Spannungsabfall im PT100 zu messen. Auf diese Weise ist der Spannungsabfall im Kabel minimal: Da V = RI und I im Messpaar nahezu Null sind, kein Spannungsabfall. Da PT100 kein spezielles Kabel benötigt, ist es sehr einfach, ein PT100 mit 2 Drähten in ein PT100 mit 4 Drähten umzuwandeln.

Sie müssen auch sicherstellen, dass der Widerstand, der zum Messen des durch den PT100 fließenden Stroms verwendet wird, sehr genau ist (wie 0,01%). Ich vermute auch, dass Sie eine bessere AD benötigen als die, die Sie in Ihrem Arduino haben.

Sobald Sie sicher sind, dass Sie ausreichend genaue Daten von Ihrem AD erhalten, müssen Sie PT100-Tabellen verwenden, um Werte zu interpolieren. Die Newton-Methode ist einfach zu programmieren und liefert gute Ergebnisse.

Wenn Sie der Meinung sind, dass dies alles zu komplex ist, sollten Sie einen einfacheren Temperatursensor verwenden. Zum Beispiel würde ein NTC wahrscheinlich direkt auf Ihrem Arduino funktionieren, aber Sie erhalten eine Genauigkeit von ~ 1 ° anstelle von 0,03 °

Martinm
quelle
Das ist eine großartige Antwort von Ihnen, klärt die Dinge auf. @alexan_e schlug vor, dass ich MAX31856 (RTD to Digital Conv.) verwende, das einen präzisen A / D-Wandler hat, den Sie vorschlagen. Sie haben eine Abstimmung für eine detaillierte Erklärung verdient. Vielen Dank.
Muhamed Krlić
Hallo, ich hatte eine Frage zur Verwendung von 4 Drähten auf Arduino. Wo soll das Messpaar angeschlossen werden? einer zu Analog in und der andere? zu GND?
Webinan
2

Dieses Thema könnte eine Antwort für Sie sein. Messen Sie den Widerstand mit einem Arduino genau?

Um die Temperatur zu berechnen, können Sie diese Formel verwenden:

Es können Widerstandsthermometerelemente geliefert werden, die bis zu 1000 ° C funktionieren. Die Beziehung zwischen Temperatur und Widerstand ergibt sich aus der Callendar-Van-Dusen-Gleichung:

R.T.=R.0[1+EINT.+B.T.2+C.T.3(T.- -100)]](- -200C.<T.<0C.), R.T.=R.0[1+EINT.+B.T.2]](0C.T.<850C.).

Hier, R.T. ist der Widerstand bei Temperatur T., R.0 ist der Widerstand bei 0°C.und die Konstanten (für eine α=0,00385 Platin RTD) sind:

EIN=3,9083×10- -3C.- -1

B.=- -5,775×10- -7C.- -2

C.=- -4.183×10- -12C.- -4.

Quelle: Englische Wikipedia ( http://en.wikipedia.org/wiki/Resistance_thermometer )

Ich hoffe es war hilfreich.

kimliv
quelle
0

Ich denke, Sie müssen zwischen 7 V und 12 V an den VIN-Pin Ihres Arduino anlegen und den AREF-Pin für eine Seite des PT100 und die andere für die analoge Seite verwenden. Dies könnte helfen, einen konsistenten Messwert zu erhalten, aber Sie haben möglicherweise immer noch eine 4-Draht-Messung durchführen, um sie genau zu erhalten.

Das Tutorial zur 4-Draht-Kelvin-Widerstandsmessung bietet eine gute Erklärung für die 4-Draht-Messung. Sie haben es wahrscheinlich schon besprochen.

Bearbeiten Sie schließen den AREF an Arduino 5V oder 3.3V und den pt100 von derselben Spannung an einen geeigneten analogen Eingangspin am Arduino an. Die linearen Spannungsregler auf der Arduino-Platine sind viel stabiler als Ihr USB-Power-Brick und bieten daher eine bessere Genauigkeit. Arduino-Grundlagen (analoge Referenz)

Mathias Nilsson
quelle