www.mikrocontroller.net

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


Autor: Werner A. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Gerhard Gunzelmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Werner A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Andreas Wiese (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Werner,

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

Gruß
Andreas

Autor: Felix (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Werner A. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.