Ich bin auf der Suche nach der besten RC-Zeitkonstante und dem Grund für die Umwandlung eines digitalen Signals in ein analoges anhand des Tastverhältnisses, der Frequenz und anderer Parameter in eine PWM. Die PWM-Frequenz beträgt 10 kHz.
Ich bin auf der Suche nach der besten RC-Zeitkonstante und dem Grund für die Umwandlung eines digitalen Signals in ein analoges anhand des Tastverhältnisses, der Frequenz und anderer Parameter in eine PWM. Die PWM-Frequenz beträgt 10 kHz.
Antworten:
Der beste RC ist unendlich, dann haben Sie einen perfekt rippelfreien DC-Ausgang. Das Problem ist, dass es auch ewig dauert, auf Änderungen im Arbeitszyklus zu reagieren. Es ist also immer ein Kompromiss.
Ein RC-Filter erster Ordnung hat eine Grenzfrequenz von
und ein Abfall von 6 dB / Oktave = 20 dB / Dekade. Das Diagramm zeigt die Frequenzcharakteristik für eine Grenzfrequenz von 0,1 Hz (blau), 1 Hz (lila) und 10 Hz (die andere Farbe).
Wir können also sehen, dass für das 0,1-Hz-Filter die 10-kHz-Grundwelle des PWM-Signals um 100 dB unterdrückt wird. Das ist nicht schlecht. Dies führt zu einer sehr geringen Welligkeit. Aber!
Diese Grafik zeigt die Sprungantwort für die drei Grenzfrequenzen. Eine Änderung des Tastverhältnisses ist ein Schritt im Gleichstrompegel und einige Verschiebungen in den Harmonischen des 10-kHz-Signals. Die Kurve mit der besten 10-kHz-Unterdrückung reagiert am langsamsten, die x-Achse ist Sekunden.
Diese Grafik zeigt die Reaktion einer 30-µs-RC-Zeit (Grenzfrequenz 5 kHz) für ein Signal mit einem Tastverhältnis von 50% und 10 kHz. Es gibt eine enorme Welligkeit, aber sie reagiert auf die Änderung des Tastverhältnisses von 0% in 2 Perioden oder 200 µs.
Dies ist eine RC-Zeit von 300 µs (Grenzfrequenz 500 Hz). Immer noch eine gewisse Welligkeit, aber das Wechseln von 0% zu 50% des Arbeitszyklus dauert ungefähr 10 Perioden oder 1 ms.
Wenn Sie RC weiter auf Millisekunden erhöhen, wird die Welligkeit weiter verringert und die Reaktionszeit verlängert. Es hängt davon ab, wie viel Welligkeit Sie sich leisten können und wie schnell der Filter auf Änderungen des Arbeitszyklus reagieren soll.
Diese Webseite berechnet, dass wir für R = 16 kΩ und C = 1 µF eine Grenzfrequenz von 10 Hz haben, eine Einschwingzeit von 90% von 37 ms für eine Welligkeit von Spitze zu Spitze von 8 mV bei maximal 5 V.
Bearbeiten
Sie können Ihren Filter verbessern, indem Sie zu höheren Aufträgen wechseln:
Die blaue Kurve war ein einfaches RC-Filter mit einer Absenkung von 20 dB / Dekade. Ein Filter zweiter Ordnung (lila) hat eine Absenkung von 40 dB / Dekade, sodass bei gleicher Grenzfrequenz eine Unterdrückung von 120 dB bei 10 kHz statt 60 dB erfolgt. Diese Grafiken sind ziemlich ideal und lassen sich am besten mit aktiven Filtern wie einem Sallen-Key erzielen.
Gleichungen
Spitze-Spitze-Welligkeitsspannung für ein RC-Filter erster Ordnung als Funktion der PWM-Frequenz und der RC-Zeitkonstante:
E & OE. "d" ist das Tastverhältnis, 0..1. Die Welligkeit ist für d = 0,5 am größten.
Die Sprungantwort auf 99% des Endwerts beträgt 5 x RC.
Grenzfrequenz für den Sallen-Key-Filter:
Für ein Butterworth-Filter (maximal flach): R1 = R2, C1 = C2
Wie Steven sagte, ist es ein Kompromiss zwischen der Abschwächung der PWM-Frequenz und der Reaktionszeit. Aus diesem Grund muss eine solche Entscheidung mit einer Spezifikation beginnen, die Sie von dem resultierenden analogen Signal erwarten. Welches Signal-Rausch-Verhältnis muss es sein, oder wie viel Rauschen bei der PWM-Frequenz können Sie tolerieren? Wie schnell muss es sich auf den Geräuschpegel einstellen? Oder umgekehrt, was ist die obere Frequenz, die Ihnen am Herzen liegt?
Beachten Sie, dass es möglicherweise nicht möglich ist, einen bestimmten Satz von Kriterien mit einer bestimmten PWM-Ausgabe zu erfüllen. Angenommen, Sie wollten eine gute Sprachausgabe. Wir werden sagen, das ist bis zu 8 kHz und 60 dB Rauschen. Das wird mit keinem vernünftig handhabbaren analogen Filter mit 20 kHz PWM passieren, und schon gar nicht mit etwas so Einfachem wie einem einzelnen R und C.
Lassen Sie uns als Beispiel rückwärts arbeiten und sehen, was die PWM-Eigenschaften sein müssten, um das obige Sprachbeispiel mit einem einzelnen R, C-Filter zu unterstützen. Wir haben bereits gesagt, dass die Rolloff-Frequenz von -3 dB 8 kHz beträgt. Deshalb haben wir R und C auf diese Frequenz eingestellt. Die Abrollfrequenz eines einzelnen R, C-Filters beträgt:
F = 1 / (2 π RC)
Wenn R in Ohm ist, C in Farad, dann ist F in Hertz. Es sollte offensichtlich sein, dass diese Gleichung umgeordnet werden kann, um für jedes von R, C oder F zu lösen, wenn die anderen beiden gegeben sind. Ich behalte 1 / (2 π) = .15915 immer in einem Register in meinem Rechner, weil diese Berechnung in der Elektronik regelmäßig auftritt. Dann dividiere ich das einfach durch zwei von R, C oder F, um den dritten zu erhalten.
Wir haben zwei Freiheitsgrade und die obige Gleichung nagelt nur einen von ihnen fest. Die andere kann als die Impedanz betrachtet werden, die das resultierende Signal haben soll. Lass uns für ungefähr 10 kΩ schießen, das ist es, was wir mit R machen, nur um zu sehen, wozu C herauskommt:
1 / (2 π 8 kHz 10 kΩ) = 1,99 nF
Das ist im Grunde genommen der Standardkondensatorwert von 2 nF, also machen wir einfach weiter. Wenn es nicht zu einem gemeinsamen Wert gekommen wäre, hätten wir einen nahen ausgewählt und wären dann zurückgegangen und hätten R entsprechend angepasst. Widerstände sind in viel feineren Variationen und mit höheren Toleranzen als herkömmliche Kondensatoren erhältlich. Sie finden also normalerweise einen engen Kondensatorwert und lassen diesen dann den genauen Widerstandswert bestimmen.
Wir haben uns also für R = 10 kΩ und C = 2 nF entschieden. Beachten Sie, dass dies von der 8-kHz-Oberfrequenzanforderung herrührt. Wir müssen keine Wahl mehr treffen, daher werden die Einschwingzeit und das Signal-Rausch-Verhältnis so sein, wie es sein wird. Jetzt können wir nur noch bestimmen, ob es gut genug ist, oder umgekehrt, welche PWM-Eigenschaften erforderlich wären, um die Spezifikationen des Ausgangssignals zu unterstützen.
Da es sich bei der Spezifikation um ein Signal-Rausch-Verhältnis von 60 dB handelte, bedeutet dies, dass das Rauschen weniger als 1 Teil von 1000 der Spannung sein muss, was bedeutet, dass die PWM-Frequenz um diesen Wert gedämpft werden muss. Ein einzelnes R, C-Filter dämpft umgekehrt proportional zur Frequenz nach der Abrollfrequenz. Dies ist eine Annäherung, die in der Nähe der Abrollfrequenz und darunter abbricht, aber in den meisten Fällen nach ein oder zwei Oktaven nach der Abrollfrequenz ausreichend ist. Mit anderen Worten, 16 kHz werden um 2 mit einem gewissen Fehler gedämpft, 32 kHz um 4 mit einem geringeren Fehler, und danach können Sie die interessierende Frequenz so ziemlich einfach durch die Rolloff-Frequenz dividieren, um die Dämpfung zu erhalten. Wir wollen, dass die PWM-Frequenz um 1000 gedämpft wird, was bedeutet, dass sie 8 MHz oder höher sein muss. Das ist hoch, aber mit einigen Prozessoren machbar. Beispielsweise,
Betrachten wir nun die PWM-Auflösung. Dies wird wiederum durch die 60 dB-Signal-Rausch-Spezifikation gesteuert, von der wir bereits wissen, dass sie 1: 1000 bedeutet. Dies würde eine PWM-Auflösung von mindestens 999 erfordern (Sie erhalten immer einen Ausgangspegel mehr als die PWM-Auflösung). Dies bedeutet, dass der interne PWM-Slice-Takt das 999-fache der 8-MHz-PWM-Ausgangsfrequenz oder im Grunde 8 GHz betragen muss. Das wird nicht passieren, wenn Teile von der Stange sind.
Es gibt jedoch eine Möglichkeit, diese Einschränkungen zu umgehen, und zwar durch die Verwendung von mehr als nur einem einzelnen R, C-Filter. Wenn ich ein schönes analoges Signal haben möchte, verwende ich normalerweise zwei oder drei davon nacheinander. Lassen Sie uns sehen, wie die Verwendung von drei aufeinanderfolgenden R, C-Filtern die Dinge ändert.
Wir sagten ursprünglich, unsere obere interessierende Frequenz sei 8 kHz, was impliziert, dass wir eine Abnahme von 3 dB tolerieren können, sofern wir nichts anderes sagen. Ein einzelnes R, C-Filter wird bei der Rolloff-Frequenz um 3 dB gedämpft, also setzen wir es auf 8 kHz. Wir können nicht drei Filter bei 8 kHz haben, da sie dort zusammen 9 dB dämpfen würden. Also verschieben wir die Filter nach der Anzahl der Pole (in diesem Fall separate R- und C-Filter).
Die drei R, C-Filter (drei Pole) liegen daher bei 24 kHz. Es scheint, als hätten wir dabei den Boden verloren, aber der große Vorteil ist, dass die darüber liegenden Frequenzen jetzt durch das gewürfelte Verhältnis gedämpft werden, anstatt nur durch das Verhältnis wie bei einem einzelnen Pol. Wir möchten wieder, dass die PWM-Frequenz um 1000 gedämpft wird, was 10 ^ 3 entspricht. Daher müssen wir nur 10x über den Filter-Rolloff-Frequenzen liegen, was bedeutet, dass 240 kHz hoch genug sind. Das ist ein großer Unterschied zu 8 MHz. Jetzt muss der interne PWM-Takt oder die PWM-Schichtfrequenz nur noch 240 MHz betragen. Das ist immer noch hoch, aber erreichbar.
Hoffentlich haben Sie dadurch einen Einblick in die Themen erhalten. Wenn Sie konkrete Angaben machen, können wir die für Ihren Fall spezifischen Werte durcharbeiten.
Durch die Verwendung von kaskadierten RC-Stufen ist es möglich, die Leistung gegenüber einem einzelnen RC zu verbessern. In einem reinen mehrstufigen passiven RC-Filter kann man nicht so gute Leistung erzielen, wie dies bei aktiven Filtern der Fall ist, aber die Leistung kann dennoch besser sein als bei einer einzelnen Stufe. Leider kenne ich keine besonders guten Methoden zur Berechnung optimaler RC-Werte.
Eine andere zu beachtende Sache ist, dass Pulsbreitenmodulation zwar die häufigste Form der Duty-Cycle-Modulation ist, aber nicht die einzige. Ein einfacher Ansatz, der sehr nützlich sein kann, wenn sich die Zielausgangsspannung nicht allzu oft ändert und der Ausgang eher in der Nähe der Mitte des Bereichs als an den Rändern liegt, besteht darin, eine Reihe von Signalen zu generieren durch Berechnen (aktueller Zählerwert "und nicht" vorheriger Zählerwert) und UND-Verknüpfung dieses Signals mit den Bits des gewünschten Datenwerts in umgekehrter Reihenfolge (so dass das MSB des Datenwerts mit dem xor des vorliegenden Zählers UND-verknüpft wird) LSB und der vorherige). Die Verwendung eines solchen Ansatzes mit z. B. einer 6-Bit-Duty-Cycle-Modulation würde bedeuten, dass eine 32/64-Duty-Cycle-Welle durch eine Frequenz der Hälfte des PWM-Takts dargestellt wird. anstatt einer Rechteckwelle mit einer Frequenz von 1/64 des PWM-Takts. Ein Arbeitszyklus von 33/64 würde hauptsächlich durch eine Frequenz von der Hälfte des PWM-Takts dargestellt, jedoch mit einigen besonders hohen eingeworfenen Impulsen.
Hier ist eine Demo von dem, wovon ich spreche.
Alle guten Antworten, die bisher gegeben wurden, sind gut geschrieben und relevant, aber oft braucht die beste Antwort eine bessere Frage.
Wenn Sie die "beste Menge an RC" in Betracht ziehen, welche Annahmen müssen für jedes Design berücksichtigt werden?
Was ist die Impedanz des Filters im Verhältnis zur Impedanz von Quelle und Last?
Wenn nicht kritisch, wählen Sie R zwischen Quelle und Last. Sagen wir aber, wenn der CMOS-Treiber einen Wert von 10 ~ 100 Ω hat und die Last 100 kΩ beträgt, Sie jedoch eine Genauigkeit von 0,3% für den Gleichstromverlust wünschen, wählen Sie R << 0,3% der R-Last oder, wie ich es nenne, "Impedanzverhältnismethode". für Überlegungen zum Laden gilt hier also R <0,003 * 1e5 = 300Ω. Diese Wahl von R ist nicht kritisch, aber Sie müssen darauf achten, dass kein Filter geladen wird. Sie können also nach Impedanzverhältnissen wählen, um den Gleichstromverlust und die Wechselstromunterdrückung schnell zu berechnen.
Angenommen, Sie wissen, dass die Impedanz eines Kondensatorimpedanzverhältnisses ein einfaches Kriterium ist. Ansonsten, um eine Impedanz in der Mitte von Quelle und Last zu finden, betrachten Sie eine Methode Rf = √ (Rs * Rl), wobei Rf der RC-Filterwert für Quelle, Rs und Last Rl als eine Methode für den mittleren Bereich ist.
Das Schöne am Design ist, dass es je nach Ihren Kriterien oft mehrere "beste" Antworten für den RC-Wert gibt. :)
Bestimmen Sie die beste RC-Zeitkonstante im PWM-Digital-Analog-Tiefpassfilter?
Die beste Antwort hängt von verschiedenen Fragen ab.
? Was ist das Spektrum der Originaldaten? BW =? ? Wie viel Ablehnung des PWM-Trägers ist akzeptabel? Atten = 40dB? 60? 10 ??
Das Entwerfen eines Filters auf der Grundlage der Zeitkonstante allein vernachlässigt die wichtigere Aufgabe, die Aufbewahrung von Daten zu verstehen. Es ist am besten, das ursprüngliche Signal zu definieren, damit man ein einfaches "optimal abgestimmtes Filter" entwerfen kann. Wir müssen uns um die Erhaltung des ursprünglichen Signals und die Unterdrückung des Trägersignals (PWM f) kümmern.
Sie können einen beliebigen LPF N-ter Ordnung auswählen, um den Filter an das Originalsignal anzupassen. Einfache 1-Chip-Switched-Capacitor-Filter oder aktive Filter erzielen die besten Ergebnisse. Der LPF-Typ hängt von den Kriterien für die Übereinstimmung mit dem Originalsignal ab.
Pick Best = maximal flache Frequenz Response oder Mf Group Delay oder steilste Röcke oder ein Nyquist-Filter auf 1/2 PWM f.
Dann die nächstbeste Methode:
Definieren Sie die Stärke des Jitters in der Spannung von unvollkommenen RC-Filtern.
Wenn man einen PLL-VCXO für HF entwarf und PWM zur Steuerung des Regelkreises verwendete, interessieren Sie sich möglicherweise für störende Seitenbänder des PWM, sodass Sie einen LPF mit einer Kerbe bei PWM in Betracht ziehen müssen.
Wie viel Ablehnung des PWM-Trägers ist akzeptabel