Forum: Mikrocontroller und Digitale Elektronik ADC wie genau?


von Peter (Gast)


Lesenswert?

Guten Tag Leute!

Habe da eine Frage zu dem ADC:

Ich möchte gerne wissen wie genau ein ADC beim Mega8 controller ist 
10bit auflösung.

Ich habe ein paar Messungen durchgeführt und komme zum folgendem 
Ergebnis der ADC ist ca. 30 - 40 mV ungenau kann das sein ? Habe dazu 
den ADC wert auf eine LCD Anzeige rausgeben lassen und dann gemessen und 
die werte verglichen.

von ... .. (docean) Benutzerseite


Lesenswert?

Laut Datenblatt sind es:

• 10-bit Resolution
• 0.5 LSB Integral Non-linearity
• ± 2 LSB Absolute Accuracy

Wie angeschlossen? Wie genau ist der Referenz? Wie genau ist dein 
Messgerät?

von Falk B. (falk)


Lesenswert?

@ Peter (Gast)

>Ich möchte gerne wissen wie genau ein ADC beim Mega8 controller ist
>10bit auflösung.

Erstmal sollte man Auflösung und Genauigkeit unterscheiden.

>Ich habe ein paar Messungen durchgeführt und komme zum folgendem
>Ergebnis der ADC ist ca. 30 - 40 mV ungenau kann das sein ?

Programm?
Vorher kalibriert?
Ist dein DMM kalibriert?

MFG
Falk

von Peter D. (peda)


Lesenswert?

Peter wrote:
> Ich möchte gerne wissen wie genau ein ADC beim Mega8 controller ist
> 10bit auflösung.

Der steht auf 10 Bit wie ne Eins und rauscht auch nicht.
Ohne spezielle Maßnahmen läßt sich also auch kein 11-tes Bit 
rauskitzeln.


> Ich habe ein paar Messungen durchgeführt und komme zum folgendem
> Ergebnis der ADC ist ca. 30 - 40 mV ungenau kann das sein ?

Das sind dann Probleme mit der GND-Verdrahtung/Belastung oder Ripple auf 
VCC.
Oder das Eingangssignal schwankt einfach schon.


Peter

von Peter (Gast)


Lesenswert?

meine beschaltung sieht folgendermaßen aus AVCC mit AREF verbunden und 
mit VCC

Programm ist kalibriert

ist die beschaltung richtig?

von Falk B. (falk)


Lesenswert?

@ Peter (Gast)

>meine beschaltung sieht folgendermaßen aus AVCC mit AREF verbunden und
>mit VCC

Macht man nicht.

>Programm ist kalibriert

Das kann jeder sagen. Post mal Code, als Anhang.

>ist die beschaltung richtig?

Nö.

AVR-Tutorial: ADC

MfG
Falk

von Peter (Gast)


Angehängte Dateien:

Lesenswert?

hier ist meine Schaltung ist die erstmal richtig?

von Benedikt K. (benedikt)


Lesenswert?

Wenn du GND an 5V hängst, dann kannst du froh sein, wenn der AVR nicht 
durchbrennt!

PS: Ich freue mich schon auf den Kommentar vom Falk...

von ROFL (Gast)


Lesenswert?

Brüller!

von Magnus Müller (Gast)


Lesenswert?

Peter wrote:
> hier ist meine Schaltung ist die erstmal richtig?



NN       NN    EEEEEEEEEE    II    NN       NN        !!!
NNN      NN    EEEEEEEEEE    II    NNN      NN        !!!
NNNN     NN    EE            II    NNNN     NN        !!!
NN NN    NN    EE            II    NN NN    NN        !!!
NN  NN   NN    EEEEEEEE      II    NN  NN   NN        !!!
NN   NN  NN    EEEEEEEE      II    NN   NN  NN        !!!
NN    NN NN    EE            II    NN    NN NN        !!!
NN     NNNN    EE            II    NN     NNNN
NN      NNN    EEEEEEEEEE    II    NN      NNN        !!!
NN       NN    EEEEEEEEEE    II    NN       NN        !!!

=========================================================
=========================================================

von ROFL (Gast)


Angehängte Dateien:

