Widerstände herunterziehen

18

Um die Elektrotechnik zu verstehen, bin ich auf dieses Tutorial gestoßen:

http://www.ladyada.net/learn/arduino/lesson5.html

Ich habe die Diagramme verstanden, bis ich zu Schaltern kam. Ich bin nicht sicher, wie Schalter auf dem Steckbrett oder den Diagrammen arbeiten. Dies ist der spezifische, an den ich denke (dies ist ein Pull-Down-Widerstand):

Bildbeschreibung hier eingeben

Die Implementierung ist:

Bildbeschreibung hier eingeben

Nach dem Diagramm passiert meiner Meinung nach Folgendes: Der Schalter wird mit Strom versorgt. Wenn der Knopf gedrückt ist, ist der Stromkreis nicht fertig. Wenn der Knopf gedrückt wird, nimmt der Strom den Weg des geringsten Widerstands zu Pin2, weil er mehr Zug hat (100 Ohm <10 kOhm).

Die Art und Weise, wie sie im Tutorial beschrieben wird, klingt so, als ob die Taste gedrückt ist, der Stromkreis noch vollständig ist, aber der 10-kOhm-Widerstand die Spannung auf den Boden zieht. Ich bin nicht sicher, wie oder warum, wenn sowohl 10 kOhm als auch 100 Ohm den gleichen Strom empfangen, der Strom durch einen höheren Widerstand auf den Boden gezogen wird, als er an Pin 2 offen ist.

Sturm Kiernan
quelle
3
Nebenbei: Versuchen Sie, sich eine Schaltung vorzustellen, die die Spannung an jedem Punkt und nicht den Stromfluss angibt. Dies half mir zu verstehen, als ich EE zum ersten Mal lernte.
geometrikal
Ich bin etwas enttäuscht von der Qualität der Antworten auf diese Frage. Ich würde vorschlagen, stattdessen dieses Video von AddOhms anzuschauen. . Ich verstehe nicht , dieses Konzept genug , um es zu erklären , aber keine der Antworten hier zum Zeitpunkt des Schreibens spricht auch über das, was bewirkt , dass den schwebenden Zustand, oder wie entweder Pull-up - oder Push-down Entschlüsse das Problem.
Evan Carroll
@EvanCarroll Auf der anderen Seite fragt die Frage zum Zeitpunkt des Schreibens nicht nach den Dingen, die Sie interessieren.
Dmitry Grigoryev

Antworten:

29

Vergessen Sie zunächst den 100 Ω Widerstand. Es ist nicht für die Funktion der Taste erforderlich, sondern dient nur als Schutz für den Fall, dass Sie einen Programmierfehler machen.

  • Wenn die Taste gedrückt wird, wird P2 direkt mit +5 V verbunden, so dass dies als hoher Pegel mit "1" angesehen wird.
  • Wenn die Taste losgelassen wird, zählen die +5 V nicht mehr, es sind nur noch 10 kΩ zwischen Anschluss und Masse.

×


Nun der 100 Ω Widerstand. Wenn Sie den Pin-Ausgang versehentlich auf LOW stellen würden, führt das Drücken der Taste zu einem Kurzschluss: Der Mikrocontroller legt 0 V am Pin und der Schalter +5 V am selben Pin fest. Der Mikrocontroller mag das nicht und der IC kann beschädigt werden. In diesen Fällen sollte der 100 Ω-Widerstand den Strom auf 50 mA begrenzen. (Was immer noch ein bisschen zu viel ist, wäre ein 1 kΩ Widerstand besser.)

Da kein Strom in einen Eingangspin fließt (abgesehen von dem geringen Leckstrom), fällt am Widerstand kaum Spannung ab.

Die 10 kΩ sind ein typischer Wert für ein Hochziehen oder Herunterziehen. Ein niedrigerer Wert führt zu einem noch geringeren Spannungsabfall, 10 mV oder 1 mV machen jedoch keinen großen Unterschied. Aber es gibt noch etwas anderes: Wenn die Taste gedrückt wird, werden 5 V am Widerstand angelegt, sodass ein Strom von 5 V / 10 kΩ = 500 µA fließt. Das ist niedrig genug, um keine Probleme zu verursachen, und Sie werden den Knopf sowieso nicht lange gedrückt halten. Sie können die Taste jedoch durch einen Schalter ersetzen, der möglicherweise für längere Zeit geschlossen ist. Wenn Sie dann einen Pulldown von 1 kΩ gewählt hätten, hätten Sie 5 mA durch den Widerstand, solange der Schalter geschlossen ist, und das ist eine Verschwendung. 10 kΩ ist ein guter Wert.


Beachten Sie, dass Sie diesen auf den Kopf stellen können, um einen Pull-Up-Widerstand zu erhalten, und auf Masse schalten können, wenn die Taste gedrückt wird.

Bildbeschreibung hier eingeben

