www.mikrocontroller.net

Forum: Mikrocontroller und Elektronik Temperaturmessung 250-300° Atmel

Autor: Patrick Weggler (Gast)
Datum: 26.03.2007 20:04

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: 26.03.2007 20:06

Ein Thermoelement.....
Autor: Blobb (Gast)
Datum: 26.03.2007 20:08

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

Gruß,
Blobb
Autor: thermo (Gast)
Datum: 26.03.2007 20:09

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: 26.03.2007 21:22
Dateianhang: MAX6675.pdf (130,1 KB, 180 Downloads)

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: 26.03.2007 22:06

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: 26.03.2007 22:31

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 (bigwumpus)
Datum: 26.03.2007 23:06

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: 27.03.2007 12:28

Wie genau ist das Messen mit einer 1N4148?
Autor: Björn Wieck (bwieck)
Datum: 27.03.2007 12:35

Patrick Weggler wrote:
> Wie genau ist das Messen mit einer 1N4148?

In dem Temperaturbereich garnicht..
Autor: Christoph Kessler (Firma db1uq) (christoph_kessler)
Datum: 27.03.2007 12:38

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: 27.03.2007 12:38

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: 27.03.2007 13:46

> 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: 27.03.2007 13:53

@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: 27.03.2007 15:10

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 "ADC im Messbereich kleiner 1V"

Branko
Autor: Patrick Weggler (Gast)
Datum: 27.03.2007 17:58

Hallo,

und gibt es alternativ auch eine ungenauere Lösung, welche dann
einfacher werden würde?
Autor: Patrick Weggler (Gast)
Datum: 27.03.2007 18:05

Habe gerade bei Reichelt einen KTY 84-130 entdeckt.
Ware der geeignet wenn ja wie ansteuern und wie auswerten?
Autor: Sonic (Gast)
Datum: 27.03.2007 18:18

>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: 27.03.2007 18:43

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: 27.03.2007 18:44

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: 27.03.2007 20:55

>> 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: 28.03.2007 02:11

@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: 28.03.2007 02:31

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: 28.03.2007 02:32

Autor: Sonic (Gast)
Datum: 28.03.2007 07:00

@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: 28.03.2007 08:50

@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: 28.03.2007 09:23

> 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: 28.03.2007 14:24

> 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: 28.03.2007 14:41

@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: 28.03.2007 16:49
Dateianhang: Nebelmaschine.jpg (241,7 KB, 131 Downloads)
preview image for Nebelmaschine.jpg

@Falk:
klar, am PT1000 haste auch einen höheren Spannungsabfall.

@Patrick:
hier die komplette Schaltung der Nebelmaschine.
Autor: Patrick Weggler (Gast)
Datum: 28.03.2007 20:03

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: 28.03.2007 20:13

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: 29.03.2007 00:34

>>Du meinst die AD-Wandlung?

Eigentlich die Umrechnung AD-Wandlungsergebniss in Temperatur.
Autor: Sonic (Gast)
Datum: 29.03.2007 06:59

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: 29.03.2007 08:33

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

Antwort schreiben

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

Wichtige Regeln - erst lesen, dann posten!

  • Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
  • Aussagekräftigen Betreff wählen
  • Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
  • JPEG-Dateien (.jpg) nur für Fotos verwenden, Schaltpläne, Screenshots usw. als PNG oder GIF anhängen

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel





Hinweis: der Originalbeitrag ist mehr als 6 Monate alt.

webmaster@mikrocontroller.netImpressumWerbung auf Mikrocontroller.net