Wann sollten Pulldown- und Pullup-Widerstände verwendet werden?

Nach dem Lernen und Experimentieren mit Mikrocontrollern habe ich das Konzept der Pull-up- und Pull-down-Widerstände verstanden. Ich verstehe jetzt, wann und wie man sie benutzt und wie sie funktionieren. Ich habe hauptsächlich Klimmzüge verwendet, weil es mir beigebracht wurde, aber es kam mir immer ein wenig rückwärts vor, da das Schließen des Schalters den MCU-Eingang auf LOW setzt. Ich denke, es wäre sinnvoller, einen Pull-Down-Widerstand zu verwenden, damit der Eingang LOW ist, wenn der Schalter geöffnet ist, aber das ist nur meine Denkweise.

Sollte ich meine Single-Throw-Eingänge nach oben oder unten ziehen? Wann wird das Herunterziehen dem Hochziehen vorgezogen und umgekehrt?

Als (anderer) Elektronik-Neuling muss ich sagen, dass diese Frage keineswegs dumm ist. Nicht geworden, weiß ich auch nicht, aber weil: "Gesehen: 1989 mal".
*weil *12998 mal

Antworten (5)

Die Antwort hängt davon ab, wie die "Standard"-Konfiguration aussehen soll. Angenommen, Sie haben einen nachgeschalteten N-Kanal-MOSFET und möchten, dass er standardmäßig ausgeschaltet ist. Dann würden Sie einen Pulldown-Widerstand verwenden, um dieses Verhalten sicherzustellen, wenn der Eingang hochohmig wird.

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Nehmen Sie andererseits an, Sie haben einen vorgeschalteten P-Kanal-MOSFET und möchten, dass er standardmäßig ausgeschaltet ist. Diesmal ist ein Pull-up-Widerstand erforderlich, um dieses Verhalten zu erzeugen.

schematisch

Simulieren Sie diese Schaltung

Es gibt auch den alternativen Fall, in dem Sie möchten, dass ein Gerät standardmäßig eingeschaltet ist. In diesem Fall würden die beiden obigen Fälle umgekehrt (Pull-up für den N-Kanal-MOSFET, Pull-down für den P-Kanal-MOSFET).

Ein paar andere Überlegungen:

  1. I2C-Leitungen spezifizieren Pull-up-Widerstände, da von Geräten "erwartet" wird, dass sie einen offenen Drain zur Masse haben und daher eine Möglichkeit benötigen, das Leitungspotential anzuheben.

  2. Analoge Komparatoren sind normalerweise als Open-Drain-Geräte konfiguriert und benötigen daher auch Pull-up-Widerstände, um einen Ausgang mit hohem Potenzial zu erhalten.

  3. Je nachdem, was an den Eingang/Ausgang angeschlossen ist, können Sie mit Pullup-/Pulldown-Widerständen mehr Strom ziehen.

  4. Jede Konfiguration könnte in Ihrer Anwendung gleich gut funktionieren (dh es gibt keinen wesentlichen Vorteil auf die eine oder andere Weise).

... Und jede Menge sehr anwendungsspezifischer Gründe, warum eine Konfiguration bevorzugt werden kann.

Wenn das Signal noch keine Spezifikation hat, verwenden Sie diejenige, die für Sie am sinnvollsten ist. Es ist Ihre Wahl, einen Eingang aktiv hoch oder aktiv niedrig zu machen .

Wenn es sich um Tasten handelt, verwenden Sie unbedingt eine Entprellschaltung (oder tun Sie dies in der Software).

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

+1 für den einzigen direkten Vergleich von Active-High vs. Active-Low, den ich gesehen habe. Schön, klärt die Dinge.

Wenn Ihr Schaltungsdesign so ist, dass Sie wählen können - mit anderen Worten, Sie müssen vom Rest der Schaltung keinen Pull-Up oder Pull-Down verwenden -, sollten Sie die Sicherheit im Falle eines Ausfalls berücksichtigen.

Wenn Ihr Mikrocontroller ausfällt oder nur dieser Ausgang ausfällt, wird der Pull-Up oder Pull-Down wirksam. Wie wird dies den Betrieb Ihres Geräts verändern? Wird es den Benutzer gefährden - zum Beispiel durch das gewaltsame Einschalten eines Heizelements? Beeinträchtigt es die Sicherheit, wie z. B. das Deaktivieren eines Türschlosses?

Pull-Up/Down-Widerstände bestimmen den Standardzustand des Drahtes. Die Entscheidung, was der Standardzustand sein sollte, hängt von der Sicherheit und schließlich der gewünschten Funktionalität der Schaltung ab.

Wenn Sie mit einem Arduino/ATmega328 arbeiten, können Sie den eingebauten Pull-up-Widerstand verwenden .

In den Atmega-Chip sind 20K-Pullup-Widerstände eingebaut, auf die über die Software zugegriffen werden kann. Auf diese eingebauten Pullup-Widerstände wird zugegriffen, indem pinMode() als INPUT_PULLUP eingestellt wird. Dies kehrt effektiv das Verhalten des INPUT-Modus um, wobei HIGH bedeutet, dass der Sensor ausgeschaltet ist, und LOW bedeutet, dass der Sensor eingeschaltet ist.

Der Wert dieses Pullups hängt vom verwendeten Mikrocontroller ab. Bei den meisten AVR-basierten Boards liegt der Wert garantiert zwischen 20kΩ und 50kΩ. Beim Arduino Due liegt er zwischen 50kΩ und 150kΩ. Den genauen Wert entnehmen Sie bitte dem Datenblatt des Mikrocontrollers auf Ihrem Board.

Beim Anschließen eines Sensors an einen mit INPUT_PULLUP konfigurierten Pin sollte das andere Ende mit Masse verbunden werden. Im Falle eines einfachen Schalters bewirkt dies, dass der Pin HIGH anzeigt, wenn der Schalter geöffnet ist, und LOW, wenn der Schalter gedrückt wird.

Der Raspberry Pi hat sie auch .

Sie möchten oft Pull-Ups oder Downs – oft Downs – an Ausgängen von programmierbaren Geräten wie Mikrocontrollern, um ihren Zustand während der Einschaltsequenzen zu definieren. Solche Ausgänge sind beim Einschalten oft hochohmig, und angeschlossene Geräte können unbeabsichtigte Signale erhalten, wenn dies nicht getan wird. Wenn zum Beispiel mehrere Versorgungen beteiligt sind, ist es am besten, jeden Abschnitt so sicher mit null Volt an den Eingängen zu konzipieren und Pulldowns zu verwenden.

Etwas obskurer als die anderen Antworten, aber ich habe Beispiele mit blauem Rauch und der Androhung rechtlicher Schritte gesehen.

Klarstellung: Die Frage war nicht, warum man Pull-up- oder Pull-down-Widerstände verwenden sollte, sondern ob man hoch- oder runterziehen sollte.