Go Down

Topic: LM334 als Temperatursensor verwenden (Read 2634 times) previous topic - next topic

Neustratege

Hallo Leute, ich habe mal wieder ein paar Fragen, und hoffe das mir jemand helfen kann.

Und zwar will ich mit einem LM334 die Temperatur von Wasser messen, welche zwischen 20-28°C liegt. Ich weiß mittlerweile, das der LM334 eine Konstantstromquelle ist, und ich über den Analogen Eingang des Arduino die an einem Widerstand abfallende Spannung messen muss.

Allerdings blicke ich noch nicht so wirklich durch, wie ich so eine Schaltung aufbauen müsste.  Die Aufteilung der einzelnen mV Schritte am analogen Eingang, also, wie dieser die Werte bestimmt. Das habe ich soweit schon raus. Mein Problem ist nur, dass ich nicht wirklich verstehe wie sich der LM334 überhaupt aufbaut.

Außerdem, weiß ich noch nicht wie ich ihn am besten im Becken anbringen soll:

-Ich hab schon darüber nachgedacht, Kabel an die Anschlüsse zu löten und alles mit Silikon abzudichten. Oder, evt. den LM in einen Strohalm zu stecken, und den Strohalm am unteren Ende mit nem Feuerzeug zusammen zu schweißen. Allerdings, ist ja selbst dünnes Plastik ein eher Träger Wärmeleiter. 

-Wäre da die Idee gut, ein ca. 1,5mm dicken Kupferdraht am LM anzubringen, und diesen ins Wasser zu legen?

Hat evt. schonmal jemand etwas ähnliches gemacht?

Danke im Voraus!

Serenifly


uwefed

Der LM334 ist eine Konstantstromquelle.
Wenn Du jetzt einen Widerstand nimmst (ich meine Widerstand , einen solchen mit bunten Kringeln) dann änder der seienn Widerstand kaum mit der Temperatur schon gar nicht bei einem Temperaturunterschied von 8°C.
Wenn Du einen NTC oder PTC nimmst dann ändert sich der Widerstand mit seine Funktion aber immernoch um wenige % bei 10 °C.

Nimm einen anderen Temperatursensor.

Nimm zB als Sensor einen wasserfesten DS18s20. Einfach nach DS18s20 und "wasserfest" oder "waterproof" suchen. Der sollte dann aber nur für die Länge des Stahlrohrs eingetaucht sein. Ansosten mittels eines Schrumpfschlauchs mit Heißkleber (gibt es schon fertig zu kaufen) kannst Du die Verbindungsstelle Stahlrohr zu Kabel nochmal versiegeln.
Grüße Uwe

EDIT: War schon jemand schneller  :* :* :*

Serenifly


Der LM334 ist eine Konstantstromquelle.
Wenn Du jetzt einen Widerstand nimmst (ich meine Widerstand , einen solchen mit bunten Kringeln) dann änder der seienn Widerstand kaum mit der Temperatur schon gar nicht bei einem Temperaturunterschied von 8°C.

Du solltest vielleicht mal das Datenblatt lesen:
http://www.ti.com/lit/ds/symlink/lm334.pdf
Seite 7.

Das Ding ändert seinen Strom mit der Temperatur. Es gibt Schaltungen mit 10mV/K. Damit ist aber auch nicht besser als die 0,5° Auflösung eines digitalen Sensors und es ist um einiges komplizierter. Wobei der DS18B20 sogar höhere Auflösungen macht. Ob das dann der Realität entspricht ist was anderes.



uwefed



Du solltest vielleicht mal das Datenblatt lesen:
http://www.ti.com/lit/ds/symlink/lm334.pdf
Seite 7.

Das Ding ändert seinen Strom mit der Temperatur. Es gibt Schaltungen mit 10mV/K. Damit ist aber auch nicht besser als die 0,5° Auflösung eines digitalen Sensors und es ist um einiges komplizierter. Wobei der DS18B20 sogar höhere Auflösungen macht. Ob das dann der Realität entspricht ist was anderes.


Ok, man kann den LM334 als Temperatursensor mißbrauchen äh verwenden. Dazu braucht man aber 2 bis 3 Widerstände. Ein LM35 ist da einfacher. Da brauchst Du keine Widerstände.  Ok, der LM35 ist teurer... der DS18s20 auch.

Grüße Uwe


Neustratege

Okay, Dankeschön!

Den DS18B20 hab ich mir jetzt mal bestellt. Und, durch die libaries scheint es ja zumindest mit einem einzelnen Temperatursensor auch relativ einfach zu sein.  Ich wollte mich mal nach dieser Anleitung hier richten http://thomu77.wordpress.com/2013/06/14/arduino-temperaturmessung-mit-ds18b20/

Was ich mich nur Frage, wofür ist der 4,7K-Pullupwidersatnd zwischen 5V und dem digitalen Eingang?

Serenifly

#6
Mar 04, 2014, 11:03 pm Last Edit: Mar 04, 2014, 11:09 pm by Serenifly Reason: 1
Das ist normal bei OneWire und I2C. Der Pegel ist normal High und die Devices ziehen die Leitung auf Low zur Kommunikation.

Diese Lib ist gut:
http://milesburton.com/Dallas_Temperature_Control_Library
Es gibt auch eine neuere OneWire Lib:
http://www.pjrc.com/teensy/td_libs_OneWire.html

Mehrere Sensoren sind auch ganz einfach. Da lässt man erst mal das Test Programm laufen um die Adressen zu erhalten. Dann legt man einfach für jeden Sensor eine Adresse oder ein Array aus Adressen an und kann die dann darüber gezielt ansprechen. Siehe die Beispiele in der Lib.

uwefed

Damit Du mehrere Sensoren auf die gleiche Leitung schalten kannst dürfen sie nicht H nd L ausgeben da ansonsten bei ungünstigen Fällen ein Kurzschluß zwischen 5V und Masse auftritt. Das verhindert man indem der Ausgang die Leitung nur auf L schalten kann (mittels eines Transistors). Damit auch H-Pegel übertragen werden können nimmt man den Widerstand der die Leitung auf H (5V) zieht. Der Widerstand begrenzt den Strom auf für den Ausgangstransistor akzeptable Werte. So können mehrer Ausgänge nacheinander abgefragt werden und wenn durch einen blöden Zufall mal 2 gleichzeitig antworten, gehen die Ausgänge nicht kaputt sondern die Datenübertragung funktioniert nicht.

Grüße Uwe

Go Up