Inhaltsverzeichnis:

So steuern Sie einen MOSFET mit Arduino PWM - Gunook
So steuern Sie einen MOSFET mit Arduino PWM - Gunook

Video: So steuern Sie einen MOSFET mit Arduino PWM - Gunook

Video: So steuern Sie einen MOSFET mit Arduino PWM - Gunook
Video: Drehzahl von großen Motoren über einen MOSFET (IRFZ44N) mit PWM steuern - Arduino Projekt 2024, Juli
Anonim
Image
Image
Schaltplan
Schaltplan

In diesem anweisbaren schauen wir uns an, wie man den Strom durch einen MOSFET mit einem Arduino PWM (Pulsweitenmodulation) Ausgangssignal steuert.

In diesem Fall manipulieren wir den Arduino-Code, um uns ein variables PWM-Signal am digitalen Pin 9 des Arduino zu geben, und wir filtern dieses Signal dann, um uns einen einstellbaren DC-Pegel zu geben, der an das Gate des MOSFET angelegt werden kann.

Dies ermöglicht es uns, den Transistor von einem ausgeschalteten Zustand ohne Stromfluss in einen Zustand zu steuern, in dem nur wenige Milliampere Strom fließen, oder in einen Zustand, in dem mehrere Ampere Strom durch den Transistor fließen.

Hier richte ich die PWM so ein, dass wir 8192 Schritte der Pulsbreitenvariation haben, die uns eine sehr feine Kontrolle über den MOSFET geben.

Schritt 1: Schaltplan

Die Schaltung ist sehr einfach. Das PWM-Signal von Pin D9 des Arduino wird durch die Kombination von R1 und C1 integriert oder gefiltert. Die angezeigten Werte funktionieren gut bei einer Betriebsfrequenz von 1,95KHz oder im 13-Bit-Betrieb mit 8192 Schritten (2 hoch 13 = 8192).

Wenn Sie sich entscheiden, eine andere Anzahl von Schritten zu verwenden, müssen Sie möglicherweise die Werte für R1 und C1 ändern. Wenn Sie beispielsweise 256 Schritte (8-Bit-Betrieb) verwenden, beträgt die PWM-Frequenz 62,45 KHz, Sie müssen einen anderen C1-Wert verwenden. Ich fand, dass 1000uF für diese Frequenz gut funktioniert.

Aus praktischer Sicht bedeutet eine PWM-Einstellung von 0, dass der DC-Pegel am MOSFET-Gate 0 V beträgt und der MOSFET vollständig ausgeschaltet wird. Eine PWM-Einstellung von 8191 bedeutet, dass der DC-Pegel am MOSFET-Gate 5 V beträgt und der MOSFET im Wesentlichen eingeschaltet ist, wenn er nicht vollständig eingeschaltet ist.

Der Widerstand R2 ist nur vorhanden, um sicherzustellen, dass der MOSFET ausschaltet, wenn das Signal am Gate entfernt wird, indem das Gate auf Masse gezogen wird.

Vorausgesetzt, die Stromquelle kann den vom PWM-Signal am MOSFET-Gate diktierten Strom liefern, können Sie ihn ohne Vorwiderstand direkt an den MOSFET anschließen, um den Strom zu begrenzen. Der Strom wird nur durch den MOSFET begrenzt und er leitet überschüssige Energie als Wärme ab. Stellen Sie sicher, dass Sie einen ausreichenden Kühlkörper vorsehen, wenn Sie diesen für höhere Ströme verwenden.

Schritt 2: Arduino-Code

Arduino-Code
Arduino-Code

Der Arduino-Code ist beigefügt. Der Code ist gut kommentiert und ziemlich einfach. Der Codeblock auf den Zeilen 11 bis 15 richtet das Arduino für den schnellen PWM-Betrieb mit Ausgang an Pin D9 ein. Um den PWM-Pegel zu ändern, ändern Sie den Wert des Vergleichsregisters OCR1A. Um die Anzahl der PWM-Schritte zu ändern, ändern Sie den Wert von ICR1. B. 255 für 8 Bit, 1023 für 10 Bit, 8191 für 13 Bit Betrieb. Beachten Sie, dass sich die Betriebsfrequenz ändert, wenn Sie ICR1 ändern.

Die Schleife liest nur den Zustand von zwei Drucktastenschaltern und erhöht den OCR1A-Wert nach oben oder unten. Ich habe diesen Wert im setup () auf 3240 voreingestellt, der knapp unter dem Wert liegt, bei dem der MOSFET einschaltet. Wenn Sie einen anderen Transistor oder eine C1 & R1-Filterschaltung verwenden, wird dieser Wert für Sie etwas anders sein. Beginnen Sie am besten mit dem voreingestellten Wert bei Null, wenn Sie dies zum ersten Mal versuchen, nur für alle Fälle!

Schritt 3: Testergebnisse

Testergebnisse
Testergebnisse
Testergebnisse
Testergebnisse

Wenn ICR1 auf 8191 eingestellt ist, sind dies die Ergebnisse, die ich beim Variieren des Stroms zwischen 0 und 2 Ampere erhalten habe:

OCR1A (PWM-EinstellungStrom (mA) Gate-Spannung (Vdc)3240 0 ma 0v3458 10mA 1.949v4059 100mA 2.274v4532 200mA 2.552v4950 500mA 2.786v5514 1000mA 3.101v6177 1500mA 3.472v6927 2000mA 3.895v

Empfohlen: