Problem mit NTC Messung

Hallo Liebe Leute,

ich habe ein Problem mit einer NTC Messung an einem der analogen Pins eines Arduino Leonardo, an der ich gerade verzweifle.

Folgende Situation:
Über einen Spannungsteiler mit einem 100k (real gemessen: 99k) Widerstand hängt der NTC an einem analogen Pin (siehe Mini-Schaltplan). Dieser hat laut Hersteller bei 25°C einen Widerstand von 10k. Ich habe ca. 10,5 gemessen, aber das ist ja noch einigermaßen im Rahmen der Toleranz. Ansonsten gibt es leider keinerlei Angaben zu dem NTC, weswegen ich die gesamte Temperaturkurve, den Wert B usw. selber errechnet habe (vgl. http://www.controllersandpcs.de/lehrarchiv/pdfs/elektronik/pass01_03x.pdf ). Das passt auch soweit alles ganz gut, Abweichungen sind zwar da, aber akzeptabel. Verglichen habe ich meine Berechnungen erstmal nur mit einer Wertetabelle, die ein Freund von mir mit diesem NTC in einem Klimaschrank aufgenommen hat (ca. -20 bis 30°C). So viel zum Vorgeplänkel, bis hier hin gab es eigentlich keine Probleme. Als Hinweise für den etwas unwirschen folgenden Absatz: Mein Freund hat als Richtwert bei 25°C einen ADC-Wert am Arduino von 925 geloggt (gleicher Testaufbau).

Nun wollte ich den Sensor gerne selber an meinem Arduino verwenden. Leider ergeben sich hier Widersprüche, für die ich keine Lösung mehr habe. Bei 25°C hat der Sensor, wie gesagt, ca. 10,5k Widerstand (mehrfach mit MM nachgemessen, das passt). Nun erhalte ich bei 25°C aber am analogen Pin eine Teilspannung von ca. 4,56V, was einen 10Bit AD-Wert von ca. 943/944 erzeugt (unter der Voraussetzung, dass das Board als 5V genau genommen nur 4,96V ausgibt; Auflösung des ADC ist ca. 5mV). Das ist alles soweit in Ordnung und nachvollziehbar, allerdings passen diese 4,56V rechnerisch nicht zu einem NTC-Widerstand von 10,5k (wenn man davon ausgeht, dass der Arduino ADC von 0-5V gleichmäßig quantisiert, was man ja hoffen darf, oder?).
Denn gemäß der Spannungsteilerregel müsste die Spannung eigentlich ca. 4,489V betragen, damit ein ADC Wert von 925 rauskommt. Mit dem Spannungswert den ich hier aber messe, müsste der Sensor eigentlich einen Widerstsand von ca. 8,8k haben ... dem ist aber nicht so.
Ich sehe meinen Fehler (den ich mit ziemlich großer Gewissheit mache) einfach nicht, ich habe das jetzt mehrfach nachgemessen ... Achso, wem der Unterschied gering vorkommt: mit den Temperaturkurven-Formeln, die wir bestimmt haben (mein Freund und ich jeweils eine eigene, welche beide ganz ordentlich arbeiten), ergibt diese Abweichung von nichtmal 0,1V in der ausgerechneten Temperatur ein Unterschied von fast 8°C; ich messe also im Moment ca. 33°C anstatt 25°C, was natürlich eine viel zu hohe Abweichung ist. Das gilt für beide Rechenvarianten (er hat's mit Steinhart-Hart gerechnet, ich etwas anders).

Was mache ich falsch, dass ich bei Raumtemperatur einfach nicht den rechnerisch korrekten Spannungswert messe, der zu dem nachgewiesenen 25°C Widerstand von 10,5k passt? Was vergesse ich? Da der Arduino ADC Wert zu der gemessenen Spannung passt, kann doch der Fehler eigentlich nur in der Schaltung liegen, oder?

Ich wette es ist übelst offensichtlich und ich sehe den Wald vor lauter Bäumen nicht -.-

Viele Grüße,
Mahagon

Gut wenn man den Schaltplan vergisst :slight_smile:

Wenn du den Vorwiderstand (Rv) an Vcc legst, ist der Messwert am analogPin = 1023 * Rt / (Rt+Rv).
Ziemlich unabhängig von der aktuellen Spannung Vcc, die gibt immer 1023.
Wenn beide Widerstände genau gleich sind, kommt immer 511 (oder meinetwegen 512) raus. ( +- 2 bit Rauschen )

Probleme hat man, wenn man versucht, die eigene Versorgungspannung zu messen, und mit Vref und analogReference jonglieren muss.

Die beste Auflösung kriegst du, wenn Vorwiderstand und NTC Widerstand im interessanten Bereich in der gleichen Größenordnung sind. ( Also in deinem Fall eher 10k, wenn du Zimmertemperatur messen willst )