www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Ausgabe von analogen Signalen


Autor: Heiko (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: ROFL (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Heiko (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

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.