Hallo Leute, habe mir eine kleinen DAC für meinen Atmega16 gebaut. Dazu gebe ich eine PWM-Signal mittels Timer1 raus und Filter dieses PWM-Signal mittels eines Tiefpasses. Funktioniert eig. auch ganz gut, schöne stabile Gleichspannung. Nur eine Sache stört mich. Als ich mich mit der Theorie auseinander gesetzt hatte bin ich davon ausgegangen das die Grenzfrequenz meines Tiefpasses um einiges größer sein sollte als die PWM-Frequenz, damit über den Mittelwert des PWM-Signals die gewollte Gleichspannung rauskommt und keine gedämpfte Gleichspg. (ab Grenzfrequenz des Tiefpasses 1. Ordnung halt 3dB pro Dekade). Leider hat sich dieser nach einem praktischen Test als falsch erwiesen, nur verstanden habe ich nicht so richtig warum. In der Praxis habe ich die besten Resultate erziehlt wenn ich die Grenzfrequenz des Tiefpasses um ein vielfaches kleiner als die PWM-Frequenz eingestellt habe. Wo ist mein Denkfehler? Ein paar Daten noch: PWM-Frequenz: ca. 4kHz, bei 10Bit Fast-Pwm Quarz: 4Mhz Tiefpass: Grenzfrequenz: 0,7Hz Zeitkonstante: 0,22s R = 2,2k C = 100µF
/dev/null schrieb: > bin ich davon > ausgegangen das die Grenzfrequenz meines Tiefpasses um einiges größer > sein sollte als die PWM-Frequenz Nein, die PWM-Frequenz nebst aller ihrer Oberwellen muss rausgefiltert werden, du willst doch eine Gleichspannung oder zumindest kleinere Frequenzen haben. Auch kann wegen Nyquist die maximal abbildbare Frequenz nur halb so groß wie die Abtastfrequenz sein. Es lohnt sich also mit der Filtergrenzfrequenz weit unterhalb der PWM-Frequenz zu bleiben. Dies resultiert auch z.B. daraus, dass die Tiefpässe nicht ideal arbeiten, sondern einen kontinuierlichen Frequenzgang haben. Du könntest ja einen Tiefpass zweiter Ordnung bauen. Wenn in dieser Schaltung
1 | ____ ____ |
2 | PWM o---|_R1_|---*---|_R2_|---*---o OUT |
3 | | | |
4 | C1 = C2 = |
5 | | | |
6 | GND o------------*------------*---o GND |
folgendes gilt R1 < (10*R2) und/oder C1 > (10*C2) kann man von keiner nennenswerten Beeinflussung des R1C1-Gliedes durch R2C2 ausgehen. Die Grenzfrequenz wird dadurch "schärfer" dargestellt. Man erkauft sich das Ganze leider mit einem wenig belastbaren Ausgang, der ggf. mit einem OP-Amp als Spannungsfolger gepuffert werden sollte. mfg mf
In deinen beschriebenen Beobachtungen widersprichst du dich ein wenig. Die Beobachtung das deine Grenzfreqeunz so klein wie möglich sein soll ist schon richtig. Erst dadurch kann dein Filter entsprechend arbeiten und eine große Dämpfung erreichen. Nachteilig ist dann die entsprechende Bandbreite welche erzielt werden kann. (Spielt aber bei Gleichspannung keine Rolle) Als Beispiel: Wenn deine Grenzfreqeunz des Filters bei 1kHz liegt und deine PWM eine Tastfreqeunz von 10kHz hat, hast du einen Unterschied von einer Dekade wodurch die Grundwelle des Rechtecksignales mit -3dB gedämpft wird. Beträgt deine PWM nun 100kHz hast du 2 Dekaden Unterschied und deine Grundwelle des Reckteckes wird mit -6dB gedämpft: Da deine Dämpfung hier nun größer ist, wird dein Wechselspannungsanteil verringert und somit ist deine Gleichspannung welches du erzeugen möchtes "brummfreier". Schnapp dir mal "LTSpice IV" und simulier ein wenig - So kannst du ganz einfach simulieren und ein wenig experimentieren.
Oder einfach so:
1 | PWM o---|_L_|---*------o OUT |
2 | | |
3 | C1 = |
4 | | |
5 | GND o------------*-----o GND |
Mini Float schrieb: > Man erkauft sich das Ganze leider mit einem wenig belastbaren Ausgang, > der ggf. mit einem OP-Amp als Spannungsfolger gepuffert werden sollte. Ja einen rail-to-rail OP kommt noch dahinter, damit der nachfolgende "Verbraucher" meinen Elko des Tiefpasses nicht leerzieht. Dann habe ich falsch gedacht, ich will also mein PWM-Signal nicht erhalten sondern gerade dieses herausfiltern. Somit die Grenzfrequenz des Filters um einiges kleiner als die PWM-Freqeunz. Dann hätte ich bei meinen angegebenen Werte ungefähr eine dämpfung um -9dB.
Warum geht hier keiner auf den grundlegenden Fehler ein? > die Grenzfrequenz meines Tiefpasses um einiges größer > sein sollte als die PWM-Frequenz Die Grenzfrequenz deines Tiefpasses sollte möglichst klein gegenüber der PWM-Frequenz F sein, aber möglichst groß gegenüber der höchsten gewünschten Änderungsfrequenz f der erzeugten "Gleichspannung"! Die PWM-Frequenz ist doch nur ein Hilfsmittel, dass du nicht im Ausgangssignal sehen willst, also herausfiltern musst. Erster Ansatz: Grenzfrequenz = Wurzel(f * F) Je weiter f und F auseinander liegen, umso einfacher kann der Tiefpass sein.
@Kurt: So kann ich das nicht stehen lassen. Das Grundlegende habe ich oben schon erklärt. - Beziehungsweise versucht. :)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.