Forum: Mikrocontroller und Digitale Elektronik Welchen DAC empfehlt ihr mir?


von Tom R. (tt_r)


Lesenswert?

Hallo,

um einen VCO abzustimmen, möchte ich mit meinem Mikrocontroller eine 
regelbare Ausgangsspannung erzeugen.
Die Spannung sollte von 0V bis 5V mit 1000 Stufen geregelt werden 
können. (Oder annähert 1000) also 5mV Schritte.
Ich habe es schon mit PWM versucht, aber da stört mich das Ripple, das 
ich nicht vollständig weg bekomme.

Da ich einen ATmega32 einsetze und der noch Potenzial frei hat, möchte 
ich nun einen DAC verwenden.
Leider habe ich davon so ziemlich keine Ahnung, ich brauche nur einen 
Kanal.
Es fällt mir einfach schwer einen passenden zu finden.
Innerhalb 1 sec. soll die Spannung von 0V auf 5V geändert werden können.
(woher sehe ich jetzt, ob der DAC schnell genug ist?)
Dann soll er auch noch gut mit dem µC kommunizieren können...

Hat jemand eine Idee, welchen ich da nehmen könnte?
Am besten einen, der auch gut zu beschaffen ist, auch noch in ein paar 
Jahren...


Gruß
Tom

von Wilhelm F. (Gast)


Lesenswert?

Tom R. schrieb:

> Am besten einen, der auch gut zu beschaffen ist, auch noch in ein paar
> Jahren...

Das wäre auf jeden Fall der aus reinen Widerständen, R2R-Netzwerk. Für 
ein Einzelstück an Bastelei geht sowas mal. Habe ich auch schon mal so 
realisiert.

von Schaltungswächter (Gast)


Lesenswert?

Welche Schaltung hast Du benutzt um das "Ripple" weg zu bekommen?

Ein ordentlicher (passiver) Tiefpass sollte das Problem lösen.
Zumal Du 1s Zeit hast für die Sprungantwort.

von Tom R. (tt_r)


Lesenswert?

Hallo,

danke für die Antworten erstmal,

> Zumal Du 1s Zeit hast für die Sprungantwort.

Ohoho, ich glaube, das habe ich falsch beschrieben...
Es ist so: Ich fange bei 0V an und dann erhöhe ich die Spannung in 5mV 
Schritten bis auf 5V. Um von 0V auf 5V zu kommen habe ich die eine 
Sekunde...
Ist das knapp? (Ich könnte auf 5sec für den Durchlauf erhöhen...)
Es bleibt also nur eine Millisekunde für einen Schritt!

Schaffe ich mit einem R2R-Netzwerk denn die gewünschte Auflösung?

