Forum: Mikrocontroller und Digitale Elektronik Verständnisproblem - Pull-Up/Down - Anfänger


von Malte W. (maltee)


Angehängte Dateien:

Lesenswert?

Hallo,

durch meinen fehlenden Elektrotechnikbackground (ich komme aus einer 
komplett anderen Branche), habe ich leider bereits bei dem Einstieg in 
den Grundlagen kleine Verständnisprobleme.

In diesem Fall geht es um die Verwendung des Pull-Up (bzw. Pull-Down) 
Widerstands. Ich habe bereits einige Thread dazu hier im Forum 
durchgelesen, bin aber noch nicht vollkommen zufrieden. Ich möchte daher 
einmal mein momentanes Verständnis der Problematik beschreiben. Da ich 
mir das ganze immer relativ bildlich vorstelle, dazu ein paar Bilder im 
Anhang.

Grundsätzlich geht es bei der Verwendung des Pull-Ups (bzw. Pull-Downs) 
ja darum, ein definiertes LOW- bzw. HIGH Signal am Eingang anliegen zu 
haben. Ohne ein klares Signal, würde der Eingang des uC sämtliche 
elektromagnetische Störgrößen messen, sodass entweder eine 0 oder 1 
eines detektiert wird. Das kann nicht Sinn der Sache sein.

In dem Anhang 1 habe ich einmal die Schaltskizze mit einem geschlossenen 
Taster gezeichnet. Für mich läuft folgendes ab. Der Strom fließt vom 
hohen Potential (Vcc) zu dem niedrigen Potential GND. In diesem Fall 
habe ich nur einen Verbraucher in dem Kreis eingebaut, sodass die 
gesamte Betriebsspannung (5V) an dem Widerstand abfällt. Somit habe ich 
vor dem Widerstand das Potential 5V während nach dem Widerstand nur noch 
0V vorhanden sind. Diese 0V gelangen somit an den Eingang, sodass ich 
ein klares 0V Signal bekomme.

In Anhang 2 ist der Taster geöffnet. Der Strom fließt wieder vom hohen 
Potential (Vcc) zum niedrigen Potential (Eingangspin). Wenn man nun 
misst, fällt am Widerstand keinerlei Spannung ab. Müsste nicht hier 
ebenfalls Spannung abfallen, da der Eingang ein niedriges Potential 
aufweist und der Widerstand wieder als Verbraucher dazwischen geschaltet 
ist? Warum fällt hier nun keine Spannung ab?

Desweitern wurde in meinem Buch bereits der Spannungsteiler behandelt. 
Wenn man sich die Schaltung des Pull-Up-Widerstands anschaut, sieht man 
ja ebenfalls ein Spannungsteiler mit dem Widerstand R1 (10 kOhm) sowie 
einem Taster der einen unendlichen Widerstand (offen), oder keinen 
Widerstand (geschlossen) aufweisen kann
Wenn man nun mal die Spannung am Eingang nachrechnet:

U_Eingang=U_Vcc*R1/Rges

Geschlossener Schalter (R2=0 Ohm):
U_Eingang=5 V * 10000 Ohm/10000 Ohm=5 V

Offener Schalter (R2=oo Ohm):
mit Rges -> oo
U_Eingang=5 V * 10000 Ohm/Rges Ohm= ~0 V

Das bestätigt, dass im Fall des geschlossenen Tasters, keine Spannung 
über den Widerstand abfällt. Ist das korrekt gerechnet?

Kann mir jemand helfen?
Vielen Dank!

Gruß
Malte

von Hubert G. (hubertg)


Lesenswert?

Malte W. schrieb:
> Offener Schalter (R2=oo Ohm):
> mit Rges -> oo
> U_Eingang=5 V * 10000 Ohm/Rges Ohm= ~0 V
>
> Das bestätigt, dass im Fall des geschlossenen Tasters, keine Spannung
> über den Widerstand abfällt. Ist das korrekt gerechnet?

Du meinst hier wohl "im Fall des offenen Tasters"
Dann ist deine Annahme korrekt, wenn der Eingang so hochohmig ist, das 
dieser Strom zu vernachlässigen ist.

von Gerhard (Gast)


Lesenswert?

