DAC gibt "krummes" Sinussignal aus

Gast #2254067
Lesenswert?

Hi,

ich habe hier einen PIC µC mit zwei DAC TLV5637 verbunden. Ich möchte 
gerne 4 Sinussignale mit Phasenverschibung untereinander erzeugen.
Die Kommunikation geschieht mittels SPI und funktioniert auch.
Zur Erzeugung der Sinussignale habe ich eine Tabelle in 5° Schritten 
angelegt.

Mein Porblem besteht momentan jedoch darin, dass das Sinussignal, wie 
dem angehängtem Bild zu entnehmen, sehr merkwürdig aussieht 
(Prienziepiell aber auch nur zwischen 90° und 180°).
Ich habe schon verschiedene Frequenzen und unterschiedliche Anzahlen an 
Stützpunkten ausprobiert. Das Ergebnis bleibt jedoch das selbe (und zwar 
an allen 4 Ausgängen).

Ich messe mit meinem Oszilloskop übrigens direkt am Ausgang des DAC, 
ohne angeschlossenene Tiefpasses oder dergleichen.

Das Problem wird wohl kein großes sein, aber ich stehe irgendwie aufm 
Schlauch... Hat einer einen Tip?
Angehängte Dateien:
Gast #2254142
Lesenswert?

Simon K. schrieb:
> Array-Index Überlauf.

hmm - falls die Kurve im Bereich der unteren Sinushalbwelle 0° bis 180° 
durchläuft, sieht es so aus, daß die Probleme bereits vor dem oberen 
Scheitelpunkt bei 270° Grad auftreten...

...vielleicht "so" oberhalb von 255°?

Versuchst Du eventuell den Bereich von 0° bis 360° in eine 
8-Bit-Variable zu packen?

Ohne inovativ patenreife Datenkompression wird das nicht... ;-)
Gast #2254161
Lesenswert?

fluid schrieb:
> Simon K. schrieb:
>> Array-Index Überlauf.
>
> hmm - falls die Kurve im Bereich der unteren Sinushalbwelle 0° bis 180°
> durchläuft, sieht es so aus, daß die Probleme bereits vor dem oberen
> Scheitelpunkt bei 270° Grad auftreten...
>
> ...vielleicht "so" oberhalb von 255°?
>
> Versuchst Du eventuell den Bereich von 0° bis 360° in eine
> 8-Bit-Variable zu packen?
>
> Ohne inovativ patenreife Datenkompression wird das nicht... ;-)

Okay werde ich gleich mal ausprobieren!


Simon K. schrieb:
> Array-Index Überlauf.

Das wäre zu schön um wahr zu sein ;)

ban schrieb:
> Hallo,
>
> ich nehme an eine falsch berechnete Tabelle.
>
> Gib mal blos eine Rampe (0 bis max, und dann wieder von vorn) aus und
> schau ob sie anständig kommt !!!

Ich habe jetzt mal eine Dreieckspannung generiert. Sieht top aus!
Gast #2254187
Lesenswert?

Okay ich habe jetzt den Fehler stark eingegrenzt.

Den Sinus den ich erzeuge hat einen Offset von X. Jetzt habe ich X 
probeweise kleiner gemacht und das Sinussignal sieht so aus wie es soll.

Bei dem DAC handelt es sich um einen 10Bit DAC, ich bin aber niemals mit 
meinen Werten über 1023. Trotzdem scheint es da irgendwo eine Grenze zu 
geben.

5V ist die Betriebsspannung des DAC, 3,3V die externe Referenzspannung 
des DAC.
Moderator (Firma: Titel) Persönliche Seite #2254232
Lesenswert?

Morgenmuffel schrieb:
> Nach meiner letzten Messung kann der 10bit DAC Werte oberhalb von 780
> nicht mehr anzeigen.
Was bedeutet das in Zahlen/Spannungen?
>
> Kann sich da jemand einen Reim drauf machen?
Die Versorgungsspannung ist zu niedrig.
1
VO Output voltage   0 to VDD–0.4 V
Welche Versorgung hast du, welche Ausgangsspannung willst du?

EDIT: Pech. Zweiter... ;-)
Gast #2254239
Lesenswert?

Michael A. schrieb:
> Morgenmuffel schrieb:
>> Ich habe jetzt mal eine Dreieckspannung generiert. Sieht top aus!
>
> Morgenmuffel schrieb:
>> Nach meiner letzten Messung kann der 10bit DAC Werte oberhalb von 780
>> nicht mehr anzeigen.
>
> Wenn's am DAC liegt, hätte dies bei der Dreieckspannung oberhalb von 780
> (767?) auch auftreten müssen. Spricht also mehr für Fehler bei der
> Generierung der Werte.

Okay hab ich vergessen zu erzählen, ich habe die Dreieckspannung nicht 
bis max laufen lassen.

Christoph Kessler (db1uq) schrieb:
> Datenblatt Seite10:
> The output voltage (full scale determined by reference) is given by:
>
> 2* REF * [0x000 to 0xFFF][V]/ 0x1000
>
> bei 3,3V ext.Ref heißt das ca. 6,6V max, bei Vcc=5V
>
> oder wie der verstorbene Jim Williams schrieb "didn't read the data
> sheet  - you shall have no pie" (Appnote 19 zum LT1074)

Ja dachte ich es mir schon, kleiner Fehler große Auswirkung ;)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren