Was ist ein Push-up-/Pull-up-Widerstand? [Duplikat]

AS Die Frage Eine Frage zu Pull-up-Widerständen beantwortet nur einen Teil meiner Frage, wie bereits in "EDIT" erwähnt , kurz nachdem diese Frage gestellt wurde, und die Antworten hier (unten) sind sehr detailliert, im Kontext und leicht verständlich. Definitiv kein Duplikat; Markierung als Duplikat für 2-3 Punkte


Ich lese ein Buch über Arduino und verstehe das Konzept des Push-up-Widerstands einfach nicht. Nachfolgend ein Zitat aus dem Buch:

die Rennbahn

Wozu brauchen wir den Widerstand R1? R1 garantiert, dass der digitale Eingangspin 7 des Arduino mit einer konstanten Spannung von +5 V verbunden ist, wenn der Taster nicht gedrückt wird. Wenn der Taster gedrückt wird, fällt das Signal an Pin 7 auf Masse (GND), gleichzeitig wird die +5V-Versorgung des Arduino mit GND verbunden. Wir vermeiden einen Kurzschluss, indem wir den Strom begrenzen, der von +5V nach GND fließen kann mit einem Widerstand (1 - 10 KΩ). Wenn es überhaupt keine Verbindung von Pin 7 zu +5 V gäbe, wäre der Eingangspin „schwebend“, wenn der Taster nicht gedrückt wird. Das bedeutet, dass er weder mit GND noch mit +5V verbunden ist und elektrostatisches Rauschen aufnimmt, was zu einer falschen Auslösung des Eingangs führt.

Ein anderes Buch nannte es den Pull-up- Widerstand von Arduino, weil es den Strom in Richtung 5 V zieht , was mich noch mehr verwirrt - wie kann ein Widerstand die Spannung erhöhen, sollte die Spannung nicht abfallen?

Bearbeiten - danke an @Golaž für den Hinweis auf hilfreiches Material bei A question on pull up widerstände , in den Kommentaren (diese Bearbeitung wurde am 30. März um ~ 6 eingefügt) .

Also, was ist das ganze Konzept? Und welcher Begriff Liegestütz/Klimmzug ist richtig?

Auch in Bezug auf diese Schaltung oben -

  1. Was ist Floating -Pin?
  2. Wie vermeidet R1 einen Kurzschluss ? Warum zählt es als Kurzschluss und nicht als geschlossener Stromkreis? Schließlich ist GND eine Senke.
  3. Ist ein Kurzschluss bei nur 5 V ein ernsthaftes Problem

Ich habe schon gelesen:

Aber ich fasse es immer noch nicht ganz.

Kannst du #2 erweitern? Ich verstehe deine Frage nicht
Siehe auch electronic.stackexchange.com/a/23647/4512 für eine Diskussion darüber, wie man den Pullup-Widerstandswert bestimmt.
Ich bin mir sicher, dass es irgendwo eine kanonische FAQ-Frage dazu geben muss. Wenn nicht, dann sollten wir vielleicht einen erstellen :)
„Push-up“ beschreibt eine Übung für die Oberkörpermuskulatur. Ich habe noch nie von einem "Push-Up" -Widerstand gehört. Außerdem wäre ein solcher Begriff genauso sinnvoll wie der Versuch, etwas mit einer Gummischnur zu drücken. Man kann mit einer Gummischnur ziehen (nach oben oder unten), aber nicht drücken.
@NickAlexeev ja, 52-60 "Liegestütze" sind ein Teil meiner Routine :P

Antworten (4)

„Pull-up“ wird häufiger im Schaltungsdesign verwendet als „Push-up“. Aber ich könnte mir vorstellen, dass dich so oder so jemand verstehen würde.

