Was bewirkt der Pulldown-Widerstand vom Arduino-Ausgangspin zur Masse? Ist es nötig?

Ich bin auf das erste Bild unten gestoßen. Aber ich kann nicht herausfinden, wie eine solche Anordnung notwendig oder vorteilhaft ist, wenn Sie eine Last mit einem N-Kanal-MOSFET schalten möchten.

Frage Nummer 1: Gibt es Vor- oder Nachteile, die mit der ersten und zweiten Art verbunden sind? Angenommen, der MOSFET ist bei 3 Volt gesättigt?

Ich habe den Text unten gefunden, wo ich das erste Bild gefunden habe:

Diese Schaltung ist ziemlich einfach. Das einzige Teil, das komisch aussieht, ist der Widerstand. Das ist ein Pulldown-Widerstand. Der Widerstand hält das Gate niedrig, wenn das Arduino kein hohes Signal sendet. Dies ist hier, falls sich das Arduino löst oder die Verkabelung schlecht ist, wird es standardmäßig ausgeschaltet. Sie möchten nicht, dass dieser Stift jemals schwebt, da er ein- und ausgeschaltet wird.

Frage Nummer 2 : Ich verstehe nicht, wie der erste Widerstand, der nicht vorhanden ist, Probleme verursachen kann? (wie das zweite Bild, ohne Verbindung vom Ausgangspin zum GND)

Frage Nummer 3 : Falls Sie der Meinung sind, dass der erste Widerstand der Schaltung Robustheit verleiht, denken Sie nicht, dass die Einbeziehung des zweiten Widerstands auch von Vorteil ist?! Weil jeder Arduino-Pin nur 40 mA ausgeben kann.

Vielen Dank im Voraus.

Geben Sie hier die Bildbeschreibung ein

Beachten Sie, dass der Bootloader eines Standard-Arduinos bei jedem Einschalten oder Zurücksetzen einige Sekunden braucht, um eine Zeitüberschreitung zu erreichen und das Hauptprogramm zu starten. Während dieser Zeit bleibt alles außer dem seriellen Sende-Pin im Reset-Zustand schwebend und unkonfiguriert, da der Bootloader keine Ahnung hat, wofür andere Pins verwendet werden könnten.

Antworten (2)

Der Widerstand gegen Masse ist genau wie in der Beschreibung angegeben - um zu verhindern, dass der Pin hochschwebt und den FET einschaltet, wodurch sich der Motor unregelmäßig / unkontrolliert bewegt.

Schwebende MOSFETs sind schlecht, und da die "Ein"-Steuerung des FET im Wesentlichen nur ein Kondensator mit sehr geringer Kapazität ist, kann er ziemlich leicht schweben und sich selbst einschalten.

Diese Situation wird in Ihrem Arduino-Programm nur dann wirklich auftreten, wenn Sie den Ausgangspin versehentlich zu einem Eingang machen, oder während des Aus-/Ein-/Neustartzustands. Der ATMEGA328P auf dem Uno bringt alle seine Pins während des Einschaltzyklus in einen hochohmigen Zustand, was eine hervorragende Gelegenheit für das Gate dieses FET ist, hoch zu schweben.

Der Widerstand stellt sicher, dass immer ein bekannter Zustand vorhanden ist, und nur ein aktiver Ausgang HIGH vom Arduino bewirkt, dass er sich tatsächlich einschaltet.

Für Ihre dritte Frage: MOSFET-Gates "verbrauchen" während der EIN-Periode nur für kurze Zeit Strom, um den Gate-Kondensator aufzuladen. Das 40-mA-Ausgangsmaximum des Arduino pro Pin wird kein Problem darstellen. Es WÄRE ein Problem, wenn der FET stattdessen ein BJT-Transistor wäre, da diese ständig Strom in die Basis ziehen, um zu funktionieren. MOSFETs arbeiten anders und verbrauchen keinen Strom, damit sie ständig eingeschaltet sind.

Das Setzen eines 10K-Ohm-Widerstands ist im Allgemeinen auch zu hoch, es verlangsamt die EIN / AUS-Zeit des FET erheblich und verursacht große Schaltverluste, wenn Sie eine vernünftige PWM-Frequenz verwenden. Verwenden Sie so etwas wie 100 Ohm, wenn Sie dort einen Widerstand platzieren möchten. Das Platzieren eines Widerstands dort ist für einen MOSFET möglicherweise nicht erforderlich, aber es wird empfohlen, die Möglichkeit einer induktiven Rückkopplung in den Mikrocontroller und andere Formen von schmutzigen Geschäften im Zusammenhang mit dem Schalten einer induktiven Last wie einem Motor zu reduzieren.

