mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik MAX6675 - Verbesserung der Temperaturmessung


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.
Autor: Nils (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

ich versuche gerade die Messung mit dem MAX6675 Modul und 4 
Thermocouples zu verbessern. Dazu hätte ich zwei Fragen.

1. Kann man laut Datasheet einfach einen 0.1 µF Widerstand vor die VCC 
Leitung setzen. Da ich 5 Elemente habe, gehe diese alle über einen 
Jumper in einer Platine in VCC. Reicht es einen Widerstand in Reihe 
davorzuschalten oder sollte ich an jedes MAX6675 Modul einen Widerstand 
anbringen?

2. Die Temperaturmessung an sich kann man wohl verbessern indem man ein 
Polynom nter Ordnung zur Korrektur der der linear angenommen Spannung im 
Modul verwendet. Dazu müsste man aber die Diode auslesen die die 
Umgebungstemperatur misst und dann in eine Spannung umwandelt und in den 
ADC schickt. Habt ihr eine Idee wie man das machen kann?

Alternativ war meine Idee die Ausgabetemperatur aus dem ADC zu nehmen 
und damit rückwärts die Spannung der Diode zu berechnen. Laut Datasheet 
ist die
Conversion Rate: 10.25 µV/LSB was bei 12 Bit ( 2^12*10.25 ) 41.984 mV 
Spannung wären für eine Temperatur von 1024°.

Des Weiteren ist ja bekannt das die Cold Junction Temperatur:

v_ges = 41µV/C°  5  (Tr-Tamb) + Tamb  ist.

Die Frage ist jetzt nur ob Tamb also die Umgebungstemperatur der Diode 
auch über einen anderen Sensor eingelesen werden kann oder ob diese 
nicht der Temp. der Diode entspricht weil sich der Chip z.B. aufhitzt.

Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nils schrieb:
> 0.1 µF Widerstand

Da bist du auf dem Holzweg. So etwas gibt es nicht. Die Einheit für den 
Widerstand ist Ohm.

Autor: Anno (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> Alternativ war meine Idee die Ausgabetemperatur aus dem ADC zu nehmen
und damit rückwärts die Spannung der Diode zu berechnen....

Viel zu umständlich!
1.) das macht man digital - im µC
2.) Du misst / berechnest eine Tabelle mit Temperatur-Korrekturwerten.
- Der (ADC-Wert / N) ist der Index in die Tabelle.
- Mit(ADC-Wert + Korrekturwert) berechnest du die Temperatur nach 
angegebener Formel.

Jedoch hat in der Praxis die Korrigiererei bei ungenauen Sensoren ihre 
Grenzen, da diese dann auch nicht stabil sind - heute so und morgen 
wieder anders.
Außerdem bräuchtest du ja einen noch genaueren 
Referenz-Temperaturfühler!
(woher nehmen?)
Wie willst du sonst wissen, welche Temperatur die richtige ist???