Stell dir als Ersatz für die Eingangsimpedanz der Schaltung z.B. 500 
kOhm parallel zum Taster angeschlossen vor und dann rechne die 
Spannungen mit der Spannungsteilerformel noch mal nach. Der Taster 
schließt diesen Widerstand kurz (= 0 Ohm wenn Schalter geschlossen) und 
andernfalls sind's halt 500 kOhm (Schalter offen).

Gerhard

von Malte W. (maltee)


Lesenswert?

Hallo,

vielen Dank für Eure Antworten!
Das habe ich soweit nun verstanden, kann mir jemand noch mit dem ersten 
Teil meiner Frage auf die Sprünge helfen?

Danke!


Malte W. schrieb:
> Grundsätzlich geht es bei der Verwendung des Pull-Ups (bzw. Pull-Downs)
> ja darum, ein definiertes LOW- bzw. HIGH Signal am Eingang anliegen zu
> haben. Ohne ein klares Signal, würde der Eingang des uC sämtliche
> elektromagnetische Störgrößen messen, sodass entweder eine 0 oder 1
> eines detektiert wird. Das kann nicht Sinn der Sache sein.
>
> In dem Anhang 1 habe ich einmal die Schaltskizze mit einem geschlossenen
> Taster gezeichnet. Für mich läuft folgendes ab. Der Strom fließt vom
> hohen Potential (Vcc) zu dem niedrigen Potential GND. In diesem Fall
> habe ich nur einen Verbraucher in dem Kreis eingebaut, sodass die
> gesamte Betriebsspannung (5V) an dem Widerstand abfällt. Somit habe ich
> vor dem Widerstand das Potential 5V während nach dem Widerstand nur noch
> 0V vorhanden sind. Diese 0V gelangen somit an den Eingang, sodass ich
> ein klares 0V Signal bekomme.
>
> In Anhang 2 ist der Taster geöffnet. Der Strom fließt wieder vom hohen
> Potential (Vcc) zum niedrigen Potential (Eingangspin). Wenn man nun
> misst, fällt am Widerstand keinerlei Spannung ab. Müsste nicht hier
> ebenfalls Spannung abfallen, da der Eingang ein niedriges Potential
> aufweist und der Widerstand wieder als Verbraucher dazwischen geschaltet
> ist? Warum fällt hier nun keine Spannung ab?

von JJ (Gast)


Lesenswert?

War das die Frage nach dem offenen Taster?

Ganz einfach: Kein Strom -> kein Spannungsabfall.

von Veit D. (devil-elec)


Lesenswert?

Hallo,

erstmal großes Lob das jemand der nicht aus der Branche kommt schon so 
viel richtiges Wissen hat und analysiert. Respekt. Vorallendingen das 
Wort "Widerstand" richtig schreibt.   :-)


> Malte W. schrieb:
>> Grundsätzlich geht es bei der Verwendung des Pull-Ups (bzw. Pull-Downs)
>> ja darum, ein definiertes LOW- bzw. HIGH Signal am Eingang anliegen zu
>> haben. Ohne ein klares Signal, würde der Eingang des uC sämtliche
>> elektromagnetische Störgrößen messen, sodass entweder eine 0 oder 1
>> eines detektiert wird. Das kann nicht Sinn der Sache sein.
>>
>> In dem Anhang 1 habe ich einmal die Schaltskizze mit einem geschlossenen
>> Taster gezeichnet. Für mich läuft folgendes ab. Der Strom fließt vom
>> hohen Potential (Vcc) zu dem niedrigen Potential GND. In diesem Fall
>> habe ich nur einen Verbraucher in dem Kreis eingebaut, sodass die
>> gesamte Betriebsspannung (5V) an dem Widerstand abfällt. Somit habe ich
>> vor dem Widerstand das Potential 5V während nach dem Widerstand nur noch
>> 0V vorhanden sind. Diese 0V gelangen somit an den Eingang, sodass ich
>> ein klares 0V Signal bekomme.

Korrekt. Man kann auch die Verhältnisse betrachten. Der geschlossene 
Taster hat praktisch 0,x Ohm. Klassischer Kurzschluss eben. Im 
Verhältnis dazu ist der Pullup mit 10k riesen groß. Deswegen muß 
zwischen Widerstand und geschlossenen Taster Masse anliegen. Man sagt 
auch das Massepotential wird hoch gezogen.

