www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik DAC


DAC
Autor: daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
Ich hätte da mal noch eine Frage zur DA Wandlung. Mein µC misst ein 
NF-Signal (40Hz - 4kHz) mit der Abtastrate um die 33kHz. Wenn ich dieses 
Signal wieder über einen 8-bit R2R DA-Wandler und einen 
Koppelkondensator an einen Lautsprecher ausgebe, ist außer einem 
Rauschen nichts weiter zu hören. Erst ab einer Abtastrate von >400kHz 
lässt sich einigermaßen das NF-Signal wider erahnen. Der DAC ist aus 
1,215 kOhm und 2,43 kOhm Widerständen aufgebaut. Was müsste ich an der 
Hardware noch ändern, damit die Qualität am DAC besser wird?

Danke schon mal.

Autor: antworter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
zeig doch mal die schaltung... pegel schonmal nachgemessen ?

Autor: daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schaltplan:


PORTC----->DAC----| |-------| /|
                   C        |/ |
                            |  |
                            |\ |
                            | \|
                          -----

Der Pegel ist hoch genug. Da treten keine Verluste auf. Ab 800kHz ist 
die Qualität ausreichend.

Autor: antworter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
versuche mal in software ein dreiecksignal zu generieren (simpler 
algorithmus), und dieses auszugeben

damit kannst du erstmal deine ausgabeschaltung testen

noch ein gedanke: ist dein A/D signal zu klein, werden von deinem DAC 
nur ein paar Bits benutzt - das wird dann erst bei höherer samplerate 
"Ohrentauglich"

Autor: daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Analoge Signal ist hoch genug (Das habe ich über 8 LEDs am PORT 
gesehen)

Ein Dreiecksignal ist auch von guter Qualität. Daran liegt es nicht.

Autor: daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Dreiecksignal hatte bei 33kHz eine Frequenz von 129Hz. Könnte es 
vielleicht sein, dass bei Signalen höherer Frequenz der DAC nach jeder 
Wandlung mehrere Stufen "springt" und dadurch die Qualität sinkt?

Dreieck:

     -
    |
   -
  |
 -
|


NF:

   |
  -
 |
 |
 |
 |
-

Autor: antworter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hörte sich das dreiecksignal mit angeschlossenem lautsprecher klar an ?

wenn nicht, probiere mal nach deinem r2r netzwerk einen impedanzwandler 
(z.B. mit Operationsverstärker) einzusetzen

habe mit r2r noch nie was gemacht, aber eventuell sorgt der lautsprecher 
als niederohmige last dafür, daß das r2r müll produziert

Autor: antworter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
noch ein frage: welche mikrocontroller setzt du ein, dessen A/D 400 
ksamples bringt ?

msp430 ? arm7 ?

Autor: antworter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vielleicht erübrigt sich meine frage, wenn ich mir so dein schaltbild 
anschaue...

...PORTC hört sich arg nach ATMEGA an, aber deren A/Ds sind bei 10 Bit 
Genauigkeit auf ca. 15.000 Samples/s beschränkt.

Wir sollten erstmal klären, wie Du es schaffst mit denen 400.000 samples 
zu erreichen :-)

Autor: daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der AD-Wandler beim ATmega16 braucht nach dem Datenblatt 13 Takte zum 
messen. Bei geeignet hoher Taktfrequenz kann man da schon was erreichen. 
Dass der ADC auf 15000 Messungen beschränkt ist habe ich noch nicht 
gehört und auch im Datenblatt nicht gelesen.

Ich benutze bei der ADC halt nur die 8 höhstwertigen Bits.

Das Dreiecksignal ist übrigens klar und deutlich zu hören. Da ist kein 
rauschen oder knacken.

Autor: daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Übrigens, die Last dürfte meines Wissens nach für den R2R-DAC 
uninteressant sein. Die Spannung am Lastwiderstand müsste dem Signal am 
PORT proportional sein.

Autor: antworter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich sagte nicht, daß er nicht mehr schafft - tatsache ist jedoch, daß 
mit zunehmender sample-frequenz der S&H nicht mehr hinterher kommt, und 
du so drastisch an genauigkeit verlierst

