mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Temperaturmessung 250-300° Atmel


Autor: Patrick Weggler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich suche eine Möglichkeit Temperaturen mit einem Atmega/tiny zu messen, 
wobei die obere Grenze im Bereich von 250-300° liegen muss.
Das ganze bräuchte ich gradgenau, möglichst billig und wenn's geht per 
i²c oder spi.

Kennt jemand eine Schaltung/ ein Bauteil was dies leisten kann?

Dank i.V.
Patrick

Autor: Blobb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Thermoelement.....

Autor: Blobb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Thermoelement (K-Type) und ein MAX 6675. Für SPI oder I2C ist mir 
níx bekannt.

Gruß,
Blobb

Autor: thermo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ein thermoelement mit opamp oder instrumentenverstärker verstärken und 
dann mit dem internen ad messen, alternativ ein externen ad über spi/i2c 
...

negative temperaturen auch?

Autor: Blobb (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, hatte ganz vergessen das der MAX6675 per SPI an den Controller
angebunden wird. Temp.-Bereich 0-1024 Grad Celsius, Auflösung 0,25 Grad.
Im Anhang das Datenblatt.

Gruß, Blobb.

Autor: Patrick Weggler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leider habe ich nur einen K-typ Sensor gefunden als ich diese Lösung 
fand und dieser Sensor kostet ~60€; daher stammt ja auch meine Frage...

GTT15150 im Geist-Electronic-Versand



Minimaltemperatur ist Raumtemperatur


Ich versuche den SMD-Ofen aus der Elektor 1/2006 nachzubauen!
http://www.elektor.de/default.aspx?tabid=28&art=5550657

Autor: K. B. (kbf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Thomas Pfeiffer beschreibt auf seiner Seite http://thomaspfeifer.net/, 
wie er den Ofen nachgebaut hat. Vielleicht findest du auf dieser Seite 
weitere Infos.

MfG
Karsten

Autor: Bernd Rüter (Firma: Promaxx.net) (bigwumpus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Proffesionelle Thermoelemente kannst Du bei Greissinger kaufen. Selbst 
da sollten sie billiger als 60€ sein. (Ich habe da noch welche liegen, 
die ich nicht brauchen kann).
Und dann kannst Du bei allen Versendern NiCr-Ni-Elemente kaufen, die 
ohne Verpackung sind, also nur Adern in Glasseide o.ä. mit Stecker. Die 
liegen selbst einem 30€ Multimeter bei.

Autor: Patrick Weggler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie genau ist das Messen mit einer 1N4148?

Autor: Björn Wieck (bwieck)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Patrick Weggler wrote:
> Wie genau ist das Messen mit einer 1N4148?

In dem Temperaturbereich garnicht..

Autor: Christoph Kessler (db1uq) (christoph_kessler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich fürchte, bei dunkler Rotglut wird aus dem Silizium wieder der Sand, 
aus dem es gewonnen wurde. Die max. Temperatur für Siliziumhalbleiter 
bevor bleibende Veränderungen auftreten liegt irgendwo bei 250°C

Autor: Lothar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Diode macht die 300° mit Sicherheit nicht mit. Löten ist da auch 
nicht mehr.
Günstig und evtl. ohne Zusatzhardware wäre ein PT1000. Mit Oversampling 
und Kennlinienlinearisierung sollten 1° möglich sein...
... aber wie eichen ?? ;o))

Autor: Dieter Werner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Das ganze bräuchte ich gradgenau ....

Das halte ich für illusorisch, da der Temperaturgradient innerhalb des 
Ofens ein Vielfaches davon ist.

Als Anhaltspunkt:
Ein Thermoelement Typ K nach DIN IEC 584 hat in Genauigkeitsklasse 1 
(das ist die beste bei Standardelementen) von 0 bis 350°C einen Fehler 
von +-1,5 Grad.
In Klasse 2 ist der Fehler +-2,5 Grad.

Dazu kommen noch die Abweichungen der Vergleichsstelle und der 
Messwertverarbeitung (Verstärkung, Linearisierung), geschätzt jeweils 
0,5 bis 1 Grad.

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Lothar

>und Kennlinienlinearisierung sollten 1° möglich sein...
>... aber wie eichen ?? ;o))

