Hallo zusammen,
die AppNote AVR1300 sollte man sich schon durcharbeiten, da hatte ich ja auch schon im Beitrag 2 darauf hingewiesen.
Das erste erste Ergebnis sollte man nicht verwenden, das ist bei den AVRs ja auch so. Allerdings, wenn das erste Ergebnis völlig daneben liegen würde, wird das Endergebnis durch die Mittelung von 10 Messungen nicht so stark beeinflusst, wie es hier auftritt. Also liegt das Problem noch woanders.
Damit man überhaupt "in die Nähe" von 12 bit Auflösung kommt, muss man das ADC Modul kalibrieren. Mindestens muss man
Aber selbst wenn man das Kalibrierungsbyte nicht schreibt und den Offset nicht berücksichtigt, sollte nicht ein so großer Fehler auftreten. Die Ursache liegt also nicht nur hier.
Was man noch bedenken sollte: Wie schnell darf das ADC Modul getaktet werden?! -> Prescaler einstellen (fehlt hier).
Wenn ich ein bisschen mehr Zeit finde, schreibe ich mal einen Beispielcode für unser Mikrocontrollermodul Xmega-A1-USB, so dass man sich die Werte auch am PC anzeigen lassen kann, das wollte ich sowieso mal machen.
Grüße,
Dirk
die AppNote AVR1300 sollte man sich schon durcharbeiten, da hatte ich ja auch schon im Beitrag 2 darauf hingewiesen.
Das erste erste Ergebnis sollte man nicht verwenden, das ist bei den AVRs ja auch so. Allerdings, wenn das erste Ergebnis völlig daneben liegen würde, wird das Endergebnis durch die Mittelung von 10 Messungen nicht so stark beeinflusst, wie es hier auftritt. Also liegt das Problem noch woanders.
Damit man überhaupt "in die Nähe" von 12 bit Auflösung kommt, muss man das ADC Modul kalibrieren. Mindestens muss man
- das Kalibrierungsbyte in das Cal Register schreiben und
- den DC Offset ermitteln und beim Ergebnis berücksichtigen (der Offset ist ziemlich groß)
Aber selbst wenn man das Kalibrierungsbyte nicht schreibt und den Offset nicht berücksichtigt, sollte nicht ein so großer Fehler auftreten. Die Ursache liegt also nicht nur hier.
Was man noch bedenken sollte: Wie schnell darf das ADC Modul getaktet werden?! -> Prescaler einstellen (fehlt hier).
Wenn ich ein bisschen mehr Zeit finde, schreibe ich mal einen Beispielcode für unser Mikrocontrollermodul Xmega-A1-USB, so dass man sich die Werte auch am PC anzeigen lassen kann, das wollte ich sowieso mal machen.
Grüße,
Dirk