Forum: Mikrocontroller und Digitale Elektronik Ausgabe von analogen Signalen


von Heiko (Gast)


Lesenswert?

Hallo Leute,

Ich benutze ein MSP430-169LCD Entwicklerboard, um ein kontinuierliches 
analoges Signal (künstliches EKG) auszugeben.

Um das Signal auszugeben, bin ich wie folgt vorgegangen: 8-Bit Mode im 
DAC,
damit berechnet sich das Ausgangssignal wie folgt: Vout=Vref*(x/256)

Vref ist 2.5 V. Die entsprechenden x Werte habe ich in Form einer 
Tabelle in mein Programm geschrieben also so:

const char Tabelle [] = {41,41,41,43,43,44,44,43,70,127,120......};

Das beschriebene läuft super. Jetzt das Problem: Ich möchte den DAC im 
12-Bit Mode laufen lassen. Dafür brauche ich dann aber größere Zahlen in 
der Tabelle, damit das Signal entsprechend groß ist, da sich das 
Ausgangssignal dann ja wie folgt berechnet: Vout=Vref*(x/4096)

Da ja "char" nur bis 255 geht, kann ich diesen Dateitypen ja nicht mehr 
benutzen. Also habe ich probiert, ihn durch "int" zu ersetzen: Dann wie 
folgt:

const int Tabelle [] 
={656,656,656,688,688,704,704,688,1120,2032,1920....};

Und genau jetzt beginnt das Problem: Mein EKG Signal ist nur noch zur 
hälfte da. Die eine Hälfe ist sauber, und die andere einfach nur noch 
ein rauschen. Habe leider keine Ahnung warum. Kann mir vielleicht jemand 
einen Tip geben?

Vielen Dank!!!

Heiko

von ROFL (Gast)


Lesenswert?

Was verstehst du unter "die eine Hälfte" und "die andere Hälfte"?

Gibt es einen bestimmten D/A-Wert, ab dem es zu Rauschen wird?
Ist es ein bestimmter Index in deiner Tabelle, ab dem die Werte nicht 
mehr korrekt ausgegeben werden?

Wie viele Werte enthält deine Tabelle?

von Heiko (Gast)


Lesenswert?

Habe das Problem gelöst. Die Länge des Arrays hat sich verdoppelt, als 
ich von char auf int gewechselt hat. Und das habe ich nicht bedacht. Das 
heißt erst kam das Signal, dann genauso so lange Rauschen und dann 
wieder von vorne...

Danke trotzdem!

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.