AVR ADC: Null-Offset nach Messung von AVCC höher!?

OP #4057716
Lesenswert?
• ▲
▼
Hallo,


ich lese zyklisch den ADC und gebe den Wert auf dem UART aus.
Wenn ich den ADC-Eingang auf GND lege und den AVR einschalte, lese ich 
irgendeinen Wert zwischen 4 und 6.
Verbinde ich den ADC-Eingang dann mit AVCC kommen Werte um 1020.
Verbinde ich danach wieder mit GND, kommen Werte um 20.
Ich habe jeweils mehrere Minuten gewartet, die Werte bleiben stabil.
Das ist hier vollkommen reproduzierbar.

Nach Aus- und Einschalten der Versorgungsspannung (nur ein paar 
Sekunden, keine Abkühlung oder so) lese ich bei GND wieder Werte um 5.

Kann das jemand bestätigen bzw. erklären?


Gruß
Ralf Jahns
OP #4057970
Lesenswert?
• ▲
▼
Hallo,


> Dann ist da wo hier ist der Wurm drin.
> Ist der ADC auf single ended, dann ist bei ADC Eingang auf GND der Wert
> nicht 4 oder 6 oder 20, sonder 0.

Falls das Deine Erfahrung sein sollte, dann ist das genau so eine 
Information wie ich sie suche.

Ansonsten frage ich mich, warum Atmel extra eine Application Note 
rausgibt, in der detailliert beschrieben wird, wie man den 
ADC-Offsetfehler korrigieren kann AVR120 
www.atmel.com/images/doc2559.pdf


Gruß
Ralf Jahns
Gast #4057978
Lesenswert?
• ▲
▼
Ralf Jahns schrieb:
> Kann das jemand bestätigen bzw. erklären?

Bei GND muß 0 gemessen werden.

Vielleicht ist ja bei einem echten Arduino ein Schaltplan zu finden und 
um den Stckbrettaufbau zu erweitern? Steckbretter haben oft miese 
Übergangswiderstände. Vielleicht weißt du ja auch nicht, welchen der 
vielen Arduinos/Arduino Clones du hast?
Gast #4057982
Lesenswert?
• ▲
▼
Ralf Jahns schrieb:
>
> Ansonsten frage ich mich, warum Atmel extra eine Application Note
> rausgibt, in der detailliert beschrieben wird, wie man den
> ADC-Offsetfehler korrigieren kann AVR120
> www.atmel.com/images/doc2559.pdf

Da werden doch nur die Standard-Fehler von ADC behandelt (Offset, Gain, 
Linearität, etc.), nicht das Problem des TE.
Gast #4057983
Lesenswert?
• ▲
▼
Ralf Jahns schrieb:
> Ansonsten frage ich mich, warum Atmel extra eine Application Note
> rausgibt, in der detailliert beschrieben wird, wie man den
> ADC-Offsetfehler korrigieren kann AVR120
> www.atmel.com/images/doc2559.pdf

Damit eben auch diese Möglichkeit berücksichtigt ist. Du wirst auch 
bemerkt haben, dass in den angeführten Beispielen von 1,5 LSB die Rede 
ist, wobei in einem der Fälle immer noch 0 kommt, obwohl schon eine 
geringe Spannung anliegt.

Dann zeig' mal Deinen Testcode, evtl. findet man dann was raus, 
vielleicht Prescaler zu klein. Schließ' auch ein Multimeter parallel zum 
Pin an, damit Du Kontaktprobleme ausschließen kannst.

Dir muss klar sein, dass bei Dir was schief läuft, denn nach dem 
beschriebenen Verhalten wäre der ADC unbrauchbar. Die Wahrscheinlichkeit 
ist einfach viel höher, dass ein User Fehler macht, als dass 
unbrauchbare Chips Atmel verlassen.

Andererseits - vielleicht hast Du einen Arduino-China-Clone mit einem 
Atmel-AVR-Clone ;D

Und nenn' doch auch die genaue Arduino HW, damit man sich den Schaltplan 
ansehen kann.
OP #4058000
Lesenswert?
• ▲
▼
Hallo,


> Dir muss klar sein, dass bei Dir was schief läuft

Alles klar, hab' ich verstanden.

> Und nenn' doch auch die genaue Arduino HW, damit man sich den Schaltplan
> ansehen kann.

Es ist ein Arduino Nano Clone mit ATMega 328P, der RS232<->USB-Umsetzer 
ist ein FTDI (wobei das bei dem Preis von dem Board wohl auch ein Clone 
sein muß).

Ich werde heute abend mal ein bißchen messen. Weiteres danach.


Gruß
Ralf Jahns
#4058001
Lesenswert?
• ▲
▼
GND ist nicht immer gleich GND, vor allem nicht auf dem Steckbrett! Hast 
Du vielleicht noch ein paar andere Verbraucher dort, schaltest Du evtl 
eine LED zwischen zwei Messungen oder dergleichen? Nimm doch mal zum 
Spaß testweise den GND-Anschluss auf der anderen Seite des Arduino. Ich 
hab da schon lustige Sachen erlebt was Ground-Bounce-Probleme und 
Arduino angeht und mit Teilen der Schaltung auf dem Steckbrett erst 
recht.
#4058002
Lesenswert?
• ▲
▼
99% Steckbrettprobleme. Und die Dinger werden immer schlechter, egal 
woher du die kaufst. Nimm Lochraster!
Zum testen, ob es grundsätzlich klappt, dafür kann man sie ja nehmen, 
aber wenn es da um Offset geht, dann ist das der falsche Aufbau.

Sind ganz spannende Sachen zu beobachten, wenn man sich in die OpAmps 
rein arbeiten will.
OP #4059043
Lesenswert?
• ▲
▼
Hallo,


vielen Dank für Eure Hilfe. Es ist tatsächlich das Steckbrett.
Die Erfahrung hatte ich noch nicht gemacht, normalerweise wird bei mir 
immer alles irgendwie zusammengelötet (selten Lochraster, meistens 
geätzte Platine).
Wenn ich die Drahtbrücke am ADC-Eingang 0 im Steckbrett stecken lasse 
und mit dem anderen Ende direkt die GND und 5V Arduino-Pins berühre, 
kommen auch vernünftige Werte (0 bzw. 1023).


Gruß
Ralf Jahns

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren