Erzeugung von 12 V PWM aus 5 V PWM

Ich erzeuge ein 5-V-PWM-Signal von meiner MCU (einem Atmel ATMEGA1284P). Ich muss dies in ein 12-V-PWM-Signal umwandeln. Dafür habe ich die folgende Schaltung entworfen, die einem Sziklai-Paar sehr ähnlich ist, aber an diesen Fall angepasst ist. Es verwendet einen bipolaren NPN-Transistor, um einen bipolaren PNP-Transistor anzusteuern. Idealerweise würde ich V_LOAD als 12,0-V-PWM benötigen.NPN PNP-Paar

Ich habe ein paar Simulationen durchgeführt und das schien den Zweck wirklich gut zu erfüllen, bis ich mich an C_LOAD erinnerte. Da V_LOAD nicht aktiv heruntergezogen wird, wenn CLK2 auf Low geht, ist die Abfallzeit sehr lang (zu lang, etwa 25 &mgr;s).

Irgendwelche Ideen, wie ich mein Design verbessern kann? Oder soll ich das entsorgen und etwas anderes verwenden?

Ich entschuldige mich im Voraus, falls dies schon einmal gefragt wurde.

Einige Erläuterungen: Der maximale Strom, den ich fahren werde, beträgt etwa 10 mA. Ich habe einige ziemlich strenge Spezifikationen zu erfüllen: V_LOAD sollte 12,0 V betragen und die Anstiegs- und Abfallzeiten (10 % - 90 % = 1,2 V - 10,8 V) sollten maximal 2 μs betragen,


EDIT: Danke für eure Antworten. Hier ist, was ich am Ende verwendet habe: Simulation .PWM5to12-2 mit Gate-Treiber

Es basiert auf Majenkos Antwort mit zwei als Gate-Treiber hinzugefügten Transistoren, um die Zeit zu verkürzen, die die PWM benötigt, um auf LO zu gehen. Außerdem wurden MOSFETs mit niedriger Gate-Kapazität gewählt (BSS84P und BSS138). Die Abfallzeit beträgt dann 3 μs.

Warum nicht aktiv nach unten ziehen?
Verwenden Sie anstelle von Q1 ein Paar Emitterfolger in Reihe - Emitter, die mit der Last verbunden sind. Mit Q2C gemeinsame Basen. R3 entfernen. R4 vielleicht 1k (10k kann OK sein). Hohe Seite EF = NPN, Kollektor an V12. Low-Side-EF = PNP, Kollektor an Masse. Dies wird ungefähr mit einer Geschwindigkeit von Q2C fahren - möglicherweise unter den USA. Kann schneller gemacht werden. Ich verwende meine Standard-[Super]-"Jellybean"-Transistoren BC337-40, 327-40 oder SMD 817-40, 807-40.

Antworten (2)

Worüber @IgnacioVacquez-Abrams in seinem Kommentar spricht, ist das Erstellen einer Push-Pull-Ausgabe. Dies ist im Grunde das, was sich in der Ausgangsstufe Ihres Mikrocontrollers befindet.

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Wenn die PWM HOCH ist, leitet Q1. Die Gates von M1 und M2 sind dann beide LOW, also ist M1 an und M2 ist aus. RL und CL sind effektiv mit +12 V verbunden. Wenn die PWM niedrig wird, hört Q1 auf zu leiten, die Gates von M1 und M2 werden von R1 auf +12 V hochgezogen. M1 schaltet aus, M2 schaltet ein. RL und CL sind dann effektiv mit Masse verbunden.

Es ist wichtig, die MOSFETs M1 und M2 mit ausreichend hohen Gate-Schwellenspannungen auszuwählen, damit beide FETs nicht eingeschaltet sind, wenn die Gate-Spannung zwischen 12 V und 0 V liegt. Dies ist ein Ort, an dem Sie KEINE MOSFETs auf Logikebene verwenden möchten.

Und warum machst du diese Aussage? Möchten Sie näher darauf eingehen?
@DwayneReid oder bist du nur einer dieser Menschen, die natürlich voreingenommen gegenüber all den Antworten sind, die nicht deine sind?
Danke schön! Ich habe Ihren Vorschlag ( Link ) simuliert und es scheint genau das zu sein, was ich brauche. Ich werde es morgen noch ein bisschen testen und dann wiederkommen.
@Majenko: Entschuldigung - nein. Tatsächlich gehe ich normalerweise hinein und bearbeite Antworten, damit sie funktionieren. Aber es war zu viel falsch mit Ihrem Schaltplan und ich hatte keine Zeit. Daher meine Warnung.
Zwei Probleme. 1) Die Kombination von R1 und R2 stellt sicher, dass sowohl M1 als auch M2 immer leitend sind, wenn Q1 eingeschaltet ist. 2) Wenn R2 nicht vorhanden war, gibt es immer noch einen signifikanten Durchschussstrom während der Schaltübergänge. Sie können damit davonkommen, wenn der EIN-Widerstand von M1 und M2 ausreichend hoch ist, um den Spitzenstrom zu begrenzen, aber es ist keine gute Praxis, dies so zu tun.
Stecken Sie es entweder auf ein Steckbrett oder simulieren Sie es und überwachen Sie die Quellströme für M1 und M2 während der Schaltübergänge. Natürlich nach dem Entfernen von R2.
Natürlich ist alles, was Sie sagen, wahr, wenn Sie nicht die richtigen MOSFETs auswählen. Solange zwischen den Schwellen der beiden MOSFETs eine ausreichende Totzone vorhanden ist, können sie nicht beide gleichzeitig eingeschaltet sein. Sie machen Annahmen über die MOSFETs, die nicht gemacht werden können, da keine bestimmten Teile erwähnt wurden.
Ich habe Majenkos Lösung ein paar Stunden lang simuliert und versucht, den Fehler zu finden, auf den sich @DwayneReid bezieht, aber ich konnte ihn nicht reproduzieren. Könnte es sein, dass dieses Problem hier nicht zutrifft, da ich eine Rechteck-PWM und keine Sinuswelle betreibe? Ich habe jedoch ein Problem entdeckt, wenn die PWM auf LO geht. Es gibt eine kurze Verzögerung, bevor die MOSFET-Gates hochgezogen werden (ungefähr 8 us), aber ich denke, das ist ein Kompromiss dieses Designs? Siehe dazu: Simulation
Das liegt wahrscheinlich an der Gate-Kapazität und der Ladezeit. Sie können die Widerstände (sowohl R1 als auch R2) verringern, um den Gate-Strom zu erhöhen und die Schaltgeschwindigkeit zu erhöhen - auf Kosten eines erhöhten Ruhestroms, wenn Q1 eingeschaltet ist.
OK. Ich versuche seit ein paar Stunden, das Design zu verbessern. Das einzige, was ein bisschen geholfen hat, war das Hinzufügen eines Gate-Treibers ( Schaltung ). Dadurch reduzierte sich die Fallzeit auf 3 us (von zuvor 8 us). Da ich das System im Akkubetrieb betreibe, würde das Verringern von R1 und R2 zu viel Strom kosten. Meine Prioritäten hier sind 1) Genauigkeit, 2) Leistung, 3) Kosten. Ich habe Ihre Antwort akzeptiert, würde mich aber über Ihren Beitrag freuen, wenn Sie Verbesserungsvorschläge haben.

Wie viel Strom benötigen Sie?

Es gibt zwei einfache Möglichkeiten, dies mit einfachen Komponenten zu tun. Eine Methode ist gut für nur wenige mA Strom - genug, um den Eingang von etwas Aktivem wie einem VFD zu speisen. Die andere Methode eignet sich für so viel Strom, wie Sie möchten.

Ich zeige zuerst die Option mit höherem Strom.

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Die obige Schaltung funktioniert sehr gut und eignet sich gut für PWM mit mittlerer Geschwindigkeit (DC bis zu mehreren zehn KHz). Es kann bei Bedarf erheblich aufgepeppt werden, aber es werden mehr Komponenten benötigt.

Beachten Sie, dass diese erste Schaltung das Logiksignal invertiert: Ein HI am Eingang ergibt ein LO am Ausgang.

Diese nächste Schaltung ist nur ein Level-Shifter. Es hat den Vorteil sehr niedriger Kosten, aber es ist nur gut für ein paar mA.

schematisch

Simulieren Sie diese Schaltung

Diese Schaltung funktioniert wie ein Verstärker in Basisschaltung. Die Basis wird auf +5 V gehalten, wenn der Eingang HI ist (ebenfalls +5 V) und der Transistor AUS ist. Dadurch kann der Kollektor bis zur +12-V-Schiene schweben.

Wenn der Eingang auf LO geht, schaltet der Transistor hart ein und zieht den Kollektor knapp über den logischen LO-Pegel des Eingangs. Beachten Sie, dass der gesamte sinkende Ausgangsstrom durch den Eingangsstift fließt.

Diese Schaltung ist nicht invertierend: Ein logisches HI am Eingang gibt Ihnen ein logisches HI am Ausgang. Dies funktioniert auch gut - es ist das, was ich verwende, um einige meiner Sachen an VFDs anzuschließen, die ein Eingangssignal von mehr als 5 V benötigen.

Zunächst einmal danke. Ich habe Ihren ersten Vorschlag ausprobiert und hier simuliert: Link Ich konnte jedoch nicht sehen, was die Ausgangsspannung bei HI auf 11,2 V herunterzog. Ich würde eine PWM bei 12,0 V benötigen.
Danke für die einfachen Schaltungen! Wissen Sie, ob der zweite Level-Shifter für Arduino sicher ist, da er einen Ausgangspin 12 V aussetzt?
Der 2. Stromkreis ist absolut sicher für Arduino. Ich verwende es mit PIC-Schaltungen sowohl an 5-V- als auch an 3,3-V-Schienen. Stellen Sie einfach sicher, dass der Spannungspegel am Basiswiderstand der gleiche ist wie die Versorgungsschiene, von der aus der Mikrocontroller arbeitet.