PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Temperaturmessung



Unregistriert
14.07.2004, 19:13
Hi

Wollte euch fragen, wie ich am besten eine Temperaturmessung zwischen 5 und 25 Grad realisieren könnte.
Ein µC ist vorhanden (noch kein Typ)

MFG
Willi

hellraiser
14.07.2004, 21:51
Nimm einen DS1620 oder so etwas ähnliches... klein und ziemlich genaue messung.
Den kannst du an deinen uC anschliessen.
Was mich aber dennoch interessiert: wenn schon ein uC vorhanden ist, wieso ist dir dann der Typ noch unbekannt? ;)

elmar
14.07.2004, 23:40
Hi,

falls Du einen analogen Eingang hast, langt für diesen temperaturbereich ein simpler KTY10 (Spannungsteiler mit R).

Gruß
Elmar

Unregistriert
21.07.2004, 01:25
Hi

Also der Typ ist schon bekannt: AT89S8252

Mein weiteres Problem ist, dass ich an min. 5 Stellen die Temperatur messen soll (sollte wenigstens aufs °C genau sein).

MFG
Willi

Mr.Elektron
21.07.2004, 08:02
Hi,
was du brauchst ist entweder ein AD-Wandler mit mind. 5 Eingängen oder einen einfach-Wandler mit einem vorgeschaltetem Multiplexer.
Für deinen Temp.Bereich müsste ein 8Bit-Wandler ausreichen.
Bsp Temp.Bereich 5...25°C ==> Delta T = 20 K(elvin)
20K / 8Bit = 20K/256 = 0.078 also Auflösung ca 0.1K . Damit müsstest du deine Genauigkeit (entsprechende Analogtechnik und Layout vorausgesetzt) locker hinbekommen.

Gruß
Michael

Unregistriert
21.07.2004, 12:24
Hi

Kennst du vielleicht so einen IC, welcher min. 5 8bit AD - Wandler besitzt?

oder einen mit nur einen 8bit - AD Wandler und einen MUX?

Wo könnte man sich am besten informieren, welche IC es gibt, da ich nach 10 Minuten googlen noch nicht besonders viel gefunden habe.

MFG
Willi

AndreasH
21.07.2004, 13:16
Der 80C537 hat 11 AD-Wandler.
Kann die gleichen Befehle wie der AT89S8252.

Dabei ist jedoch zu bedenken, daß der schon jede Menge Euros kostet. Zudem noch 8 Fühler.

Es gibt ein IC (LM75) dies ist ein Temperaturfühler (+/- 0,5K) der über den I2C-Bus eingelesen werden kann. D.h. nur 2 digitale Ports werden belegt.
Zu I2C und LM75 gibt es auch jede Menge Beispiele.
Allerdings weiss ich nicht welche Entfernungen man im I2C machen kann.

Grüße
Andreas

elmar
21.07.2004, 14:17
Hi,


verlangsamt man das Timing und benutzt heftige Pullups, kann man an die 100m und mehr über TP Kabel erreichen. Bei höheren Geschwindigkeiten ist bei 20m Sense. Bei grossen kabellängen sollte dann ein kleiner µC als Repeater dienen bzw. man sollte dann einen µC auf RS232 umsetzen lassen. Da sind (per MAX232) 500m und mehr drinn.

Gruß
Elmar


Bei High-Speed und mehreren Komponenten kann man nur mit 5-10m rechnen.

Mr.Elektron
21.07.2004, 15:09
Hi,
geh mal auf www.national.com . Dort findest du eine große Auswahl an seriellen ADCs, bsp ADC107xx Bei Linear technologies www.linear.com gibts auch was zum Thema bsp. LTC1286. Die Dinger sind einfach zu proggen und funzen auch gut. Für einen LTC1298 (nur 2 Eingänge 12Bit) kannst du von mir einen C-Code bekommen.
Gruß
Michael

