Wenn man eine analoge
Lösung wünscht, kann man mit nebenstehender Schaltung arbeiten. Die
gezeigte Dimensionierung ist für Ubat =12 V ausgelegt, muss aber auf andere Spannungen
und Anforderungen umdimensioniert werden.
Hier "hängen" der LMx35 und die Referenzspannung an Vbat
(Plus) und stehen nicht, wie üblich, auf Masse. Vref liegt
mindestens (P1 = 0) um -2V5 unter Vbat, was einer unteren
Messbereichs-Temperatur von -23,15 °C entspricht. Vref lässt
sich durch P1 anheben. Der Spannungsabfall am LMx35 steigt mit 10 mV/K,
Vtemp sinkt deshalb. Diese Spannung wird durch die
gesteuerte Stromquelle um U1 in einen Strom Imess
umgewandelt, der an Rmess einen Spannungsabfall erzeugt, der
dann gemessen wird. Durch die Spannungs-Strom-Wandlung darf Ubat etwas Schwanken, es werden also keine großen Anforderderungen an die Stabilität gestellt.
LM135 oder LM335? Nach meiner Erfahrung ist der LM135 besser selektiert
in der absoluten Genauigkeit (0 °C = 2,7315 V) und der exakten Steigung
mit 10 mV/K, in der Linearität der Steigung sind beide aber sehr nahe
beieinander. Da diese Schaltung, wie unten beschrieben, eh zu eichen
ist, kann der weitaus billigere LM335 hier gut benutzt werden.
Dimensionierung:
Das Pferd wird von hinten aufgezäumt:
Will man einen ADC in einem Mikrocontroller anfahren, dann liegt die
erlaubte maximale Eingangsspannung üblicherweise auf VDD
des MCUs. Das sind meistens 3V3 oder 5V. Die ADC-Eingänge sind oft sehr
hochohmig, es gibt aber auch MCUs, bei denen ein Engangsstrom von ca. 1
µA angegeben wird. Deshalb wird hier ein Imess von ca. 500
µA angesetzt. Für 3V3 wird Rmess dann zu 6k8, für 5V zu 10k.
(Einige) Atmel MCUs lassen die interne Aref-Spannung des ADCs
auf 1V1 setzen, Rmess
liegt dann bei 2k2. Die interne Auflösung beträgt dann ca. 1
mV/Schritt, was m. E. einen Einfluss auf die Genauigkeit haben könnte.
Ich ziehe größere Schritte vor.
P2 steuert die Umsetzung der vom
LMx35 erzeugten temperaturabhängigen Spannung in den Mess-Strom. Die
Größe bestimmt den Messbereich. Soll der Messumfang ΔT z. B. 100 K
betragen, dann ist ΔV = 1V, P2 wird dann zu 1 V / 500 µA = 2k. Will man
ΔT kleiner wählen,
dannn wird auch P2 entsprechen kleiner. Die gezeigten 250 Ω galten für
ein ΔT
= 10 K. Mit P2 wird der Umsetzungsfaktor bestimmt, es empfiehlt sich
deshalb, immer eine Serienschaltung aus Festwiderstand und Poti zu
wählen, also z. B. 1k5 + 1k für 2k2 usw. Das erleichtert das Justieren
erheblich, insbesondere bei der Verwendung mehrgängiger Präzisionspotis.
Ist ein bestimmter Messbereich ausgesucht und damit der Spannungsabfall
über P2 bekannt, dass ergibt sich für die Mindestversorgungsspannung Umess-max
+ 0,5 V + ΔV
+ |Vref|. Umess ist die maximale Messspannung ( 3V3 oder
5V), 0,5 V spendieren wir dem Reihentransistor, ΔV ist der
Spannungsabfall über P2 und Vref die Referenzspannung "für
Null".
Das kann ein Pferdefuß sein:
Es wird kaum gelingen, die Schaltung für Umess = 3V3 mit Ubat
= 5 V zu betreiben, weil Vref dann bei 2V5 zu liegen kommt
und Vref nicht unter Umess liegen darf. Ubat-min
muss für Umess
3V3 ca. 7V5, für 5 V 9 V betragen. Eine 9 V Blockbatterie sollte
lange laufen, besonders, wenn die Schaltung nur zum Messen
eingeschaltet wird, s. unten.
Hat man ein Ubat ausgesucht, kann man R3 und R4 auslegen. R4
ergibt sich aus (Ubat - ULMx35-max) / 0,001 A. Beispiel für Ubat
= 12 V und Tmax = 100 °C: (12 - 3,71) = 8,3 / 0,001 = 8k2,
also der nächstniedrigere
Normwert. Für R3 gilt (Ubat - Vref) / 0,002 A.
Beispiel für 12 V und Tmin = 0 °C: (12 - 2,73) = 9,3 / 0,002
= 3k9
Schließlich die Auslegung für P1: Durch R1 ist der Strom in diesem
Zweig auf ca. 1,1 mA gesetzt. An P1 muss also (Vref - 2V5)
abfallen. Für Tmin = 0 °C muss Vref auf 2,73 V
eingestellt werden, der Spannungsabfall muss 0,23 V betragen. (0,23 /
0,0011) = 209
Ω. In Praxis wäre eine Reihenschaltung Festwiderstand - Poti von 150R +
100R zu empfehlen. Der Widerstandswert kann für höhere untere
Temperaturen höher sein, s. unten Abgleichen.
Für den Operationsverstärker, dessen Anschlüsse an Masse und Ubat
nicht eingezeichnet sind, eignen sich viele: Vom klassischen µA741 bis
zu ganz neuen Typen sollten alle problemlos laufen, weil weder Masse
noch Ubat an einen der Eingänge oder den Ausgang kommen
können.
Zum Anschluss der
Ausgangsspannung an den MCU:
Bei begrenzten Messbereichen kann die obere Grenze überschritten
werden, z. B. das Zimmerthermometer wird direkt von der Sonne
beschienen. In diesem Fall kann die Temperatur deutlich über 40 °C
liegen. Ein klassisches Flüssigkeitsthermometer könnte dann platzen
(zur Vermeidung gehen fast alle Skalen bis über 50 °C), die
Schaltung hier erzeugt dann eine Ausgangsspannung, die über Aref
des MCU-Eingangs liegt. Diese wird über die Eingangsschutzdioden des MCUs
nach VDD
des MCUs abgeleitet. Dieser Strom kann dann etwas höher als die
gewählten 500 µA sein, was die Dioden nicht gefährden sollte.
Vorsichtige setzen deshalb in diesen Pfad noch einen Schutzwiderstand,
die hier ca. 10k betragen sollte. Bei hochohmigen Eingängen wie beim
Arduino kann dieser auch erheblich größer sein. Aber bei anderen, die
z. B. einen Eingangsstrom von 1 µA ziehen, können 10k schon viel sein,
weil daran eine konstante(?) Fehlspannung von 10 mV entsteht.
Rmess
kann im Prinzip auch ein Strom-Zeigerinstrument sein. Dieser Strom Imess
darf nicht zu groß werden, 10 mA sind eine vernüftige Obergrenze, P2
wird entsprechend klein.
Abgleichen:
Man misst den benutzten LMx35,
keinen Anderen(!), aus. Als Mess-Schaltung kann man z. B. eine 9
V-Blockbatterie und einen 5k6 Widerstand in Reihe (s. oben LM335 und
R4, geht hier auch in umgekehrter Reihenfolge) zusammenlöten oder
stecken. Die Spannung über dem LMx35 misst man bei den auf der
Hauptseite beschrieben Eichpunkten 0 °C und Achseltemperatur und hat
damit zwei Werte für eine Geradengleichung y = ax + b. "b" ist die
Spannung bei 0 °C, "a" errechnet sich aus der Umstellung der Gleichung
mit a = (y - b)/x . "y" ist hier die
Spannung bei der Temperatur "x" in der Achselhöhle. Damit sind die
Parameter a, der nahe bei 0,01 liegen
sollte, denn es sind die nominellen 10 mV/K, und auch b bestimmt,
man kann Vref (= yref) für den unteren
Anzeigewert xu ausrechnen. Vref stellt man nach
dem Aufbau der Mess-Schaltung mit einem DVM über dem TL431 durch
Drehen an P1 ein.
Die Spannungs-Strom-Wandlung über U1 wird mit P2 justiert. Am
genauesten lässt sich dies mit einer Hilfsschaltung einstellen, referierte Werte sind mit ' markiert, die man
vorübergehend auf eine Steckbrett aufbaut und genau der Gruppe um den
TL431 oben links entspricht, allerdings mit einem höheren Wert für P1',
um Vtemp-max zu simulieren. Für ein ΔT = 100 K wäre Vtemp-max
100 x "a", also ca. 1 V, für geringe ΔT entsprechend
weniger. P1' muss für 100 K ca. 900
Ω betragen, für ein kleineres ΔT entsprechend weniger. Mit dieser
Schaltung ersetzt man den LMx35 vorübergehend. Mit einem DVM misst man
die Spannung zwischen Vref und Vtemp und stellt
jetzt mit P1' die Spannungsdifferenz auf den zuvor gerechneten Wert
ein. Dann geht man an Rmess, misst die dort anliegende
Spannung und justiert diese mit P2 auf den Wert von Aref des
ADCs im MCU. Alternativ kann man ein kleines Programm für den MCU
schreiben, das in einer Schleife ständig den ADC ausließt und die
ermittelte Zahl (am PC) ständig anzeigt. Mit P2 wird diese für einen
10-bit ADC auf 1023, für einen 12-bit ADC auf 4095 eingestellt.
Die Justierung ist damit abgeschlossen und der LMx35 wird jetzt
angeschlossen.
Fällt die Achseltemperatur in den vorgesehenen Messbereich, kann man
natürlich auch versuchen, auf die auf der Hauptseite gezeigten Weg zu
eichen. Der zuerst empfohlene Weg scheint einfacher und genauer.
|