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
Interessant! - Haste 'ne Schaltung? Bitte komplett, inklusive der umgesteckten Verbindungen nach VCC, GND und AGND, AVCC
Ralf Jahns schrieb: > Das ist hier vollkommen reproduzierbar. 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.
Hallo, zum Thema Schaltplan: Arduino China-Clone auf Steckbrett (ohne Arduino-SW). Spannungsversorgung über USB vom PC. Drahtbrücke zwischen ADC-Eingang 0 und den erwähnten Spannungen. Gruß Ralf Jahns
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
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?
Definitiv ein Kontakt-Problem. Wie schon gesagt wurde: Misst man das Bezugspotential muss da immer 0 raus kommen und bei meinen Aufbauten kam da bisher auch immer 0 raus. Da koppelt sich wahrscheinlich irgend etwas ein auf die "Messleitung"
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.
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.
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
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.
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.
Einen ähnlichen Effekt wie den beschriebenen habe ich im Zusammenhang mit einem gleitenden exponentiellen Mittelwert gesehen. Gibst Du die ADC Werte direkt aus, oder passiert vorher eine Rechnung wie z.B. Mittelung?
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.