nodemcu/esp8266 liest niedriger als erwartet auf A0

Ich habe ein NodeMCU / ESP8266-Entwicklungsboard und versuche, den A0-Eingang (10-Bit-ADC) zu verwenden, um die Spannung von einem Spannungsteiler am 3,3-V-Pin zu lesen. Also ich habe folgendes:

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Wenn ich jedoch A0 lese, ist es nicht der Wert von ~ 512, den ich für die 1,65 V (gemessen mit einem Multimeter) auf A0 erwarten würde. Es liegt eher irgendwo um 450.

Wenn ich die 100K-Widerstände gegen 1M-Widerstände austausche (was mein Ziel ist, weil ich einen 1M-Thermistor habe), ist der Messwert noch weiter entfernt, etwa 200, wo die Spannung an A0 mit einem Multimeter etwa 1,55 V anzeigt.

Selbst mit 3,3 V auf A0 liest es nur 1016-1017 und mit nichts auf A0 liest es 9, was nicht sehr herausragend ist, aber es ist auch immer noch nicht sehr genau.

Gibt es etwas, das ich nicht verstehe und nicht berücksichtige? Mich würde jede Erkenntnis interessieren.

Haben Sie etwas dagegen, den integrierten Schaltplan-Editor zu verwenden, um den Schaltplan zu erstellen?
"... und mit nichts auf A0 ..." - Nichts wie bei Floating Pin?
@marcelm Ja. Aber wirklich, a/the Floating Pin Reading ist das geringste Problem.
Hast du die Widerstände gemessen? Ist die Spannung genau 3,3 V, wenn Sie sie messen? Was sagt das Datenblatt für das Modul zur analogen Eingangstoleranz?
Ja. Die Widerstände scheinen innerhalb der Toleranz zu liegen. 101,55K und 101,2K. Ja, die Spannung beträgt mit einem Multimeter genau 3,3 V und am Spannungsteiler Vout genau 1,65 V. Ich habe kein Datenblatt für das Modul.

Antworten (1)

Es gibt eine Sache, die Sie vielleicht vermissen: die Eingangsresistenz der analogen Ports.

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Wenn Sie solche 100k-Widerstände verwenden, müssen Sie möglicherweise die Auswirkung berücksichtigen, die dies auf Ihre Messung hat. Ich habe den richtigen Eingangswert nicht gefunden, aber die meisten Mikrocontroller mit analogen Eingängen haben einen Eingangswiderstand von etwa 1 M. Nehmen wir das an.

Sie haben eine parallele Widerstandsschaltung von ca. 90,9 k mit 100 kΩ und 1 MΩ parallel, wodurch der untere Teil Ihres Spannungsteilers weniger als die Hälfte beträgt. Die Spannung am Messpunkt beträgt also 1,57 V. Und 1,57*1023/3,3 = 484 Bit.

Und Ihr 1M-Thermistor wird die Dinge noch schlimmer machen.

Ich würde Ihnen raten, so etwas wie einen Operationsverstärker mit Pufferkonfiguration zu verwenden, um zu messen, was Sie wollen. Sie erhöhen Ihren Eingangswiderstand. Oder Sie könnten einen niedrigeren Thermistor verwenden. Widerstände mit >1M fügen weißes Rauschen in Ihren Schaltkreis ein.

schematisch

Simulieren Sie diese Schaltung

Wenn Sie immer noch etwas anderes vermuten, verwenden Sie 10k-Widerstände und sehen Sie, wie es funktioniert.