Dies kehrt Ihre Logik um: Wenn Sie die Taste drücken, erhalten Sie eine "0" anstelle einer "1", aber die Funktionsweise ist dieselbe: Wenn Sie die Taste drücken, wird der Eingang auf 0 V gesetzt Eingang auf +5 V-Pegel (mit vernachlässigbarem Spannungsabfall).

Dies geschieht normalerweise so, und die Hersteller von Mikrocontrollern berücksichtigen dies: Die meisten Mikrocontroller verfügen über interne Pull-up-Widerstände, die Sie in der Software aktivieren oder deaktivieren können. Wenn Sie das interne Pull-up verwenden, müssen Sie nur den Knopf mit Masse verbinden, das ist alles. (Einige Mikrocontroller verfügen auch über konfigurierbare Pulldowns, diese sind jedoch viel seltener.)

stevenvh
quelle
Ich denke, es ist nicht klar, wie die Push-Down-Methode das Problem mit dem schwebenden Zustand aus dieser Antwort löst.
Evan Carroll
7

Beachten Sie, dass der Switch kein schickes Gerät ist, das Strom verbraucht und ein bestimmtes Ausgangssignal erzeugt. Stellen Sie sich stattdessen einen Draht vor , den Sie nur durch Drücken der Taste zum Stromkreis hinzufügen oder daraus entfernen.

Wenn der Schalter getrennt (nicht gedrückt), ist der einzig mögliche Weg für Strom ausP2 durch beiden Widerstände nach Masse. Somit liest der Mikrocontroller ein LOW.

Wenn der Schalter angeschlossen ist (gedrückt):

  • Der Strom fließt vom Netzteil über den Schalter

  • Ein Teil des Stroms fließt durch den 100-Ohm-Widerstand nach P2. Der Mikrocontroller liest HIGH.

  • Ein kleiner Strom fließt durch den 10-KOhm-Widerstand nach Masse. Dies ist im Grunde Energieverschwendung.

Beachten Sie, dass der 100-Ohm-Widerstand nur zur Begrenzung des maximal zulässigen Stroms dient P2. Es ist normalerweise nicht in einer solchen Schaltung enthalten, da der P2Eingang des Mikrocontrollers bereits hochohmig ist und nicht viel Strom verbraucht. Das Einschließen des 100-Ohm-Widerstands ist jedoch nützlich, wenn Ihre Software einen Fehler oder einen logischen Fehler aufweist, der dazu führt, dass sie versucht, ihn P2stattdessen als Ausgang zu verwenden. In diesem Fall können P2Sie den Mikrocontroller-Pin möglicherweise beschädigen , wenn der Mikrocontroller versucht, zu leise zu fahren , der Schalter jedoch kurzgeschlossen und zu hoch geschaltet ist. Aus Sicherheitsgründen würde der 100-Ohm-Widerstand in diesem Fall den Maximalstrom begrenzen.

Jim Paris
quelle
5

Wenn Sie die Taste drücken, wird ein logischer High-Pegel (+5 V) am Eingang angelegt. Wenn Sie jedoch den Widerstand weglassen und die Taste loslassen, ist der Eingangspin nur potentialfrei, was in HCMOS bedeutet, dass der Pegel undefiniert ist. Das wollen Sie nicht, also ziehen Sie den Eingang mit dem Widerstand auf Masse. Der Widerstand wird benötigt, da sonst durch Drücken der Taste ein Kurzschluss verursacht würde.

Der Eingang ist hochohmig, dh es fließt kaum Strom durch ihn. Nullstrom durch den Widerstand bedeutet Nullspannung über ihm (Ohmsches Gesetz), so dass die 0 V auf einer Seite auch 0 V (oder sehr nahe) am Eingangspin sind.

Dies ist eine Möglichkeit, einen Taster anzuschließen. Sie können jedoch auch den Widerstand und den Taster vertauschen, sodass der Widerstand auf +5 V und der Taster auf Masse geht. Die Logik wird dann umgekehrt: Durch Drücken der Taste wird der Eingangspin auf einen niedrigen Pegel gebracht. Dies geschieht jedoch häufig, da in den meisten Mikrocontrollern Pull-up-Widerstände eingebaut sind, so dass Sie nur den Taster benötigen, der externe Widerstand kann dann entfallen. Beachten Sie, dass Sie möglicherweise das interne Pullup aktivieren müssen.



Siehe auch diese Antwort .

stevenvh
quelle
Ich denke, es ist nicht klar, wie die Push-Down-Methode das Problem mit dem schwebenden Zustand aus dieser Antwort löst.
Evan Carroll
4

Der 10-kOhm-Widerstand wird als Pulldown-Widerstand bezeichnet, da der Knoten, wenn der "grüne" Knoten (beim Anschließen der 100-kOhm- und 10-kOhm-Widerstände) nicht über den Schalter mit +5 V verbunden ist, nach Masse gezogen wird (wobei ein niedriger Strom durch diesen Zweig angenommen wird) offensichtlich). Wenn der Schalter geschlossen ist, erhält dieser Knoten ein Potential von + 5V.

