PWM linearisieren

Sep 07, 2026 Last reply: 9 hours ago 21 Replies

Hallo Leute,



wenn man mit PWM eine Gleichspannung erzeugen will, dann hängt man dort normalerweise ein RC-Glied dran. Das Problem: Der Widerstand sieht die Spannungsdiffrenz und der Kondensator wird dadurch mit unterschiedlichen Strömen auf- und entladen, wenn dessen Spannung nicht genau in der Mitte ist. Man müsste also für beide Richtungen jeweils Konstantsrom aufschalten. Aber vielleicht kennt ja jemand eine sparsamere Lösung?



MfG hjs


Aktives Tiefpaßfilter mit 1-2 Opamps?

Was ist genau Ziel Deiner Optimierung? Schnelleres Einschwingen bei Wertänderung?

cu Michael

Der konkrete Einsatzzweck erschließt sich nicht. Hast du ein PWM-Signal außerhalb deiner Kontrolle, das du zeitnah in ein Analogsignal wandeln möchtest? Das kann ein Microcontroller auszählen und auf seinem Analog-Ausgang ausgeben. Oder war der Analogausgang zu teuer?

Wieso das denn? Bis auf den kleinen Ripple gilt:

Tastverhältnis = Ausgang / Versorgung.

Alles völlig linear. Was brauchst Du mehr?

-- /¯\ No | Dipl.-Ing. F. Axel Berger Tel: +49/ 221/ 7771 8067 \ / HTML | Roald-Amundsen-Straße 2a Fax: +49/ 221/ 7771 8069  X in | D-50829 Köln-Ossendorf

formatting link
\ Mail | -- No unannounced, large, binary attachments, please! --

Eigentlich ist es nicht PWM. Aber es trifft genau so zu. Ich habe Nadelimpulse mit veriabler Häufigkeit. Die werden mit sowas ähnlichen wie NE555 in Impulse von konstanter Dauer gewandelt. Und daraus soll eine Spannung werden, die analog zu verarbeiten ist. Ein µC ist dabei nicht im Spiel. Sonst könnte ich das ja kompensieren.

MfG hjs

Für mich ist PWM ein Signal konstanter Frequenz, bei dem die Information im Tastverhältnis steckt.

Bei dir ist die Impulsdauer (künstlich) konstant, also ohne Belang, es kommt nur auf die zeitliche Häufigkeit der Impulse an. Das lässt sich nicht so einfach filtern, es sei denn, es gibt einen Mindestabststand der Impulse. Dafür bräuchte man einen f/U-Konverter, falls die Kennlinie den Anforderungen entspricht.

Im Grunde ist es dasselbe. Bei einem Verhältnis t/T kommt es nicht darauf an, ob Zähler oder Nenner variabel sind. Nur der Kompromiß zwischen Reaktionszeit und Ripple ist bei konstanter Frequenz eindeutiger zu finden.

Alles analog? Hört sich an wie Geigerzähler oder Szintillator mit PMT.

Da wird das Signal mit den genormten Impulsen einfach einem Drehzahlmesser zugeführt. Der Drehzahlmesser ist ein Frequenzmesser, ganz einfach. Ein Tacho vom Moped.

Beim Geigerzähler sind die Impulse fast immer gleich, deshalb spart man sich die Impulsregenerrierung und geht direkt zum Frequenzmesser, sprich Anzeige. Beim Szintillator sind die Impulse zu kurz. w.

Genau so! Ich werde also auf digitale Rechentechnik umstellen. Nur muss ich ein SOT23 (der Hersteller nannte diesen Timer liebevoll Itty Bitty) gegen ein SO8 tauschen. Bei meinen Platzverhältnissen ist das ziemlich sportlich.

MfG hjs

Naja, Geigrzähler mit Drehspulmesswerk haben entsprechende Bedruckung am Ziffernblatt oder die sind Zählfrequenzmesser.

Kleine Story am Rande: <nicht nachmachen> In meinem jugentlichen Leichtsinn, hatte ich Co60 in die Finger gekriegt. Und im Unterschied zu dem müden Knarren, wie man das von billigen Hollywood-Streifen kennt, rauschte der Geigerzähler wie ein Wasserfall. Dann hatte ich einen Szintillatorkristall (ohne das Teil, was damals noch Sekundärelektronenvervielfacher genannt wurde) ran gehalten und mich gewundert, dass dort kein Licht rauskam. </nicht nachmachen>

MfG hjs

Wozu? Dein RC macht genau das.

-- /¯\ No | Dipl.-Ing. F. Axel Berger Tel: +49/ 221/ 7771 8067 \ / HTML | Roald-Amundsen-Straße 2a Fax: +49/ 221/ 7771 8069  X in | D-50829 Köln-Ossendorf

formatting link
\ Mail | -- No unannounced, large, binary attachments, please! --

Es gibt auch Microcontroller in SOT-23 (6-pin), z.B. ATtiny4/5/9/10.

HTH Markus

Nur eben, dass man aus einem linearen Tastverhältnis mit RC-Glied keinen linearen Spannungsverlauf kriegt.

MfG hjs

Ja. Die 10-er PICs auch. Aber wegen dieser einen Sache müsste ich die Technik dafür anschaffen. Und Platz für einen Stecker hab ich schon mal gar nicht. Derweil ist der SO8 im Layout drin.

MfG hjs

Doch, natürlich, genau den. Wenn Dir sehr lange Reaktionszeiten egal sind, kannst Du auch den Ripple fast beliebig klein machen. Diesen Zielkonflikt bekommst Du digital genauso.

Im Gleichgewicht mit konstanter Spannung auf dem Kondensator, sind zu- und abfließende Ladung gleich:

(U+ - U) /R * t = (U - U0) / R * (T - t)

gibt aufgelöst mit U0 = 0:

U/U+ = t/T

Wenn die Information in der Periodendauer steckt, kann man das Ergebnis am Ende der Periode direkt ausgeben, ohne RC-Filter:

Analog per Integrator und S/H-Schaltung, digital per Zähler.

Natürlich gibt es andere Wege, vor allem wenn die Spannung hinterher noch digitalisiert werden muß. Für eine proportionale Spannung als Ausgangssignal für z.B. ein Drehspulinstrument ist RC aber das mit Abstand einfachste.

Mein Eindruck war, dass der OP unzufrieden war mit der Verzögerung und Restwelligkeit eines schlichten RC-Filters.

Leider hast du auch beim Quoting nicht darauf geachtet.

Aber so wie ich es empfinde, hat sich der OP mit einer Lösung per Microcontroller angefreundet, also Messung der Periodendauer, ggf. Filterung und Skalierung, und dann direkt auf den Analogausgang.

Nein. Wenn du ganz an den Anfang gehst, hatte er die lineare Umsetzung vom Tastverhältnis auf die Spannung nicht begriffen und meinte, dafür eine Konstantstromquelle zu brauchen.

Du hast meine Erklärung im ersten Beitrag nicht verstanden. Also nochmal: Der Strom durch den Widerstand ist abhängig von der Spannungsdifferenz zwischen dem Treiber und dem Kondensator. Das bedeutet, dass bei geringer Kondensatorladung der Ladestrom einen höheren Wert hat, als derjenige, der entladen soll. Und umgekehrt. Ausgeglichen ist das Verhältnis nur genau in der Mitte. Sowohl die Simulation, als auch der praktische Aufbau beweisen das. Vielleicht noch ein Beispiel: Du kommst mit sehr kurzen positiven Nadelimpulsen zum entladenen C. Dann ist I=U/R, das lädt ihn ein wenig auf. Danach ist aber für lange Zeit I=0,0001*U/R. Das kann ihn nicht entladen. Und das geht ja so weiter. In der Folge ist der Analogwert viel zu groß. Alles klar?

MfG hjs

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required