ATTiny25 - ADC ungenauigkeit

Gast #2540868
Hallo

Ich hatte schonmal gefragt wegen eines ADC-Problems, nachdem dieser nun 
läuft gibt es das nächste Problem, der ADC ist wahnsinnig ungenau. Ich 
versuche damit eine Spannung von 4V zu messen (differentieller Eingang). 
Am ADC3 liegt in bezug auf ADC2 die Messspannung von bis zu 4V an, an 
ADC2 maximal 0.2V (also ADC3_max = 4.2V). Als Referenz nutze ich 4V 
extern an AREF angeschlossen. Der ATTiny25 wird mit 5V versorgt. Alle 
Werte nachgemessen.
Die Werte passen ganz gut, jedoch stimmt ab einer Spannung von ca 3V das 
Ergebnis nicht mehr. Und schon bei 3.6V gibt er den maximalen Wert von 
1023 aus.

Sicherheitshalber habe ich ADC2 mal auf Masse gelegt, und 3.6V an ADC2 
angelegt. Bei der Differenzspannung von 3.6V hätte ich als Ergebnis ca 
921 erwartet, allerdings gibt er mir auch hier 1023. Das sind über 11% 
Abweichung!

Der ATTiny25 läuft mit 1MHz, der ADC mit einem prescaler von 128, also 
mit 7,8KHz. Das ist schon die langsamste Einstellung. Die angelegte 
Spannung hat auch keine HF-Überlagerungen oder so etwas.

Das Bild entstand bei AREF = 4V, VCC = 5V, ADC2 = 0V, ADC3 = xxxV
erwartet (0-4V in 0.4V Schritten):
{0, 102, 204, 307, 409, 512, 614, 716, 819, 921, 1023}
bekommen:
{0, 100, 200, 302, 405, 509, 612, 713, 864, 1023, 1023}

Was ist da los? Ist der Subtrahierer so unglaublich unpräzise?

MfG
ATTiny25
Angehängte Dateien:
Gast
Schaltplan? Kondensator an Aref nach GND usw.

Setzte Aref intern auf 5V.

Setzte den Takt des ADC auf einen Wert der im Datenblatt steht. Ich 
denke irgendwas zwischen 50kHz - 200kHz.
(Firma: matzetronics)
Leider schweigt sich das Datenblatt darüber aus, aber ich hatte bei 
früheren Versuche mit dem differentiellen Modus den Eindruck, das der 
eingebaute OpAmp des ATTiny nicht Rail-to-Rail fähig ist, so das er bei 
Eingangsspannungen nahe null (oder Vcc ) Volt nicht richtig arbeitet, 
selbst bei Gain = 1. Bei meinem Projekt 'Lötstation' habe ich deswegen 
die Messeingänge für das Thermoelement über ein R-Netzwerk hoch gezogen.
Angehängte Dateien:
Gast
Der Tackt des ADC soll zwischen 50kHz und 200kHz liegen.

Wenn weniger Genauigkeit nötig ist kann man auch höher gehen.

Niedriger ist nach dem Datenblatt nicht möglich.
Ich denke bei so einem niedrigen Tackt spielt sie S/H Schaltung nicht
mehr richtig mit.


Gruß JensM
Gast
Habe jetzt mal die Frequenz auf 62.5 kHz erhöht, hat das Ergebnis aber 
nicht wirklich verbessert. Als Notlösung hab ich den Spannungsteiler so 
verändert, dass beim maximalen Wert am ADC 2.5V anliegen. Dadurch 
verliere ich zwar etwas Auflösung, aber die reicht immernoch aus.

(Auf dem Bild: rechts gekauftes Messgerät, links Eigenbau, keinerlei 
Korrekturen wurden an dem ADC-Wert vorgenommen)

Bin mit dem Ergebnis recht zufrieden :)

MfG ATTiny25
Angehängte Dateien:

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.