Das Ripple war auf meinem Oszilloskop kaum noch zu sehen.
Aber der VCO reagiert noch darauf :-(
Hatte mit diversen Filtern experimentiert. (aktiv wie auch passiv)

Gruß
Tom

von Falk B. (falk)


Lesenswert?

@Tom R. (tt_r)

>Es ist so: Ich fange bei 0V an und dann erhöhe ich die Spannung in 5mV
>Schritten bis auf 5V. Um von 0V auf 5V zu kommen habe ich die eine
>Sekunde...

Allso ein voller Sweep in einer Sekunde.

>Ist das knapp? (Ich könnte auf 5sec für den Durchlauf erhöhen...)
>Es bleibt also nur eine Millisekunde für einen Schritt!

Nicht viel. Kriegt man aber hin.

>Schaffe ich mit einem R2R-Netzwerk denn die gewünschte Auflösung?

Nein.

>Das Ripple war auf meinem Oszilloskop kaum noch zu sehen.

Auch mal gerechnet?

>Aber der VCO reagiert noch darauf :-(

Wie? Wie gemessen?

>Hatte mit diversen Filtern experimentiert. (aktiv wie auch passiv)

Welche? Dimensionmierung?

http://www.mikrocontroller.net/articles/Pulsweitenmodulation#DA-Wandlung_mit_PWM

Mal überschlagen. AVR mit 10 MHz und 10 Bit PWM -> 10 kHz PWM

Wenn man 1ms Einschwingzeit haben will, darf der Filter Pi mal Daumen 
nicht weniger als 1 kHz Bandbreite haben. Will man nun von 1 kHz mit 
nahezu Null Dämpfung auf 10 kHz mit 60dB++ Dämpfung, braucht man einen 
steilen Filter, mindestens 3.Ordnung. Kann man mit ein oder zwei OPVs 
aufbauen.

MfG
Falk

von Schaltungswächter (Gast)


Lesenswert?

Ein paar mehr Infos würden das Raten erleichtern.
Du kannst dem Problem mit noch mehr Technik zu leibe rücken oder mit 
Nachdenken.

Die Ausgabefrequenz ist nach Deiner Beschreibung unter 1Hz

Da Du bisher leider keine Angaben zur bisher verwendeten Methode gegeben 
hast schlage ich einen Tiefpass bei 10Hz vor:

http://de.wikipedia.org/wiki/Tiefpass#Tiefpass_2._Ordnung


Wie schnell muss sich denn der VCO ändern können?
Wird er damit moduliert oder nachgeführt?

von H.Joachim S. (crazyhorse)


Lesenswert?

DAC7512

Ist zwar ein 12-Bit-Wandler, aber was solls.
Klein, genau, sparsam, billig.

Hatte ich mal in einem ähnlichen Projekt drin.

von H.Joachim S. (crazyhorse)


Lesenswert?

Oder als 10bit-Variante: TLC5615
Bekommt man auch als sample bei TI :-)

von Wilhelm F. (Gast)


Lesenswert?

Falk Brunner schrieb:

>>Schaffe ich mit einem R2R-Netzwerk denn die gewünschte Auflösung?

> Nein.

Ein Ja wäre besser gewesen. Dazu sind die Dinger da.

von Falk B. (falk)


Lesenswert?

@  Wilhelm Ferkes (ferkes-willem)

>Ein Ja wäre besser gewesen. Dazu sind die Dinger da.

10 Bit? Das wird eng.

von Wilhelm F. (Gast)


Lesenswert?

Falk Brunner schrieb:

> 10 Bit? Das wird eng.

Wo?

von H.Joachim S. (crazyhorse)


Lesenswert?

Rechne dir die benötigten Genauigkeiten der Widerstände doch mal aus...
Und was entsprechend präzise Widerstände kosten.

von Helfer (Gast)


Lesenswert?


von Helmut S. (helmuts)


Lesenswert?

10bit +/-0,5LSB schafft man mit R2R aus der Bastelkiste nicht. Da ist 
man Faktor 100 schlechter mit 5% Widerständen. Also diesen Tipp sofort 
vergessen.

von Wilhelm F. (Gast)


Lesenswert?

Helmut S. schrieb:

> Da ist
> man Faktor 100 schlechter mit 5% Widerständen.

Ach! Wer hat denn noch 5%-Widerstände?

Ich habe auf einem Demo-Board ein richtiges R2R-Netzwerk aus einer 
Handvoll Metallschicht-Widerstände 10k und 20k niedriger Toleranz. Das 
tut es prächtigst.

von H.Joachim S. (crazyhorse)


Lesenswert?

Wilhelm Ferkes schrieb:
> Ich habe auf einem Demo-Board ein richtiges R2R-Netzwerk aus einer
> Handvoll Metallschicht-Widerstände 10k und 20k niedriger Toleranz. Das
> tut es prächtigst.

garantiert nicht stetig :-)

von Wilhelm F. (Gast)


Lesenswert?

H.joachim Seifert schrieb:

> garantiert nicht stetig :-)

Ja sicher. Aber es tut seinen spezifizierten Zweck. Eben zu Demo-Zwecken 
auf dem Eval-Board.

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Vierfach SMD R-Netzwerke nehmen. Mittlerweile hat sogar LTC sowas im 
Programm.

von Falk B. (falk)


Lesenswert?

@  Wilhelm Ferkes (ferkes-willem)

>> garantiert nicht stetig :-)

>Ja sicher. Aber es tut seinen spezifizierten Zweck.

Nö, du erreicht keine 10 Bit.

> Eben zu Demo-Zwecken auf dem Eval-Board.

Dann reichen auch 4 oder 8 Bit, und selbst DIE werden knapp.

MfG
Falk

von Ralph B. (rberres)


Lesenswert?

Zur Genauigkeit der Widerstände in einen R2R Netzwerk eines DA Wandlers.

1ooo Schritte = 10 Bit = 0,1% Die Widerstände dürfen also maximal eine 
Abweichung von 0,05% besitzen, um eine Linearität des DA Wandlers von 
0,5LSB zu erreichen. Da müssen die ON-Widerstände der elektronischen 
Schalter aber schon mit eingerechnet sein.

Gleubt mir  es ist um ein vielfaches erfolgversprechender, gleich einen 
entsprechenden DA Wandler zu nehmen.

Der TE will innerhalb einer Sekunde den vollen Wertebereich durchfahren.
Das ist eine Einstellzeit von 1 mSek. Das sollte jeder handelsüblicher 
DA Wandler  der nach dem SAR Prinzip arbeitet, locker schaffen.


Ob die Auflösung von 1000 Schritten für einen VCO zu steuern ausreicht, 
muss der TE selbst entscheiden. Das hängt schlicht davon ab, wo der VCO 
eingesetzt werden soll, und was der TE damit vor hat.

Ralph Berres

von jonas biensack (Gast)


Lesenswert?

- Willst du  den vco spielen oder stimmen?
- Zum Stimmen reichen dir die 12 bit auf 5 volt nicht  aus.

von jonas biensack (Gast)


Lesenswert?

Ok, hab gerade gelesen du willst ihn stimmen :) Lass mich raten:
http://yusynth.net/Modular/index_en.html
Davon hab ich schon drei gebaut, aber das Stimmproblem hab ich nun auch 
hehe...

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.