Beispiel zur Verdeutlichung des Arduino-Analogeingangs

8

Zuallererst bin ich total in der Elektronik.

Kürzlich habe ich einen Arduino Nano bekommen. Jetzt versuche ich zu verstehen, warum es unter http://arduino.cc/en/Tutorial/ReadAnalogVoltage kein Nennpotentiometer gibt und wie sich eine Variation dieses Nennwerts auf die Analogeingangswerte auswirken würde.

Auch warum bei http://arduino.cc/en/Tutorial/AnalogReadSerial Beispiel sie 10k Potentiometer ausgewählt haben, was mit 200k Potentiometer anders wäre.

Vielen Dank!

AB
quelle

Antworten:

12

Es würde keinen Unterschied in der Wischerspannungsausgabe von einem (unbelasteten) Potentiometer geben, sie arbeiten alle auf die gleiche Weise.

Der analoge Eingang Ihres Arduino empfiehlt jedoch eine Quellenimpedanz von weniger als 10 kOhm, um eine optimale Leistung zu erzielen. Dies ist auf die Zeit zurückzuführen, die zum Laden des Proben- und Haltekondensators benötigt wird, was als dynamische Impedanz angesehen werden kann. Das folgende Bild stammt aus dem AtMega328-Datenblatt (dem Mikrocontroller, auf dem das Arduino basiert):

Analoge Eingangsimpedanz

Machen Sie sich nicht zu viele Sorgen, wenn Sie dies derzeit nicht vollständig verstehen. Akzeptieren Sie einfach, dass wir eine Quellenimpedanz von weniger als 10 kOhm benötigen.

Wie berechnen wir nun die Ausgangsimpedanz eines Potentiometers?

Einzelheiten finden Sie in der äquivalenten Impedanz von Thevenin . Dies zeigt uns, dass der maximale Ausgangswiderstand des Wischers eines Topfes 1/4 seines von oben nach unten gemessenen Widerstands beträgt (wenn sich der Wischer in der Mitte befindet). Wenn Ihr Topf also 10k beträgt, beträgt der maximale Ausgangswiderstand 2,5k .
Hier ist eine Simulation eines 10k-Topfes, der von einem Ende zum anderen gewischt wird:

Pot Sim

Die X-Achse repräsentiert die Drehung von 0 bis 100% (ignorieren Sie die angezeigten tatsächlichen Werte). Die Y-Achse ist die am Wischer gemessene Ausgangsimpedanz. Wir können sehen, wie es bei 0 Ohm beginnt und endet und bei 2,5 kOhm in der Mitte Spitzen erreicht (50%).
Dies ist deutlich weniger als die empfohlene Quellenimpedanz von 10 k .
Sie können also einen beliebigen Topfwert zwischen z. B. 100 Ohm und 40 k als Spannungsteiler verwenden.

EDIT - um die Frage zu beantworten, was passiert, wenn wir einen 200k Pot verwenden:

Wie im Datenblattauszug angegeben, dauert das Laden des S / H-Kondensators umso länger, je höher die Quellenimpedanz ist. Wenn es vor der Messung nicht vollständig aufgeladen ist, zeigt die Messung einen Fehler im Vergleich zum wahren Wert an.

Wir können herausfinden, wie lange der Kondensator auf 90% seines Endwerts aufgeladen werden muss. Die Formel lautet:

2,3 * R * C.

Nach 1 RC-Zeitkonstante liegt die Spannung bei ~ 63% ihres Endwertes. Nach 2,3 Zeitkonstanten liegt sie wie oben bei ~ 90%. Dies wird mit 1 - (1 / e ^ (RC / t)) berechnet, wobei e der natürliche Logarithmus ~ 2,718 ist. Zum Beispiel wäre es für 2,3 Zeitkonstanten 1 - (1 / e ^ 2,3) = 0,8997.

Wenn wir also die angezeigten Werte einstecken - 50k Quellenimpedanz, 100k Serienimpedanz (schlimmsten Fall annehmen) und 14pF Kapazität:

