www.mikrocontroller.net

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


Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: 2961 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: 2961 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke.

Autor: Anon Ymous (anonymous)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auch von mir ein Danke an Falk, das ist wirklich hilfreich.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

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

MfG Spess

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.