mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ADuC7060 ADC-Problem


Autor: Wadim (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, Leute!

Im Rahmen des studentischen Praxissemesters habe ich bei der Firma ein 
EVAL-ADuC7060 Board bekommen und soll diesen für weitere Entwicklungen 
auf "Herz und Nieren" testen. Vor allem ist uns der ADC-Eingang sehr 
wichtig.

Um den ADC zu testen habe ich einen simplen Spannungsteiler mit einem 
Trimmpotentiometer auf dem Board zusammengelötet (Abb. im Anhang). Der 
560Ohm Widerstand dient vor allem für den Offset des Eigangssignals 
(Datasheet S.6). Für den Test verwende ich den Bespielcode von ADI (auch 
im Anhang).

So, jetzt zu meinem Problem. Wenn ich jetzt die interne Verstärkung 
(PGA) testen möchte, liefert mir der ADC ab PGA=4 falsche Werte.

Ein Beispiel dazu:

Bei einer Eingangsspannung von ca. 230mV
PGA=1 -> ADC=3206162  //passt
PGA=2 -> ADC=6411773  //passt auch soweit
PGA=4 -> ADC=7106274  //passt überhaupt nicht

Ich verwende folgende Gleichung um Integer-werte in Spannung umzuwandeln
 //Uref ist 1,2V

An dem Board kann es bestimmt nicht liegen, da wir hier noch den 
"kleineren Bruder" ADuC7061 haben, und der verhält sich genauso.

Hat jemand ähnliche Erfahrungen mit diesem MC gemacht? Kann mir jemand 
helfen?

mfg
Wadim

Autor: Wadim (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Keiner kann mir helfen??? Das beweist nur, wie wenig dieses Board bzw. 
MC verbeitet ist. :/

Autor: Anja (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vermutlich kann der ADC nur bis etwa +/- UREF/2 messen.
bei PGA = 4 wird er dann übersteuert.
-> ich würde mal ins Datenblatt schauen.

Gruß Anja

Autor: Wadim (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, Anja!

Danke für den Tipp, aber im Datebblatt steht, dass dieser µC interne 
Verstärkung bis zu 512 hat. Mann soll nur darauf achten, dass bei der 
steigender Verstärkung der maximale Aussteuerungsbereich kleiner wird.

Hier der Link zu dem Datenblatt
http://www.analog.com/static/imported-files/data_s...

Ich habe schon mal in den Technischen Support geschrieben, aber immer 
noch keine Antwort...

Naja...ich werde dann mal weiter forschen :/

mfg Wadim

Autor: Wadim (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leute! Bitte, bitte helft mir! Hat den wirklich keine/keiner von euch 
ähnliche Probleme gehabt?

Autor: Volker Zabe (vza)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Anja hat dir die Lösung gegeben.
Du hast sie selbst aus dem Datenblatt zitiert.

Was brauchst du noch?

Rechne mal den maximalen Wert von 24-bit Auflösung aus und vergleiche 
ihn mal mit deinen Zahlen.

Na fällt dir was auf?

Autor: Wadim Popov (wadim)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Volker!

Von Übersteuererung kann hier nicht die Rede sein. Da ich am Eingang 
keine negative Spannung erwarte, messe ich unipolar. Der 
Aussteuerungsbereich geht somit von 0 bis 0xffffff=2^(24)-1=16777215. 
Laut Datenblatt S.6 darf ich bei der PGA=4 bis 300mv messen, ich lege 
nur 230mV drauf.
Stellt man die ober Formel nach ADC um und rechnet den theoretischen 
Wert für 230mV bei PGA=4 aus, bekommt man 12862531 -> knapp 4Mio. 
weniger als der maximale Wert. Wieso ich aber etwas mehr als die Hälfte 
meiner errechneten Zahl bekomme ist mir ein Rätsel.

Also ich weis es wirklich nicht, was mir da noch auffallen soll?

Autor: Volker Zabe (vza)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie du selber erkannt hast ist das letzte (most signifikant) Bit an.
Aus deinem Quelltext geht nicht hervor, wie du den Gain umschaltest. 
Vielleicht löscht du ja (ausversehen) das Unipolar-bit dabei (selbe 
Register).

Des Weiteren wird ab Gain 4 der "in-amp" eingeschalttet. Hierzu habe ich 
nichts weiter im Datenblatt gefunden (Ich habe auch nicht sehr intensiv 
gesucht). Vielleicht hat das verhalten ja damit was zutun.

Du benutzt die Differenz-Messung. Ich habe nicht nachgerechnet ob 
irgentwelche absoluten Pegel überschritten werden.

Lese mal den ADC-Status (ADCSTA) mit aus und übertrage ihn. Vielleicht 
sagt er ja, was Falsch ist.

Du überträgst dein ergebniss mit 9600 baud. Das entspricht ca. 1 Byte 
pro ms. Für einen Wert braucht du bis zu 10 ms. Du mist mit einer 
Smplerate von 1 kHz. Das past nicht.

Autor: Wadim Popov (wadim)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kann während des Debuggens das Programm anhalten und mir sämtliche 
Variablen und Register anschauen. ADCSTA hat ständig den Wert 0x01 
(Primary ADC result ready bit). Alles andere ist auch in Ordnung.

Zu der UART: Ich brauche für einen Wert nicht 10ms sondern 3ms...also 
24Bit = 3Byte. Aber das ist auch nicht weiter wichtig, weil wenn ich 
auch nur jeden dritten Wert sehe, stimmt er trotzdemm mit dem 
errechneten nicht. Außerdem, wie gesagt, ich kann im Debugg-mode alle 
Werte anschauen. Ab PGA=4 tritt "Integral Nonlinearity" in Erscheinung, 
aber das ist vernachlässigbar klein.

Mir bleibt woll nichts anderes, als auf die Antwort vom Support zu 
warten.

Autor: Wadim Popov (wadim)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe mein Problem selber gelöst und wollte hier die Lösung für die 
Leute schreiben, die vllt. auch auf ähnliche Probleme stoßen.

Die Lösung ist so simpel, dass man sie schnell übersehen kann...und zwar 
diese 100mV Offset, die im Datenblatt auf Seite 6 stehen stimmen nicht. 
Bei meinem Offset von 112mV funktionierte die Schaltung nicht, erst 
durch ein Zufahl habe ich entdeckt, dass bei viel größerem Offset alles 
wunderbar geht...zumindest bei der Schaltung im ersten Beitrag.

Also nochmal zum Mitmeißeln...ich habe die R2=560Ohm durch 2,88kOhm 
ersetzt und die ADC-Werte stimmen jetzt auch ab PGA=4.

Ich bedanke mich bei allen, die versucht haben mir zu helfen.

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.