Forum: Mikrocontroller und Digitale Elektronik Pull-Up Widerstand verstehs net


von Humbert K. (qbert)


Lesenswert?

Hallo allerseits,

ich verstehe leider Pull-Up Widerstände nicht richtig :(
Ich brauche einen Pull-Up für den Eingang vom Mikrocontroller, wenn ich 
noch nen Schalter drin hab um auch bei offenem Schalter einen 
eindeutigen Pegel zu haben. Warum hab ich bei offenem Schalter keinen 
eindeutigen Pegel? Kann mir das bitte jemand erklären, die Frage plagt 
mich schon seit Monaten und ich kann nachts nicht mehr richtig schlafen 
;(

von EiSischa (Gast)


Lesenswert?

Jomei, CMOS-Eingaenge sind seeehr hochohmig und fangen sich
gern vagabundierende Elektronen ein.
Das verhuelft dem Eingang dann zu Logikpegeln aller Art.
Also dann wenn der Schalter offen ist.
Also tut Scheffe da einen Pull-Up dran.

von Joachim B. (jar)


Lesenswert?

Humbert K. schrieb:
> Warum hab ich bei offenem Schalter keinen
> eindeutigen Pegel?

ja warum?
unter welchen Bedingungen, mit oder ohne pullup?

Humbert K. schrieb:
> die Frage plagt
> mich schon seit Monaten

mich plagen Fragen die ich nicht beantworten kann weil sie ungenau sind

Wie funktioniert Radio?
Oft durch die Luft per Funkwellen!

Woher soll nun so ein IO am µC wissen das er kein Radio empfangen darf?
Da sollte man ihm doch Besseres anbieten, einen verlässlichen Pegel!

: Bearbeitet durch User
von Humbert K. (qbert)


Lesenswert?

Hi,

ich würde gerne wissen, warum der Pegel ohne verbauten Pull-Up bei 
offenem Schalter nicht eindeutig ist.

von Joachim B. (jar)


Lesenswert?

das erfährst du nur wenn du die Antworten liest und sogar verstehst.

Ohne Verständnis deinerseits ist jede Antwort zwecklos.

Joachim B. schrieb:
> Woher soll nun so ein IO am µC wissen das er kein Radio empfangen darf?

von Peter Petersson (Gast)


Lesenswert?

Wenn du ein Kabel iwo hin legst. Was hat das dann für ein Potenzial? 
Antwort: irgendeins. Wenn du das Kabel jetzt an einen Eingang legst der 
hochohmig ist (also das Potenzial des Kabels nicht beeinflusst). Was 
sieht der Eingang dann? Antwort: irgendwas! Was kann man also machen um 
bei offenem Kabel/Eingang ein bestimmtes Potenzial zu haben? Man 
verbindet einen Widerstand zu diesem Potenzial, der das Potenzial des 
Eingangs zum gewünschten Potenzial ZIEHT (to pull). Je nachdem ob das 
Potenzial HOCH oder RUNTER GEZOGEN wird, ist das ein PULL UP oder PULL 
DOWN.

von Mathias M. (matjes)


Lesenswert?

Na ja, ein Ende des Schalters kommt (jetzt ohne Pullup) an den 
Microcontroller. Das andere Ende an GND. Wenn der Schalter zu ist, dann 
liegen klar 0V am uC an. Wenn der Schalter auf ist, dann ist der Pin am 
uC nur am Schalter, elektrisch also an nichts angeschlossen. Warum 
sollte der Pin plötzlich ein High Signal anzeigen? Elektrisch treibt ihn 
ja nichts in irgendeine Richtung. Also muss man den Pin am uC noch über 
einen Widerstand an die Versorgungsspannung (oder whatever) anklemmen. 
Ist der Schalter offen, wird der Pin über den Widerstand auf High 
gezogen. Ist der Schalter zu, reicht der Widerstand nicht aus, um den 
Pin auf High zu lassen, da er ja niederohmig mit GND verbunden ist.

Der Pullup ist oft auch schon im uC verbaut und kann Softwaremäßig 
aktiviert werden. Dann liegen am Pin schon 5V an, die man mit nem 
Schalter auf 0 ziehen kann. Wenn man den Pullup aber nicht aktiviert 
hat, hat man wieder einen undefinierten Zustand.

von Peter Petersson (Gast)


Lesenswert?

Ohne dich angreifen zu wollen, aber wenn man das nach Monaten nicht 
verstanden hat, kann man das mit der Elektronik vergessen. Denn das ist 
so ziemlich das einfachste was es in der Elektronik gibt.

von Mathias M. (matjes)


Lesenswert?

Achtung Vergleich mit nem Wasserschlauch! Gelernte Elektro-fuzzies nicht 
lesen!

Selbes Prinzip mit Pull-Down:
Dein Schalter ist ist der Wasserhahn, dein Pin ist vorne die Spritze. 
Die hast du nur ganz leicht (hochohmig) auf um zu Prüfen, ob Wasser da 
ist. Ist der Hahn auf, kommt Wasser. Machst du den Hahn (Schalter) zu, 
kommt immer noch Wasser. Ist ja noch Druck in der Leitung. Wenn du 
Hochohmig genug misst, noch ziemlich lange. Damit das Abdrehen des 
Wassers sicher detektiert werden kann, machst du noch ein Loch in den 
Schlauch (Pulldown), was schneller das Wasser ablässt als dein 
Hochohmiger Eingang. Ist der Hahn offen, kommt trotzdem vorne noch was 
raus. Ist der Hahn zu, macht zieht dein Loch den Schlauch schnell auf 
GND.

Steinigt mich.

von Humbert K. (qbert)


Lesenswert?

Danke für die Antworten, aber worauf ich hinausmöchte ist eine 
mathematische Erklärung. So ist es mir auch klar. Das ist halt ne 
saloppe Erklärung und es geht aus ihr auch nicht hervor, wie man einen 
Pull-Up Widerstand überhaupt dimensionieren sollte.

von Wolfgang (Gast)


Lesenswert?

Humbert K. schrieb:
> Danke für die Antworten, aber worauf ich hinausmöchte ist eine
> mathematische Erklärung. So ist es mir auch klar. Das ist halt ne
> saloppe Erklärung und es geht aus ihr auch nicht hervor, wie man einen
> Pull-Up Widerstand überhaupt dimensionieren sollte.

Wenn du es so genau wissen willst, besorge dir vom Hersteller das 
Ersatzschaltbild des GPIO oder miss es aus. Dort taucht u.a. ein 
Kondensator und die Leckströme von Eingangsschutzdioden auf. Die 
erfoderlichen Pegel stehen im Datenblatt. Damit kannst du dich ans 
Rechnen machen.

von Humbert K. (qbert)


Lesenswert?

Ja, ich hab jetzt eine super Erkärung gefunden 
https://www.electronics-tutorials.ws/de/logische/pullup-widerstaende.html 
Des ist wirklich sehr gut erklärt.

von HildeK (Gast)


Lesenswert?

Humbert K. schrieb:
> Ja, ich hab jetzt eine super Erkärung gefunden

Ja, richtig. Es wird aber auch nichts anderes gesagt, als viele hier 
bereits gepostet hatten.

Nur über die berechneten Werte dort muss ich noch sagen, dass TTL oder 
LS-TTL sowas von 'Out' ist! Das interessiert heute kaum noch jemand und 
ist für Bestimmung eines Pullup an seit 30 Jahren (und länger) üblichen 
CMOS-Bausteinen nicht so hilfreich. Damals floss tatsächlich noch ein 
relevanter Strom in den Eingängen der TTL-Bausteine.
Bei CMOS Bausteinen ist der so gering, dass die errechneten Widerstände 
viel zu hochohmig werden würden und du auch noch die Arbeitstemperatur 
des Bausteins berücksichtigten müsstest. Also: vergiss die Berechnung! 
Orientiere dich an dem, was du an vielen Schaltbeispielen findest.

Im Prinzip und theoretisch ist fast jeder Widerstandswert möglich. Aber:
- zu niederohmige PUs führen beim Drücken der Taste zu unnötig hohem 
Stromverbrauch. Eine Abwägung.
- zu hochohmige PUs lassen den Eingang noch immer empfindlicher gegen 
Einstreuungen, Störungen usw. sein. Wieder eine Abwägung.
Irgendwo dazwischen gibt es dann noch einen weiten Bereich, der als 
optimal angesehen werden kann.

Ich persönlich nehme bei CMOS-Eingängen, die eine relevante Funktion in 
einer spezielle Schaltung haben, irgendwas zwischen 1k und 5k, vor allem 
wenn ein Taster o.ä. angeschlossen ist. Das ist auch abhängig davon, wie 
lange z.B. die Leitung zu dem besagten Taster sein wird oder wie 
störverseucht die Umgebung ist. Hier waren meine frühen, einfachen Tests 
immer: mehrfach den Lötkolben oder die Leuchtstofflampen im Raum ein- 
bzw. ausschalten. Professionell geht man in eine EMV-Kammer.
10k sind auch noch okay, wenn man kurze Leitungen hat, Strom sparen 
muss, z.B. bei Batteriebetrieb und sonst keine großen Störeinstreuungen 
erwartet.
Meist ist aber nicht mal das sehr relevant: man drückt die Taste ja 
nicht stundenlang ...

Noch mehr wäre vertretbar, wenn der Eingang sowieso nicht ausgewertet 
wird, denn er muss auch als unbenutzter Pin einen stabilen Logikpegel 
haben. Aber da das auf die tatsächliche Stromaufnahme keinen Einfluss 
hat: der 1k ist auch nicht teurer als der 50k Widerstand ...

Du siehst: man hat in der Summe aller erstellten Schaltungen gewisse 
Erfahrungen gemacht und die haben im Laufe des Lebens zu einer Präferenz 
für den richtigen Wert geführt - ohne viel zu rechnen. Deshalb kann es 
durchaus sein, dass andere Empfehlungen um einen (niedrigen) Faktor 
drüber oder drunter liegen.

von Michael B. (laberkopp)


Lesenswert?

Humbert K. schrieb:
> Warum hab ich bei offenem Schalter keinen eindeutigen Pegel?

Womit ist denn der Eingang verbunden, wenn der Schalter offen ist ?

Mit keiner Leitung, also keiner Spannung und hat somit keinen Bezug zur 
Betriebspannung VCC und GND.

von Wolfgang (Gast)


Lesenswert?

Michael B. schrieb:
> Womit ist denn  ...

Verschlafen?

von Joachim B. (jar)


Lesenswert?

HildeK schrieb:
> Im Prinzip und theoretisch ist fast jeder Widerstandswert möglich. Aber:
> - zu niederohmige PUs führen beim Drücken der Taste zu unnötig hohem
> Stromverbrauch.

und kann den Taster killen mit zu hohem Strom oder zu kleinen pullup.
Auch ein Port kann leiden oder sterben wenn ein Softwarefehler den auf 
out und low programmiert.
Der Strom gebremst durch den pullup sollte in allen Fällen passen.

von HildeK (Gast)


Lesenswert?

Joachim B. schrieb:
> und kann den Taster killen mit zu hohem Strom oder zu kleinen pullup.

Richtig, hätte ich noch dazu schreiben sollen/können. Aber der Taster 
mag es u.U. auch nicht, wenn der Strom zu klein ist. Stichwort: 
Kontaktreinigung.

Deshalb auch die gewählte Begrifflichkeit:

HildeK schrieb:
> Im Prinzip und theoretisch ist fast jeder ...

von J. Grimm (Gast)


Lesenswert?

Humbert K. schrieb:
> Danke für die Antworten, aber worauf ich hinausmöchte ist eine
> mathematische Erklärung. So ist es mir auch klar. Das ist halt ne
> saloppe Erklärung und es geht aus ihr auch nicht hervor, wie man einen
> Pull-Up Widerstand überhaupt dimensionieren sollte.

Es gibt keine mathematische Erklärung, denn Pullupwiderstände sind eine 
Erfindung der Widerstandshersteller. Wie sonst kann man reich werden, 
als wenn man Leuten erzählt, jeder Eingangspin (manche sagen auch: 
zusätzlich jeder Ausgangspin) muss mit einem Widerstand auf ein 
definiertes Niveau gezogen werden?

Wer das wie du hinterfragt merkt schnell: nirgendwo wird der Wert des 
Widerstandes definiert, es ist eine Glaubensfrage. Wie soll das Niveau 
definiert sein, wenn der Widerstand nicht definiert ist?

Jeder relevante Pin ist intern irgendwie beschaltet, also hat er bereits 
einen definierten Widerstand gegen Masse und gegen Vcc, ergo auch ein 
definiertes Niveau.

Und wenn sie nicht gestorben sind, verdienen die 
Pullup-Widerstands-Märchen-Erzähler auch heute noch gutes Geld mit ihren 
sinnlosen Widerständen.

von HildeK (Gast)


Lesenswert?

@J. Grimm (Gast)
Ich fürchte, du bist der Märchenerzähler und mit dem Nicknamen sowieso.

von Stefan F. (Gast)


Lesenswert?

J. Grimm schrieb:
> Es gibt keine mathematische Erklärung, denn Pullupwiderstände sind eine
> Erfindung der Widerstandshersteller.

Das halte ich für ein Märchen.

Wie oben bereits korrekt erklärt wurde, sorgt der Pull-Up (bzw. 
Pull-Down) Widerstand für einen definierten Ruhepegel. Er leitet 
Störungen ab, welche die Leitung mit ihrer parasitären Antennenwirkung 
einfängt. Und ein gewisser Mindest-Strom ist nötig, damit die Kontakte 
langfristig gut funktionieren.

Für kleine Signaltaster lasse ich ungefähr 1 mA fließen. Licht-Taster, 
die für Hausinstallation mit 16A vorgesehen sind, haben jedoch gerne 
wesentlich mehr Strom.

Die internen Pull-Up Widerstande (falls vorhanden) lassen für diesen 
Zweck zu wenig Strom fließen.

von J. Grimm (Gast)


Lesenswert?

Stefanus F. schrieb:
> Und ein gewisser Mindest-Strom ist nötig, damit die Kontakte
> langfristig gut funktionieren.

Bitte nciht nur spoilern. Erzähl uns das ganze Märchen!

> Für kleine Signaltaster lasse ich ungefähr 1 mA fließen. Licht-Taster,
> die für Hausinstallation mit 16A vorgesehen sind, haben jedoch gerne
> wesentlich mehr Strom.

Und deshalb schaltest du auch nie das Licht aus, schon klar. Wie kommt 
man auf so eine Grütze?
Warum heißt du eigentlich nicht Stefan? Hältst du dich mit der 
lateinischen "Nus"-Endung für gelehrter? Und? Hilfts?

von Stefan F. (Gast)


Lesenswert?

J. Grimm schrieb:
> Bitte nicht nur spoilern. Erzähl uns das ganze Märchen!

Dann suche mal nach Wetting Current. Ich habe hier im Forum bereits 
mehrfach Artikel zu dem Thema gepostet.

Ich hatte damit in der Vergangenheit selbst Probleme, als ich noch keine 
Ahnung davon hatte. Seit ich mich an die 1mA halte, keine Probleme mehr.

> Und deshalb schaltest du auch nie das Licht aus, schon klar.
> Wie kommt man auf so eine Grütze?

Ja genau, wie bist du auf diese Grütze gekommen? Wer hat denn gesagt, 
dass ich das Licht nie aus schalte?

> Warum heißt du eigentlich nicht Stefan?
Weil meine Mutter mich so nennt, und ja, es hat etwas mit ihrer 
Affinität zu Latein zu tun. Deswegen musst du nicht gleich beleidigend 
werden.

von HildeK (Gast)


Lesenswert?

@Stefanus F. (stefanus)
Das will der J.Grimm doch gar nicht wirklich wissen. Der trollt nur rum.

Stefanus F. schrieb:
>> Warum heißt du eigentlich nicht Stefan?
> Weil ...
Und das geht ihn doch sowieso nichts an.

von Max (Gast)


Lesenswert?

Stell Dir Mal folgendes vor.
Eine Tür ist weder auf noch zu. Durch die Umgebung (z.B. Wind) kann sich 
die Tür jetzt weiter öffnen oder schließen. Erst wenn du selber Hand 
anlegst, ist sie entweder komplett zu oder auf und vor allem bleibt sie 
in diesem Zustand, bis du sie wieder loslässt.
Der Wind sind in der Elektronik Felder, die den Zustand deines Eingangs 
beeinflussen können. Legst du aber dauerhaft Hand an (Pull-Up oder Pull 
Down), ist der Zustand eindeutig und ändert sich im besten Fall nicht 
von alleine.
Der Zustand ändert sich jetzt erst, wenn jemand stärkeres an der Tür 
zieht bzw. ein anderes Potential direkt an den Eingang gelegt wird; z.B. 
Pull-Up am Eingang und ein Taster zieht den Eingang dann fest auf Masse.

von Peter D. (peda)


Lesenswert?

HildeK schrieb:
> - zu hochohmige PUs lassen den Eingang noch immer empfindlicher gegen
> Einstreuungen, Störungen usw. sein.

Intel hatte deshalb beim 80C51 einen weiteren Pullup implementiert. Bei 
low ist nur der schwache Pullup aktiv, um Strom zu sparen. Bei high wird 
zusätzlich ein starker Pullup parallel geschaltet, um störunempfindlich 
zu sein.

von Peter Petersson (Gast)


Lesenswert?

J. Grimm schrieb:
> ...

Alter, jeder Student in den Studium Digitaltechnik vorkommt beschäftigt 
sich in der ersten praktischen Übung damit, was ein Pullup oder Pulldown 
ist und wozu man das braucht. Und jetzt versuchst du ernsthaft zu 
erzählen das wäre eine überflüssige Erinnerung der 
"Widerstand-Hersteller"? Was bitte hast du geraucht?!

von HildeK (Gast)


Lesenswert?

Peter D. schrieb:
> Intel hatte deshalb beim 80C51 einen weiteren Pullup implementiert. Bei
> low ist nur der schwache Pullup aktiv, um Strom zu sparen. Bei high wird
> zusätzlich ein starker Pullup parallel geschaltet, um störunempfindlich
> zu sein.

Interessant. Ich kenne die 8051-Welt nicht.
Hast du Infos über die ungefähren Werte beider PUs?
Ich hab mal bei einem Tiny grob so ca. 35-40kΩ gemessen (war etwas 
abhängig von VCC, aber eher weniger als erwartet). Das ist mir für einen 
'heißen' Eingang zuviel.

von Peter D. (peda)


Angehängte Dateien:

Lesenswert?

HildeK schrieb:
> Hast du Infos über die ungefähren Werte beider PUs?

Siehe Bild.

von HildeK (Gast)


Lesenswert?

Danke. Also wenige kOhm oberhalb 2V bzw. zwischen 50k und 100k bei LOW.

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.