Lesenswert?

ich würde es so machen wie im anhängenden schaltplan gezeigt.

von Peter (Gast)


Angehängte Dateien:

Lesenswert?

ach sorry leute hab mich da gewaltig vertan meine natürlich

von Peter R. (gelb)


Lesenswert?

Wow, wie alle brüllen, wenn einer sich verpinselt hat.

Ich denke, dass er VCC mit AVCC mit VREF verbinden wollte.

Was ich übrigens im ADC-Tutorial vermisse sind Angaben zur Filterung von 
AVCC.

Grüße, Peter (nicht der OP)

von ROFL (Gast)


Lesenswert?

1
                        ;;
2
                      ,;;'\ 
3
           __       ,;;' ' \
4
         /'  '\'~~'~' \ /'\.)
5
      ,;(      )    /  | 
6
     ,;' \    /-.,,(   )    
7
          ) /       ) /      
8
          ||        ||   
9
          (_\       (_\

von Peter (Gast)


Lesenswert?

ist die schaltung denn nun soweit richtig ? als vcc verbunden mit aref 
und avcc.

von ROFL (Gast)


Lesenswert?

sach mal.
falk hat genau das bereits doch beantwortet.

>>meine beschaltung sieht folgendermaßen aus AVCC mit AREF verbunden und
>>mit VCC

> Macht man nicht.


irgendwie scheinst du mit recht einfachen dingen schwierigkeiten zu 
haben. vielleicht fängst du im bereich elektronik erstmal damit an, 
sebstständig eine glühbirne zu wechseln.
aber mach' dir unbedingt vorher nen schaltplan, damit nix schief geht, 
und frag nochmal hier nach.

von Peter R. (gelb)


Lesenswert?

@ Peter (Gast)

VCC mit AVCC und AREF ist o.k.  Besser zusätzlich 100nF an GND.
Noch besser AVCC und AREF zusammen über eine kleine Drossel (10µH) oder 
10 Ohm an VCC legen. Das Rauschen wird dann deutlich kleiner.

Grüße, Peter

von Benedikt K. (benedikt)


Lesenswert?

Die Spule kann man sich fast immer sparen. Habe ich noch nie verwendet 
und trotzdem sind die Werte alle super stabil. Viel mehr bringt es, wenn 
man AVcc und ARef getrennt lässt und per ADMUX verbindet. Oder man 
verwendet Spule + getrennte ARef, das ist dann die perfekte Lösung, die 
aber nur selten benötigt wird.

von !!! (Gast)


Lesenswert?

>AVcc und ARef getrennt lässt und per ADMUX verbindet.

????????

von Michael H* (Gast)


Lesenswert?

hey leute, kommt mal wieder runter! sonst pack ich eure 
rechtschreibfehler aus =)
der peter hat sich schlichtweg verzeichnet. wer weiß, was ein ADC ist, 
weiß auch, was V_cc und GND sind. also mal ganz langsam...

peter, deine schaltung kann zwar funktionieren, aber das macht man nicht 
so. lies den ADC-artikel-link von falk.
deine interne referenz-spannung für den adc sei jetzt mal 2V. wenn du 
10bit hast, macht das 2^10 mögliche werte.
der unterschied zwischen zwei benachbarten werden in volt is dabei wohl 
deine gesuchte auflösung. 2V/2^10werte = 1,95mV/wert.

suchst du wirklich eine genauigkeit, musst du noch rauschen der 
versorgungsspannung, rauschen der restlichen schaltung zur erzeugung der 
zu messenden spannung, adc-rauschen, usw. berücksichtigen.
ich denke aber nicht, dass du das wirklich willst.

von Peter (Gast)


Lesenswert?

Habe meine schaltung jetzt wie folgt erweitert VCC verbunden mit AREF 
und AVCC zusätlich einen 100nF kondesator an gnd.

leider passen die Ergebnisse nicht  adc wert = 595 gemessene spannung 
2,94

müsste doch normaladc wert von 602 ergeben oder?


muss ich noch was an der schaltung anders machen damit der ADc genauer 
wird?

von Benedikt K. (benedikt)


Lesenswert?

!!! wrote:
>>AVcc und ARef getrennt lässt und per ADMUX verbindet.
>
> ????????

Ja, über die REFSx Bits im ADMUX Register.

von Peter R. (gelb)


Lesenswert?

@  Peter (Gast)

Vielleicht ist deine VREF 5,059V ?

Ist dein ADC-Wert immer 595 ? In der Realität sollte er bei nicht 
optimiertem Aufbau mindestens 5..10 Zähler um einen Wert schwanken!

Grüße, Peter

von Peter (Gast)


Lesenswert?

habe also jetzt diese Schaltung. Ist die richtig?

ADC wert ist 597

gemessene Spannung 2,95


irgendetwas passt nicht --> adc wert müsste rechnerisch 604 sein


Was ist falsch bzw. wie kann man den adc genauer machen?

von Peter (Gast)


Angehängte Dateien:

Lesenswert?

Hier die schaltung

von Johannes M. (johnny-m)


Lesenswert?

Peter Roth wrote:
> @ Peter (Gast)
>
> VCC mit AVCC und AREF ist o.k.
Noch mal: Nein. Es ist Blödsinn. AVCC kann intern als Referenz 
ausgewählt werden! An AREF kommt nur ein 100 nF-Kondensator gegen GND. 
Einzige Ausnahme: Es soll eine Referenz verwendet werden, die der µC 
nicht intern zur Verfügung stellen kann.

von Benedikt K. (benedikt)


Lesenswert?

Da Falk anscheinend nicht mehr mitliest, und bevor es jetzt die ganze 
Zeit so weiter geht: Bildformate!

von Peter R. (gelb)


Lesenswert?

@ Johannes M. (johnny-m)

extern VREF an AVCC funktioniert genauso wie intern mit dem Vorteil, 
dass VREF wirklich gleich AVCC ist, ohne dass man nachmessen muss. ADMUX 
REFS1:0 muss 0 bleiben.

Also kein Blödsinn.

Grüße, Peter

von Johannes M. (johnny-m)


Lesenswert?

Peter Roth wrote:
> @ Johannes M. (johnny-m)
>
> extern VREF an AVCC funktioniert genauso wie intern mit dem Vorteil,
> dass VREF wirklich gleich AVCC ist, ohne dass man nachmessen muss.
Warum sollte man da etwas nachmessen müssen? Das musste mal genauer 
erläutern.

von Falk B. (falk)


Lesenswert?

@  Benedikt K. (benedikt)

>Da Falk anscheinend nicht mehr mitliest,

Bist du sicher? Big Brother is watching YOU! ;-)