Autor: Megatroll (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> ich versuche gerade die Messung mit dem MAX6675 Modul und 4
Thermocouples zu verbessern.

Verbessern. Bedeutet ? Weniger Rauschen, Genauer ? Wozu ? In welchem 
Masse verbessern ? Wie gut sollt's denn sein ?

Autor: Nils (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht hätte ich das etwas genauer spezifizieren sollen.
Also generell will ich die Messfehler so gut wie möglich korrigieren. 
Das sind beim Thermocouple etwa 2-3 C° und dem Coldjunction Modul etwa 
6C°.

Der Fehler kommt also nicht alleine durch die Messung zu Stande sondern 
auch die ungenaue (lineare) Abbildung. Damit ich die Temperatur ohne 
einen neuen Sensor korrigieren kann, wollte ich von NIST

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

dieses Verfahren verwenden, wo praktisch Korrekturfaktoren für alle 
Thermocouples TYP K etc. und auch für die Cold Junction Module 
experimentell ermittelt wurden.

Die letzte Funktion auf der Seite (ganz unten mit v_CJ) wäre dann 
praktisch was ich brauche und dafür muss ich natürlich die Temperatur 
(t_CJ) ermitteln.

Ich hatte mir vorgestellt, dass ich so dann die Ausgangstemperatur aus 
dem ADC nehme, wieder zurückumwandle und die Cold Junction Temperatur 
berechne. Aus dieser kann ich dann die korrigierte Spannung berechnen, 
und wieder so umrechnen, dass ich eine Temperatur bekomme, dieses mal 
die Korrigierte.

Ich weiss halt nur nicht wie genau die conversion im ADC mit diesen 
10.25 µV dokumentiert ist. Als Referenzmessung könnte man es höchstens 
mal bei Raumtemperatur untersuchen, aber für höhere Temperaturen kann 
ich keine Aussage darüber machen wie gut das funktioniert - da die 
Sensoren in einem Extruder stecken und ich für die 
temperaturen(100C°-300°C) ein Lasermessgerät bräuchte, was gerade nicht 
zur verfügung steht.

Autor: Megatroll (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und diese Genauigkeit benoetigst du weswegen ?
2-3 Grad sind doch gut. Muss ja meist nur reproduzierbar sein.
Oft ist der Messfehler duch den Aufbau groesser.

Autor: Nils (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Messfehler addieren sich. Alleine das MAX6675 Modul hat -3/+3 , dazu 
kommen nochmal ca. -2/+2 Grad für das Thermoelement. Das ist das schon 
nicht mehr so wenig.

Autor: Megatroll (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und du moechtest die Teperatur eines Klotzes, einer Oberflaeche, einer 
Fluessigkeit, von Luft meaasen ?

Autor: Nils (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Thermoelemente an sich sind in einem massiven Stahlzylinder verbaut, 
die Umgebungstemperatur an sich wird natürlich über die Diode an der 
Luft gemessen. Allerdings sehe ich da nicht inwiefern sich das auf das 
Problem auswirkt.

Ich möchte ja praktisch die Temperaturmessung korrigieren und meine 
Frage war ob das möglich ist wenn ich die Umgebungstemperatur über einen 
anderen Sensor messe und dann über das Ergebnis des ADC zurückrechne wie 
hoch die einzelnen Spannungen sind um diese zu korrigieren.

Bin mir nicht sicher ob sich die Fehler dann nicht eher noch addieren.

Autor: Megatroll (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Luft zu Messen ist etwas vom Schwierigsten was es gibt. Dabei ist zu 
sagen, dass man zumindest die Temperatur des Sensors richtig misst. Was 
nicht unbedingt der Temperatur des zu messenden Mediums entspricht. Es 
ist nicht trivial Luft auf die Temperatur einer Oberflaeche zu bringen.
Wenn dich die Temperatur eines Rohres interessiert, bohr ein Loch rein, 
ein Sackloch, und steck den Sensor da rein, zusammen mit Silikonfett, 
oder Klebstoff bei tieferen Temperaturen.

Die Fehler koennen sich addieren. Dabei ist zu sagen.. ja, 200 Grad ist 
eine Hausnummer. Was bedeutet diese Zahl ?  Es ist nur eine Zahl.
Was du willst ist zB Repetierbarkeit und Stabilitaet. Der absolute Wert 
ist weniger wichtig.

zB Mein Loetzinn ist ist mit 230 Grad angeschrieben. Den Loetkolben muss 
ich aber auf 350 Grad einstellen, damit auch etwas geschieht. Ob die 
Temperatur 5 Grad daneben ist, ist eigentlich nicht so wichtig.

Autor: rµ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was wär mit einem MAX31856? Der hätte immerhin 19 Bit Auflösung, kann 
man mit der eingebauten Linearisierung verwenden, und 
Kaltstellen-Messung und Kompensation ist auch eingebaut.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.