Sebastian Deppisch

Benutzen eines NTC mit einem NXT

Benutzen eines NTC mit einem NXT

Manchmal möchte man mit seinem NXT Temperaturen messen. Dafür könnte man den (nicht ganz günstigen)LEGO(R)-Temperatur Sensor benutzen. Aber es geht auch einfacher. Nämlich mit einem NTC. Das Wort NTC kommt vom Englischen "Negative Temperature Coefficient Thermistors". Ein NTC ist ein Widerstand der je nach Temperatur seinen Wert verändert. Wenn er heißer wird, sinkt der Widerstand, und wenn er kälter wird, steigt der Widerstand. Ein Widerstand bei dem der Widerstand bei wärmer sinkt, ist ein so genannter Heißleiter. Wer noch mehr über NTCs lesen will, dem empfehle ich bei Wikipedia vorbei zu schauen.
Ein NTC ist recht günstig zu bekommen. Ich benutze diesen: Der-Elektroniker-Shop: 10k NTC


Hier ist der Schaltplan, er ist sehr einfach. Man muss den NTC nur mit Pin 1(weiß) und 2(schwarz) verbinden. Die Polung ist wie bei allen Widerständen egal. Wenn man den Messbereich verändern will, muss man noch einen Widerstand in Reihe dazu nehmen. Ohne zweiten Widerstand ist der Messbereich -26°C bis 103°C (errechnete Werte).
Allerdings ist die Auflösung bei sehr hohen/tiefen Werten (Also 3K(bzw. °C)Temperaturunterschie bei nur einem RAW-Wert höher/tiefer) auch recht gering. Die Höchte Auflösung hat er bei Raumtemperatur.


Hier sieht man ein Bild von meinem. Ich habe einen meiner NXT-Steckboard-Adapter und ein Buchsensteckerkabel genommen. Den NTC habe ich dann einfach ins andere Ende des Buchsensteckerkabels gesteckt. So kann man auch einfach die Kabellänge verändern. Ich habe z.B. ein 3m langes Kabel zum Messen und Protokolieren der Außentemperatur benutzt.


Nun komme ich aber zum auslesen des Temperatur Wertes. Das ist die Formel mit der man die Temperatur des NTCs ermitteln kann. Es gibt in der Formel folgende Buchstaben:

RT … Widerstand bei Temperatur T. Das ist der Widerstandswert, der je nach Temperatur verschieden ist.
RN … Nennwiderstand bei Nenntemperatur. Dieser Widerstand steht im Datenblatt des NTCs. Bei mir 10k
T = Betriebstemperatur. Die Temperatur, die ermittelt werden soll. In K (Kelvin) zum umrechnen in °C einfach -273,15 rechnen.
TN = Nenntemperatur. Die Nenntemperatur steht ebenfalls im Datenblatt. Bei mir ist das 25°C.
B = Materialkonstante. Steht auch im Datenblatt. Bei mir 4300.
(Quelle: Wikipedia)
Hier die Formel:

Wenn an nun alle oben genannten festen Werte in die Formel einsetzt, bleibt nur noch RT übrig. Diesen Widerstandswert muss man mit dem NXT messen. Dazu benutzt man den AD-Wandler des NXTs. Zum errechnen des Widerstandes beim NXT, gibt es folgende Formel:

Nun hat man die Formel für den Widerstand und für die Temperatur. Nun werden die beiden Formel kombiniert:

Und nun werden noch die Konstanten durch ihre Werte ersetzt: Hinweis: Die Werte beziehen sich auf den von mir benutzten NTC. Wer einen anderen benutzt, muss diese Werte selber aus dem Datenblatt entnehmen. Das Datenblatt kann man bei den meisten Händlern auf der Produktseite downloaden.

Nun kann man das ganze noch etwas vereinfachen:


Um dieses Formel zu benutzten, gibt es jetzt zwei Möglichkeiten. 1. Man ermittelt mit dem NXT nur den RAW Wert und rechnet die Temperatur am Cmputer aus. oder 2. Man misst den RAW Wert mit dem NXT und rechnet in gleich noch mit dem NXT um.
Zu 1.: Zum umrechnen am Computer mit Excel oder einem anderem Tabellenkalkulationsprogramm benutzt man folgenden Befehl: RAWWERT muss durch die Koordinaten der Zelle mit dem RAW wert ersetzt werden.
Zu 2.: Um den RAW Wert mit dem NXT umzurechnen, kann man entweder eine Vergleichstabelle benutzten, oder folgenden Code(Für NXC):
Die Funktion "SensorTemp" ließt den Wert des Sensors an "Sensorport" aus, und gibt in zu zurück. Das "#define Log..."ist für den natürlichen Logarythmus in der Formel nötig.
Um den Code auszuführen benötigst du die Enhanced NBC/NXC Firmware

(C)Sebastian Deppisch 2008-2013