Forum: Mikrocontroller und Digitale Elektronik MAX 6675 - Cold Junction Diode auslesen


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Nils (Gast)


Lesenswert?

Hallo,

ich arbeite gerade mit dem MAX6675 ColdJunction Modul, genauer gesagt 5 
davon, die an einen Arduino angeschlossen sind.

Das auslesen usw. ist ja weitesgehend trivial und wird ja ausgiebig 
überall diskutiert, mich interessiert jedoch etwas anderes.

Ich versuche derzeit mit möglichst einfachen Mitteln des Messfehler zu 
verringern, der ja doch recht groß ist und würde dafür gerne die Diode
am Cold End auslesen bzw. bräuchte die Temperatur selbiger.

Der 1. Ansatz zur Verbesserung der Temperatur erfolgt anhand einer 
gebrochen rationalen Funktion um die Nichtlinearität besser abzubilden.

Das Prinzip dafür wird hier ganz am Ende beschrieben:

http://www.mosaic-industries.com/embedded-systems/microcontroller-projects/temperature-measurement/thermocouple/type-k-calibration-table

Hat einer von euch vielleicht eine Idee wie ich möglichst einfach an die 
Temperatur der Diode komme? Oder meint ihr die Diode auf dem Chip wird 
ohnehin = Umgebungstemperatur sein und ich könnte einfach einen zweiten 
Sensor an den Arduino anschließen, in der Nähe der Chips platzieren und 
darüber die Temperatur auslesen. Wobei ich natürlich nicht weiss in wie 
weit sich das MAX6675 aufheizt.

Meine zweite Frage geht um den 0.1µF Widerstand der die Messwerte etwas 
verbessern kann. Verstehe ich soweit, allerdings sind meine 
Elektrotechnikkenntnisse bescheiden. Meine 5 MAX6675 hängen gehen alle 
in einen Ground und einen VCC Jumper über ein Breadboard. Wenn ich jetzt 
alle mit dem Widerstand glätten möchte muss ich dann einfach nur 1 
Widerstand mit 0.1 µF zwischen VCC und GND setzen oder 5x0.1 oder gar 
0.1µF für jeden einzelnen Leiter und alle unabhängig voneinander 
verkabeln?

Vielen Dank schonmal für die Antworten, falls hier jemand Rat weiss!

von Gerhard O. (gerhard_)


Lesenswert?

Zur ersten Frage, nimm besser einen MAX31856. Der linearisiert die 
Meßkurve für alle gängigen Thermoelemente. Ersparst Dir eine Menge 
Klimmzüge.

Die Linearität des internen CJ Sensors ist sowieso ziemlich gut. Das 
bringt kaum was. Wichtig ist, den MAX6675 mit den Anschlußstellen des 
Thermocouple thermisch innig zu verbinden, so daß die Anschlußtemperatur 
dem 6675 so getreu wie irgendwie möglich zugeteilt werden kann.

Zur zweiten Frage kann ich Mangels Erfahrung mit dem 6675 nichts 
praktisches beitragen. Datenblatt, Appnotes konsultieren.

Hab mal schnell nachgesehen. Der interne CJ is nicht zugänglich. Nimm 
den MAX31856 anstatt. Das erspart beträchtliche Arbeit und alle 
relevanten Informationen sind zugänglich.

Idealerweise sollte die Temperatur der eigentlichen Anschlußstellen im 
sogenannten Isothermischen Block (ISB) gemessen werden. Für bestmögliche 
Genauigkeit soll der CJ Meßsensor im ISB gut thermisch gekoppelt 
eingebettet sein.

Wenn Du mechanische Möglichkeiten hast, kannst Du Dir den ISB selber 
bauen. Zwei 6mm Ms Streifen mit Heatsink Isolatormaterial/Thermalpaste 
zusammen geschraubt und mit einem Loch für den CJ Sensor versehen, 
genügen. Die Thermocouple Anschlüsse gehen in Schraubbohrungen auf 
beiden Seiten. Wenn Du eine LP für den MAX6675 auslegst kannst Du zur 
thermischen Kopplung dieLP direkt draufschreiben und das Loch für den CJ 
entfällt. Der MAX6675 kann mit dem ISB thermisch gekoppelt werden. Dann 
empfiehlt sich die ganze Anordung isoliert mit MAX6675 in einen kalten 
Thermostaten mit Thermischer Isolation auf der Aussenwand zu stecken um 
unterschiedliche Temperaturgefälle zwischen verschieden thermischen 
Massen ausgleichen zu können. Man muß halt der Physik wegen einen 
Konstruktions "Obulus" bezahlen. Es macht sich aber bezahlt. Falls Du 
einen guten CJ Sensor zur Verfügung hast, kann man den CJ Sensor im ISB 
einbetten.

