Frage:
Was ist die Funktion des Widerstands in der folgenden Schaltung?
user38192
2014-03-05 19:48:15 UTC
view on stackexchange narkive permalink

Welche Funktion hat der Widerstand R13 in dieser Schaltung?

schematic

Dies ist als * Pullup-Widerstand * bekannt. Ich gehe hier auf viel mehr Details zu Pullup-Widerständen ein: http://electronics.stackexchange.com/a/23647/4512
Wenn der Widerstand nicht vorhanden wäre, würde die Leitung schweben (Spannung, die durch Chip-Interna, EMI und viele andere Faktoren bestimmt wird. Kann fast alles sein, einschließlich <0 V und> VCC), wenn der Schalter geöffnet und geerdet ist (oder 0V) als der Schalter geschlossen war. Der Pullup-Widerstand wird hinzugefügt, so dass die Leitung VCC ist, wenn der Schalter geöffnet ist, und immer noch geerdet ist, wenn der Schalter geschlossen ist.
Außerdem und meiner Meinung nach von äußerster Wichtigkeit, wenn der Widerstand nicht vorhanden wäre und Sie SW1 geschlossen hätten, würden Sie einen Kurzschluss erzeugen, der weitaus schlimmere Konsequenzen hätte als diese Probleme mit dem digitalen Zustand von Nullen und Einsen.
Nichts Unmöglich: Ohne den Widerstand würde es keinen Kurzschluss geben. Sie müssen sich vorstellen, den Widerstand durch einen Draht zu ersetzen (dh: R = 0).
Alle Antworten und Erklärungen zu "Dies sieht aus wie ein Pullup-Widerstand" sind relevant. Wenn Sie dies jedoch durchdenken, soll der Schalter SW1 wahrscheinlich die "Lösch" -Funktion ausführen, die den / MCLR / Vpp-Pin im / MCLR-Modus verwenden würde. In diesem Modus sagen die PIC-Spezifikationen, dass Pin 1 intern bereits einen Pullup-Widerstand hat. Auf den ersten Blick ist R13 also unnötig. Man könnte dann fragen: "Warum ist es dort, obwohl PIC bereits ein internes Pullup hat?"
Sechs antworten:
#1
+6
Blup1980
2014-03-05 19:52:48 UTC
view on stackexchange narkive permalink

Dies ist ein Pull-up-Widerstand. Wenn der Schalter geöffnet ist, setzt der Widerstand den MCLR-Pin auf VCC.

Ohne den Widerstand würde der Pin schweben. Der MCLR-Eingang ist ein Logikeingang. Das kann 0 oder 1 sein. In der realen Welt gibt es jedoch keine 0 oder 1.

