Schon wieder so eine Diffamierung ... Aber braucht ja keiner mehr eine zu "fürchten". Ich habe ein Experiment durchgeführt, das auch jeder einfach selbst nachbauen kann:
Ich habe an den 10-Bit ADC eines ATtiny44 ADC ein 10k Poti angeschlossen und AD-Wandlungen durchgeführt. Aref auf Vcc. Dann mit 8-fach rechts shiften einen 2-Bit ADC simuliert. Die 2-Bit ADC-Ausgabe, also die Werte 0, 1, 2, 3 per RS232 auf den PC Bildschirm und parallel mit einem Multimeter am ADC-Eingang die Spannung gemessen.
Reale Meßwerte: bei Vcc = 5,04V
DMM 0,00V bis 1,26V , ADC-Ausgabe = 0
DMM >1,26V bis 2,52V , ADC-Ausgabe = 1
DMM >2,52V bis 3,78V , ADC-Ausgabe = 2
DMM >3,78V bis 5,03V , ADC-Ausgabe = 3
Das Meßgerät ist kein Präzisionsmeßgerät und der Tiny sitzt nur auf dem Steckbrett. Um Meßwertzittern zu vermeiden habe ich vor dem shiften eine 2-Bit SW-Hysterese verwendet. Die Ungenauigkeit dadurch ist 5v*3/256=0,0585V oder 5V*3/255=0,0588V
Die Meßwerte reichen trotzdem aus um zu entscheiden, ob mit 3 (n-1) oder besser mit 4 (n) gerechnet werden sollte.
Für die Zuordnung einer Spannung zu einer ADC Ausgabe rechne ich Vref/(4*2)+Vref*ADC/4. Ich rechne also mit n, also der Anzahl der möglichen Ausgabewerte beim ADC. Bei 8-Bit ADC also mit 256 und nicht mit den schlechteren 255.
- - - Aktualisiert - - -
Fehler ist noch kleiner, da es die letzten beiden Bits des 10-Bit Ergebnisses sind:
5v*3/1024=0,01464V bzw 5v*3/1023=0,01466V für die (n-1) Leute.
Lesezeichen