>> In Anhang 2 ist der Taster geöffnet. Der Strom fließt wieder vom hohen
>> Potential (Vcc) zum niedrigen Potential (Eingangspin). Wenn man nun
>> misst, fällt am Widerstand keinerlei Spannung ab. Müsste nicht hier
>> ebenfalls Spannung abfallen, da der Eingang ein niedriges Potential
>> aufweist und der Widerstand wieder als Verbraucher dazwischen geschaltet
>> ist? Warum fällt hier nun keine Spannung ab?

Umgekehrter Fall wie oben. Wir lassen den µC Eingang mal weg.
Der geöffnete Taster stellt einen unendlichen Widerstand dar. Oder als 
Gedankenstütze 10MOhm. Im Vergleich dazu ist der Pullup sehr sehr klein. 
Deswegen lieg zwischen Widerstand und offenen Taster volle Ub an.

Mit µC Eingang dran. Der µC Eingang ist ebenfalls sehr hochohmig. Auf 
jeden Fall viele viele kOhms. Das ist die gleiche Betrachtung wie mit 
dem Taster. Im Verhältnis dazu ist der Pullup sehr klein. Volle Ub liegt 
am Eingang an.

von dx-trollo (Gast)


Lesenswert?

Malte W. schrieb:
> In Anhang 2 ist der Taster geöffnet. Der Strom fließt wieder vom hohen
> Potential (Vcc) zum niedrigen Potential (Eingangspin).

eben nicht, Das Potential bleibt hoch


> Wenn man nun
> misst, fällt am Widerstand keinerlei Spannung ab.

richtig

> Müsste nicht hier
> ebenfalls Spannung abfallen, da der Eingang ein niedriges Potential
> aufweist und der Widerstand wieder als Verbraucher dazwischen geschaltet
> ist?

Nein

>Warum fällt hier nun keine Spannung ab?

Das Potential wird hoch gehalten über den 5k. Wenn der 5k nicht wäre- 
und das ist der einzige Sinn, gäb´s bei geschlossenem Taster einen 
Kurzschluss = Taster brutzelt / Sicherung fliegt.

von Malte W. (maltee)


Lesenswert?

Hallo,

danke für alle Antworten.

Ich glaube hier ist mein Fehler.

JJ schrieb:
> War das die Frage nach dem offenen Taster?
>
> Ganz einfach: Kein Strom -> kein Spannungsabfall.

Aber wenn der Taster offen ist, gehen doch die 5V über den Widerstand in 
den Eingang.
Ich glaube mein Fehler lag hier:
Wenn die Spannungsversorgung nicht mit GND verbunden ist, habe ich kein 
Potentialunterschied, sodass auch über den Widerstand nichts abfallen 
kann. Ich habe den Eingang gedanklich immer mit 0V gleichgesetzt, weil 
da ist ja nichts. Das darf ich aber nicht machen, es gehen die vollen 5V 
in diesen Eingang hinein.

Korrek?

Vielen Dank Euch allen!

Gruß
Malte

von JJ (Gast)


Lesenswert?

Korrekt. Wenn du willst kannst du dir den uC als SEHR großen Widerstand 
gegen Masse vorstellen. Dann funktioniert der Spannungsteiler auch 
wieder.

von Michael U. (amiga)


Lesenswert?

Hallo,

ein idealer Eingang wäre ein "offener Drht, das heißt er hat keinerlei 
Verbindung nach GND oder den +5V, er schaut sich sozusagen nur die 
Spannung an.
Ein praktischer Eingang hat meist Schutzdioden und eben die 
Auswerteeletronk dran. Das ergbit einen Widerstand gegen GND und auch 
gegen +5V.

Nimm für Deine Beispiele zum Rechnen einfach an, der Eingang ist ein 
Spannungsteiler mit je einem Widerstand von 1 MOhm gegen GND und +5V.

In der Realität ist es komplexer, solange Du aber nur Taster oder 
Signale mit geringer Frequenz dran hast, paßt das sehr gut.

