mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik PWM als DAC, 100%tige Gleichspannung?fd


Autor: gansen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ist es irgendwie möglich eine wirklich genaues PWM Gleichstrom level aus 
einem PWM Signal zu erzeugen?

Ich habe hier ein mega8, Hardware PWM ohne prescaler (=> 16Mhz Quarz).
Wenn ich den PWM Mittelwert nehme stimmt auch alles (=> PWM Signal ist 
in Ordnung).

Wenn ich daraus dann aber eine Gleichspannung machen will (mittels 
RC-Tiefpass) schwankt die Spannung noch um rund 15mV.
Als RC Tiefpass hab ich zurzeit 100k / 100µ Elko+100n MKS4
daraus ergibt sich eine Grenzfrequenz von rund 16mHz.

Hat jemand einen Tipp für mich wie ich die Spannung noch genauer 
bekomme? Oder ist das unmöglich?

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde mal sagen, du hast irgendwas anderes gemessen.
Ansonsten versuch es mal mit Mehrstufigen RC Gliedern, RC -> RC -> RC
Wenn dann immer noch was ankommt, dann stammen die Störungen mit 
Sicherheit noch von der PWM.

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@gansen

>ist es irgendwie möglich eine wirklich genaues PWM Gleichstrom level aus
>einem PWM Signal zu erzeugen?

Sicher, mit dem richtigen Filter.

>Ich habe hier ein mega8, Hardware PWM ohne prescaler (=> 16Mhz Quarz).

8/9 der 10 Bit PWM? Bei 10 Bit macht das ~ 16 kHz PWM Frequenz.

>Wenn ich den PWM Mittelwert nehme stimmt auch alles (=> PWM Signal ist
>in Ordnung).

Wie "nimmst" du den Mittelwert?

>Wenn ich daraus dann aber eine Gleichspannung machen will (mittels
>RC-Tiefpass) schwankt die Spannung noch um rund 15mV.

Womit gemessen?

>Als RC Tiefpass hab ich zurzeit 100k / 100µ Elko+100n MKS4
>daraus ergibt sich eine Grenzfrequenz von rund 16mHz.

Naja, bissel Overkill. Ich hab mal vor einiger Zeit was simuliert, ein 
einfacher RC-Tiefpass mit 47 kOhm und 68 nF macht noch 25 mV Ripple. 
Wenn man den zweimal hintereinander verwendet sind es nur noch 64 uV 
(Mikrovolt!)

>Hat jemand einen Tipp für mich wie ich die Spannung noch genauer
>bekomme?

Siehe oben.

>Oder ist das unmöglich?

Nicht ist unmöglich, T******A. ;-)

Mfg
Falk



Autor: gansen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sind 10 Bit, Mittelwert wurde mit einem DSO gemessen (hat eine Funktion 
um den Mittelwert über einen bestimmten Zeitraum zu messen).

Und danke für den Tipp mit den mehreren Tiefpässen, klappt wunderbar, 
bin jetzt mit 3 Stück auf ~20µV. Muss die natürlich noch ein wenig 
kleiner machen (dauert jetzt fast 2 Minuten bis sich der Wert 
eingestellt hat).

Jetzt würde mich natürlich noch interessieren warum mehrere soviel 
besser funktionieren als einer alleine?
Funktionieren Tiefpässe besser wenn der Frequenzunterschied nicht so 
groß ist?

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@gansen

>sind 10 Bit, Mittelwert wurde mit einem DSO gemessen (hat eine Funktion
>um den Mittelwert über einen bestimmten Zeitraum zu messen).

Wer Mist misst, misst Mist. Du misst im wesentlichden das Rauschen vom 
DSO (und das ist meist beachtlich) sowie vom Messaufbau.

>Und danke für den Tipp mit den mehreren Tiefpässen, klappt wunderbar,
>bin jetzt mit 3 Stück auf ~20µV. Muss die natürlich noch ein wenig
>kleiner machen (dauert jetzt fast 2 Minuten bis sich der Wert
>eingestellt hat).

Auf deinem DSO. Das ist Quark. Die Tiefpässe haben in Summe ca. 20 Hz 
Grenzfrequenz, in der Simulation hat sich ein neuer Wert nach ca. 50ms 
eingeschwungen.

>Jetzt würde mich natürlich noch interessieren warum mehrere soviel
>besser funktionieren als einer alleine?

Wei die zweite Stufe nochmal den schon wesentlich kleineren Ripple 
nochmal verkleinert, quasi eine verkettet "Division" des Ripples.

>Funktionieren Tiefpässe besser wenn der Frequenzunterschied nicht so
>groß ist?

Welcher Freqeunzunterschied?

MFG
Falk

Autor: gansen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Erklärung.

Mit Frequenzunterschied meinte ich wenn man z.B. von 16kHz direkt auf 
50Hz (oder z.B. halt 16kHz, 5kHz, 50Hz).

Mit den zwei Minuten hab ich mich drauf bezogen wenn ich von 0V auf 5V 
geschaltet habe. Ich hab hier noch meine Overkill Lösung mit rund 100µF 
und 150k, etc. Da dauert es ziemlich lange bis die Kondensatoren alle 
aufgeladen sind.

Autor: Finkman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
der Ripple ist nicht wegzubekommen. Das liegt nicht nur an der PWM, 
jedoch sollte bei Rechteckimpulsen beachtet werden, dass das 
Frequenzspektrum unendlich ist, also ziemlich alles vertreten ist.
Nimmt man nun einen TP von grad eins, also einfacher RC, dann dämpft 
dieser ab der Grenzfrequenz fg mit 20dB je Dekate. Währe fg also jetzt 
10kHz, dann hätten wir bei 100kHz 20dB Dämpfung. In unserm Fall heißt 
dass, das also immernoch Anteile der PWM enthalten sind, aber eben 
gedämpft.
Nimmt man nun einen TP zweiten Grades als 2 RCs hintereinander sind es 
schon 20dB Dämpfung. Somit wird der "Cut" nach fg immer stärker.
Wenn's aber zudem um mV oder nV geht, sollte auch beachtet werden, dass 
zB Rauschen (thermisch im R oder im OPV) zu einem "zappeln führt", da 
macht dann dein überdimensionierter TP auch nix gut, wenn du in der 
verwendeten Hardware sparst.

Des weiteren musst du die andere Aspekte auch auf die Waagschale legen. 
Ich benutze die PWM um Lichter zu dimmen und will da auch mal schnell ne 
Änderung. Dazu ist die StepResponse zu beachten. Also ein Wertesprung 
von zB 0V auf 5V. Wenn du dir ein TP 3te Grades gebastelt hast, kannst 
du zB mit ner LaplaceTransformation ein Stepresponse machen (gibt 
bestimmt Freeware die sowas macht, oder zB Matlab, oder per Hand 
ausrechnen) und du siehst genau, wie die Schaltung sich verhält, sprich, 
wie lang es dauert, bis der gewünschte Wert sich eingestellt hat.

(Ich glaub ich laber zu viel :-)  )

Wenn du solch genaue Spannungen brauchst, solltes du dich aber mal über 
richtige DACs schlau machen. Die gibts Stellenweise mit dem SPI oder wie 
das heißt... ähhh 2WireInterface und da haste dann den Stress net, oder 
baust was, soo... Richtung DualSlope Wandler... einfach  mal googlen.


Gruß

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.