Genauigkeit ADC überprüfen

Gast #91168
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
Angehängte Dateien:
Gast #91169
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
Gast #91170
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.
Gast #91173
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
Angehängte Dateien:

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