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.
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?
@ 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
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
meine beschaltung sieht folgendermaßen aus AVCC mit AREF verbunden und mit VCC Programm ist kalibriert ist die beschaltung richtig?
@ 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
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...
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 !!!
=========================================================
=========================================================
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)
1 | ;; |
2 | ,;;'\ |
3 | __ ,;;' ' \ |
4 | /' '\'~~'~' \ /'\.) |
5 | ,;( ) / | |
6 | ,;' \ /-.,,( ) |
7 | ) / ) / |
8 | || || |
9 | (_\ (_\ |
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.
@ 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
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.
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.
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?
!!! wrote: >>AVcc und ARef getrennt lässt und per ADMUX verbindet. > > ???????? Ja, über die REFSx Bits im ADMUX Register.
@ 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
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?
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.
Da Falk anscheinend nicht mehr mitliest, und bevor es jetzt die ganze Zeit so weiter geht: Bildformate!
@ 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
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.
@ 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 . . .
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?
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.
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.
Etwa so. Die 10uH kann man wie bereits gesagt auch durch eine Drahtbrücke ersetzen. MFG Falk
@ 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
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.
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.
>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?
Warum geht auch ein 470 ohm widerstand anstatt der 10uH Drossel? Kann man den Widerstand berechnen?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.