bei 400 ksamples dürfte die genauigkeit grottenschlecht sein

wie dem auch sei... in deinem fall würde ich jetzt einfach mal ein oszi 
ranhängen und den fehler so aufspüren - das dürfte am effektivsten sein


> Übrigens, die Last dürfte meines Wissens nach für
> den R2R-DAC uninteressant sein

überprüfe das lieber nochmal: auch wenn ich keine r2r-leiter je benutzt 
habe, bin ich mir sicher, fast immer einen OpAMP vor einer Last gesehen 
zu haben

und wenn ich mir mal kurz eine r2r-leiter anschaue, festigt sich dieser 
glaube :-)

Autor: daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab noch mal im Datenblatt nachgesehen. Da steht doch was von 15kHz. 
Ich hab bis jetzt eigentlich nur einzelne Wandlungen verwendet, nicht 
den frei laufenden Modus. Im AVR Studio hat das auch nur 13 Takte 
gedauert. Auch mein µC hat da nicht gemeckert. Auf die Qualität des 
Signals hat sich das nämlich nicht ausgewirkt, wenn ich sehr schnell 
gemessen habe.

Autor: daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> ...bin ich mir sicher, fast immer einen OpAMP vor einer Last gesehen
> zu haben

je kleiner der Lastwiderstand wird, desto kleiner wird auch der 
Spannungsabfall an der Last. Da hast du vollkommen recht, deshalb auch 
der OPV. Für einen Kopfhörerlautsprecher (32 Ohm) reicht mein DAC 
jedenfalls vollkommen aus. Das ist da laut genug.

Autor: daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> bei 400 ksamples dürfte die genauigkeit grottenschlecht sein

Ich möchte nicht bestreiten dass die Qualität der ADC sinkt. Jedenfalls 
ist die Qualität des Signals bei 400ksamples nach der DAC deutlich 
besser als bei 40ksamples (da ist überhaupt nichts mehr).

Da ich mit dem Signal noch was machen will komme ich mit meinen 16MHz 
Quarz über 33kHz Abtastrate nicht hinaus. Bei der Abtastrate ist aber 
nichts mehr vom ursprünglichen analogen Signal zu erkennen.
Bei geeignet hoher Abtastrate (600kHz) war ich sehr zufrieden. Da hat 
der R2R-DAC vollkommen ausgereicht. Nur bleiben mir da für jede Messung 
nur 24 Takte übrig, das ist schon ein bisschen knapp.
Jedenfalls funktioniert der R2R-DAC bei niedrigen Frequenzen nicht mehr.

Autor: antworter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Jedenfalls funktioniert der R2R-DAC bei niedrigen Frequenzen nicht mehr.

Ok... machen wirs mal kurz..

Da wir uns nun einig sind, daß der R2R eine auch von der Last abhängige 
Spannung erzeugt und dir hoffentlich klar ist, daß ein Lautsprecher eine 
dynamische Last ist, solltest Du nun tunlichst einen OpAmp einfügen.

Dann noch eine ordentliche Filterung damit das Abtasttheorem erfüllt ist 
(steile Filter am Ein- und Ausgang mit einer Grenzfrequenz unterhalb 
fsample/2).

Anschließend sollte das Ergebnis auch mit 20 ksample/s brauchbar sein.

(brauchbar natürlich eher im Gegensatz zu: klangtechnisch überzeugend)

Viel Erfolg !

Autor: daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das werde ich mal probieren. Vielen Dank für deine Hilfe.

Autor: Sonic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@daniel:
>Ich benutze bei der ADC halt nur die 8 höhstwertigen Bits.

Wie hast du das realisiert? Das kannst du über den Teiler des ADC-Taktes 
realisieren. Falls du das so gemacht hast und nur das ADCL-Register 
auswertest ist es klar dass bei niedrigeren Abtastraten nix gescheites 
'rauskommt, da der ADC alle 10 bit benutzt.

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.