Diese Annahme erklärt z.B. die meist benutzten Werte für 
PullUp/PullDown-Widerstände: macht man sie zu niederohmig verbraucht man 
unnötig Strom (man könnte ja auch einen 10 Ohm Widerstand nehmen...), 
macht man sie zu hochohmig wird der Wert zum Erkennen nicht ereicht.

Gruß aus Berlin
Michael

von Malte W. (maltee)


Lesenswert?

Hallo,

danke für die Antworten.

Ich kann mir der Formulierung "[...] Widerstand gegen GND" nichts 
anfangen. Wäre das gleichzusetzen mit "Gegenüber von GND ist der 
Widerstand sehr viel größer"?



Michael U. schrieb:
> Diese Annahme erklärt z.B. die meist benutzten Werte für
> PullUp/PullDown-Widerstände: macht man sie zu niederohmig verbraucht man
> unnötig Strom (man könnte ja auch einen 10 Ohm Widerstand nehmen...),
> macht man sie zu hochohmig wird der Wert zum Erkennen nicht ereicht.
>
> Gruß aus Berlin
> Michael

Mein Arduino kann pro Ausgang ja maximal 20 mA liefern (ausgenommen 
Kurzschluss) lt. dem Ohmschen Gesetz gilt für die Spannung:
U=R*I
d.h. bei einem kleinen Widerstand mit I=konst. ist der Spannungsabfall 
ebenfalls klein.
Du schreibst aber, dass bei hochohmigen Widerständen der Wert zum 
Erkennen nicht erreicht wird. Wäre nach dem Ohmschen Gesetz bei 
hochohmigen Widerständen der Spannungsabfall nicht viel deutlicher zu 
dedektieren? Da ja am Widerstand mehr Spannung abfällt?
Oder habe ich deinen Post falsch verstanden?

Danke!

Gruß!
Malte

von JJ (Gast)


Lesenswert?

Ganz Hilfreich ist unter Umständen das allseits beliebte Bild von der 
Wasserleitung :)

Spannung = Druck
Strom = Durchflussmenge
Widerstand = mehr oder weniger zugedrehtes Ventil
Taster = ganz offenes oder geschlossenes Ventil
uC Eingang = Druckschalter am Ende eines Rohres, am Druckschalter selbst 
fließt so gut wie nichts vorbei.

Beispiel Pull-Down:
Wenn du jetzt mit dem Druckschalter herausfinden willst ob der Taster 
offen oder geschlossen ist, musst du mit dem Pull-Down Widerstand dafür 
sorgen, dass der Druck aus der Leitung rauskommt wenn über den Taster 
kein Wasser mehr nachdrückt.

von Veit D. (devil-elec)


Lesenswert?

Malte W. schrieb:
> Hallo,
>
> danke für die Antworten.
>
> Ich kann mir der Formulierung "[...] Widerstand gegen GND" nichts
> anfangen. Wäre das gleichzusetzen mit "Gegenüber von GND ist der
> Widerstand sehr viel größer"?

man meint damit ein Widerstand hängt zwischen Vcc und GND. Bzw. in dem 
Fall zwischen µC Eingang und GND. Der Eingangswiderstand des µC Pins 
eben.

> Michael U. schrieb:
>> Diese Annahme erklärt z.B. die meist benutzten Werte für
>> PullUp/PullDown-Widerstände: macht man sie zu niederohmig verbraucht man
>> unnötig Strom (man könnte ja auch einen 10 Ohm Widerstand nehmen...),
>> macht man sie zu hochohmig wird der Wert zum Erkennen nicht ereicht.
>>
>> Gruß aus Berlin
>> Michael
>
> Mein Arduino kann pro Ausgang ja maximal 20 mA liefern (ausgenommen
> Kurzschluss) lt. dem Ohmschen Gesetz gilt für die Spannung:
> U=R*I
> d.h. bei einem kleinen Widerstand mit I=konst. ist der Spannungsabfall
> ebenfalls klein.
> Du schreibst aber, dass bei hochohmigen Widerständen der Wert zum
> Erkennen nicht erreicht wird. Wäre nach dem Ohmschen Gesetz bei
> hochohmigen Widerständen der Spannungsabfall nicht viel deutlicher zu
> dedektieren? Da ja am Widerstand mehr Spannung abfällt?
> Oder habe ich deinen Post falsch verstanden?
>
> Danke!
>
> Gruß!
> Malte