MacSeck
21.07.2004, 23:43
Nimm einen KTY oder irgendeinen NTC und einen NE555 Timer, dessen Frequenz Du locker messen kannst.

Der KTY10 hat bei 20Grad etwa 2kOhm und bei 100 Grad so um die 3,5kOhm.
NTCs irgendwo dazwischen, aber die gehorchen einer e-Funktion. Macht nix, die kannst Du locker per Tabelle rausrechnen; allemal genau genug.

Je nach Aufwand (wenn Du Real-Arithmetik zur Verfügung haben solltest), geht das auch mit einer Ausgleichsgeraden bzw. Parabel.
Paar Messwerte aufnehmen im interessanten Bereich, bisschen Matritzenrechnung und schon hast Du die Koeffizienten:

Temp = a*adWertQuadrat + b*adWert + c zum Beispiel:)

elmar
22.07.2004, 09:39
Hi,

wir haben mal digital parameterisierbare Temperatursensoren getestet. Der Sensor erzeugt eine analoge Spannung proportional zur Temperatur. Die nachfolgegeneration ist mit digitalausgang. Da die noch nicht verfügbar waren, hat der Hersteller eine Schaltung geschickt, mit der wir das simulieren können:

Ein Dreieckgenerator und ein Komparator. Der Komparator vergleicht die Temperaturspannung mit einem Dreieck und erzeugt so eine PWM proportional zur temperatur. Ein µC braucht nur die Pulslängen messen.

Gruß
Elmar

homebrew
08.11.2004, 23:17
Hallo Michael,
ich habe gerade auch so einen LTC vor mir liegen und versuche den Code für winavr zu schreiben. Leider bin ich noch nicht so erfahren. Könntest Du mir deinen Code zwecks Studien bitte mal zusenden? (homebrew at x-mail.net)
Wäre total klasse.
mfg
Werner

Hi,
geh mal auf www.national.com . Dort findest du eine große Auswahl an seriellen ADCs, bsp ADC107xx Bei Linear technologies www.linear.com gibts auch was zum Thema bsp. LTC1286. Die Dinger sind einfach zu proggen und funzen auch gut. Für einen LTC1298 (nur 2 Eingänge 12Bit) kannst du von mir einen C-Code bekommen.
Gruß
Michael

r00t
09.11.2004, 04:07
Hallo,


es gibt noch den ADC0809, das ist ein 8 mal 8 Bit ADC. Die Datenübertragung ist parallel. Den kannst du an den Daten und Adressbuss des µCs anschliessen. Dannst du mit dem DPTR die zu lesende Adresse (bzw den zu messenden eingang des ADC´s) bestmmen und dir mit einem MOVX den Wert holen. Günstig ist dieser ADC auch. Nur 2,70 Eumels bei Reichelt.

viele Grüße
Michael

Winnie
09.11.2004, 11:24
Ich habe nicht alle Beiträge gelesen, also nicht ärgern falls jetzt hier etwas doppelt sein sollte.

Der DS18B20 von Dallas (Maxim) kann Temperaturen von -55°C bis 125°C messen, wobei eine Genauigkeit im Bereich von -10°C bis 85°C bei 0,5°C erreicht wird. Diese Teile gibt es u. a. in einem TO-92 Gehäuse. Die Sensoren können zu mehreren parallel (an einem Bus) verschaltet und einzeln ausgelesen werden. Hierzu benötigt man max. 3-Leitungen.

Gruß Winnie

Elektrikser
09.11.2004, 22:19
Der DS18S20 ist allerdings nicht wasserfest. Man sollte, wenn man in draussen verwendet, abdichten oder eingiessen.
Wenn er mal abgesoffen ist, geht er komischerweise um 3°C falsch.
Das Timing von dem I-Wire-Bus ist ein bißchen kritisch, aber durchaus in den Griff zu kriegen.

Gruß Gerd G.

Frank-de
12.11.2004, 17:33
DS 1820 mit One-Wire ist gut, da es dafür auch viel an fertigen Routinen für die diversen Controller gibt.

