Forum: Analoge Elektronik und Schaltungstechnik PWM in eine analoge Spannung umwandeln(mit RC-Glied?)


von Max V. (maxvw)


Lesenswert?

Hallo,

ich möchte ein PWM-Signal(Vpp: 5V, f: 50hz, DCY: 5%-10%) in eine analoge 
Spannung umwandeln. => RC Low-Pass Filter. Jedoch musste ich 
feststellen, dass je nach Konfiguration des Kondensators und des 
Widerstands entweder das "Rauschen" oder die Phase(Verzögerung der 
Signalübertragung) zu groß wird.
Diese beiden Störfaktoren sollen möglichst klein gehalten werden.

Dazu habe ich zwei Fragen:

- Hilft es, mehrere RC-Glieder hintereinander zu betreiben?
- Gibt es andere Wege, das PWM-Signal in eine möglichst konstante
  Spannung umzuwandeln?

Mit einer höheren Frequenz und einem größerem DCY des PWM-Signals wäre 
die Umwandlung in eine analoge Spannung, die sich proportional zum DCY 
verhält,
natürlich einfacher umsetzbar mit einem RC-Glied..

lg Max

von Hp M. (nachtmix)


Lesenswert?

Max V. schrieb:
> Hilft es, mehrere RC-Glieder hintereinander zu betreiben?

Ja.

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Max V. schrieb:
> oder die Phase(Verzögerung der
> Signalübertragung) zu groß wird.
>
> - Hilft es, mehrere RC-Glieder hintereinander zu betreiben?

Bei einem RC-Tiefpass kann die Phasenverschiebung ja max. fast 90° gross 
werden. Wenn dir das schon zu viel ist, dann seh' ich schwarz.

Ansonsten waere ein "besserer" Tiefpass als ein RC-Glied eine Option. 
Stumpf einfach mehrere RC-Glieder hintereinander sind das oft nicht.

Gruss
WK

von Max V. (maxvw)


Lesenswert?

Danke für die Antworten.

Ich habe versucht, mehrere RC-Glieder hintereinander zu setzen. Leider 
bestand das Problem immer noch, wie derguteweka schon erwähnt hat.

Dergute Weka schrieb:
> Ansonsten waere ein "besserer" Tiefpass als ein RC-Glied eine Option.

Welcher würde da in Frage kommen?

lg Max

von Thomas E. (picalic)


Lesenswert?

Max V. schrieb:
> (Vpp: 5V, f: 50hz, DCY: 5%-10%)

Klingt nach einem RC-(Servo-)Signal?
Das ist aber nicht notwendigerweise ein sauberes PWM-Signal! D.h. die 
Pause zwischen den Impulsen ist u.U. nicht immer genau (20ms - 
Impulslänge), auch das kann zu "Rauschen" führen!
Eine präzise Auswertung bekommt man da am Besten über eine 
Impulslängen-Messung (per µC oder diskret mit Hilfe eines 
Referenz-Impulses)

: Bearbeitet durch User
von Werner H. (werner45)


Lesenswert?

...geht auch analog: Signal mit einem Schmitt-Trigger auf immer die 
gleiche Höhe bringen, mit einem OpV-Integrator mitteln (beseitigt das 
Rauschen), an eine Sample&Hold-Stufe übergeben und den Kondensator 
entladen (für den nächsten Puls). Die Spannung der S&H schnell 
digitalisieren, bevor der nächste Puls kommt.
Wenns nur zum Überprüfen ist, an den Schmitt-Trigger ein 
ZEIGER-Instrument anschließen, das integriert auch.

Gruß   -   Werner

von Max V. (maxvw)


Lesenswert?

Thomas Elger schrieb:
> D.h. die Pause zwischen den Impulsen ist u.U. nicht immer genau (20ms 
-Impulslänge).

Stimmt. Das liegt daran, dass es sich hier um ein PWM-Signal aus einem 
RC-Empfänger handelt, welcher beispielsweise Servos ansteuern kann. Mit 
dem Oszilloskop habe ich mir bereits seine einzelnen Kanäle angeschaut 
und herausgefunden, dass sich NIE ein Puls eines Kanals mit dem Puls 
eines anderen Kanals überlappt, sondern alle Pulse direkt hintereinander 
auf die "PWM-Leitung" des jeweiligen Kanals gegeben werden. D.h.: Falls 
sich ein Puls eines Kanals verlängert, wird auf seine fallende Flanke 
"gewartet". Erst dann wird im Anschluss der nächste Puls auf den 
nächsten Kanal gegeben.

D.h. eigentlich auch, dass nur die Pulsweite, aber keinesfalls der DCY 
verwendet werden darf, da die Periode nicht immer gleich lang ist.

Eventuell könnte ich die Signale in einen µC einlesen, die Pulsweite 
messen und anschließend ein brauchbares PWM Signal ausgeben, welches 
sich gut umwandeln lässt.

von Peter II (Gast)


Lesenswert?

Max V. schrieb:
> Eventuell könnte ich die Signale in einen µC einlesen, die Pulsweite
> messen und anschließend ein brauchbares PWM Signal ausgeben, welches
> sich gut umwandeln lässt.

das sind doch normale Servo Signale. Du könntest einfach ein Fahrtregler 
verwenden.

von Thomas E. (picalic)


Lesenswert?

Max V. schrieb:
> Eventuell könnte ich die Signale in einen µC einlesen, die Pulsweite
> messen und anschließend ein brauchbares PWM Signal ausgeben, welches
> sich gut umwandeln lässt.

Ich würde dann gleich einen µC mit integriertem D/A-Wandler nehmen, dann 
braucht nix mehr umgewandelt zu werden.

von Dergute W. (derguteweka)


Lesenswert?

Max V. schrieb:
> Welcher würde da in Frage kommen?

Irgendein Tiefpass "hoeherer" Ordnung (also 2.,3.,4. ... Ordnung.) 
Jenachdem, was du halt haben willst; wenn das Phasenverhalten wichtig 
ist, halt z.B. einen Bessel, wenn dir die Phase/Gruppenlaufzeit voellig 
latte ist, aber die Flankensteilheit im Vordergrund steht, einen Cauer 
oder Tschebyscheff oder sonst irgendwas auf deine Anforderungen 
zugeschnittenes.

Gruss
WK

von Thomas S. (thom45)


Lesenswert?

Max V. schrieb:
> Danke für die Antworten.
>
> Ich habe versucht, mehrere RC-Glieder hintereinander zu setzen. Leider
> bestand das Problem immer noch, wie derguteweka schon erwähnt hat.
>
> Dergute Weka schrieb:
>> Ansonsten waere ein "besserer" Tiefpass als ein RC-Glied eine Option.
>
> Welcher würde da in Frage kommen?

Eine aktives Tiefpassfilter höherer Ordnung mit Opamps:
  https://home.zhaw.ch/~hrt/EK2/AktiveFilter/filter_active_v5.pdf

Gruss
Thomas

von Axel S. (a-za-z0-9)


Lesenswert?

Max V. schrieb:
> ich möchte ein PWM-Signal(Vpp: 5V, f: 50hz, DCY: 5%-10%) in eine analoge
> Spannung umwandeln. => RC Low-Pass Filter. Jedoch musste ich
> feststellen, dass je nach Konfiguration des Kondensators und des
> Widerstands entweder das "Rauschen" oder die Phase(Verzögerung der
> Signalübertragung) zu groß wird.
> Diese beiden Störfaktoren sollen möglichst klein gehalten werden.

"möglichst klein" ist keine sinnvolle Angabe. Wie groß darf der Ripple 
(nicht "Rauschen") auf der Ausgangsspannung sein? Oder anders gefragt: 
wie stark muß die PWM-Frequenz gedämpft werden?

Und ebenso anders herum: was ist die größte Nutzfrequenz die du noch 
übertragen können willst? Denn ich gehe doch stark davon aus, daß es dir 
um die Dämpfung geht (und nicht um die Phase wie du schreibst).

Erst mit diesen beiden Angaben kann man sagen, welcher Ordnung ein 
Filter sein müßte, um einerseits deine Nutzfrequenz noch durchzulassen 
und andererseits die PWM-Frequenz so stark wie gewünscht zu dämpfen.