Der Pullup-Widerstand erhöht die Spannung nicht. Es wird einfach die bereits vorhandene 5-V-Versorgung mit dem digitalen Eingangspin des Arduino verbunden. Digitale Eingangspins sind so ausgelegt, dass sie einen sehr hohen Innenwiderstand haben, sodass extrem wenig Strom in den Pin fließt. Wenn sehr wenig Strom durch einen Widerstand fließt, ist die Spannung auf beiden Seiten des Widerstands ungefähr gleich. R1 hat also auf beiden Seiten ungefähr 5 V. Das bedeutet vor allem, dass die Spannung am Eingangspin 5 V beträgt, wenn der Schalter nicht gedrückt wird.

Hinweis: Die Pfeile stellen den Stromfluss dar.

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Immer wenn der Arduino den Zustand des digitalen Eingangspins misst, kann er nur eine von zwei Optionen wählen: hoch oder niedrig. An diesen Pin muss ein externes Gerät angeschlossen werden (in Ihrem Fall ein Schalter), um entweder eine hohe oder eine niedrige Spannung anzulegen.

Aber was ist, wenn nichts mit dem Pin verbunden ist? Sie könnten versucht sein zu sagen, dass es sich um eine niedrige Spannung handeln sollte. Leider ist das nicht korrekt. Wir nennen diesen Zustand „schwebend“. Der Pin wird von einem externen Gerät nicht aktiv hoch oder niedrig getrieben, also schwebt er nur in einem unbekannten Zustand. Dies ist gefährlich, da der Arduino immer noch hoch oder niedrig wählen muss, wenn er den Pin misst. Es kann nicht "weder noch" als Option auswählen. Welches wird es wählen? Wer weiß. Tatsächlich fungiert der physische Metallstift selbst als winzige Antenne und kann von jedem nahegelegenen elektrostatischen Feld beeinflusst werden. Durch einfaches Bewegen der Hand in die Nähe des Chips kann dieser sporadisch seinen Zustand ändern. Moral der Geschichte: Lassen Sie NIEMALS einen digitalen Eingang schwebend.

Die einzige Aufgabe des Pull-up-Widerstands besteht darin, zu verhindern, dass der Pin schwebt, wenn der Schalter nicht gedrückt wird.

Sobald der Schalter tatsächlich gedrückt wird, hat die 5-V-Versorgung einen Pfad zur Masse durch den Pull-up-Widerstand und den geschlossenen Schalter. Aber der Widerstand begrenzt den Strom auf einen vernünftigen Betrag, wodurch ein Masseschluss vermieden wird. Unter Verwendung des Ohmschen Gesetzes liegt die Spannung an der Unterseite des Widerstands jetzt sehr nahe bei 0 V. Da dort der digitale Eingangspin angeschlossen ist, liest der Arduino eine niedrige Spannung. Jetzt kann die in den Arduino programmierte Firmware den Status des digitalen Eingangspins sicher lesen und feststellen, wann die Taste gedrückt wird.

schematisch

Simulieren Sie diese Schaltung

Warum verbinden wir also nicht einfach die 5V-Versorgung direkt mit dem digitalen Eingangspin und verzichten auf den Pullup-Widerstand? Wie Sie in Ihrer Frage angegeben haben, führt dies dazu, dass die 5-V-Versorgung beim Drücken des Schalters gegen Masse kurzgeschlossen wird. Je nachdem, wie groß das Netzteil ist, kann es zu einem massiven Stromfluss durch den Schalter kommen. Es könnte das Netzteil beschädigen und möglicherweise den Knopf schmelzen. Zumindest kommt es zu einem Brown-out oder Black-out der Stromversorgung und der Versorgungsausgang fällt auf nahezu null ab. Wenn das Netzteil intelligent ist, schaltet es sich einfach aus. Also ja, ein Masseschluss ist bei "nur 5 V" ein ernstes Problem.

schematisch

Simulieren Sie diese Schaltung

Ich wehe dir ein Mittag-/Abendessen! :D

Der richtige Begriff ist hochziehen. Ich habe noch nie von Liegestützen gehört, aber ich nehme an, es bedeutet dasselbe.

  1. Ein Floating-Pin ist einer, dem keine Spannung zugeordnet ist. Ein Stück Draht, der mit nichts verbunden ist, schwimmt.

  2. Siehe unten.

  3. Dieser ist knifflig. Es kommt auf den Kontext an. Und wie Ihre Frage aussieht, kann ein Kurzschluss bedeuten, dass eine Spannung gegen Masse kurzgeschlossen ist. Das ist schlecht. Sehr schlecht. Mach das nicht. Selbst 1 V kurzgeschlossen gegen Masse ist ohne Widerstand schlecht.

Sie können sich eine Spannungsquelle als eine feste Spannung mit veränderlichem Strom vorstellen. Das bedeutet, dass die Versorgung so viel Strom liefert, wie sie benötigt, um diese 5 V aufrechtzuerhalten.

Das Problem beim Kurzschließen von Spannungen gegen Masse besteht darin, dass die Versorgung eine gewisse Spannung (in Bezug auf Masse) abgeben möchte. Aber der Spannungsausgang ist 0 V (weil er mit Masse verbunden ist). Was also tut das Netzteil, um seinen Spannungspegel zu erreichen? Es erhöht den Strom. Der Strom steigt dann an, aber die Spannung ist immer noch 0, also steigt er weiter und steigt an. Andere Schaltkreise können damit nicht umgehen, und sie erhitzen sich und blasen durch. Die von Ihnen verwendeten Leiterbahnen oder Drähte können damit nicht umgehen, sodass sie sich erhitzen, Feuer fangen oder einfach aufbrechen.

Wie beheben Sie dieses Problem? Fügen Sie etwas dazwischen hinzu, um den Strom auf einen sicheren Wert zu steuern. Fügen Sie einen Widerstand hinzu (was die Antwort auf Nr. 2 ist).

Durch Hinzufügen eines Widerstands muss die Versorgung keinen unendlichen Strom liefern (oder praktisch, was ihre Grenze ist), da der Widerstand sagt: "Hey! Langsam!".

Ich denke, Ihre losen Absätze haben # 2 beantwortet.
@efox29 danke für die tolle Antwort, ich wünschte ich könnte 2 Antworten akzeptieren :)

Da andere den Pullup-Widerstand angesprochen haben, werde ich nur die Gefahren von nur 5 V hervorheben.

Vor einiger Zeit habe ich einen alten Sonnencomputer verschrottet und die Stromversorgung für eine Weile behalten. Es hatte 5V Ausgang. Ich habe es versehentlich kurzgeschlossen. Die über 100 Ampere, die durch den kurzen Bogen fließen, fressen den Kontaktpunkt um etwa 1/8 Zoll weg, bevor die Sicherungen schmolzen.

Also was ist passiert? Es war ein großes Netzteil mit einer Nennleistung von über 100 Ampere bei 5 V im Normalbetrieb. Als der Widerstand abfiel, stieg der Strom, bis er sowohl eine Lichtbogenkorrosion des Kupferkontakts auslöste als auch den Nennstrom der Stromversorgung um einen ausreichend großen Spielraum überschritt, um ausfallen zu können. Denken Sie daran, wenn ich = v r und v = 5 dann lim r 0 5 r = Glücklicherweise gibt es andere Begrenzungen für den Strom.

Die einfachste Antwort auf die obige Frage lautet: "Ein Pull-up-Widerstand wird hinzugefügt, um den Pin in einem bestimmten Zustand zu halten, anstatt ihn in einem schwebenden Zustand zu halten". Dies liegt daran, dass, wenn der Pin schwebend ist, die marginale Drift in der Hochimpedanzspannung ihn als einen bestimmten Zustand (entweder hoch oder niedrig) betrachten kann. Also immer lieber einen Pullup-Widerstand für solche Pins haben.