ISB kann man für teures Geld auch kaufen. So behelfe ich mich bei 
Firmenprojekten.

Der MAX31586 ist auch ein interessanter Baustein und sogar als 
Breadboard zu haben.

https://datasheets.maximintegrated.com/en/ds/MAX31856.pdf

https://zeus.phys.uconn.edu/wiki/images/The_Basics_of_Thermocouples.pdf
http://www.ti.com/lit/ml/slyp161/slyp161.pdf

Thermocouples kann man messtechnisch sehr gut mit fliegenden 
Kondensatoren messen. Der Hauptvorteil ist die Trennung von Erfassung 
und Messung um stabile Messungen zu erzielen. Auch driftfreie OPVs wie 
der LT1050 empfehlen sich. Alle thermisch empfindlichen 
Verstärkungsbestimmende Komponenten müssen einen niedrigen TK haben 
damit sich keine ratiometrischen thermische Effekte einstellen. Nach 
möglichkeit sollen alle Messkomponenten thermisch der selben temperatur 
ausgesetzt sein. Damit sich alles gleichmäßig änder sollte ein kalter 
Thermostat eingesetzt werden.

Normalerweise verwende ich die NIST Koeffizienten zur Linearisierung und 
RTD für die CJ Erfassung. Ein mit 36Mhz getakterter STM32F103 schafft 
das 9. Ordnungszahlpolynom in optimierter Form (faktorisierte Form) in 
lediglich 14us in Float ohne eigentliche Exponentenrechnung mit nur 
Multiplikation und Addierung. Mit mit einem 24bit SD ADC (Max11200) kann 
man den RTD ratiometrisch genauestens messen und über einen LT1050 das 
Thermoelement. Mit Analog Mux kann man dann alle Kanäle nacheinander 
messen. Alles andere macht SW. Die HW ist relativ minimal wenn auch 
nicht gerade billig. Auch die Calibrierung ist rein SW technisch zu 
bewältigen. (Nullung und Verstärkungsangleich)

Mit dem 6675 habe ich noch keine Erfahrungen. Da muß man sich so genau 
wie möglich an die Empfehlungen des IC Herstellers halten.

: Bearbeitet durch User
von Gerhard O. (gerhard_)


Lesenswert?

Nachtrag:

Bei der vom MAX6675 erbrachten Genauigkeit ist die ISB Methode natürlich 
massiver Overkill. Bei +/- 3 Grad Genauigkeit ist es anzustreben die 
Anschlüsse des Thermoelementes durch Klemmen der Drähte auf eine kleine 
Alu oder Cu Platte de mit der der MAX6675 thermisch gut verbunden ist 
gleichzuhalten. Dann hülle die ganze Anordnung in weissen Styropor ein 
und gut ist es.

Mein Vorschlag vorher war etwas zu hochgeschraubt. Die Eingangsschaltung 
und IC auf gleicher Temperatur zueinander halten ist natürlich immer 
noch sehr wichtig. Auch schadet es nie diese Komponenten thermsch so 
gleichzuschalten, daß sich deren individuellen Temperaturen zueinander 
nur so gleichzeitig wie möglich ändern können. Wie gesagt wenn man so 
weit gehen will setzt man einen kalten Thermstaten ein, der für schnelle 
Temperaturänderungen wie ein Tiefpassfilter wirkt.

Bezüglich der Engangsfilterung ist zu beachten, daß beim 6675 der 
Ri=60KOhm beträgt. Mehr als 2x 1K zu jeden Eingang zusammen mit enem 
0.1UF dazwschen führt zu fühlbaren Temperatur Meßfehlern.

Auch wäre zu überlegen ein Testmöglichkeit für offene TC Verbindung 
vorzusehen. Kurzschlüsse sind schwerer zu identifizieren.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.