jetzt verwechselt du was entscheidendes. Beim Eingang gilt die 
Spannungsteilerregel. Also Verhältnisse zueinander. Der µC Eingang hat 
ja praktisch einen Eingangswiderstand. Ich sage mal in den Raum gewurfen 
ca. 500 kOhm. Wenn Du jetzt den Pullup 1 MOhm machts, dann haste durch 
den Spannungsteiler eine zu geringe Spannung am Eingang, was der µC 
nicht mehr als logisch 1 auswertet.

Ausgang. Wenn Du nur einen einzigen Widerstand an den Ausgang 
anschließt. Dann liegen an dem Widerstand immer volle Vcc an. Gewöhnlich 
hier 5V. Das heißt der Strom wird nur durch den Widerstandswert 
begrenzt. Das heißt dein kleinstmöglicher Last-Widerstand darf 250 Ohm 
(5V/20mA) betragen.  Ansonsten wird der Ausgang überlastet und kann und 
wird kaputt gehen.

Die Arduino's mit den AVR's können pro Pin übrigens 40mA liefern. Würde 
ich aber nicht ausreizen. Max. 30mA. Und es gibt noch einen Gesamtstrom 
zu beachten der bei 200mA liegt.  Steht alles im hinteren Teil des 
Datenblattes zum verbauten µC bei Atmel. Mit üblichen 20mA liegste auf 
der sicheren Seite.

von oldmax (Gast)


Angehängte Dateien:

Lesenswert?

Hi
So tief brauchst du bei Pullup bzw. Pulldown Widerständen nicht 
einzusteigen. Schau dir eifach mal die Skizze an und mach dir einen 
Messaufbau. Dann schau, was die Voltmeter anzeigen. Bei der Beschaltung 
ohne einen PullUp oder PullDown zeigt das Instrument bei offenem 
Schalter nichts an. Das ist im Prinzip das selbe, als wenn du ein Stück 
Draht einfach in die Hand nimmst. Wenn da kein Blitz einschlägt, ist es 
einfach nur ein Stück draht ohne elektrische Bindung. Aber elektrische 
oder magnetische Felder können diesem Draht schon ein elektrisches 
Verhalten verpassen. Eine Elektronik reagiert eventuell darauf. Darum 
braucht es eine Potentialbindung und die liefert der PullUp bzw. 
PullDown
Gruß oldmax

von GroberKlotz (Gast)


Angehängte Dateien:

Lesenswert?

Liest man das Datenblatt einer MCU, z.B. das des PIC16F1827 auf Seite 
350, findet man dort (siehe Anlage) diese Daten:

Weak Pull-u Current Vdd = 5,0V Vpin = Vss (0v)
   minimum  25uA
   typisch 140uA
   maximal 300uA
Also liegt der fertigungstechnisch bedingte Wertebereich fuer den 
Widerstand eines Pull-up zwischen

5V / 0,000025uA = 200kOhm und 5V / 300uA = 16,7kOhm

weiterhin wird der Input Leakage Current an I/O ports, angeschlossen an 
Vdd=5V, bei 85Grad C mit
   typisch   5nA
   maximal 100nA
angegeben. Hieraus errechnet sich der Innenwiderstand eines I/O/Pins im 
High-Impedance Zustand
   5V / 0.000000005A = 1000MOhm
   5V / 0.000000100A =   50MOhm
Baut man nun aus dem Weak Pull up und dem Eingangswiderstand eines 
i/O-Pins im High Impedance Zustand einen Spannungsteiler mit z.B diesen 
Werten auf:

+5V--200kOhm--x--50MOhm--GND(0V)
              I
           I/O-Pin

errechnet sich die Spannung am I/O Pin gegen +5V so:

   {5V/(200kOhm+50M)} x 200kOhm = 0,01992V

Dieser geringe Spannungsabfall wird sich auch dann nicht wesentlich 
aendern wenn andere Werte im Bereich von minimal ueber typisch bis 
maximal verwendet werden.

mgG GroberKlotz

von Malte W. (maltee)


Lesenswert?

Ich danke euch vielmals!

Ich glaube ich habe es verstanden.
Ansonsten melde ich mich nochmal :)

Danke!

Gruß
Malte

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.