Nur bei längeren Leitungen die Kabel gut mit Überspannungsdioden versehen.

Sensor ab besten mit Schrumpfschlauch mit Innenkleber überziehen.

sparky
23.11.2004, 01:39
@Gerd G.,
zeigt dein DS18S20 zu viel oder zu wenig an? Ich habe ihn zu Testzwecken mit Kältespray eingesprüht. Bei der erwärmung Kondensiert auch Wasser auf der Oberfläche. Ich meine, mein DS1820 misst zuviel, ich muss es aber mal mit einem Laborthermometer vergleichen.

Mfg,
Kurt

Elektrikser
23.11.2004, 11:26
Bei mir sind es 3°C zu wenig. Allerdings machte ihm Kältespray bei mir nichts aus. Ich hatte ihn zum Testen ins Eiswasser gelegt (um zu sehen, ob die 0° stimmen). Allerdings war die Plasiktüte in dem er drin war, nicht dicht, und ist vollgelaufen. :mad: Zuerst zeigte er nichts an und nun diese 3°C beständig falsch.

Im mikrocontroller.net-Forum war mal ein Thread, die hatten dasselbe Problem. Da gab es sogar einen Hinweis, dass man die Sensoren "backen" kann, damit sie wieder richtig anzeigen...
Peter Dannegger wird sich daran noch erinnern.

Gruß Gerd G.

Hans
23.11.2004, 18:49
Der DS18S20 ist genau und zuverlässig. Und da jedes 1-wire Teil eine eigene ID-Nummer besitzt, kannst du gleich mehrere an einen Draht hängen. Zusätzlich brauchst du noch die Masse und Versorgung und damit hat sichs. Der Rest ist Software. Allerdings ist die Ansteuerung nicht allzu schwierig, denn im Datenblatt ist es sehr gut beschrieben.

Liebe Grüsse, Hans

HansJürgen
11.01.2005, 08:33
Hallo,

hätte auch gern den WinAVR-Code oder BASCOM für die Ansteuerung eines LTC1286! Wer kann helfen? Danke!

Achmed
20.02.2006, 11:40
Und zwar möchte ich mit der parallelen Schnittstelle meines PC's die Umgebungstemperatur messen:
Könnt ihr mir dabei helfen

Winne
20.02.2006, 11:49
klar wen du schon eine genaure idee hast, auf welchem weg du das tun möchtest.


einfache ADU,
µC( welcher?)
messwandler (welcher)
Stromversorgung woher ?
.....

Elektrikser
20.02.2006, 13:31
Servus,

wie groß darf der Aufwand den sein?
Kannst du eine Programmiersprache?

Vielleicht ist das etwas für dich?
http://www.franksteinberg.de/lm75.htm

Gruß Gerd G.

Achmed
21.02.2006, 11:59
Danke
Diese Informationen sind für mich sehr nützlich.

Achmed
19.04.2006, 17:35
Ich möchte die Temperatur mittels Visual Basic anzeigen lassen.
Ich habe es probiert.
Aber ich glaube, dass der Code nicht fehlerfrei ist, weil bei 18°C, 7.5°C angezeigt wird.
Wer kann mir weiterhelfen!!!!!!!!

elmar
20.04.2006, 00:02
Hi,

schau mal, ob die temperatur 9,5°C anzeigt, wenn Du den Sensor 2°C wärmer machst. Wenn ja, dann ist das höchstwahrscheinlich ein Offsettproblem. Einfach einen passenden Korrekturwert hinzuaddieren und gucken, ob Du bei Eiswasser ziemlich genau auf 0°C kommst.

Gruß
Elmar

Achmed
20.04.2006, 09:00
Wenn ich es um 2°C erwärme dann zeigt es 23,5°C an.

elmar
20.04.2006, 13:44
Hi,

das sieht mir danach aus, als wären die Wertigkeiten in der Binärzahl vertauscht!

Gruß
Elmar

