PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : DAC mit PWM



cshansolo
08.11.2005, 16:31
Hallo,

ich habe da ein Problem ...
ich will bei einem ATmega8, getaktet mit 8MHz mit einem 12Bit Fast-PWM am Timer1 bei einem Prescaler von 0 einen DAC Basteln. Wo kann ich da die Formeln für das RC-Glied finden bzw. kennt jemand eine Seite wo solche Filter Beschrieben sind ??

Ich habe einen Test am laufen mit einem 10uF und einem 4k7. Allerdings ist die anstiegszeit doch sehr lange und ganz sauber ist das signal auch nicht.

Danke schonmal im Vorraus.

Bernhard667
08.11.2005, 17:25
Hallo,

Tau = R * C
In Deinem Fall als 4.7ms
Die Periode von deinem PWM sollte kürze sein als das.
So über den Daumen 1/3 oder noch weniger, je nachdem was Dir wichtiger ist:
-Schneller Wechsel
-Sauberes Signal

Bernhard

cshansolo
08.11.2005, 18:27
Danke, erstmal.

Gibt es noch eine möglichkeit einen PWM zu realisieren der möglichst wenig Pins benötigt, der aber aber schnell reagiert? Ich habe es nämlich leider noch nicht geschafft ein sauberes signal zu bekommen mit fall und rise times von ca. 10ms von 0-5V.

farmerjo
08.11.2005, 22:31
es gibt DAC Bausteine mit I2C-Bus. Die haben ein R2R Netzwerk drin. Die sind rellativ schnell und geben eine sauberer Spannung aus. Maxim baut welceh sind glaub ich über Reichelt erhältlich.

Gruß Johann

cshansolo
09.11.2005, 15:48
Jo schon, ich würde aber gerne ohne SPI oder I2C Bus auskommen, da serielle 12Bit DAC's doch recht teuer sind. Gibts da keine Möglichkeit mehr?

hrei
09.11.2005, 17:03
Hallo,

Jo schon, ich würde aber gerne ohne SPI oder I2C Bus auskommen, da serielle 12Bit DAC's doch recht teuer sind.

Was möchtest Du denn mit der Spannung ansteuern? Normalerweise reichen 8Bit (256 Schritte) völlig aus. Ausnahmen wären z.B. die Ansteuerung von Referenzspannungseingängen bei Messverstärkern. Mit der PWM Methode erreichst Du auch keine 12 Bit und das Resultat ist in jeder Hinsicht Murks.

Ein Max 520 (für 4 D/A Ausgänge mit 8 Bit) kostet nicht die Welt, ist einfach anzusteuern, flott (im Rahmen des bei I2C Möglichen) und ausgesprochen einfach zu programmieren.
Wenn nur ein Ausgang gebraucht wird, tut es auch ein PCF8591, der dann gleich noch 4 A/D Wandler mitgeliefert (knapp 3,-- EUR bei Reichelt).


Gibts da keine Möglichkeit mehr?

Nicht wirklich.

Grüße
Henrik

Manf
09.11.2005, 17:19
Jo schon, ich würde aber gerne ohne SPI oder I2C Bus auskommen, da serielle 12Bit DAC's doch recht teuer sind. Gibts da keine Möglichkeit mehr?

Wenn Du Spaß am ausprobieren hast und an ungewöhnlichen Lösungen, hier gibt es einen speziellen seriellen Endlos-Wandler. Er besteht aus Analogschaltern und einem Tiefpass. Bei günsiger Dimensionierung und einem Ausgangstreiber läuft er sogar.
Manfred

https://www.roboternetz.de/phpBB2/viewtopic.php?t=5837

cshansolo
09.11.2005, 19:38
Ok danke mal,


Hallo,
Was möchtest Du denn mit der Spannung ansteuern? Normalerweise reichen 8Bit (256 Schritte) völlig aus.


ich brauche einen 12bit pwm mit min. 16khz, am besten 24khz.
leider schaffe ich das mit meinem mega8 nicht. gibt es noch ne "einfache" möglichkeit einen solchen pwm zu realisieren, ohne einen pld etc. zu benutzen?