mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AD Wandlung mit LPC2132


Autor: znil (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,
habe mal ne Frage zu AD Wandlern. Arbeite mit einem LPC2132 in C. Der 
interne AD Wandler bekommt einen analogen Spannungswert und soll diesen 
dann nach einer bestimmten mathematischen funktion weiterverarbeiten. 
Das Problem ist nun das die erste AD Wandlung nicht funktoniert. Ab der 
zweiten Wandlung funktionieren alle weiteren korrekt. Hat jemand eine 
Idee woran das liegen könnte...?Falls ihr noch ne genauere 
problembeschreibung oder den Quellcode benötigt, bitte auch melden. 
Danke schonmal

Autor: Olly Krings (rossi75)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zu meinem PCF.... steht im Datenblatt dass die erste Wandlung Müll 
ergibt. Vielleicht hast Du hier das gleiche Problem?

Autor: znil (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das kann eigentlich nicht sein.es steht zumindestens davon nichts im 
datenblatt...hat sonst noch jemand ne idee? häng mal nen stück code mit 
an, vielleicht ist es dann besser zu verstehen.


  // starts AD conversion
    AD0CR = 0x1200C04;
  // Übertragung des AD Wertes
           udi_ADCValue = AD0DR >> 6;
    udi_ADCValue = udi_ADCValue & 0x3FF;
    printf("relevantes Ergebnis der AD Wandlung %lx\n\r", udi_ADCValue);

           r_UVIS = udi_ADCValue * 12.96 * 0.001;
          printf("Betriebsspannung VIS Strahler %f\n\r", r_UVIS);


wenn ich zwischen Zeile 1 AD0CR=0x1200C04 und der darauffolgende Zeile 
eine printf Anweisung einbaue funktioniert das Ganze. Kann es sein dass 
die Wandlung noch nicht abgeschlossen ist und ich trotzdem schon mit dem 
Wert(der dann nicht korrekt ist) weiterarbeite?
Bin über jegliche Antworten dankbar...

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Quellwiderstand des Analogsignals?

Autor: znil (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bevor das Signal auf den ADC geht ist ein Widerstand angebracht...meinst 
du es leigt eher an der hardware als an der software?

Autor: Robert Teufel (robertteufel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du musst dem AD Wandler etwas mehr Zeit lassen die Wandlung auch 
durchzufuehren. Das dauert etwas laenger als einen C-Shift-Befehl. 
Koenntest z.B. auf das Interrupt Request Flag pollen oder das ganze 
vorneweg mit Interrupt machen.
Du startest die Wandlung und liest sofort aus. Die Wandlung dauert aber 
min. 2+ usec. Bei printf dauert das lange genug damit der Wandler fertig 
ist.
Der Ratschlag ist also, etwas mehr Geduld mit dem ADC ;-)

Robert

Autor: znil (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke, das habe ich mir schon gedacht...das einfachste wäre (wenn ich 
das richtig verstanden habe) ein flag abzufragen. Vor der Wandlung ist 
dies beispielsweise auf FALSE, sobald die Wandlung abgeschlossen ist, 
setze ich es auf TRUE. Danach mache ich eine Abfrage, ob das flag 
gesetzt ist. Wenn ja, kann ich mit dem Shift Befehl weiterarbeiten...Ist 
das so korrekt?

Autor: Robert Teufel (robertteufel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Bit ist im A/D Data Register zu finden, das sogenannte "DONE" bit 
(Kapitel 16 im User's Manual). Kannst fuer die erste Wandlung in einer 
Schleife abfragen, fuer die anderen Wandlungen muesste es soweiso schon 
gesetzt sein wenn Du das Ergebnis liest.

Robert

Autor: znil (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Antworten, so hatts dann funktioniert....

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.