Thermoelement Typ K an Arduino

Um ein paar Typ K Thermoelemente an einen Arduino anzuschließen gibt es mehrere Möglichkeiten.

Ich will damit Temperaturen von 0°C bis zu 1200°C messen. Genauigkeit wäre +-5°C bis 100°C und +-10°C bei 1200 wünschenswert.

 

Das Grundwissen für Thermoelemente bekommt man hier: Thermoelemente

Die meisten Lösungen hier haben keine Korrektur, das heißt es ist nur auf ein paar Grad genau.

Für hohe Genauigkeit wird entweder eine Lösung mit Korrektur (Linearization) oder eine spätere Korrektur in der Software benötigt.

Der MAX31856 hat diese Korrektur integriert, die Variante damit steht am ende dieses Artikels.

AD595 von Analog Devices

Der AD595 ist eine 1 Chip Lösung, er hat alles integriert! Dafür auch teuer mit gut 15€ pro Chip.
Ein weiterer Nachteil ist das er eine hohe Versorgungsspannung benötigt um große Temperaturen zu messen.
Mit 5V funktioniert er bis ~ 480°C. Erst mit +15V sind 1250°C möglich. 

Die Grundschaltung:

AD595

MAX31855 von maxim integrated

Der MAX31855 ist ebenfalls eine 1 Chip Lösung. Er gibt direkt digital per SPI -270°C bis +1372°C aus!
Mit ca 5€ pro Chip ist er auch preislich interessant. Die Typ K Variante heißt MAX31855KASA.
MAX31855

Er ist nur 3,3V tauglich, an vielen Arduinos wird ein Pegelwandler benötigt.

Analoge Schaltung mit MCP601/MCP602

Man kann die Auswertung auch Analog ausführen.
In der AN684 von Microchip findet sich folgende Schaltung:

Scheint viel zu sein, man kommt aber zu einem selbst bestimmbaren Ausgang, 1200°C sind damit an 5V möglich!

Analog mit AD8551

 Eine noch einfachere Lösung ist mit dem AD8551 möglich:

Die verwendung einer einfachen Diode für die Kompensation und der relativ günstige AD8551 (~4€ pro Chip) machen diese Schaltung interessant.

Wenn R8 durch einen 62kΩ Widerstand ersetzt wird ist die Schaltung bis 1000°C geeignet (5mV/°C anstelle 10mV/°C)

Analog mit AD8494o

Der AD8494 ist ein speziell für Thermocouples gemachter OPV mit integrierter Kompensation, eine 1 Chip Lösung.

Er hat 5mV/°C und ist damit direkt bis 1000°C geeignet bei 5V Betriebsspannung.

AD8494

Um die vollen 1200°C mit 5V messen zu können benötigt es noch einen Spannungsteiler. Der AD8496 erzeugt bei 1200°C 6V.

Damit wäre ein Spannungsteiler mit 10k und 50k ideal. Es ergibt sich dadurch ein Ausgang mit 4mV/°C

Analog mit LTC1050

Sehr einfach ist eine Schaltung mit dem LTC1050 möglich.

Diese wird näher auf meiner Projektwebsite vorgestellt: https://github.com/designer2k2/multidisplay/wiki/TypKThermocouples

Dort ist auch der benötigte Quellcode sowie ein Schaltungsdesign zu finden. Wenn mit einer Lookup Table gearbeitet werden soll.

Die Schaltung laut Datenblatt:

LTC1050 

Analog / Digital Wandler MCP3208

Der MCP3208 ist ein 8 Kanal 12 Bit ADW der über SPI am Arduino angeschlossen wird. Er kostet ~ 6€ pro Chip.

Mit diesem Chip können 8 Thermocouples auf einen Verstärker geschalten werden, zum Beispiel auf den oben gezeigten LTC1050.

Handling mit dem Arduino ist einfach: https://playground.arduino.cc/Code/MCP3208/

Mit 4 Pins am Arduino gewinnt man 8 12Bit Analoge Eingänge, nicht schlecht oder?

Die 6 Analogen Eingänge am Arduino bleiben offen, man kann damit dann insgesamt 14 Thermoelemente einlesen, cool oder? cool

 

MAX31856 von Maxim Integrated

Der MAX31856 ist eine 1 Chip Lösung mit Kompensation.  Er gibt direkt Digital die Temperatur von -200°C to +1372°C aus.

Durch die Kompensation ist es die Lösung mit der höchsten Genauigkeit.

MAX31856MUD+ ist die genaue Bezeichnung.

Für den Arduino gibt es eine Library von Adafruit um mit dem MAX31856 zu kommunizieren.

Referenzen

die Informationen hierzu stammen aus folgenden Quellen:

Microchip Application Note AN684 Single Supply Temperature Sensing with Thermocouples

Microchip Application Note AN844 Single Supply Simplified Thermocouples Interfaces and PICmicro® MCUs

Analog Devices AD8551 OPAMP

Analog Devices Thermocouple Linearization with AD8495

Comments powered by CComment