Verständnisproblem ADC und ohmsches Gesetz

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

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.