Dies wird verwendet, um die Eingänge von logischen ICs (UND-Gatter, ODER-Gatter usw.) zu steuern, da sich diese Schaltungen unregelmäßig verhalten, wenn an ihren Eingängen kein bestimmter Wert (ein 0- oder ein 1-Wert) vorliegt. Wenn Sie den Eingang eines logischen Gatters potentialfrei lassen, kann der Ausgang nicht zuverlässig bestimmt werden. Daher ist es ratsam, immer einen bestimmten Eingang (wieder eine 0 oder eine 1) an den Eingang des Gatters anzulegen. In diesem Fall wäre P2 ein Eingang für ein bestimmtes logisches Gatter, und wenn der Schalter offen ist, hat er einen Eingangswert von 0 (GND); Wenn der Schalter geschlossen ist, hat er einen Eingangswert von 1 (+ 5V).

Shamtam
quelle
2

Strom nimmt den Weg des geringsten Widerstands

Ich bin mir nicht sicher, woher dieses verbreitete Missverständnis kommt, aber es ist in der Tat falsch, da es direkt dem Ohmschen Gesetz widerspricht. Der Strom nimmt alle möglichen Pfade , umgekehrt proportional zu ihrem Widerstand. Wenn Sie 5 V an einen 10-k-Widerstand anlegen, fließen 0,5 mA durch ihn, unabhängig davon, wie viele alternative Pfade (niederohmig oder anderweitig) Sie bereitstellen.

Im Übrigen ist dieser Weg durch den 100-Ohm-Widerstand nicht unbedingt der "kleinste Widerstand", da der Widerstand nicht mit Masse verbunden ist . Normalerweise wird dieser Widerstand an einen MCU-Eingang mit einer Impedanz von> 10 MOhm angeschlossen, sodass der 10k-Widerstand der Pfad mit dem geringsten Widerstandswert ist.

Dmitry Grigoryev
quelle
1

Der Grund, warum der Pull-Down-Widerstand erforderlich ist, besteht darin, dass der Mikrocontroller ein CMOS-Bauelement ist und somit der Eingangsstift letztendlich das Gate eines MOSFET ist.

Wenn Ihr Taster eine Glühbirne oder eine LED oder ein Relais steuern würde, bräuchten Sie keinen Pulldown-Widerstand, da ein offener Stromkreis "aus" wäre. Wenn der Knopf losgelassen wurde, wurde die Glühbirne ausgeschaltet, da kein Strom floss.

Wenn Ihr Gerät ein echtes TTL-Teil wäre, wie die ursprünglichen Logik-Chips der Serie 7400, würden Sie den Pulldown-Widerstand nicht benötigen, da diese Eingänge Bipolartransistoren wären, und wenn der Knopf losgelassen würde, würde kein Strom durch den Basis-Emitter-Übergang fließen und der Eingang wäre "aus".

Im Gegensatz dazu ist der Eingang Ihres Mikrocontrollers ein MOSFET-Gate, das wie ein Kondensator wirkt. Wenn die Gate-Spannung hoch genug ist, ist der Eingang "Ein". Dies geschieht, wenn Sie die Taste drücken und der Strom durch den 100R-Widerstand in den Mikrocontroller fließt. Das Gate lädt sich (sehr schnell) wie ein Kondensator auf und der Eingang wird "on". Was passiert nun, wenn Sie die Taste loslassen? Es fließt kein Strom mehr. Aber was bedeutet das für die Eingabe? Wenn es keinen Pull-Down-Widerstand gibt, kann die Ladung am Gate nicht weitergeleitet werden. Die Spannung wird dort in der Nähe von 5 V liegen und der Eingang wird immer noch "an" sein. Der Pull-Down-Widerstand entlädt die Gate-Ladung, so dass seine Spannung unter den "Ein" -Pegel fällt. Damit möchten Sie sicherstellen, dass der Digitaleingang als "Aus" eingestuft wird.

Sie können damit experimentieren, indem Sie zwei Tasten an Ihren Eingangsstift anschließen. Binden Sie eine an 5V und eine an Masse. Wenn Sie die 5V-Taste drücken, wird der Eingang eingeschaltet. Wenn Sie es loslassen, bleibt es eingeschaltet, bis Sie das an GND angeschlossene drücken.

Ben Jackson
quelle
In TTL ist es in der Tat der Basis-Emitter-Übergang, der nicht leitet, aber nicht so, wie Sie vielleicht denken: Der Eingang ist der Emitter des Eingangs-NPN-Transistors, und der Transistor leitet, wenn der Eingang niedrig ist. Schweben ist das gleiche wie hoch.
Stevenvh