2,3 * 150k * 14pF = 4,83us, um auf 90% aufgeladen zu werden.

Wir können auch den -3dB-Wert berechnen:

1 / (2pi * 150k * 14pF) = 75,8 kHz

Wenn der Endwert innerhalb von 99% liegen soll, müssen wir um 4,6 Tau (Zeitkonstanten) warten:

4,6 * 150k * 14pF = 9,66us, um zu 99% aufgeladen zu werden - dies entspricht etwa 16,5kHz

Wir können also sehen, dass je höher die Quellenimpedanz ist, desto länger die Ladezeit und damit die vom ADC genau abgelesene Frequenz ist.

Im Fall eines Topfes, der einen ~ DC-Wert regelt, können Sie mit einer sehr niedrigen Frequenz abtasten und ihm genügend Zeit zum Laden geben, da die Leckage sehr gering ist. Ich denke also, 200k sollten in diesem Fall eigentlich in Ordnung sein. Für z. B. ein Audiosignal oder ein variierendes (AC) hochohmiges Signal müssen Sie jedoch alle oben genannten Punkte berücksichtigen.
Dieser Link enthält einige Details zu den ATMega328 ADC-Eigenschaften.

Oli Glaser
quelle
1
Vielen Dank für die ausführliche Erklärung! Können Sie bitte klarstellen, wie sich ein Potentiometer mit mehr als 40 kΩ auf die digitalen Messwerte auswirkt? Multiplizieren wir zum Beispiel mit 5, damit das Potentiometer 200 kΩ beträgt.
AB
@AB - Ich habe einige weitere Details hinzugefügt, hoffe es hilft. Ich habe festgestellt, dass der Topf in Ihrer Frage nur dazu dient, den Gleichstromwert zu variieren (nicht den Pegel eines Wechselstromsignals zu steuern), sodass ein höherer Wert in Ordnung sein sollte. Sie können einige Ihrer eigenen Tests zum Effekt der Erhöhung der Quellenimpedanz >> 10k durchführen, wenn Sie eine bekannte Spannung haben und den Serienwiderstand variieren.
Oli Glaser
6

Oli hat Ihnen die Informationen im Datenblatt gezeigt, aber wenn Sie neu in diesem Bereich sind, kann seine Erklärung etwas über Ihrem Kopf liegen.

Der ADC (Analog-Digital-Wandler) hat einen kleinen Kondensator, der die analoge Eingangsspannung hält. Dieser Kondensator wird durch den Widerstand am Eingang aufgeladen. Ein hoher Widerstand lädt den Kondensator langsamer auf. Maximal 10 kΩ werden empfohlen, daher ist die Verwendung eines Potentiometers mit diesem Wert in Ordnung. Olis maximal 40 kΩ sind korrekt, aber das wird deutlich, wenn Sie etwas über Thévenin lernen.

stevenvh
quelle
1

Nach meiner Erfahrung mit Arduinos mit Potentiometern über 10k schwanken die Messwerte. Ich löse dieses Problem, indem ich einen .1uf-Kondensator zwischen Wischer und Masse setze. Dies hält die Spannung für Analogles konstant. Mit dem Kondensator habe ich Töpfe mit bis zu 1 MegaOhm verwendet und erhalte solide, gleichmäßige Messwerte.

Dan
quelle
Ich mag das, weil der parallele .1uF-Kondensator eine niederohmige Quelle gewährleistet, nachdem der Eingangspin geschaltet wurde. 0,1 uF / 14pf = 7142, und die Auflösung von adc (10 Bit) beträgt 1 zu 1023. Bei extrem großen Potis tritt eine leichte Verzögerung zwischen dem Einstellen und Stabilisieren der Spannung am Eingangspin auf, dies ist jedoch unwahrscheinlich. 4Mohm Topf ist 1Mohm Imp. * 0,1 uF = 0,1 s. Also in 0,46 Sek. Ihr Wert beträgt 99% der Änderung!
Dario Dentes
Entschuldigung, wenn dies dumm erscheint, aber was passiert, wenn die Spannung abfällt?
HilarieAK