Forum: Mikrocontroller und Digitale Elektronik Verständnisproblem ADC und ohmsches Gesetz


von Thorsten S. (thorstens)


Lesenswert?

Hallo, ich bin Anfänger und vermutlich ist meine Frage peinlich...

Ich möchte am ADC Eingang eines ESP8266 zwei Taster über Widerstände 
anschließen (alle GPIOs sind schon belegt), so dass ich die Taster 
unterscheiden kann.

Vcc -> Taster -> Widerstand -> ADC

Jetzt kann der ADC des ESP8266 nur zwischen 0..1V messen, 
Spannungsquelle ist aber 3.3V. Ich habe keinen Plan, wie ich die 
Widerstände berechnen soll. Dabei wird mir klar, dass ich die Umsetzung 
des ohmschen Gesetzes nicht wirklich in den Grundlagen verstanden habe.

Zum Beispiel: Man sagt "an einem Widerstand fällt eine Spannung ab", 
heißt das, hinter dem Widerstand ist die Spannung kleiner? Ich dachte 
bisher, ein Widerstand begrenzt den Strom und die Spannung bleibt 
konstant. Aber wieso kann ein ADC zB hinter einem Drehpoti 
unterschiedliche Spannungen messen???

Und was heißt eigentlich in diesem Kontext: "an einem Widerstand fällt 
eine Spannung ab"?

Zu meinem eigentlichen Problem, wie ich die Widerstände an den Tastern 
berechnen soll: U = R * I aber wie groß ist I? Wohl nicht der Strom, den 
das Netzteil liefert. Ihr seht, ich bin konfus.

Letztlich geht es darum, zwei Widerstandswerte zu finden, so dass der 
ADC unter 1V "sieht" und beide unterscheiden kann.

Kann jemand meine Fragen beantworten?

von Georg G. (df2au)


Lesenswert?

Du brauchst zwei Widerstände an jedem Eingang.

[code]

   VCC
    |
   R1
    |
    +----- ADC
    |
    +-----+
    |     |
   R2    Taster
    |     |
   GND   GND

[\code]

Wenn du R1 = 20kOhm und R2 = 10kOhm wählst, wird der ADC bei geöffnetem 
Taster eine Spannung von (VCC * R2) / (R1 + R2) sehen (Dreisatz). Bei 
geschlossenem Taster sieht er GND.

von Georg (Gast)


Lesenswert?

Hallo Thorsten S.,

du benötigst einen Spannungsteiler. Lies am besten 
https://de.wikipedia.org/wiki/Spannungsteiler und du bist gewappnet für 
die Zukunft.
VG

von Michael B. (laberkopp)


Lesenswert?

Georg G. schrieb:
> Du brauchst zwei Widerstände an jedem Eingang.
>
>    VCC
>     |
>    R1
>     |
>     +----- ADC
>     |
>     +-----+
>     |     |
>    R2    Taster
>     |     |
>    GND   GND

Er wollte an EINEM Eingang ZWEI Taster, also
1
   VCC
2
    |
3
   R1
4
    |
5
    +---------+---- ADC
6
    |         |
7
   R2       Taster
8
    |         |
9
    +-----+   |
10
    |     |   |
11
   R3  Taster |
12
    |     |   |
13
   GND   GND GND

von brzl (Gast)


Lesenswert?

Michael B. schrieb:
> Er wollte an EINEM Eingang ZWEI Taster, also   VCC
>     |
>    R1
>     |
>     +---------+---- ADC
>     |         |
>    R2       Taster
>     |         |
>     +-----+   |
>     |     |   |
>    R3  Taster |
>     |     |   |
>    GND   GND GND

Woher weiß er bei gedrücktem oberen Taster den Zustand vom unteren 
Taster?

von Markus B. (russenbaer)


Lesenswert?

brzl schrieb:
> Woher weiß er bei gedrücktem oberen Taster den Zustand vom unteren
> Taster?

Gar nicht.

Besser:

   VCC
    |
   R1
    |
    +------+------+-- Vadc
    |      |      |
   R2   Taster1 Taster2
    |      |      |
    |      R3     R4
    |      |      |
    |      |      |
    |      |      |
   GND    GND    GND


Beide Taster offen:
Vadc = VCC * R2/(R1+R2)
Taster 1 geschlossen:
Vadc = VCC * R2/(R1+(R3||R2))
Taster 2 geschlossen:
Vadc = VCC * R2/(R1+(R4||R2))
Taster 1 und Taster 2 geschlossen:
Vadc = VCC * R2/(R1+(R4||R3||R2))

Rx||Ry bedeutet Parallelschaltung der Widerstände => Rxy = 
1/((1/Rx)+(1/Ry))

lg
markus

von Thorsten S. (thorstens)


Lesenswert?

Danke! Damit ist I in den Formeln nicht vorhanden, und ich kann damit 
rechnen.

Was wäre eine sinnvolle Größe für die Widerstände, eher im 100-Ohm oder 
besser im Kilo-Ohm Bereich?

von Georg G. (df2au)


Lesenswert?

Thorsten S. schrieb:
> sinnvolle Größe

Einige Zehn-Kiloohm. Und leg noch einen kleinen Kondensator (1nF...10nF) 
vom ADC Eingang nach Masse, damit Störspannungen unterdrückt werden.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.