Wann sind Pull-Down- und Pull-Up-Widerstände zu verwenden?


42

Nachdem ich mit Mikrocontrollern gelernt und experimentiert habe, 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 benutzt, weil mir das beigebracht wurde, aber es kam mir immer ein wenig rückwärts vor, als das Schließen des Schalters den MCU-Eingang auf LOW setzt. Ich denke, es wäre sinnvoller, einen Pulldown-Widerstand zu verwenden, damit der Eingang LOW ist, wenn der Schalter geöffnet ist, aber das ist nur meine Denkweise.

Soll ich meine Single-Throw-Eingänge nach oben oder unten ziehen? Wann ist das Herunterziehen dem Hochziehen vorzuziehen und umgekehrt?


3
Als (anderer) Elektronik-Neuling muss ich sagen, dass diese Frage keineswegs dumm ist. Nicht werde ich auch nicht wissen, sondern weil: "Gesehen: 1989 mal".
Steenhulthin

* weil * 12998 mal
Mike Causer

Antworten:


29

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

schematisch

simulieren Sie diese Schaltung - Schaltplan erstellt mit CircuitLab

Angenommen, Sie haben einen vorgeschalteten P-Kanal-MOSFET und möchten, dass dieser 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 ein Gerät standardmäßig eingeschaltet sein soll. In diesem Fall sind die beiden oben genannten Fälle umgekehrt (Pull-up für den N-Kanal-MOSFET, Pull-down für den P-Kanal-MOSFET).

Einige andere Überlegungen:

  1. I2C-Leitungen spezifizieren Pull-up-Widerstände, da "erwartet" wird, dass Geräte einen offenen Drain gegen Erde haben und daher eine Möglichkeit zur Erhöhung des Leitungspotentials benötigen.

  2. Analoge Komparatoren werden normalerweise als Open-Drain-Geräte konfiguriert und benötigen daher auch Pull-up-Widerstände, um ein hohes Ausgangspotential zu erzielen.

  3. Je nachdem, was an den Ein- / 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 signifikanten Vorteil auf die eine oder andere Weise).

... und viele sehr anwendungsspezifische Gründe, warum eine Konfiguration bevorzugt werden kann.


16

Wenn das Signal noch keine Spezifikation hat, verwenden Sie diejenige, die für Sie am sinnvollsten ist. Sie haben die Wahl, einen Eingang auf Aktiv-Hoch oder Aktiv-Niedrig zu setzen .

Wenn es sich um Tasten handelt, stellen Sie sicher, dass Sie eine Entprellungsschaltung verwenden (oder tun Sie dies in der Software).

schematisch

simulieren Sie diese Schaltung - Schaltplan erstellt mit CircuitLab


+1 für den einzigen Nebeneinander-Vergleich zwischen Aktiv-Hoch und Aktiv-Niedrig, den ich gesehen habe. Schön, klärt die Dinge.
TomServo

15

Wenn Ihr Schaltungsdesign so gestaltet ist, dass Sie wählen können, mit anderen Worten, dass Sie vom Rest der Schaltung nicht aufgefordert werden, ein Pull-up oder Pull-down zu verwenden, sollten Sie im Falle eines Ausfalls Schutz und Sicherheit in Betracht ziehen.

Wenn Ihr Mikrocontroller ausfällt oder nur dieser Ausgang ausfällt, wird der Pull-Up- oder Pull-Down-Modus aktiviert. Wie wird dies den Betrieb Ihres Geräts verändern? Wird es den Benutzer in Gefahr bringen - zum Beispiel, indem ein Heizelement angeschaltet wird? Beeinträchtigt dies die Sicherheit, z. B. das Deaktivieren eines Türschlosses?

Pull-Up / Down-Widerstände bestimmen den Standardzustand des Kabels. Die Auswahl des Standardzustands hängt von der Sicherheit und der gewünschten Funktionalität der Schaltung ab.


5

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 kann zugegriffen werden, indem der PinMode () auf INPUT_PULLUP gesetzt 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 Karten liegt der Wert garantiert zwischen 20 kΩ und 50 kΩ. Auf dem Arduino Due liegt sie zwischen 50 kΩ und 150 kΩ. Den genauen Wert entnehmen Sie bitte dem Datenblatt des Mikrocontrollers auf Ihrer Platine.

Wenn Sie einen Sensor an einen mit INPUT_PULLUP konfigurierten Pin anschließen, muss das andere Ende mit Masse verbunden werden. Bei einem einfachen Schalter zeigt dies an, dass der Stift bei geöffnetem Schalter HIGH und bei gedrücktem Schalter LOW anzeigt.

Der Raspberry Pi hat sie auch .


4

Sie möchten oft Pull-Ups oder Downs - oft Downs - an Ausgängen programmierbarer Geräte wie Mikrocontrollern, um deren Status 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 erfolgt. Wenn zum Beispiel mehrere Versorgungen betroffen sind, ist es am besten, jeden Abschnitt mit null Volt an den Eingängen als sicher auszulegen und Pulldowns zu verwenden.

Etwas undurchsichtiger als die anderen Antworten, aber ich habe Beispiele mit blauem Rauch und Androhung von rechtlichen Schritten gesehen.


Klarstellung: Die Frage war nicht, warum man Pull-Up- oder Pull-Down-Widerstände verwenden sollte, sondern ob man Pull-Up- oder Pull-Down-Widerstände verwenden sollte.
Osvein
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.