>Zeit so weiter geht: Bildformate!

Irgendwie hab ich das fast aufgegeben. Man wird alt . . .

von Peter (Gast)


Lesenswert?

Also Leute wie sieht es aus ist meine neue schaltung richtig ?

habe das problem glaub ich gefunden ...habe noch mal die 
ausgangsspannung beim 7805 gemessen und sie ist 5,06 V daher kommen die 
nicht ganz passenden ADC werte .....aber trotzdem kann man noch was an 
der and schaltung ändern damit sie ganz genau ist oder geht das nicht?

von Peter R. (gelb)


Lesenswert?

Johannes M. wrote:

> Warum sollte man da etwas nachmessen müssen? Das musste mal genauer
> erläutern.

Warum muss man messen? Aus Interesse? Weil etwas nicht funktioniert? Um 
zu  bestätigen, dass etwas funktioniert?

Im Prinzip hast du schon recht, wenn der Chip die Möglichkeit bietet, 
kann man VREF und AVCC von ihm verbinden lassen. Man muss aber nicht.

Grüße, Peter.

von Magnus Müller (Gast)


Lesenswert?

Peter wrote:
> nicht ganz passenden ADC werte .....aber trotzdem kann man noch was an
> der and schaltung ändern damit sie ganz genau ist oder geht das nicht?

Ja, man kann noch etwas / einiges ändern. Verwende eine externe 
(Präziosions-) Referenzspannung.

von Falk B. (falk)


Angehängte Dateien:

Lesenswert?

Etwa so. Die 10uH kann man wie bereits gesagt auch durch eine 
Drahtbrücke ersetzen.

