mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik MSP430-ADC12 problem


Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Hat jemand Erfahrung mit dem A/D- Wandler des MSP430F133. Bei mir
streuen die Werte erheblich (bis zu ca. 10 LSB). Auch ein
kurzgeschlossener  Eingang zeigt die gleiche Erscheinung. Was sollte
man evtl. besonders beachten?

MfG
Wolfgang

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Wolfgang!

Ich weis ja nicht, wie Deine Software aussieht, oder in welcher Sprache
Du Programmierst, aber vielleicht schaust Du Dir mal die Beispiele im
mspgcc-Verzeichnis an (genauer SLAC014 für ASM und SLAC015 für C).
Das ist alles ziemlich gut beschrieben...

Gruß,
Patrick...

Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für den Hinweis. Ich hab mir die Beispiele mal angesehen und
festgestellt, dass ich mein Programm( in C mit IAR Kickstart) ähnlich
aufgebaut habe.
Es ist ja nicht so, dass ich keinen Messwert  herausbekomme, sondern
der Wert stimmt in seiner Größe und folgt auch den Änderungen, wenn ich
die Eingangsgröße verändere. Deshalb meine obige Frage noch mal an
alle, bei denen das Messverfahren einwandfrei läuft.
MfG
Wolfgang

Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich kann mir nicht vorstellen, dass niemand damit Erfahrungen hat.
MfG
Wolfgang

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Wolfgang,

habe vor längerer Zeit mal den ADC im MSP benutzt und hatte Probleme
mit der sehr anspruchsvollen Referenzspannung. Der Ausgleich von
Temperaturschwankungen war auch nötig.

Details habe ich grad nicht mehr Kopf, nur mal so als Denkanstoß


Grüße

Martin

Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Martin,
aber vielleicht fällt Dir noch ein, ob Du einen konstanten Messwert
hattest. Die Temperaturabhängigkeit der Referenzspannung will ich noch
gar nicht  betrachten. Diese Abhängigkeit könnte man evtl. mit der
internen Temperaturdiode berücksichtigen. Aber auch die Temperaturwerte
streuen in der gleichen Größenordnung wie die analogen Eingänge.
Eigenartigerweise ist die letzte Ziffer immer eine ungerade Zahl.
Mit freundlichen Grüßen
Wolfgang

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Wolfgang,

hier mal ein C-Code der funktioniert (ist aber nicht von mir, aber
gestestet). Es gibt auf meinem 149er Board keine so riesigen
Schwankungen der Werte.

//--------------------------------------------------------------------//
samples and returns the AD-converter value of channel 7
// (associated with Port P6.7)
//--------------------------------------------------------------------
static unsigned int GetAD7Val(void)
{
  ADC12MCTL0 = SREF_1 + INCH_7;                  // Select channel 7,
Vref+

  ADC12CTL0 |= ENC;                              // enable conversion
  ADC12CTL0 |= ADC12SC;                          // sample & convert

  while (ADC12CTL0 & ADC12SC);                   // wait until
conversion is complete

  ADC12CTL0 &= ~ENC;                             // disable conversion

  return ADC12MEM0 >> 5;                         // Scale value
}



Ich hoffe das bringt Dich weiter !

Grüße

Martin

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.