PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : D/A Wandlung mit PWM und RC-Siebung



dreadbrain
22.05.2007, 19:20
Hallo,

ich brauche für eine Sollwertvorgabe eine Analoge Spannung von 0-5V.
Ich habe mal ein Beispiel gesehen , da wurde das mit einem Atmel per pwm und einem Rc Siebglied realisiert. Leider finde ich nirgendswo Informationen darüber.

Könnte mir jemand sagen wie man soetwas dimensioniert?
ich habe folgende Bedinungen:
-ATmega32 mit 16 MHz
(Welche PWM Frequenz soll ich durch den Prescaler eisntellen)
-symetrische Vrsorgungsspannung für den Op+-5V
-Ausgansspannung soll zwischen 0-5V möglichst fein geregelt werden können und wird höchstens mit 1-2 mA belastet.
-Wie fein kann die Ausgansspannung mit normalen Bauteilen geregelt werden?

mfg Benedikt

locked
23.05.2007, 13:49
Hallo,

also die PWM Frequenz so hoch wie möglich wählen. Beim Mega8 zb. max 32kHz mit 8bit Auflösung.

Das RC Filter (Tiefpass) dimensionierst du am besten mit, min. 1/20 oder noch tiefer, der PWM Frequenz, als Grenzfrequenz. Falls du die Spannung nicht extrem schnell ändern willst, kannst du auch dass Filter komplett über(unter)dimensionieren also auf 100Hz oder so auslegen. Belasten würde ich die Spannung eher nicht, da sonnst ein Rippel auftritt. Wenn du wirklich mehrer mA benötigst, würde ich einen Impedanzwandler (OPV) nachschalten.
Die ausgegebene Spannung ist proportional zur PWM, also 50% PWM halbe Ausgangsspannung.

Mfg

dreadbrain
23.05.2007, 14:13
Hallo,

Heist das wenn ich meinen mega32 mit 16MHZ betreibe und einen Prescaler von 8 einstelle, den RC auf eine Grenzfrequenz von von ca 100kHz dimensionieren soll.
Könnte ich zur besseren Glättung noch einen zweiten etwas tiefer angesetzen Rc filter in Serie schalte und dann mit einem Op die Impedanz runter setzen.

mfg Benedikt

locked
23.05.2007, 15:45
Hallo, also wenn der Tiefpass alle Frequenzen unter 100kHz durchlässt, ist die Filterwirkung irgendwie umsonst. Also wenn du durch 8 vorteilst, und die PWM mit 8bit auflöst, kommst du auf eine Frequenz von 4KHz, dann würde ich das Filter auf 200Hz Grenzfrequenz auslegen (noch ganz geringer rippel). Wenn du die Spannung nicht schnell ändern willst (zb. im 20Hz Takt) dann kannst du dass Filter auch auf 20Hz Grenzfrequenz dimensionieren, und die Spannung ist rippelfrei. Ein zweits Filter in Serie würde nicht bringen, es sei denn, du willst die Spannung im 1Khz Takt ändern, und verwendest 4KHz für die PWM, dann benötigst du ein sehr steilflankiges Filter.

Mfg

dreadbrain
23.05.2007, 20:29
Hallo,

Wie kommst du auf die Frequenz von 400 kHz?
Ich würde gerne 10 bit auflösung nehmen. geht das?

Danke
mfg Benedikt

locked
23.05.2007, 20:31
Hallo,

welche 400kHz?

10bit geht natürlich auch, nur wird dann die PWM Frequenz längsamer.

mfg

dreadbrain
24.05.2007, 12:31
Hallo,
sorry ich hab mi verschrieben, ich meinte 4 kHz.

Wie berechnet man die PWM Frequenz?

mfb Benedikt

locked
24.05.2007, 13:00
Naja, also am Beispiel des Mega8:

Quarz: 16MHz
Teilung: 8
PWM Mode: Phase and Frequency Correct (ideal für zb. Sinusausgabe)
Auflösung: 8bit

Das heißt, der Zähler zählt mit 2MHz, und muss, um eine ganze PWM Periode auszugeben, einmal hinauf (0-255), und wider herunter (255-0) Zählen. Daraus folgt, das PWM Signal ergibt sich aus dem Zählertackt durch 512. Also in diesem Fall 3,9kHz. Steht aber im Datenblatt noch ausführlicher.

Mfg

Stefan090
24.05.2007, 15:34
Ein zweits Filter in Serie würde nicht bringen, es sei denn, du willst die Spannung im 1Khz Takt ändern, und verwendest 4KHz für die PWM, dann benötigst du ein sehr steilflankiges Filter.


Ich würde so etwas brauchen, doch wie kann man das aufbauen? einfach 2 filter hintereinander? bzw wie schaut ein steilflankiger Filter aus?

hab derzeit 2kHz PWM und möchte einen Sägezahngenerator bauen. Dabei ändert sich aber bei jedem Overflow die Pulsbreite. Das Ganze sollte aber trotzdem noch eine schöne Kurver ergeben, ist sowas möglich?
Oder mit PWM eher nicht zu empfehlen?

mfg Stefan

locked
24.05.2007, 18:35
Hallo, naja, kommt drauf an, wie hoch die Frequenz des Sägezahns schlussendlich sein soll. Aber 2KHz PWM Frequenz ist sehr niedrig, das müsste doch bestimmt höher möglich sein. Für die Ausgabe eines Sinus/ Sägezahn reicht einen 8 bit PWM leicht. Mehr Auflösung ist nicht sinnvoll.
Für den Sägezahn, musst du, wie du schon gesagt hast, linear die PWM erhöhen. Dazu würde ich am besten die PWM in 255 Stufen, immer um einen schritt erhöhen. Die Frequenz des Sägezahns sollte aber um den Faktor 10 (grob geschätzt) kleiner sein, als die PWM Frequenz.

Filter höherer Ordnung haben eine Andere Topologie (Butterworthfilter, Tschebyschefffilter, Cauer-Filter, Besselfilter...)

Mfg

Stefan090
25.05.2007, 07:20
ich habe derzeit PWM mit mega8 und 8MHz und Prescaler=8 im 8bit Modus (Phase and Frequency Correct)

ich erhöhe derzeit bei jedem overflow das Vergleichsregister für den Timer um 4.

Problem: Wie baut man so einen Filter auf?

mfg Stefan