MFG
Falk

von Peter R. (gelb)


Lesenswert?

@  Peter (Gast)

Wenn VREF 5,06V beträgt, dann stimmt die Schaltung ja soweit. Genauer 
geht das mit einem 7805 normalerweise nicht.
Wenn du absolut gesehen genauer werden willst, musst du eine externe 
Referenzquelle an VREF anschließen oder die 5V-Versorgung genauer 
machen.

Grüße, Peter

von Max und Moritz (Gast)


Lesenswert?

Jo ADCS sind v.a. im niedriegn spannungsbereich ziemlich schlecht

von Max und Moritz (Gast)


Lesenswert?

also die internen wohlgemerkt

von Jadeclaw D. (jadeclaw)


Lesenswert?

Zeit, diesen Thread mal wieder auf ein nutzbares Niveau zu bringen.
Die Beschaltung, die Falk gepostet hat, sollte eingehalten werden, so 
ist es auch von Atmel empfohlen. Statt der 10µH-Drossel geht auch ein 
47Ohm-Widerstand, wenn die Drossel gerade nicht greifbar ist. Es 
empfiehlt sich desweiteren, entweder die interne Referenzquelle zu 
benutzen oder eine externe Referenz anzuschließen. Die interne Referenz 
ist zwar nicht besonders genau, sie ist aber stabil, was man von einem 
7805 nicht gerade behaupten kann. Eine Led zusätzlich dran und der 
Meßwert springt. Als externe Referenz wären z.B. TL431 oder LM336-Z2,5 
geeignet. Auf der Softwareseite eine Mittelwertbildung einbauen, z.B. 32 
Meßwerte aufaddieren und dann durch 32 teilen. Beruhigt den Meßwert 
deutlich, weil kurze Spikes dann nicht mehr maßgebend durchschlagen. 
Falls keine hohe Reaktionsgeschwindigkeit benötigt wird, ein Tiefpaß 
bestehend aus 100kOhm und 100nF-Folie vor den ADC-Eingang gesetzt und es 
ist Ruhe. Absolut stabile Werte sind das Ergebnis mit einem ATMega16 auf 
einem Steckbrett.

Gruß
Jadeclaw.

von Ralph (Gast)


Lesenswert?

Hierzu gibt es 2!!! Antworten.

1. Die Genauigkeit des ADC steht im Datenblatt, ich kenne jetzt die 
Werte des AVR nicht, aber normalerweise ist das +- 1 oder 2 Digit.

2. Die Genauigkeit der kompletten ADC Wandlung.
Hier kommt die externe elektronische Signalverarbeitung hinzu. Also 
Tiefpass- Hochpass Filter, Spannungsteiler, Referenz Spannung, 
Leitungsführung,..........
Hier ist es umso aufwendiger und teurer je genauer das Ergebnis werden 
soll.
Aussagen dazu sind hier im Forum nicht möglich, dazu müsste die 
aufgebaute Schaltung ( nicht nur das Schaltbild, sondern auch Bauteile, 
Aufbau.....)im Detail analysiert werden.


Wenn mit Hobbymitteln schon eine 8 Bit Genauigkeit erreicht wird, ist 
das meiner Meinung nach schon sehr gut.

von Max und Moritz (Gast)


Lesenswert?

>Hier kommt die externe elektronische Signalverarbeitung hinzu. Also
>Tiefpass- Hochpass Filter, Spannungsteiler, Referenz Spannung,
>Leitungsführung,..........

Hat da vielleicht jemand Tips, wie man das gut hinbekommt?

von Peter (Gast)


Lesenswert?

Warum geht auch ein 470 ohm widerstand anstatt der 10uH Drossel?


Kann man den Widerstand berechnen?

von ADCgast (Gast)


Lesenswert?

wo steht hier was von nem 470 Ohm Widerstand?

von Michael H* (Gast)


Lesenswert?

weil man mit beidem einen tiefpass aufbaut. mit spule ist hat er grad 2 
- also 2 dekaden dämpfung pro dekade freuenz. mit widerstand hat er grad 
1.
google einfach nach rc- und lc-filter. formeln zur berechnung findest du 
auch ganz leicht.

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.