Beim Eichamt. Für teuer Geld. Aber auch "nur" kalibrieren wird nicht so 
einfach.

MFG
Falk

Autor: Branko Golubovic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Uber Temperaturmessung mit K-Type Thermoelement im Bereich von
 -50°C bis 500°C habe ich schon geschrieben.
Voraussetzung:
 ATmega mit Differenz-Versärker, Gain200(Atmega16,32,64,128).
Als externe Beschaltung ist nur noch ein 2K7(1%) Widerstand,
5K Spindelpoti für Aref einstellung und
ein KTY81-110 Temperaturfühler für Raumtemperaturkompensierung 
notwendig.
Beitrag "Re: ADC im Messbereich kleiner 1V"

Branko

Autor: Patrick Weggler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

und gibt es alternativ auch eine ungenauere Lösung, welche dann 
einfacher werden würde?

Autor: Patrick Weggler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe gerade bei Reichelt einen KTY 84-130 entdeckt.
Ware der geeignet wenn ja wie ansteuern und wie auswerten?

Autor: Sonic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Aber auch "nur" kalibrieren wird nicht so einfach.

Wieso denn nicht? Wird bei uns auf Arbeit täglich gemacht. Und zwar auf 
0.5% genau. Das geht mit Burster-Kalibratoren oder mit präzisen 
Widerständen für Nullpunkt und Spanne, diese anstelle des PT100 (PT1000) 
anschließen.

Ich habe sowas auch mal mit PT100 gebaut (Nebelmaschine, regelt bei 
250°C), Stromspiegelschaltung (mit CA3046) und 5V-Spannungsregler als 
1mA-Konstantstromquelle, 4-Leiterschaltung, Messen mit Tiny26 
differentiell, Verstärkung x20 (glaub'ich). Funktioniert prima, 
Genauigkeit liegt bei ca. 2%, je nach TK der Widerstände und Potis.

Autor: Mr. Thermo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich nehme einfach eine Ausgleichsleitung für Typ K und verdrille einfach 
ein Ende. Schon habe ich mein Thermolement Typ K für ca. 3 €.

Autor: Sonic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mache ich normalerweise auch so, aber bei 250-300°C tropft dir die 
Isolation weg. Da braucht's schon einen vernünftigen Geber.

Autor: Mr. Thermo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> Das mache ich normalerweise auch so, aber bei 250-300°C tropft dir die
>> Isolation weg. Da braucht's schon einen vernünftigen Geber.

Kommt auf die Leitung an. Bei einer Leitung mit Teflon oder Silikon 
Isolierung machen die 300°C nicht viel aus. Darf halt kein PVC sein!

Autor: Patrick Weggler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@sonic
hättest du mir davon irgendwie einen Schaltplan?

@Mr Thermo
Ich verstehe nicht wie du das meinst?
>>einfach eine Ausgleichsleitung für Typ K und verdrille einfach
ein Ende

Autor: Patrick Weggler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Könnte ich auch einen solchen hier einfach missbrauchen? Und ließe er 
sich mit dem Max 6675 auslesen oder nur per AD?

Autor: Patrick Weggler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Sonic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Patrick:
bin auf Arbeit, heute nachmittag werde ich die Schaltung posten. Die 
Konstantstromquelle habe ich hier schon mal 'reingestelle:
Beitrag "Konstantstromquelle im µA-Bereich"

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Sonic

>>Aber auch "nur" kalibrieren wird nicht so einfach.

>Wieso denn nicht? Wird bei uns auf Arbeit täglich gemacht. Und zwar auf
>0.5% genau. Das geht mit Burster-Kalibratoren oder mit präzisen
>Widerständen für Nullpunkt und Spanne, diese anstelle des PT100 (PT1000)
>anschließen.

Ja eben, dieser Aufbau läuft bei mir nicht unter "einfach".

>Ich habe sowas auch mal mit PT100 gebaut (Nebelmaschine, regelt bei
>250°C), Stromspiegelschaltung (mit CA3046) und 5V-Spannungsregler als
>1mA-Konstantstromquelle, 4-Leiterschaltung, Messen mit Tiny26

1mA? Heizung gegen vereisen des Sensors? ;-)

