Forum: Mikrocontroller und Digitale Elektronik Für LM335: Vcc direkt am ADC messen?


von Y.wey T. (shurikn)


Lesenswert?

Hallo Leute!

Ich versuche gerade einen Temperaturmesser mit atmega32 und LM335 zu 
realiseren. Da der Sensor von der Betriebsspannung Vcc abhängt und 
momentan mein Experientierboard über USB Strom bezieht, ist die Vcc 
nicht konstant.

Meine Idee war anfänglich über einen Spannungsregler die Vcc für den 
Sensor zu stabilisieren. Aber dann fiel mir eine andere Idee ein:

Ist es möglich die Vcc, welche von der USB kommt, direkt an die ADC zu 
hängen um die effektive Spannung zu messen und so den Betriebsspannung 
der Sensor anzupassen? Oder kann man die atmega32 damit zerstören. Ich 
habe in einem anderen Beitrag gelesen, dass die Spannung, welche man an 
die ADC hängt, nicht grösser als die Vcc (mit der man die atmega 
betreibt) sein darf. In diesem Fall sollte das ja kein Problem sein. 
Oder, was meint ihr dazu?

Eine 2. Frage hätte ich noch: Und zwar habe ich zur Zeit 2 verschiedene 
LM335 Sensoren (LM335Z und LM335H), und weiss nicht welche besser für 
Terrarium-Technik geeignet ist. Was würdet ihr hierzu sagen?

Für euren Support bedanke ich mich im Voraus.

Freundliche Grüsse
Y.Wey

von STK500-Besitzer (Gast)


Lesenswert?

>Ist es möglich die Vcc, welche von der USB kommt, direkt an die ADC zu
>hängen um die effektive Spannung zu messen und so den Betriebsspannung
>der Sensor anzupassen?

ja. Mit einem Spannungsteiler und der internen Referenz kannst du die 
Versorgungsspannung messen.

von Volker S. (volkerschulz)


Lesenswert?

Y.wey T. schrieb:
> Ist es möglich die Vcc, welche von der USB kommt, direkt an die ADC zu
> hängen um die effektive Spannung zu messen und so den Betriebsspannung
> der Sensor anzupassen? Oder kann man die atmega32 damit zerstören. Ich
> habe in einem anderen Beitrag gelesen, dass die Spannung, welche man an
> die ADC hängt, nicht grösser als die Vcc (mit der man die atmega
> betreibt) sein darf. In diesem Fall sollte das ja kein Problem sein.
> Oder, was meint ihr dazu?

HAEH? Am ADC-Eingang misst Du die Spannung im VERHAELTNIS zu VREF oder 
VCC. Und wenn man VCC mit VCC vegleicht, durfte die Differenz immer 
ziemlich genau bei 0 sein (also maximaler ADC-Wert). ;)

Dewegen haengst Du VCC vom Sensor an VREF und schaust Dir die Differenz 
zur Ausgabe an...

Volker

von (prx) A. K. (prx)


Lesenswert?

Y.wey T. schrieb:

> Da der Sensor von der Betriebsspannung Vcc abhängt

Wieso? Der LM335 ist kein NTC/PTC. Du brauchst nur eine von VCC 
unabhängige Referenzspannung, wie der AVR sie bereits enthält, und einen 
Spannungsteiler am LM335, der die zu messende Spannung im gesamten 
interessanten Bereich unter diese Referenzspannung drückt.

von (prx) A. K. (prx)


Lesenswert?

@Volker: Verwechselst du da nicht den LM335 (10mV/K) mit einem PTC wie 
dem KTY81?

von Volker S. (volkerschulz)


Lesenswert?

A. K. schrieb:
> @Volker: Verwechselst du da nicht den LM335 (10mV/K) mit einem PTC wie
> dem KTY81?

Ich hab weder ueber den einen noch ueber den anderen nachgedacht. Der 
Fragesteller behauptet ja implizit dass der Messwert des Sensors mit 
seiner VCC schwanke. Und in solchen Faellen gilt immer:

Volker Schulz schrieb:
> Dewegen haengst Du VCC vom Sensor an VREF und schaust Dir die
> Differenz zur Ausgabe an...

Volker

von Y.wey T. (shurikn)


Lesenswert?

Danke für eure Antworten.

