Ich versuche, ein Thermoelement vom Typ K mit einem 0-5 V Arduino Uno zu lesen.
Ich kann mein Thermoelement direkt mit einem Fluke-Messgerät in der Temperatureinstellung ablesen und bekomme den korrekten Wert von 21 °C, aber wenn ich zur mV-Einstellung schalte, lese ich auf meinem Fluke 0 mV. In ähnlicher Weise lese ich auf meinem Arduino alle 10 Messwerte 0 mV oder einige Mülltreffer (0,3xx mV, 1,9xx mV), so dass ich annehme, dass es sich um Rauschen handelt. Mein Raum hat 70 ° F oder 21 ° C, daher erwarte ich gemäß der K-Typ-Thermoelementtabelle 0,838 mV
Ich habe eine Testlast gemacht, die 0-54 mV erzeugt
Der INA121P-Instrumentierungs-Operationsverstärker funktioniert wie erwartet und ergibt eine 50-fache Verstärkung meiner Testlast, wenn ich einen Rg = 1 kΩ-Widerstand zwischen den Pins 1 und 8 verwende.
Wie bereits erwähnt, wenn ich meine Testlast durch mein K-Typ-Thermoelement ersetze, lese ich 0 mV auf Vo (erwartet sollten 0,838 mV x 50 = 41,9 mV sein).
Ich habe mein Vergleichsstellen-Tref noch nicht in die Schaltung aufgenommen, aber ich habe meinen Thermistor mit der Steinhart-Hart-Gleichung in anderen Tests richtig gelesen.
In meinem Code werde ich die Verstärkung dividieren, um zu Vtc in mV zurückzukehren. Ich verwende die Koeffizienten vom Typ K , um die Kurve meines Thermoelements anzupassen.
Meine allgemeinen Fragen lauten:
Sie benötigen einen DC-Pfad für die Vorströme im Verstärker, Sie könnten beispielsweise die Verbindungsstelle erden oder eine Leitung oder beide über einen relativ hochohmigen Widerstand mit Masse verbinden (das Thermoelement und die Leitungen liegen normalerweise weit unter 100 Ohm, daher jeder resultierende Fehler sollte minimal sein.
Um eine vorhersagbare Filterung zu erhalten, müssen Sie den Thermoelementleitungen eine gewisse Serienimpedanz hinzufügen. Versuchen Sie es mit 1 kΩ an jeder Leitung, 100 nF zwischen den Leitungen und 10 nF gegen Masse an jedem Eingang.
Sie sollten wahrscheinlich darüber nachdenken, den Ausgang des Verstärkers über Masse vorzuspannen, da es durchaus möglich ist, dass die "heiße" Verbindungsstelle eine niedrigere Temperatur hat als die kalte Verbindungsstelle, was zu einer negativen Spannung führt. Sie sollten auch die Spannung für das Arduino entsprechend klemmen (lesen Sie das Datenblatt für die MCU, um die Spezifikationen zu erhalten - Sie benötigen auch die MCU-Versorgungsspannung).
Normalerweise ist es wünschenswert, etwas Strom durch die Thermoelementverbindung zu leiten, um Unterbrechungen zu erkennen. Es gibt einen Kompromiss zwischen dem resultierenden Fehler aus diesem Strom mal dem Schleifenwiderstand der Thermoelementsonde und der Drähte gegenüber dem Strom, wenn Gleichstrom verwendet wird. Sie könnten es auch regelmäßig von der MCU aus pulsieren lassen, um einen defekten Sensor oder defekte Verbindungen zu erkennen, aber Ihr Frontend kann einige Zeit brauchen, um sich zu erholen.
Sie verstehen die Funktionsweise eines Thermoelements falsch. Ein Thermoelement erzeugt eine Spannung, die mehr oder weniger proportional zum Temperaturunterschied zwischen den Verbindungsstellen ist. Wenn Ihre "heiße" Verbindungsstelle bei 21 ° C liegt und Ihre "kalte" Verbindungsstelle ebenfalls bei 21 ° C liegt, ist die Differenzspannung Null.
Das Lesen von 0 V von einem Thermoelement im thermischen Gleichgewicht ist also genau richtig.
Aus der Thermodynamik ist dies offensichtlich, denn ein Thermoelement ist eine Wärmekraftmaschine – und Wärmekraftmaschinen können keinen Strom erzeugen, wenn es keinen Temperaturunterschied gibt.
Beachten Sie, dass die Tabelle von einer Vergleichsstelle von 0 °C ausgeht – nicht von 21 °C.
Sie müssen die Thermoelementspannung an Ihrer Platine messen, und Sie müssen unabhängig die Temperatur an dem Punkt messen, an dem das Thermoelement an Ihrer Platine befestigt ist (oder an welchem Punkt auch immer Ihr Thermoelement in ein Paar Kupferleitungen übergeht). Dann müssen Sie die Temperaturdifferenz berechnen , die das Thermoelement zwischen Ihrer Platine misst, und diese dann zur gemessenen Platinentemperatur addieren .
GSLI
mkeith
Posp
Posp
mkeith
John Birkkopf
Posp
Posp
John Birkkopf
TimWescott
Rohr
Posp
TimWescott
John Birkkopf