In dieser Übung wird die Messsonde AD592, ein Temperaturfühler, etwas genauer untersucht.
Temperatursensor AD592 | |
Material |
1x BoE mit BASIC Stamp (Fa. Parallax Inc.) 1x Temperatursonde AD592 (Fa. Parallax Inc.) 1x 0,22µF Folienkondensator oder MKM 1x Widerstand 100 Ohm 1x Batterieblock 9V |
Aufgabe |
|
Schaltungsaufbau
Temperatursensor AD592 | |
Versuchsdurchführung |
|
Das Programm AD592_1.bs2
Im Debug Terminal werden die Daten in drei Spalten ausgegeben.
Erwärmt man den Temperatursensor mit der Hand, nimmt sein Widerstandswert ab, die am Kondensator anliegende Spannung erhöht sich und die Zeit, die vergeht, bis der Kondensator sich auf 1,3V aufgeladen hat, verkürzt sich.
Der Wert von rct nimmt ab, je höher die über dem Kondensator liegende Spannung ist.
Die Werte tk und tc in den folgenden beiden Spalten erhöhen sich mit steigender Temperatur. Da der Sensor noch nicht kalibriert ist, sollten die angezeigten Werte erst einmal ohne Kommentar so hingenommen werden.
Der Messwandler AD592 arbeitet wie eine Stromquelle. Sein Verhalten wird durch folgende Gleichung beschrieben:
Bei 273K (entspricht 0°C) liefert der Messwandler 273µA, bei 373K oder 100°C entsprechend 373µA. Zwischen den Zeilen 10 und 18 des Hauptprogramms (DO ... LOOP Schleife) spielt sich die Temperaturmessung ab.
Den Zusammenhang zwischen Temperatur und Zeitmessung über den Befehl RCTIME stellen die folgenden Gleichungen her
Dazu wird der Sensor in eine Eislösung von genau 0°C gesteckt. tk ist in diesem Fall 273K und die Konstante errechnet sich zu
Kalibrierung des AD592 - Teil 1 | |
Versuchsdurchführung |
|
Meine Messwerte
Kalibrierung des AD592 - Teil 2 | |
Versuchsdurchführung |
|
Nachdem der Temperatursensor geeicht wurde, muss jetzt noch etwas zur Mathematik mit der BASIC Stamp gesagt werden. Die größte Zahl, die von der Stamp verarbeitet werden kann, ist 65536. Alle Zahlen größer als diese führen zu Fehlern in der Berechnung.
Was passiert nun in der Programmzeile 13 des Programms AD592_1.bs2? Es fallen sofort die zwei unterschiedlichen Divisionszeichen auf (/ und //). Mit / wird eine einfache Division ohne Rest ausgeführt, während mit // der Rest bei einer Division ausgegeben wird.
Beispiel
Die Variable crt enthalte den Wert 434. Dann wird aus
Kal / rct * 10
13110 / 434 * 10 = 300
Das doppelte Divisionszeichen gibt den Rest bei einer Division aus; damit ergibt sich aus
Kal // rct * 10 / rct
13110 // 434 * 10/ rct = 2