Allerdings mache ich dir bei 50Hz (wirklich Hertz?) keine großen 
Hoffnungen. Wenn du ein "schnelles" analoges Steuersignal per PWM 
erzeugen willst, dann mußt du eine höhere PWM-Frequenz verwenden.

Ein alternativer Ansatz würde das PWM-Signal digital vermessen und den 
Meßwert per DAC ausgeben. Das kann man z.B. mit einem kleinen µC machen. 
Das wird dann so schnell wie es die PWM hergibt. Bei 50Hz kriegst du 
alle 20ms einen neuen Analogwert.

von Thomas E. (picalic)


Lesenswert?

Axel S. schrieb:
> Ein alternativer Ansatz würde das PWM-Signal digital vermessen und den
> Meßwert per DAC ausgeben. Das kann man z.B. mit einem kleinen µC machen.

Eben - ich halte den Ansatz mit dem Filter für nicht besonders 
zielführend, weil es kein "echtes" PWM-Signal ist, sondern ein 
Servo-Impuls von einem RC-Empfänger. Durch die Abhängigkeit des Timings 
von den anderen Servo-Kanälen ergibt sich eine variable Pause zwischen 
den einzelnen Impulsen (je nachdem, wie die anderen Servos gerade 
gesteuert werden), und damit eine Änderung der Ausgangsspannung, wenn 
das Signal als PWM-Signal behandelt wird, statt nur die Impulslänge 
auszuwerten.

Edit: ich würde dafür den billigsten 8-Pin PIC (12F1571) vorschlagen.
Der hat zwar nur einen 5-Bit DAC, aber dafür 16-Bit PWM-Module. Bei 12 
Bit Auflösung gehen ein paar kHz PWM-Frequenz, da reicht dann mit 
Sicherheit ein simpler RC-Tiefpass.

: Bearbeitet durch User
von Axel S. (a-za-z0-9)


Lesenswert?

Thomas E. schrieb:
> Axel S. schrieb:
>> Ein alternativer Ansatz würde das PWM-Signal digital vermessen und den
>> Meßwert per DAC ausgeben. Das kann man z.B. mit einem kleinen µC machen.
>
> Eben - ich halte den Ansatz mit dem Filter für nicht besonders
> zielführend, weil es kein "echtes" PWM-Signal ist, sondern ein
> Servo-Impuls von einem RC-Empfänger.

Oh. So weit hatte ich gar nicht mehr gelesen. Wenn die Impulsfrequenz 
nicht konstant ist, dann funktioniert das mit dem Filter in der Tat 
nicht. Die Information steckt in der Impulsbreite - und da allein.
Also muß man auch die Impulsbreite messen.

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Max V. schrieb:
> Das liegt daran, dass es sich hier um ein PWM-Signal aus einem
> RC-Empfänger handelt, welcher beispielsweise Servos ansteuern kann.

Das ist kein PWM-, sondern ein PPM-Signal. Warum belügst Du hier also 
diejenigen, die bereit sind/waren, Dir bei Deinem Problem zu helfen?

von Franz Rapid (Gast)


Lesenswert?

Andreas S. schrieb:
> Warum belügst Du hier also
> diejenigen, die bereit sind/waren, Dir bei Deinem Problem zu helfen?

Läufst Du nicht ganz rund? Das kann doch nicht sein: Jemand, der aus 
Unkenntnis die falsche Modulationsart angibt, weil er es nicht besser 
weiß, wird von einem Schnösel als Lügner bezeichnet.

Solche Figuren würde ich gern mal im echten Leben sehen.

von Axel S. (a-za-z0-9)


Lesenswert?

Andreas S. schrieb:
>> Das liegt daran, dass es sich hier um ein PWM-Signal aus einem
>> RC-Empfänger handelt, welcher beispielsweise Servos ansteuern kann.
>
> Das ist kein PWM-, sondern ein PPM-Signal.

