Ansteuerung von 3 Mosfets mit einem MSP430FR4133 von 0 % auf 100 % Einschaltdauer

Ich habe ein Problem mit einem Mosfet-Treiber, den ich zusammengestellt habe. Es ist ein MSP430FR4133, der 3 Rechteckwellensignale aufnimmt und sie mit einer höheren Frequenz ausgibt. Das neue Signal wird durch 3 separate Mosfet-Treiber geleitet, um LEDs anzusteuern. Das Problem, das ich habe, ist, wenn ich die LEDs dimme, geben die Mosfets das falsche Signal im Bereich von 2% - 19% Tastverhältnis aus. 1% funktioniert gut und 20 - 100% funktionieren gut. Ich bin mir sicher, dass mir nur einige unterstützende Komponenten fehlen, aber ich bin mir wirklich nicht sicher, was ich vermisse.

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Entschuldigung, wenn der Schaltplan grob ist, dies ist das erste Mal, dass ich diese Software verwende. Hier ist das Signal nach der MCU

Geben Sie hier die Bildbeschreibung ein

Hier ist mein Problem nach dem MOSFET

Geben Sie hier die Bildbeschreibung ein

Bearbeiten - Ich habe am Drain einen Pull-up-Widerstand hinzugefügt, der die Wellenform stabiler gemacht hat. Es invertiert nun den Ausgang des MOSFET zwischen 2 % und 19 % Einschaltdauer. Ich habe das Problembild mit der neuen Wellenform aktualisiert. Es ist buchstäblich umgekehrt von dem, was es sein soll.

Bearbeiten 2 - Ein Symptom des Problems wurde gefunden. Die Drain-Spannung ist linear, wenn sie ordnungsgemäß funktioniert. Bei einer Einschaltdauer von 1 % sind es fast die vollen 12 Volt und bei einer Einschaltdauer von 20 % sind es 10 Volt. Von dort nach oben fällt die Spannung richtig ab. Im Problembereich von 2 % bis 19 % Einschaltdauer beginnt die Spannung bei 3,3 Volt bei 19 %, steigt dann um etwa 16 % auf 5,6 Volt und fällt dann bei 2 % auf 1 Volt ab. Ich habe ursprünglich ein Launch-Pad für die Verarbeitung dieser Anwendung verwendet, aber ich habe jetzt den Prozessor auf die Leiterplatte montiert und erhalte das gleiche Problem. Die Masse, die mit dem MOSFET verbunden ist, ist die gleiche Masse, die durch die gesamte Leiterplatte verläuft. Ich bin mir nicht sicher, ob ein Masseproblem dieses Problem verursachen würde, wenn man bedenkt, dass das Problem so wiederholbar ist. Eine weitere Beobachtung ist, dass das Problem beseitigt wird, wenn ich meine Frequenz auf 600 Hz absenke, was die Frequenz des Eingangssignals ist, das in meine MCU eingeht. Je höher die Frequenz, desto größer das Problem.

Bearbeiten 3 - Nachdem ich weitere Nachforschungen angestellt habe, glaube ich, dass dieses Problem als kapazitives falsches Einschalten bezeichnet wird. Hat jemand einen Rat, wie man das beheben kann? Die Leiterbahnen auf meinem Board sind wirklich dünn, weil es ein Prototyp-Board ist. Gibt es etwas, das ich hinzufügen kann, um dieses Problem zu beheben, ohne ein neues Prototyp-Board zu bekommen? Ich habe versucht, den Widerstand des Rg auf 10 Ohm zu senken, und das Problem trat bei einem Arbeitszyklus von 10 % anstelle von 20 % auf, und 1 % ist jetzt durcheinander. Es hat den Problembereich verkleinert, aber nicht gelöst. Wenn ich den Widerstand erhebe, wird das Problem schlimmer.

Sieht aus, als würde das ganze Zielfernrohr überall hin und her wackeln... ;o)
Ich sehe die Entkopplungskappen in Ihrem Schaltplan nicht.
Warum hast du einen Widerstand am Gate des Mosfet?
Die LED sollte einen Widerstand haben. Sie haben einen großen Mosfet mit viel Kapazität verwendet, der die LED-Kapazität erhöht. Wenn Sie den Drain experimentell mit beispielsweise 1 kOhm hochziehen, sollten Sie eine Verbesserung der Wellenform sehen, die das Kapazitätsproblem bestätigt.
Entschuldigung, die LED ist eigentlich ein LED-Streifen. Es hat also den erforderlichen Widerstand auf dem Streifen. Es gibt drei MOSFETs, von denen jeder mit R, G oder B verbunden ist.
Sollten die MOSFETs ihre eigenen Entkopplungskappen haben?
Zum Schutz des Fahrers. Wenn ich es ohne den Widerstand betreibe, geht der Treiber in Rauch auf :)
Ich habe versucht, das Hochziehen hinzuzufügen, und es hat tatsächlich die Wellenform geglättet. Das Problem ist nun, dass es in diesem unteren Bereich die Logik umzukehren scheint, sodass es korrekt bis etwa 10 % gedimmt wird und dann in diesem niedrigen Bereich bis 1 % heller wird, in dem es tatsächlich auf 1 % geht.
@DerekSpeegle versuchen Sie einen anderen FET. Dieser behauptet, laut Datenblatt nur bis zu 50 kHz normal zu sein. Bitte geben Sie auch die Gate-Spannung und die Drain-Spannung auf derselben Oszilloskopaufnahme an
Außerdem, am wichtigsten, zeigen Sie bitte Ihren physischen MCU/Treiber/MOSFET-Schaltkreis. Ich wette, Ihre Grundstruktur ist zweifelhaft.
Welche Wellenform erhalten Sie zwischen Gate und Source des MOSFET?
Die Drain-Spannung beträgt entweder 5,6 Volt oder 3,3 Volt und die Gate-Spannung liegt bei etwa 250 mV. Ich denke, RoughBeast könnte richtig sein. Die Drain-Spannung beträgt also die vollen 12 Volt auf 1%. Wenn Sie dann zu den 20% gehen, sind es ungefähr 10 Volt. Wenn Sie höher gehen, sinkt die Spannung. Sobald es jedoch auf 19% abfällt, geht es interessanterweise auf 3,3 Volt. Wenn ich es weiter absenke, geht es dann auf 5,6 Volt und fällt auf 1,2 Volt, wenn ich 2% erreiche. Meine Theorie ist, dass es irgendwie ein Problem mit meinem 3,3-Volt-Regler für die MCU und den 5 Volt von der USB-Verbindung auf meinem Launchpad gibt.
Um die Frage von Bruce zu beantworten, sieht die Wellenform genau wie das erste Bild auf meiner Frage aus. Welches ist die richtige Wellenform? RoughBeast, ich habe gerade mein Gelände durch Spuren auf einem PCB-ATM verbunden. Dies sind Prototypenplatinen, daher ist es wirklich schwierig, mit einer vollständigen Grundebene zu arbeiten. Normalerweise hätte ich eine Masseebene über die gesamte Platine. Sollte ich die Masse dieser MOSFETS trennen? Ich dachte nicht, dass ich mit ausreichend hoher Frequenz arbeite, um mir darüber Sorgen zu machen, aber vielleicht sollte ich es tun.
Wie ist Ihr MCU-Ausgangspin konfiguriert? Drücken ziehen? Open-Drain/Kollektor? Hat es interne Pullups oder Pulldowns? Wenn ja, wie hoch ist der Widerstand?

Antworten (1)

Nach langem Testen habe ich endlich die Lösung gefunden. In diesem Artikel heißt es:

Bei Hochstrom-MOSFETs kann die Gate-Kanal-Kapazität sehr hoch sein und eine sich schnell ändernde Drain-Spannung kann transienten Gate-Strom im Milliampere-Bereich erzeugen. Dies könnte ausreichen, um empfindliche CMOS-Treiberchips zu übersteuern und sogar zu beschädigen. Ein Vorwiderstand ist ein Kompromiss zwischen Geschwindigkeit und Schutz, wobei Werte von 100 R bis 10 K typisch sind. Auch ohne induktive Lasten gibt es einen dynamischen Gate-Strom. Außerdem sind MOSFETs extrem anfällig für Schäden durch elektrostatische Entladungen und können durch einen einzigen Gate-Durchbruch irreversibel beschädigt werden. Aus diesem Grund ist es sehr sinnvoll, Gate-Vorwiderstände von 1K bis 10K zu verwenden. Dies ist besonders wichtig, wenn das Gate-Signal von einer anderen Platine kommt.

Nachdem ich dies gelesen hatte, änderte ich meinen Serien-Gate-Widerstand auf 1k und das Problem verschwand vollständig. Es scheint, dass Sie bei einer höheren Frequenz mit einer kapazitiven Last einen Gate-Widerstand mit höherer Serie benötigen.

Schaltest du mit 10kHz? denn das ist keine Hochfrequenz
Ja, ich bin bei 10kHz. Wenn die Frequenz nicht das Problem war, dann muss es die kapazitive Last gewesen sein.