Verständnisproblem ADC und ohmsches Gesetz

OP #4511995
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?
#4512012
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.
#4512176
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren