Spannungsregler via PWM and MOSFET realisieren

  • Hallo zusammen,

    ich bin mit meinem elektronischen Wissen, wenn man das so nennen kann, am Ende.

    Ihr kennt vielleicht die kleinen Geräte über die man eine Spannung ausgeben kann, die zum ansteuern/regeln von unterschiedlichen Aktoren benutzt werden kann. Da wird "keine" Leistung abgegriffen, sondern die Spannung dient nur zur Regelung, ähnlich wie die üblichen 4-20mA, nur eben in Volt. So was will ich bauen. Ich habe ein Mikrokontroller und benutze einen PWM-Pin, mit diesem will ich den Bereich von 0-9,2V ausgeben können. Allerdings funktioniert meine Schaltung nicht. Ich habe diesen MOSFET und folgende Schaltung aufgebaut. Die 20k Ohm sollen den Aktor simulieren, der die eingestellte Spannung bekommt.

    Könnt ihr mir sagen wie man die Schaltung richtig macht und wieso die nicht funktioniert?

    Ich bekomme keine Spannungsänderung über den gesamten Bereich wenn ich an Pin zwei die Spannung messe. Bei meinem letzten Versuch lagen da ~6V an bei 3,3V an 1 und bei 0V an 1 war der Unterschied nicht erheblich größer.


    Danke vorab!

    Grüße
    Dennis

    🎧 Hate the jocks, the preps, the hippie fuckin' scumbags.
    Heavy-metalers with their awful, pussy hairbands.
    Counting seconds until we can get away.
    Ditching school almost every single day, oh, yeah 🎧

  • Servus,

    Ohne dich Kompromittieren zu wollen:
    - eine Spannung ist immer eine Potentialunterschied zu einem bestimmten Bezugspotential - meist Masse oder GND. Da sollte von deinem Multimeter die Meßstrippe mit der Bezeichnung COM angeschlossen sein. Die andere Meßstrippe ist dann der Punkt wozu sich diese Spannung / Potentialunterschied aufbaut.
    - Da du eine absolute Spannung messen möchtest muss COM auf GND des Laststromkreises liegen.

    Wenn du nun sagst du misst an Pin 2 = Source des MOFETs eine Spannung größer 1 mV dann stimmt etwas nicht mit der Verbindung Source des MOSFETs zu GND.
    Wenn die Beauflagung einer Spannung am Gate zu keiner Änderung führt, vorausgesetzt COM des Meßgerätes ist wirklich mit Masse verbunden, dann kann es auch sein, dass du den MOSFET falsch herum eingebaut hast also Pin 2 und Pin 3



    verwechselt hast und die interne Bodydiode für einen ständigen Stromfluss sorgt.

    Aber noch ein paar Worte zum MOSFET SI2302 selber, dieser beginnt ab ca. 1,5 Volt am Gate ( Pin 1 ) zu leiten, und wirkt nun nur noch als Schalter nicht mehr als Verstärker.

    Dazu noch folgendes: Der geringste Innenwiderstand auf der Dran-Source-Strecke wird erst bei eine Gate-Source-Spannung von 4,5 Volt erreicht. Sollte in diesem Fall aber keine Rolle spielen.
    Da sich der Strom einmal über R2 und einmal über R3 aufteilt, kann es durchaus sein, wenn der Mikrocontroller an diesem GPIO nicht genügend Strom liefern kann, was wiederum von der PWM Frequenz abhängig ist, dann schafft es der MOSFET nicht mit dem wenigen Strom der über R2 zum Gate , bzw auch wieder abfließen kann, aus der reinen Verstärkungsphase herauszukommen.
    Das bedeutet der Innenwiderstand selber auf der Drain-Source Strecke bleibt so hoch ( weit aus größer wie R_DSon ) , dass ein zusätzlicher erhöhter Spannungsabfall auftritt.

    Fehlersuche:
    - Messe immer gegen GND !
    - GND des Laststromkreises muss mit dem GND des Mikrocontrollers verbunden sein !
    Du kannst R2 ganz bequem auf 120-180 Ohm verringern, und parallel zu diesem R2 noch einen 330nF Unipolaren Kondensator einbauen ( Scheiben- oder Keramikkondensator ) was für saubere Umschaltflanken zum Gate sorgen wird.
    Du kannst, wenn du R3 wieder aus der Schaltung entfernst mit einem Multimeter Diodenmessung ( meist bei Autorange-Meßgeräten über die Select Taste in der Einstellung Widerstandsmessung zu erreichen, oder als separates Symbol am Bereichs-.Auswahlschalter ) die Richtung bzw. die korrekte Einbaulage des MOSFETs überprüfen. Wenn du mit COM auf Pin 3 des MOSFETs gehst und mit der anderen Meßleitung auf Pin 2 muss der Spannungsabfall U_forward der Bodydiode angezeigt werden. Wenn du dann die beiden Meßspitzen an diesen Pins des MOSFETs vertauschst, und Gate wieder mit Source temporär statisch verbindest , darf das Meßgerät nichts anzeigen.

    Noch einen Hinweis zur PWM Programmierung, je höher die PWM Frequenz um so mehr Strom muss der GPIO des Mikrocontrollers liefern können. Beachte dabei bitte, wenn mehrere GPIOs dieses Mikrocontrollers in Verwendung sind, das P_tot nicht überschritten wird. Das heißt wiederum: Die Summe aller Ausgangsströme multipliziert mit dessen Versorgungsspannung Vcc darf diesen Wert Maximalleistung P_Tot gemäß Datenblatt des Mikrocontrollers nicht überschreiten.
    Grundsätzlich benötigst du für diesen MOSFET einen Ausgangsstrom ( bzw auch der zurückfließende Strom bei der Flanke switch to low ) von 5 mA, wenn du eine PWM Frequenz von 5 kHz angesetzt hast.
    Zudem, wenn du später diesen R1 als ohmsche Scheinlast, wieder durch diesen Aktor ( offensichtlich eine elektromagnetischer Linearantrieb ) ersetzt, muss du parallel zu dieser induktiven Last eine s.g. Freilaufdiode einbauen. Anode an Pin 3 und Kathode an diese 9,2 Volt Quelle. Hier reicht für kleine Stromlasten bis ca 1A eine einfache 1N4148 .

    Je nach dem mit welcher PWM Grundfrequenz du das Ganze aufbauen / betreiben willst, würde ich wegen des doch relativ hohen Total_Gate_Charge ( andere Kleinlast-MOSFESTs haben hier deutlich Mikrocontroller-freundlichere Werte zB TSM Serie ) einen vorgeschalteten Gate-Treiber verwenden, der deinen GPIO des Mikrocontrollers entlastet.

  • Irgendwie glaube ich nicht, dass es eine gute Idee ist, einen Mosfet als variablen Widerstand zu verwenden.
    Das wäre wohl eher ein Fall für einen Operationsverstärker (Schaltung als nicht invertierender Verstärker).

    Hat dein Mikrocontroller einen DA-Wandler? Dann einfach das analoge Signal per OPV auf deine gewünschte Spannung verstärken.
    Wenn du keinen DA-Wandler hast, kannst du das PWM-Signal mit Widerstand und Kondensator glätten und dann auf den OPV geben.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Dennis89



    Hiermit schaltest du aktiv Plus und die Last bleibt permanent mit der Masse verbunden.
    Ohne ein Eingangspotential an GPIO_Out ist die Gate-Spannung von Q2 über R4 mit Masse verbunden ( Pulldown ). Damit ist dieser gesperrt. Damit kann die Eingangsspannung über R1 zum Gate des Q1 fleißen und das Spannungsdelta Gate-Source dieses P-Chanel MOSFETs ist 0 Volt. Somit ist auch dieser MOSFET gesperrt, und es kann keine Spannung / Strom über R_Last fließen.
    Wenn du nun hier GPIO_OUT ein PWM Signal anlegst, wird im ersten Schritt Q2 leitend, und dieser zieht das Gate von Q1 auf Masse. Was wiederum zur Folge hat, dass das Spannungsgdelta zwischen Gate und Source von Q1 auf über 4,7 Volt steigt und auch dieser MOSFET leitend wird. Somit eine Strom in Richtung R_Last fließen kann.
    Der Rest ist schmückendes Beiwerk zur Spannungsstabilisierung, besseren Flankenverhalten und dient als Schutzbeschaltung, so auch die Freilaufdiode D1.
    Für größere Lasten ( I > 1,5 A ) kannst du Q1 auch durch jeden anderen, deiner Aufgabe angepassten P-Chanel-MOSFET ersetzen, musst aber dann R1 entsprechend anpassen, oder verwendest gleich einen invertierenden Gate-Treiber, mit dem man PMOS direkt ansteuern kann, ohne auf eine invertierende Eingangssignal-Logik angewiesen zu sein.

    In der Erweiterung, wenn du den Laststrom für den Mikrocontroller GPIO weiter senken willst, kannst du auch 2 Gatter eines 74HC14 ( Hex-Inverter mit Schmitt-Trigger Eingang ) hintereinander geschaltet direkt mit dem Gate von Q2 verbinden. Damit fallen C3 sowie RR3 + R4 weg. Allerdings benötigst du damit für den 74HC14 eine Hilfsspannung von 5,0 Volt.

  • Danke für eure Antworten.

    Tell An Punkt 3 messe ich dann 3,5V und mit PWM = 0 messe ich noch 0,7V

    Gnom mit "DA-Wandler" meinst du Digital to Analog? Das hat er. Mit Operationsverstärker hatte ich noch nie zu tun, befasse mich aber damit, wenn der MOSFET ausscheidet.

    WolleWillWhisky Ohne dir zu nahe treten zu wollen, eine Frage zu den umfangreichen Beiträgen. Ist dass dein Wissen oder ist das von ChatGPT o.ä.?


    Grüße
    Dennis

    🎧 Hate the jocks, the preps, the hippie fuckin' scumbags.
    Heavy-metalers with their awful, pussy hairbands.
    Counting seconds until we can get away.
    Ditching school almost every single day, oh, yeah 🎧

  • Gnom mit "DA-Wandler" meinst du Digital to Analog? Das hat er. Mit Operationsverstärker hatte ich noch nie zu tun, befasse mich aber damit, wenn der MOSFET ausscheidet.

    OPV ist ziemlich simpel. Und wenn du einen DA- (ja, Digital-Analog-) Wandler hast, geht es nicht simpler. Ein OPV, zwei Widerstände und das wars. vorne 0 - 3,3 V rein, hinten 0 - 10 V raus. Bevor du dir mit dieser zickigen Mosfet-Schaltung die Ohren brichst, nimm einen OPV, dann ist das in drei Minuten erledigt. Wichtig ist, dass es ein Rail-to-Rail-Typ ist, der dann auch wirklich bis 0 V runter regeln kann.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Dennis89
    Es ist über nachmachen, lesen, und auch beschäftigen damit ( Nachbauen und selber damit herumspielen ) entstanden was u.a. in vielen Auch YT Tutorials beschrieben wird.

    Grundsätzlich zu deinem Problem: Du schaltest über diesen MOSFET die Masseleitung ein und aus. Die Vcc der Last bleibt damit permanent mit dessen Vcc verbunden. Damit um wirkliche eine einstellbare Spannung messen zu können befindet sich das Resultat des Potentialunterschiedes zwischen dem Drain und der Vcc ohne einen tatsächlichen Massebezug deiner gesamten Schaltung. In der Summe kannst du dir das so vorstellen, dass der MOSFET selber eine Innenwiderstand hat, dieser aber auf Grund der Wahl deines Aufbaus die Masse ON / OFF schaltet.
    Wenn du nun irgendwo eine Gemeinsame Masse hast, keine Ahnung was du da treibst, dann wirst du immer ein Potentialunterschied zwischen der geschaltenen Masse ( Drain ) und der tatsächlichen Mase ( GND ) haben. Ist einfach so.
    Somit wenn in einer komplexeren Schaltung eine gemeinsame Masse vorhanden ist, entscheidet man sich tendenziell immer für einen HIGH Side Switch, also man schaltet das Vcc via eines P-Chanel-MOSFETs.
    Wenn das in der Anwendung keine Rolle spielt, stellt der Drain eine virtuelle Masse dar und Vcc bleibt Vcc.

    Dazu muss ich nicht ChatGPT oder ähnliche AI Programme befragen.

    Hier noch ein gutes Beispiel als Tutorial, aber mit technisch ganz anderen Anforderungen, damit du selber sehen kannst, welche Möglichkeiten und Varianten es gibt. Leider dann auch mit einem bedeutend hören Aufwand an Bauteilen um den MOSFET.

    ->> Video Tutorial :

    External Content youtu.be
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.

  • Gnom mit "DA-Wandler" meinst du Digital to Analog? Das hat er. Mit Operationsverstärker hatte ich noch nie zu tun, befasse mich aber damit, wenn der MOSFET ausscheidet.

    OPV ist ziemlich simpel. Und wenn du einen DA- (ja, Digital-Analog-) Wandler hast, geht es nicht simpler. Ein OPV, zwei Widerstände und das wars. vorne 0 - 3,3 V rein, hinten 0 - 10 V raus. Bevor du dir mit dieser zickigen Mosfet-Schaltung die Ohren brichst, nimm einen OPV, dann ist das in drei Minuten erledigt. Wichtig ist, dass es ein Rail-to-Rail-Typ ist, der dann auch wirklich bis 0 V runter regeln kann.

    Du spricht sicherlich von einer Komparator-Schaltung ?
    Ja diese ist sehr simpel, da gebe ich dir Recht. Allerdings sollte man dann keinen reinen OPV verwenden, sondern einen für diesen Funktionszweck optimierten Baustein.
    Eine weitere Sache ist mir aufgefallen, welches in Dennis89 Ausgangsfrage zu lesen ist, der o.g. 20 kOhm Widerstand soll nur ein Platzhalter für einen Aktor, also eine Antriebseinheit sein.
    Hier wäre dann die Frage zu stellen, welcher reine als Komparator spezifizierte OPV Baustein dann auch den Laststrom einer solchen Antriebseinheit liefern kann. Zudem sollte man noch erwähnen, dass es OPVs mit Open-Drain Ausgängen gibt, und welche mich echten Push-Pull Ausgängen, die auch Strom rausschicken können. Für den Anwendungsfall von Dennis89 kommen in dem Falle Nur OPVs / Komparatoren mit einem Push-Pull Ausgang in Frage.

    Ergänzend möchte ich noch anfügen, wenn ich sehe welchen N-Chanel MOSFET Dennis89 in seinem Schaltungsaufbau verwendet, welche Impulsstromfähigkeit dieser MOSFET besitzt, dann mit den Kenntnissen der mit bekannten OPV / Komparator - Typen / Bausteine gibt es keinen solchen OPV der in diesem Spannungsbereich auch noch solche Ausgangsströme ( Impulsströme ) direkt liefern kann.

    Edited 2 times, last by WolleWillWhisky (February 27, 2026 at 6:11 AM).

  • An Punkt 3 messe ich dann 3,5V und mit PWM = 0 messe ich noch 0,7V

    Dann ist entweder der MOSFET Defekt oder verkehrt herum eingebaut. Wenn am Gate ein Null-Potential anliegt, aber trotzdem eine Reststrom fließt, also auch eine Spannung zu messen ist, dann deuten diese 0,7 Volt darauf hin, das ein Leckstrom durch die Bodydiode fließt. Also der MOSFET vertauscht Drain und Source beschalten wurde.

  • Du hast bestimmt völlig Recht mit allem, was du sagst...


    Dennis, nimm einfach einen geeigneten OPV und spar dir den Aufwand mit Mosfets, Kondensatoren, Bootstrap-Schaltungen, Getüftel, unsinnigen Messwerten, Frust und Zeitaufwand.

    Wenn ich dich richtig verstehe, geht es um die Erzeugung ein 0-10-V-Signals, das an einen hochohmigen Eingang geht - dimmbare Lampen, Motortreiber oder sowas. Leistung muss das Ding also nicht bringen.

    Ich denke, ein Rail-to-Rail-OPV mit Versorgungsspannung > 10 V, z.B. TLV271, OPA4187 oder OPA186, sollte geeignet sein.

    Alternativ: Es gibt auch fertige Module für 0-10V, die mit I2C oder SPI angesteuert werden.

    Oder - wenn du gerne bastelst - ein Spannungsteiler mit einem digitalen Potentiometer (I2C oder SPI). Die haben aber meist weniger Stufen als ein DAC, oft nur 100 oder 128.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Danke für die Antworten.

    Gnom ja du hast mich richtig verstanden. Ich habe mir die Datenblätter deiner Beispiele angeschaut. Mein Pin kann ja max 3,3V ausgeben. Woher weiß ich, das dabei auch meine 10V ausgegeben werden? Bin dabei mich in OV einzulesen, doch die interne Schaltung ist für mich gerade noch nicht ganz zu durchschauen.

    Tell ursprünglich wollte ich ein Stellventil ansteuern, da habe ich auch die 20k Ohm gemessen. Das hat sich mittlerweile erledigt, dennoch möchte ich das Projekt zu Ende bringen. Ich mache sowas gern, wenn die Elektronik überschaubar bleibt. Daher würde es mir sehr gefallen, wenn das mit einem OV geht. Es hört sich zumindest leicht an. Das dachte ich aber auch vom MOSFET😀


    Grüße

    🎧 Hate the jocks, the preps, the hippie fuckin' scumbags.
    Heavy-metalers with their awful, pussy hairbands.
    Counting seconds until we can get away.
    Ditching school almost every single day, oh, yeah 🎧

  • Hallo

    Um zum Thema OPV mal was zu sagen oder konstruktiv beizutragen.

    Ohne das du, Dennis89, wirklich Angaben machst welcher Laststrom tatsächlich benötigt wird, ist all das was hier besprochen wird, und sich unterhalb der Spezifikation deines von dir projektierten MOSFETs bewegt - Kaffeesatzleserei ! Solche Aussagen "ähnlich wie" ist keine exakte Festlegung oder Benennung von klaren Grenzen für Betriebsparameter.

    Erstens mal grob zu dem Möglichkeiten, die man mit einem OPV hätte, wenn man weiterhin mit der gepulsten Ausgangsspannung leben kann.
    Wenn du am Eingang Vin- ( Minus ) eine Hilfsspannung zB über einen Spannungsteiler, anlegst un das Eingangssignal an Vin+ ( Plus ) anliegt, spricht man von einer Komparatorschaltung. Es gibt in diesem Fall keine Rückkopplung von Vout ( Ausgang zu einem der Eingänge ). Hier würde dann bei Überschreiten der Spannung an VIN+ , welche als Umschaltschwelle an Vin- vorgegeben wird, der Ausgang auf die Versorgungspannung des OPVs springen. Diese Schaltungen mit anderen Bauelementen diskret umgesetzt werden auch als Schwellwertschalter bezeichnet.
    Das heist nichts anderes wenn dein Grenzspannung an Vin- zum Beispiel mit 2,8 Volt vorgegeben ist, und die Spannung an Vin+ unter dieser Schwelle liegt ist der Ausgang LOw, wenn die Spannung über 2,8 Volt liegt, somit auf das 3,3 Volt Signal deines Mikrocontrollers eindeutig reagiert, dann ist der Ausgang High . In diesem Fall wird dein PWM Signal mit einer minimalen Latenz auf die Pegel 0 Volt = Low und 9,2 Volt = High übersetzt. Also so eine Art "Levelshifter"

    Zum TLV271 oder allgemein die Typen der TVL27x Serie können am Ausgang nur maximal 100 mA liefern ( unter Beachtung von P_tot ) wenn dir das ausreicht - soweit OK
    Der ebenfalls erwähnte OPA4187 schafft es nur auf 55 mA und der OPA186 nur auf 25 mA.

    Die ebenfalls aufgezeigte Alternative eines DAC, welche es auch mit mehr wie 8 Bit Auflösung gibt, dann aber zu einem Kostenfaktor werden. Fast alle DAC können nur wenige, wenn überhaupt mA Strom ausgeben. Hier musst du das Signal bezüglich des maximalen Ausgangsstromes nachverstärken.
    Das kann über eine komplementäre Endstufe erfolgen ( allerdings auch mit einer deutlich höheren Verlustleistung ) oder du verwendest wieder einen OPV der als einfacher Impedanzwandler ( ohne Spannungsverstärkung ) arbeitet , oder eine entsprechende Schaltung auch noch die Spannung verstärkt.

    Da die meisten DACs nur bis zur einer Vcc von 6 Volt arbeiten, benötigst du noch einen Eingangslevelshifter für den BUS ( I²C oder SPI ) damit du ihn bei einer höheren Vcc wie nur die 3,3 Volt des Mikrocontrollers ansprechen kannst. Mit einer Spannungsverstärkung erhöht sich dann auch das Schrittmaß der Ausgangsspannung, wie es vom DAC Vorgegeben wird.
    Bei einem 12 BIT DAC und einer Vcc von 6 Volt ( hier wird wieder eine zusätzliche Hilfsspannung Vcc für den DAC benötigt ) hättest du ein Schrittmaß von 6 Volt durch 4095 Steps , was einer Auflösung bei der Ausgangsspannung von ca 1,5 mV entspricht. Wenn du dieses dann nochmals um zB den Faktor 2 verstärkst, könntest du die maximale Ausgangsspannung auf theoretische 12 Volt hoch treiben, hättest dann aber nur eine Auflösung von 3 mV .



    Das wäre die von Gnom vorgeschlagene Variante mit einem OPV als Komparator / Schwellwertschalter ( Allerdings bei den aktuellen Preisen näherst du dich hier schon der 10 € Grenze Materialaufwand )

    Parasitäre Kapazitäten,z.B. durch Glättungskondensatoren, am Ausgang eines OPVs ohne ein vollständiges RC Glied abzubilden ( Widerstand ist ein Strombremse ) führt automatisch zur Verschiebung der Ausgangsspannung. Somit klassisch eine ELKO oder ähnliche niederohmige Glättungskapazitäten einfach an den Vout Ausgang zu hängen, damit aus deiner gepulsten Gleichspannung ( immer noch ein PWM Signal ) eine Rippelfrei / Rauschfrei Gleichspannung wird, funktioniert so nicht !



    Das wäre die Verstärkerschaltung für die Anwendung mit einer Eingangsspannungsquelle aus einem DAC. Über R1 + R3 ( Spannungsteiler ) wird eine Spannungsverstärkung eingestellt in diesem Fall von 1:2 ( Verdopplung )

    Allerdings auch hier sei gesagt, das ein solcher DAC, welcher je nach Modell ggf. auch noch mit einer Referenzspannung gespeißt werden müsste, bewegt man sich dann schon bei Materialkosten für einen 12 Bit oder 16 Bit DAC von etwa 10 € . Bei Versionen die eine ext. Referenzspannungseinspeißung benötigen kommen dann noch mal einige Euros für diese Referenzspannungsquelle hinzu. Plus das was der verstärkende OPV kostet. Plus den Levelshifter damit das Bussignal ( I²C oder SPI ) 3,3 Volt vom Mikrocontroller kompatible zum DAC selber wird.

    Eine vollständige DAC Lösung mit einer Schritt-Auflösung kleiner 5 mV ist nicht unter ca 25 € Bauteilkosten zu realisieren.

  • Danke an alle Beteiligten für eure Interesse und Antworten.

    Ich werde mich mit den Informationen mal auf Bauteilsuche machen. Damit ist das Thema für mich erledigt.


    Schönes Wochenende euch!

    🎧 Hate the jocks, the preps, the hippie fuckin' scumbags.
    Heavy-metalers with their awful, pussy hairbands.
    Counting seconds until we can get away.
    Ditching school almost every single day, oh, yeah 🎧

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!