Ein letzter Kommentar - wenn Sie den RFP30N06LE als MOSFET in Ihrer Schaltung verwenden, legen Sie keine 60 V darüber - er wird sehr schnell ausfallen. Die maximale Drain-Source-Nennspannung beträgt 60 V, und Sie treiben eine induktive Last an! Induktive Lasten können große Spannungsspitzen verursachen, die den FET zerstören können, und es ist im Allgemeinen eine schreckliche Idee, ihn nur mit maximal 60 V zu betreiben. Persönlich hätte ich nicht mehr als 24-30 V induktive Last für einen FET mit einer Nennspannung von 60 V - da dies etwas Raum für Spitzen gibt und Sie die Nennwerte für FET normalerweise ohnehin das 1,5-fache der erwarteten Spannung darüber betragen sollten, nur um die Sicherheitsmarge zu erhöhen eine nicht induktive Last.

Wenn Sie tatsächlich einen 60-V-Motor verwenden, schlage ich vor, einen 120-200-V-FET zu kaufen, wenn Sie können. Achten Sie nur darauf, dass bei diesen Werten der On-Widerstand und die Gate-Kapazität ziemlich hoch sein können (d.h. Sie sollten möglichst bei langsameren Frequenzen schalten).

"power off/on/restart"... und vielleicht auch während der Neuprogrammierung?
ja, die programmierung beinhaltet mehrere neustartvorgänge, in der regel zuerst beim einstieg in den programmiermodus, dann wieder am ende. @BenVoigt
Vielen Dank für die gründliche Antwort, insbesondere für die Analyse der Schaltung. Eigentlich war es ein Bild, das ich irgendwo im Internet gefunden habe. Ich verwende einen 200-V-MOSFET für einen 12-V-Magneten mit 70-V-Zener und 800-V-Diode!
@arudino.tyro Keine Probleme! Wir sind hier, um Ihnen bei EE.SE zu helfen. Darf ich fragen, wofür Sie den 70-V-Zener verwenden? Und Sie können definitiv eine Diode mit niedrigerer Nennleistung als 800 V finden, wenn Sie müssen, wenn die Größe zu groß / störend ist.
Vielen Dank für Ihre Freundlichkeit. Ich verwende 8 Ventile in einer Anwendung, die 20 Ein-/Ausschaltungen pro Sekunde erfordert. Die Reaktionsgeschwindigkeit meiner Ventile beträgt 0,05 s und weniger. Die Verwendung einer einzelnen Diode als Flyback verlangsamt sie. Also verwende ich eine Zener + Diode, damit die Spannung auf 70 V ansteigen kann, um sich schneller aufzulösen. Den Spulenstrom habe ich mit dem Zener von 100% auf 2% von ca. 30ms auf ca. 9ms reduziert. Dies ist die Verzögerung für den Spulenstrom zu! Es gibt eine weitere Verzögerung für den mechanischen Mechanismus des Ventils, um die Luft zu scheißen. Ich kann diese Verzögerung nicht genau messen.
Aber experimentelle Ergebnisse zeigen, dass sich das System viel viel besser verhält als zu der Zeit, als ich eine SPS zum Öffnen/Schließen der Ventile verwendete und das andere Mal, als ich eine einzelne Diode für jedes Ventil verwendete. Es ist jetzt so viel besser! tinyurl.com/oe4fo76
@arudino.tyro cool, gut zu hören!
Sollte ich 8 Widerstände verwenden, wenn ich 8 MOSFET mit 8 Pins steuern möchte? Oder könnte ich alle Pins durch einen gemeinsamen Widerstand auf Masse leiten? Ich meine den Widerstand, der die Flotation stoppt?
@arudino.tyro Ich würde für jeden MOSFET-Gate-Pin einen Widerstand setzen. Wenn Sie alle einen einzigen Widerstand hätten, würde er alle diese Signale zusammenbinden, und das funktioniert nicht für das, was Sie wollen. Legen Sie also für jeden Ausgangspin einen Widerstand separat an Masse, nur für diesen Pin und das MOSFET-Gate

Wie das Zitat deutlich sagt, ist ein Pulldown-Widerstand erforderlich, um den Pin niedrig zu halten, bis er ein hohes Signal vom Arduino erhält. Wenn es schwebend war, schaltet sich Ihr Transistor möglicherweise ein / aus, wenn Sie dies nicht möchten. Wenn es schwingt (sehr wahrscheinlich), wird es wahrscheinlich sehr heiß und verschwendet Strom, wenn es nicht ausbrennt.

Der Widerstand im zweiten Bild ist nutzlos, denn wenn Pin 3 auf dem Arduino zu schweben beginnt, ist es so, als ob die Verbindung nicht einmal da wäre, was wiederum dazu führen könnte, dass der Transistor schwingt.

Probieren Sie diese Seite aus. Es erklärt, warum Pull-up- und Pull-down-Widerstände notwendig sind:

https://www.elprocus.com/pull-up-and-pull-down-resistors-with-applications/

Ich bin froh, dass es geholfen hat! :)
Toter Link, solange Sie ihn bearbeiten.
@ScottSeidman Danke für den Hinweis, ich habe es durch eine ähnliche Quelle ersetzt