@ Volker
Ach stimmt doch... man könnte doch etwas dranhängen, bei dem man den 
Ampere-Wert und den Widerstand kennt, um dann den von ADC ermittelten 
Wert wieder ins die ursprüngliche Spannung umrechnen zu können.

@ STK500-Besitzer
Wie meinst Du das mit "Mit einem Spannungsteiler und der internen 
Referenz"? Kannst Du es mir genauer erklären? Bin sehr lernwillig... 
(=Anfänger) :-D

Ich geh mal schlafen: Uhrzeit in Japan = 23:51 Uhr :-(
Gute Nacht, und danke nochmals für euren Support.

Gruss
Y.Wey

von Y.wey T. (shurikn)


Lesenswert?

@A. K.
Wie meinst Du das genau mit "unabhängige Referenzspannung, wie der AVR 
sie bereits enthält"? Heisst es, dass die atmega bereits eine 
stabilisierte Spannung hergibt?

@Volker
Ist die Vref = Aref (Pin32 beim atmega32) gemeint?

Y.Wey

von (prx) A. K. (prx)


Lesenswert?

Y.wey T. schrieb:

> @ Volker
> Ach stimmt doch... man könnte doch etwas dranhängen, bei dem man den
> Ampere-Wert und den Widerstand kennt, um dann den von ADC ermittelten
> Wert wieder ins die ursprüngliche Spannung umrechnen zu können.

Volkers Antwort bezog sich auf Sensoren, die deiner urprünglichen Angabe 
entsprechend vom Wert von VCC abhängen. Da kürzt sich das raus. Beim 
LM335 nicht. Siehe dazu http://sprut.de/electronic/temeratur/temp.htm, 
die Lösung mit dem KTY81 ist im sehr eingeschränkten Bereich eines 
Terrariums gut einsetzbar.

> Wie meinst Du das mit "Mit einem Spannungsteiler und der internen
> Referenz"? Kannst Du es mir genauer erklären? Bin sehr lernwillig...
> (=Anfänger) :-D

Das was ich auch schrieb. Der AVR kann bei interner Referenz 0..2,5V 
messen. Hinter den LM335 muss also ein Spannungsteiler, der auch bei der 
maximal relevanten Temperatur, beispielsweise 30°C also 3,03V, noch 
unter diesen 2,5V liegt.

von (prx) A. K. (prx)


Lesenswert?

Y.wey T. schrieb:

> sie bereits enthält"? Heisst es, dass die atmega bereits eine
> stabilisierte Spannung hergibt?

Ja, als optionale Referenzspannung für den ADC. Die ist gut stabil, aber 
nicht sehr präzise, was eine einmalige Kalibrierung erforderlich macht. 
Siehe Datasheet.

von Volker S. (volkerschulz)


Lesenswert?

Y.wey T. schrieb:
> @Volker
> Ist die Vref = Aref (Pin32 beim atmega32) gemeint?

Juppa.

Auf die Anliegende Spannung kannst Du ja nur zurueckrechnen wenn Du die 
Spannungen bei dem Minimal- und dem Maximalwert kennst.

Sagen wir Du hast einen 10-Bit-ADC und eine Referenzspannung von 4.8 
Volt. Dann ist der Wert 0 = 0 Volt (GND) und der Wert 1023 = 4.8 Volt 
(Vref). Ein Wert von 511 (also 50% des Maximalwerts) entspraeche dann 
(linearitaet vorausgesetzt) 50% von Vref, also 2.4 Volt.

Alles, was A. K. gerade schrieb, gilt aber nach wie vor! ;)

Volker

von LM317 (Gast)


Lesenswert?

> Da der Sensor von der Betriebsspannung Vcc abhängt

Jungs macht mal Schluss. Die Ausgangsspannung ist !nicht! von der 
Betriebsspannung abhängig.

Der LM335 braucht halt einen entsprechenden Vorwiderstand.
Stellt euch den LM335 als "Z-Diode" mit +10mV/°K vor....

25°C = 298.15°K

Vout@25°C = 298.15*10mV = 2.9815V
Jedes weiter °C bzw. °K erhöht Vout um 10mV
Wenn du jetzt z.B 100°C messen willst hast du
Vout= 2.9815+10mV*(100°C-25°C) = 3.7315V

Laut Datenblatt muss der Strom durch den LM335 zwischen 400uA und 5mA 
liegen.