MfG
Falk

Autor: Dieter Werner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 1mA? Heizung gegen vereisen des Sensors?

Hä?  Das sind 0,1mW.

Bei einem Wärmewiderstand von 1000K/W würde sich der Sensor immerhin um 
gewaltige 0,1 Grad erwärmen.

Tolle Heizung.

Autor: Sonic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 1mA? Heizung gegen vereisen des Sensors?

In der Industrie (ältere Technik) sind 2.5mA normal. <1mA ist nur nötig 
wenn der Sensor in unbewegter Luft misst.

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Sonic

>> 1mA? Heizung gegen vereisen des Sensors?

>In der Industrie (ältere Technik) sind 2.5mA normal. <1mA ist nur nötig
>wenn der Sensor in unbewegter Luft misst.

OK, mein Fehler. Ich hatte im Studium mal was mit PT1000 gebaut, dort 
waren 100uA der Standardwert.

MFG
Falk

Autor: Sonic (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@Falk:
klar, am PT1000 haste auch einen höheren Spannungsabfall.

@Patrick:
hier die komplette Schaltung der Nebelmaschine.

Autor: Patrick Weggler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Danke! Hättest du mir noch den Programmteil der den Sensor einließt 
(wenn du's in C hast)
oder könntest du mir nur kurz die wichtigsten Steps nennen?

Gruß
Patrick

Autor: Sonic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du meinst die AD-Wandlung?

Die Einstellung des ADCs musste dir für den Tiny26 halt aus dem 
Datenblatt 'raussuchen, habe die Bits nur binär (ohne Bezeichnung) da:
// Einstellungen für AD-Wandler  
  
  ACSR = 0b10000000;
  ADCSR = 0b10010110;
  ADMUX = 0b01001011;
und hier die ADC-Funktion:
void ADC_conversion(void)  // Spannung über pt100 messen (32 Messswerte-Mittelwert)
{  
    int ADC_temp;
    int ADCresult = 0;
    unsigned char i;
    
    for(i=0;i<32;i++)           // 32 Messungen für bessere Genauigkeit 
    {
      ADCSR |= (1<<ADSC);   // 'single conversion' einleiten
      while(!(ADCSR & 0x10));  // auf ende der Wandlung warten, ADIF flag '1'
      ADC_temp = ADCL;   // ADCL Register lesen
      ADC_temp += (ADCH << 8); // ADCH Register lesen      
      ADCresult += ADC_temp;   // Ergebnisse der 32 Messungen addieren
    }
    ADCresult = ADCresult >> 5;     // Addierte Ergebnisse durch 32 teilen
    ADCresult_average = ADCresult;   // Mittelwert der 32 Messungen der globalen Variable zuweisen

  return;
}  

Das Ganze ist schon etwas älter, geht also eleganter. So funktioniert's 
jedenfalls.

Autor: Patrick Weggler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>Du meinst die AD-Wandlung?

Eigentlich die Umrechnung AD-Wandlungsergebniss in Temperatur.

Autor: Sonic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das habe ich aus Platzgründen hier nicht gemacht. Aber an ein bischen 
Mathematik wird's wohl nicht scheitern, oder? ;-)

Z.B.:
Bereich 0..250mV => 0..1023 (Faktor x20 beim Tiny26)
Messergebnis z.B. 400

also: Bereich  = (250 / 1023)
      Messwert = Bereich * Messergebnis

Das wäre (250 / 1023)*400 = 97.75 Ohm

Umrechnung in Temperatur entsprechend dem Fühler.

Du kannst auch die Kennlinie in einem ext. EEPROM in Form von 
1-byte-Korrekturfaktoren für die 1023 Messwerte hinterlegen und dann nur 
den Entsprechenden Wert dort 'holen'.

Autor: Sonic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ups..
>Das wäre (250 / 1023)*400 = 97.75 Ohm
sind natürlich mV, nicht Ohm!

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.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

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