Eine Konvention könnte definiert werden:

  • wenn die Spannung ist unterhalb von Vcc / 2 wird es als 0 betrachtet.
  • Wenn die Spannung über Vcc / 2 liegt, wird es als 1 betrachtet.
  • Bei diesem Ansatz tritt ein Problem auf wenn die Eingangsspannung die Schwelle überschreitet. Irgendwann ist es an der Schwelle. Und wenn das Signal ein Rauschen aufweist, kann der Pin sehr schnell eine 0 oder 1 abprallen sehen. Stellen Sie sich vor, der Eingang ist ein Taktsignal und Sie sehen Taktflanken, wo Sie nicht möchten.

    Der folgende Ansatz löst dieses Problem:

    Es gibt zwei Schwellenwerte: Nämlich Vih und Vil. Ein Signal wird als 0 betrachtet, wenn es unter Vil liegt, und als 1, wenn es über Vih liegt. Die beiden Schwellenwerte sind durch eine Grauzone getrennt, die ein Umschalten durch zusätzliches Rauschen (bis zu einem bestimmten Pegel) verhindert.

    Die folgende Abbildung im Internet erklärt diese Funktion:

    Vih Vil

    Der Widerstand in Ihrem Schaltplan dient dazu, sicherzustellen, dass, wenn die Taste nicht gedrückt wird, die Die Spannung am MCLR liegt über Vih (nicht im verbotenen Bereich).

    Aber wie @Spehro Pefhany in seiner Antwort erklärt, reicht dies nicht aus.

    Ein Druckknopf ist nicht perfekt . Wenn Sie es veröffentlichen, sehen Sie möglicherweise (und Sie werden es tatsächlich sehen) Bounces.

    Dieses Bild, das auch im Internet zu finden ist, zeigt Folgendes:

    enter image description here

    Eine Möglichkeit, dieses Problem zu beheben, besteht darin, das Ausgangssignal mithilfe eines Kondensators zu "glätten", wie im Datenblatt des Mikrocontrollers gezeigt. Der Kondensator würde schnell über den niederohmigen Pfad des gedrückten Knopfes entladen, aber es würde einige Zeit dauern, bis er durch den Widerstand aufgeladen ist, wenn der Knopf aufgrund von Sprüngen geöffnet ist. Wenn Sie das richtige Widerstands-Kondensator-Paar auswählen, können Sie sicherstellen, dass es länger dauert, bis die MCLR-Spannung den Vil überschreitet, den die Taste benötigt, um das Abprallen zu stoppen.

    #2
    +3
    BASIL VARGHESE
    2014-03-05 19:56:49 UTC
    view on stackexchange narkive permalink

    Dieser Widerstand wird als Pull-up-Widerstand bezeichnet. Es wird zum Zurücksetzen an den ersten Pin des PIC angeschlossen. Wenn dieser Pin geerdet oder aktiv ist, wird der niedrige PIC zurückgesetzt. Um den IC in den Arbeitsmodus zu versetzen, wird dieser Pin durch diesen Widerstand nach oben gezogen. Ein Schalter wird verwendet, um den Pin zu erden und das Programm zurückzusetzen.

    #3
    +2
    Spehro Pefhany
    2014-03-05 20:34:06 UTC
    view on stackexchange narkive permalink

    Aus dem PIC16F877 -Datenblatt:

    enter image description here

    In diesem Fall ersetzt der Schalter den Kondensator, um bei jedem Zurücksetzen einen Reset zu bewirken Der Schalter wird gedrückt (im Gegensatz zu nur, wenn die Leistung angelegt wird und die Kondensatorspannung auf ungefähr Null angenommen wird).

    Die Obergrenze für den Wert liegt bei den empfohlenen 40 kOhm (relativ hohe Werte erhöhen auch die Rauschempfindlichkeit). Die Untergrenze wird dadurch festgelegt, wie viel Strom Sie aus der Stromversorgung ziehen möchten, wenn der Schalter gedrückt wird. Einige K bis 15 oder 20 K sind für die meisten Zwecke ein angemessener Bereich.

    Beachten Sie, dass bei einem Kondensator laut Microchip auch ein Vorwiderstand von etwa 1K oder 2K vorhanden sein sollte. Es ist keine schlechte Idee, es auch ohne Kondensator (nur einen Schalter) dort einzubauen, da möglicherweise ESD über den Schaltaktor übertragen wird.

    #4
    +2
    tcrosley
    2014-03-05 22:26:52 UTC
    view on stackexchange narkive permalink

    Es gibt mehrere Antworten, die erklären, wie ein Pullup-Widerstand funktioniert, deshalb werde ich nicht darauf eingehen. Stattdessen werde ich versuchen zu erklären, warum es dort ist.

    Pullup-Widerstände werden verwendet, wenn ein Eingang eines Mikrocontrollers von mehreren Quellen gesteuert werden muss. In Ihrem Fall kann beispielsweise SW1 gedrückt werden, um den Mikrocontroller zurückzusetzen, indem die! MCLR / VPP-Leitung auf Low gesetzt wird. Was Sie in Ihrem Schaltplan nicht anzeigen, ist die Programmierschnittstelle Ihres Programmiergeräts (z. B. ICD 3), die auch den Mikrocontroller zurücksetzen muss, indem die! MCLR / VPP-Leitung auf niedrig gesetzt wird.

    Wenn MCLR aktiv hoch war Anstatt niedrig zu sein, könnten zwei Eingänge gleichzeitig mit leicht unterschiedlichen Spannungen (z. B. VCC vom Switch und VPP von der Programmierschnittstelle) angesteuert werden, und Sie könnten am Ende alle möglichen Arten von Spannungen haben Probleme (insbesondere wenn sich ein Eingang am VCC und ein anderer am Boden befand, wodurch ein direkter Kurzschluss erzeugt wurde.

    Stattdessen werden die Geräte, die die! MCLR-Leitung steuern, als Open-Drain (oder in) konfiguriert im Fall des Schalters, bei dem es sich um einen offenen Stromkreis handelt, bis er geschlossen ist). Open-Drain-Ausgänge können niedrig, aber nicht hoch angesteuert werden (der Standard-High-Zustand ist dreifach angegeben, was bedeutet, dass er nicht angesteuert wird Leitung zu VCC - stattdessen sieht es aus wie ein Eingang). So können beliebig viele Geräte an eine Active-Low-Leitung wie diese angeschlossen werden, und wenn mehr als eine angesteuert wird niedrig (Masse), es gibt keine Probleme.

    Da jedoch keiner dieser Eingänge so konfiguriert ist, dass er den Eingang hoch treibt, liefert der Pull-up-Widerstand den Standard-Hochpegel (VCC) und wird auf reduziert Masse, wenn einer der Eingänge auf Masse geht.

    #5
    +1
    pjc50
    2014-03-05 19:53:01 UTC
    view on stackexchange narkive permalink

    Diagramm ist eher klein; aber das ist ein "Pullup". ~ MCLR wird auf logisch 1 gebracht, außer wenn die Taste gedrückt wird. Das Ersetzen durch ein Kabel würde den Stromkreis kurzschließen, wenn die Taste gedrückt wird.

    #6
    +1
    RalphGJr
    2014-03-06 11:03:19 UTC
    view on stackexchange narkive permalink

    Der Widerstand dient dazu, den Strom zu begrenzen, der in diesen Pin fließt ... wenn der Schalter geöffnet ist. Sie können den Widerstand abhängig von der aktuellen Anforderung für das ic reduzieren.

    Wenn der Schalter geschlossen ist, ist der Widerstand vorhanden, um zu verhindern, dass Vcc gegen Masse kurzschließt.



    Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
    Loading...