Jein. Die Information steckt in der Pulsweite. PWM ist also schon 
richtig. Die Abkürzung PPM steht normalerweise für Pulsphasen-
(auch: Pulsposition-) Modulation. Ausschließlich von Wikipedia: 
https://de.wikipedia.org/wiki/Puls-Pausen-Modulation kenne ich nun PPM 
aka Puls-Pausen-Modulation als Bezeichnung für das Codierungsverfahren 
von Proportional-Fernsteueranlagen. Wobei dieses PPM für das komplette 
Telegramm steht, der TE aber wohl nur den vom Decoder ausgegebenen 
Impuls für einen einzelnen Kanal meint. Und dieses Signal ist dann 
pulsweitenmoduliert.

von Max V. (maxvw)


Lesenswert?

Vielen Dank für die hilfreichen Antworten!

Ich habe das Problem mit einem uC gelöst, wie ihr vorgeschlagen habt. 
Zwar benutzte ich einen AVR, da ich gerade keinen PIC mehr zur Verfügung 
hatte, trotzdem funktioniert nun alles hervorragend. Einfach einen 
"kleinen" RC Low-Pass Filter an den relativ hochfrequenten PWM Ausgang 
des uC gelegt..
Die Ergebnisse sind zufriedenstellend, es ist so gut wie kein Ripple 
mehr vorhanden.

Aus reinem Interesse noch eine(bzw. zwei) Frage(n):

-Gibt es auch einen rein analogen Weg, das PPM-Signal in eine 
brauchbare, analoge Spannung umzuwandeln?
-Wenn ja, wie würde sie aussehen?

von Sven L. (friemler)


Lesenswert?

Ohne jetzt alles gelesen zu haben schaue Dir dch mal den LTC2644 an.

von Sebastian S. (amateur)


Lesenswert?

>Gibt es auch einen rein analogen Weg, das PPM-Signal in eine
>brauchbare, analoge Spannung umzuwandeln?

Du hast die Lösung doch bereits aufgezeigt:

>Einfach einen "kleinen" RC Low-Pass Filter an den relativ
>hochfrequenten PWM Ausgang des uC gelegt..

Das Grundproblem ist die relativ geringe Originalfrequenz von 50 Hz. 
Filter für diesen Bereich sind im Allgemeinen "träge". Soll da etwas 
Gleichspannungsähnliches raus kommen sind "große" Bauteile vonnöten. 
Auch eine OP-Filterlösung verhilft Dir hier zu keinem echten Quicky.

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Axel S. schrieb:
> Jein. Die Information steckt in der Pulsweite. PWM ist also schon
> richtig.

Bei der PWM steckt die Information im Tastgrad, d.h. dem Verhältnis aus 
Impulsbreite zur Gesamtdauer, auch wenn der Name hier etwas 
missverständlich ist. PWM wird ververwendet, wenn nachfolgende Stufen 
auf Grund ihrer Trägheit (Tiefpassverhalten) eine Mittelwertbildung des 
Signals durchführen.

> Wobei dieses PPM für das komplette
> Telegramm steht, der TE aber wohl nur den vom Decoder ausgegebenen
> Impuls für einen einzelnen Kanal meint.

Abweichend vom Wikipedia-Artikel wird dieses Übertragungsart 
üblicherweise jedoch als Summen-PPM bezeichnet und die extrahierten 
Einzelimpulse als PPM. Bei mehreren Kanälen entspricht die Wiederholrate 
des Einzelimpulses der des gesamten Telegramms.

> Und dieses Signal ist dann pulsweitenmoduliert.

Nein, bei aus einem Summen-PPM-Signal extrahierten Impulsen wäre der 
Tastgrad viel zu gering. Bei Modellbau- und Industrie-Servos mit 
PPM-Eingang wird ausschließlich die Pulsbreite, aber nicht der Tastgrad 
berücksichtigt, um Auswirkungen durch die Periodendauer eines 
zugrundeliegenden Summen-PPM-Signals zu vermeiden. Und nicht jede 
PPM-Signalquelle stellt ein streng periodisches Signal bereit. Würde man 
dies als PWM behandeln, hätte dies deutliche Schwankungen des 
gefilterten/gemittelten Signals zur Folge.

: Bearbeitet durch User
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.