Damit können du nun den Vorwiderstand berechnen. Ich gehe von Vin = 5V 
(USB) aus
RVormax = (5V-3.7315V)/400uA = 3.17125kOhm
RVormin = (5V-3.7315V)/5mA   = 253.7Ohm

Somit brauchst du eine Vorwiderstand von 1kOhm und Gut ist.

Schau dir mal das Datenblatt an. Seite 6, Basic Temperatur Sensor...
http://www.national.com/ds/LM/LM135.pdf

Cheers
LM317

Fehler in den Berechnungen dürfen Behalten werden ;-)

von Volker S. (volkerschulz)


Lesenswert?

LM317 schrieb:
>> Da der Sensor von der Betriebsspannung Vcc abhängt
>
> Jungs macht mal Schluss. Die Ausgangsspannung ist !nicht! von der
> Betriebsspannung abhängig.

Das hatten wir doch schon geklaert und den Thread vor 7 Stunden ad Acta 
gelegt... ;)

Volker

von Y.wey T. (shurikn)


Lesenswert?

Hallo Leute!

Ich bin wirklich erstaunt wie viele helfwillige Leute es in diesem Forum 
gibt. Daaaankeeee. :-D

Ich werde mal die viele Informationen von euch verarbeiten, nachschlagen 
und versuchen sie umzusetzen. Ich melde mich wieder, wenn zu einem 
Resultat, oder nicht weiterkomme.

Besten Dank an euch allen

Y.Wey

von Anja (Gast)


Lesenswert?

>Somit brauchst du eine Vorwiderstand von 1kOhm und Gut ist.

Ganz so einfach ist es nicht. Ihr habt die Selbsterwärmung vergessen. 
Zumindest wenn die Lufttemperatur gemessen werden soll ist diese nicht 
zu vernachlässigen. Bei 1mA Strom (normalerweise verwende ich einen 
LM334 als Stromquelle) hat man zwischen Windboe und Windstille schon 
0,8Grad Temperaturunterschied.
Seit dieser Erfahrung schalte ich die Stromquelle nur noch ein wenn ich 
gerade tatsächlich eine A/D-Wandlung durchführe.

Außerdem würde ich bei dieser Anwendung bzw. Versorgung an der 
USB-Schnittstelle einen NTC verwenden.
Mit dem NTC kann ich ratiometrisch zur Versorgung messen -> die 
Versorgung als Referenz kürzt sich im idealfall heraus. Außerdem habe 
ich bei geschickter Wahl des Vorwiderstandes eine Auflösung von ca 0,1 
Grad bei 10 Bit A/D-Wandler (mit dem LM335 nur etwa 0,5 Grad)

von Y.wey T. (shurikn)


Lesenswert?

Ich muss gestehen, dass ich heute leider noch nicht dazu gekommen bin, 
die Informationen und Tipps von euch auszuprobieren.

@ Anja
Da ich neben der Steuerung für Terrarien noch einen Inkubator selber 
bauen möchte, ist es sehr wichtig, dass die gemessene Temperaturen 
zuverlässig sind (0,8 Grad ist relativ ungenau). Würdest Du für den 
Inkubator fertige Temperatur-Sensoren nehmen? Ich gehe mal davon aus, 
dass diese sicher zuverlässiger sind als die von mir selbstgebauten. 
Wenn ja, kannst Du mir welche empfehlen? Evtl hast Du ja schon mit 
einige Erfahrungen machen können.

Beste Grüsse
Y.Wey

von (prx) A. K. (prx)


Lesenswert?

Hiesiger Quasi-Standard für leidlich genaue Temperaturmessung ohne 
Kalibrieraufwand ist der DS18B20. Genauigkeit ab Werk 0,5°, Auflösung 
1/16°. Grosser Vorteil: Man kann analog wenig falsch machen, weil 
digital.

Wenn man die Feuchtigkeit ebenfalls brauchen kann, dann sind die (recht 
teuren) Sensirion SHT1x Typen interessant, die gleich beides liefern 
(SHT11: 0,4°, SHT15: 0,3°).

von Y.wey T. (shurikn)


Lesenswert?

Danke für deine Tipps! Ich werde mich mal über das Wochenende intensiv 
damit auseinander setzen.

Y.Wey

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.