Achmed
26.04.2006, 19:20
Ich habe die Schaltung noch einmal aufgebaut und habe festgestellt, dass, wenn ich den IC nicht berühre 63,5°C messe, ansonsten 30°C.
Woran kann das denn liegen?

sparky
26.04.2006, 20:36
Nur mal geraten:
Hast du an die PullUp Widerstände gedacht? Mach mal von Pin 1 und 2 des LM75 je 4,7kOhm gegen 5V.

Achmed
26.04.2006, 21:17
Ich habe die Schaltung, ohne Veränderungen vorzunehmen, einfach nachgebaut.
Wenn diese Pull Up Widerstände nötig sind wie soll ich sie anschließen?
Vielleicht von Pin 9 vom Druckerkabel zum Pin1 und Pin2 vom IC.

Achmed
26.04.2006, 21:25
Von meiner Druckerschnittstelle bekomme ich statt 5V nur mehr 3.4V.
Kann das daran liegen?
Ich muss diesen Temperatursensor Morgen fertig haben.
Bitte um Hilfe!!!

sparky
26.04.2006, 21:44
Im Datenblatt ist extra ein 3,3V Typ angegeben. Ich bin mir nicht sicher, ob der 5V Typ noch mit 3,3V läuft. Aber es steht zumindest so auf der obigen hompage.

Datenblatt: http://www.lysator.liu.se/~alla/files/lm78_stuff/LM75.pdf

Die Widerstände von Pin 1 bzw. 2 zu Pin 8 des LM75.

Achmed
26.04.2006, 21:56
Wozu ist dann der 330 Ohm Widerstand?
Schaltung:
http://www.franksteinberg.de/lm75.htm

sparky
26.04.2006, 22:07
So ganz verstehe ich den auch nicht. Ich würde sagen, der dient dazu dass der PC auch Daten an den LM75 senden kann.

Achmed
26.04.2006, 22:17
Danke vielmals.
Ich werde es ausprobieren und wenn es wieder nicht funktioniert, dann melde ich mich wieder.

elmar
27.04.2006, 11:07
Hi,

der 330 Ohm Widertsnd ist ein Pull up Widerstand. der Zieht die Datenleitung (SDA) auf definiertes Potential, dass vom Pin "Auto feed" kommt. Der Sensor kann die Leitung nur nach Masse ziehen oder nicht. Dadurch wird ein sauberer HIGH/LOW Pegel erreicht. Bei der Programmierung ist wichtig, dass die Leitung "Auto Feed" einen HIGH Pegel führt. Die muss also vorher auf HIGH geschaltet werden, damit es funktioniert.

Gruß
Elmar

Achmed
27.04.2006, 12:56
Der Temperatursensor spuckt falsche Werte aus.
Nähmlich 63.5°C bei Raumtemperatur!!!!
An was könnte das liegen?

elmar
27.04.2006, 13:52
Hi,

miss mal ob die Leitung "Auto Feed" High potential führt.

Gruß
Elmar

Achmed
27.04.2006, 14:12
Ja, es liegt High an.
Die Schaltung passt, die Programmierung auch aber es wird eine falsche Temperatur angezeigt.

elmar
27.04.2006, 14:53
Hi,

wenn die Spannung zu gering ist für den Sensor, könnte es fehlfunktionen geben. Klemm einfach eine Mignonzelle in den Stromversorgungspin dees Chips um 1,5V mehr Gas zu geben. Wenn es dann funktioniert wissen wir warum und können weitere Experimente machen um das in den Griff zu kriegen.

Gruß
Elmar

Achmed
28.04.2006, 17:50
Die Versorgungsspannung war zu klein.
Ich habe eine 5V Spannungsquelle hergenommen und es funktioniert jetzt.
Danke für die Hilfe..

elmar
28.04.2006, 18:27
Hi,

dann halbier R1. Tiefer als 330 ohm darfst Du keinesfalls gehen, aber etwa 1k sollte dem Pc nichts ausmachen.

Gruß
Elmar