Forum: Mikrocontroller und Digitale Elektronik PWM - Filtern - Restripple berechnen


von Sebastian (Gast)


Lesenswert?

Hallo,

ich habe hier eine Anwendung, die eine DA-Wandlung mittels PWM 
realisiert. Diese PWM filtere ich mit einer R-C-Kombination


PWM ----R---+--- OpAmp
            |
            C
            |
           GND

Nun möchte ich errechnen, bei welchem R und welchem C ich welchen 
Restripple erhalte und wie schnell ein neuer analoger Wert erreicht 
wird, nachdem ich die PWM verändert habe.

Letzteres ist im Prinzip eher unkritisch, da die PWM max. 25 mal in der 
Sekunde einen anderen Wert erzeugt. PWM-Frequenz ist im Moment 100Hz.

Da gibt es doch bestimmt Formeln für, oder?

Gruß,
Sebastian

von 2961 (Gast)


Lesenswert?

Ja, das RC hat eine Uebertagungsfunktion. Die frequenzen oberhald von 
Omega=1/RC werden abgeschwaecht. Das kann man rechnen. Die 
Fouriertransformierte des signales ist mit der Uebertragungsfunktion zu 
multiplizieren and nacher wieder zurueck zu transformieren. Alternativ 
kann man die Differentialgleichungen in diesem Zusammenhang analytisch 
oder zeitdiskretisiert loesen.

von Sebastian (Gast)


Lesenswert?

Hilfe, das sieht mir nicht einfach aus. Ich hatte gehofft, mal eben die 
Werte in ein paar Formeln schmeissen zu können und den Ripple als 
Ergebnis zu erhalten.

Sebastian

von 2961 (Gast)


Lesenswert?

Man kann's schon vereinfachen. Nimm die Abschwaechung als 20dB pro 
dekade ab der RC-frequenz. Dann fuer den Rechteck, die 1ste, 3te, 5te 
Oberwelle Einseten und addieren. Die RC Frequenz selbt hat 3dB. Nicht 
vergessen.

von Sebastian (Gast)


Lesenswert?

Uh, langsam zum Mitschreiben.

Also: ich geh mal (als Beispiel) von 100KOhm und 100nF aus -> Omega = 
100

soweit klar.

Jetzt habe ich eine Abschwächung von 20dB pro Faktor 10 der Frequenz. Da 
wird es schon schwieriger. Also in meinem Beispiel bei 1000Hz(?) eine 
Dämpfung
von 20dB... Irgendwo in meinem Hirn sagt ewtas "6dB entsprechen einer 
Halbierung der Amplitude", richtig?

Jetzt hört es ganz auf:

Was bedeutet die RC-Frequenz hat 3dB?

Wie komme ich von der mir recht abstrakten Vorstellung der Oberwellen zu 
einem  ganz konkreten Wert der Amplitude des Restripples?

Eigentlich müsste ich doch nur berechnen, in wie weit der Kondensator in 
einer "Einzeit" über den Widerstand aufgeladen wird und in einer 
"Auszeit" wieder entladen wird, oder mach ich mir das zu einfach?

Leider entsteht immer noch kein Gesamtbild bei mir.

Sebastian

von Falk B. (falk)


Lesenswert?

@ Sebastian (Gast)

>Nun möchte ich errechnen, bei welchem R und welchem C ich welchen
>Restripple erhalte und wie schnell ein neuer analoger Wert erreicht
>wird, nachdem ich die PWM verändert habe.

Kann man berechnen, ist aber eher aufwändig. Viel einfacher ist es, das 
in Pspice zu hacken und zu simulieren. Dauert keine 5 Minuten.

@ 2961 (Gast)

>Ja, das RC hat eine Uebertagungsfunktion. Die frequenzen oberhald von
>Omega=1/RC werden abgeschwaecht. Das kann man rechnen. Die
>Fouriertransformierte des signales ist mit der Uebertragungsfunktion zu
>multiplizieren and nacher wieder zurueck zu transformieren. Alternativ
>kann man die Differentialgleichungen in diesem Zusammenhang analytisch
>oder zeitdiskretisiert loesen.

Noch umständlicher gehts nicht? Ich würde schlicht und ergreifend im 
Zeitbereich bleiben und dort rechen bzw. sinnvoll abschätzen.

Kritischster Punkt ist eine PWM mit 50% Duty Cycle. Das macht den 
stärksten Ripple. Dort liegt 1/2 VCC über dem R an und lädt C annähernd 
mit Konstantstrom.

I = 1/2 Vcc/R

Über die Definition des Kondensators kann man den Ripple berechnen.

C = As/V

V = As/C

Die As (Amperesekunden) sind die halbe PWM-Periode mal I. Damit kann man 
brauchbar den Ripple abschätzen.

V = 1/2 Vcc / R * 1/2 T_PWM / C = 1/4 Vcc / R * T_PWM / C

Beispiel:

100 Hz PWM Frequenz(10ms), R=100k, C=1uF, 5V

V = 1/4 5V / 100k * 10ms / 1uF = 125 mV

Siehe auch DA-Wandler

Die Einschwingzeit des Signals ist in etwas 5*R*C.

MFG
Falk

von Sebastian (Gast)


Lesenswert?

Danke.

von Anon Y. (anonymous)


Lesenswert?

Auch von mir ein Danke an Falk, das ist wirklich hilfreich.

von Martin (Gast)


Lesenswert?

Wenn nur 25 mal pro Sekunde ein neuer Wert anliegen soll, würde ich 
einfach die PWM mit z.B. 10000 Hz laufen lassen und den Filter für 250 
Hz auslegen.
Dann konnt das Signal sicher ohne verlust durch den Filter, vom Ripple 
sieht man aber fast nichts mehr.
Ich habe soetwas auch mit zwei RC-Stufen hintereinander gelöst, dann ist 
der ripple noch geringer.

Gruß,
Martin

von Spess53 (Gast)


Lesenswert?

Hi

Kleiner Hinweis: Die o.g. Berechnungen gelten nur für einen unendlich 
großen Lastwiderstand.

MfG Spess

von crazy horse (Gast)


Lesenswert?

ein aktives Tiefpass-Filter ist eigentlich fast immer zu empfehlen. 
Einen Trennverstärker braucht man meist sowieso, also kann der auch 
gleich mit Filtern. Gibt sehr schöne Filtersimulationssoftware bei dev. 
Halbleiterherstellern.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.