Forum: Mikrocontroller und Digitale Elektronik Genauigkeit ADC überprüfen


von Werner A. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
ich habe mir mir mit einem durchlaufenden Zähler und nem Timercompare
ne quasi PWM aufgebaut. Das funktioniert aus soweit.
Ich möchte nun den Timercompare-Wert in Abhängigkeit einer ADC-Messung
verändern.
Das Puls/Pausenverhältnis soll also proportional der gemessenen
Spannung sein.
Die ADC-Messung wird anscheinend auch gemacht, zumindest wird das
ADSC-Register zurückgesetzt.

Die Frage, die sich mir jetzt stellt ist, wie genau ist der gemessene
Wert eigentlich. 10bit,9bit oder evt. nur 8bit. Wie kann ich den
ADC-Wert ausgeben um beurteilen zu können, welche genauigkeit er hat?

Das ganze läuft auf einem attiny15.

Den Quellcode hab ich mal anghängt.

Besten Dank schonmal im Vorraus
  Werner

von Gerhard Gunzelmann (Gast)


Lesenswert?

Hallo werner

in der bechreibung deines tiny15 steht die Bitzahl deines uC. Schau mal
nach. Dann kommts bei den uC darauf an mit welcher referenzspannung sie
arbeiten. Beisiel 10 Bit ADC, 5 Volt: 2^10 = 1024
5/1023 = 4,88mV Auflösung, bei 12 Bit: 5Volt/4095 = 1,22mV. Das Zur
Auflösung. Unter dem Begriff Genauigkeit versteht man eher den fehler
des ADC und der liegt meist im Bereich +-2 LSB, also im letzten
Beispiel +-2 Digits von 1,22mV = +-2,44mV.

Gerhard

von Werner A. (Gast)


Lesenswert?

Ich habe in einem alten Beitrag gelesen, das die Genauigkeit auch von
der Abtastfrequenz abhängt.
Laut Datenblatt hat der Controller 10 bit. Ich überlege jetzt nur, wie
ich zu Debug-Zwecken herrausbekomme, was hat der Controller den gerade
gemessen.
Vielleicht kann man den gemessenen Wert ja seriell über einen Pin
rausschieben und sich auf dem PC anschauen. Mal sehen ob das klappt.

von Andreas Wiese (Gast)


Lesenswert?

Hallo Werner,

Was hälst du davon, den Wert doch im EEprom abzulegen, den kannst du
doch dann per ISP auslesen!

Gruß
Andreas

von Felix (Gast)


Lesenswert?

Oder nacheinander gemessene Werte in verschiedene EEPROM-Zellen, dann
hast du eine Aussage über die Streuung der Werte.

Mach das aber nicht zu oft (Schleife), sonst wird dein EEP müde.

von Werner A. (Gast)


Angehängte Dateien:

Lesenswert?

Besten Dank für die Hilfe. Ich mach es momentan aber was anders.
Ich gebe mir die Werte über einen Pin jetzt seriell aus und beobachte
die Signale am Ossi. Das war für mich im Moment das einfachste, da ich
mit dem Eeprom noch nicht gearbeitet habe.
Probiere gerade die Signale zu interpretieren ;-)

Als nächstes muss ich aus den 10bit nen 8bit Wert berechnen, macht man
das mit dem Z-Register (ist ja 16 bit), oder wie geht man da eigentlich
vor?

Werner

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
Noch kein Account? Hier anmelden.