mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ADC - Beschaltung


Autor: Crash (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich bin gerade dabei den ADC zu testen und bin mir nicht sicher wie ich
die Hardware verlöten muss. Mit Vcc und GND hatte ich vorgestern
etliche Schwierigkeiten, der 100nF Kerko hat gefehlt, darum bin ich am
überlegen ob zwischen AVcc und GND auch einer hingehört.

Ich verstehe auch nicht ganz wie man den Widerstand wählt
(1...100kOhm).

Könnte sich vielleicht mal jemand meine Skizze anschauen, ob ich alles
richtig beschaltet habe.

Danke schon mal

Autor: Ratber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich erkenn da nicht viel also rate ich mal und du sagst obs richtig
ist.

Die Normale Versorgung und deren Masse auf der Linken seite ist klar
und ok


Rechts sollte es bei AVcc und deren Masse (AGND) genauso sein (Evtl
noch ne 10 Mikrohenry Induktivität in die Versorgung.Keine Panik,gibbet
fertig für einige Cent).

Was die Blau gezeichneten Komponenten (Widerstand und Kondensator)
sollen ist mir nicht eingängig.

Am AVCC kommt die Referenzspannung drann.

Also gibste 5V dran dann erstreckt sich der Komplette Meßbereich
des/Der A/D-Wandler genau von masse bis 5V (Also bei 10Bit 0 für 0V und
max 1023 für 5V)

Wenn der Meßbereich nur von 0-2V gehen soll dann gibste eben 2V drann.
Dann sind 0V immernoch 0 aber die 2V ergweben dann schon den Wert
1023.
Dsait ist der Meßbereich feiner aufgeteilt.

Nochmal zum Mitschreiben.

Diue Gesammte Auflösung des Wandlers (zb. 10Bit) erstrekt sich von
Masse bis zur Angegebenen Spannung.

Die Spannung am Controller darf allerdings nicht höher als 5V sein (die
5.5V aus dem Datenblatt sind "absolutes" Maximum und sollte nnciht
unbedingt bis zum letzten ausgerezt werden.)

Negativ gegen masse ist auch nicht drinn.

Also vermute ich mal das der Meßbereich von 0-4V gehen soll also
schließt du die AVCC an 4V an und läst dier beiden Blau
gekennzeichneten Elemente weg.

Da du vermutlich keine 4V hast mußt du dir sie erst schaffen.
zb. mit nem kleinen stabilen Spannungsregler.

Wenn die auflösung etwas gröber sein kann dann nimm einfach die 5V

Der Rest sieht ok aus.

Ich gehe mal davon aus das der Sensor als Spannungsteiler arbeitet oder
eine der zu messenden Größe proportionale Spannung ausgibt.
Jedenfalls lese ich das so aus dem Plan so heraus.

Autor: Helmut Hofmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich habe dazu noch 2 Fragen:

1. Wie weit kann ich mit der Spannung am AVCC nach unten gehen, um
möglichst kleine Meßspannungen mit dem AD-Wandler hoch aufzulösen?

2. Was ist mit dem Pin AREF? Wie muß dieser beschaltet werden?

Helmut

Autor: Ratber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Yo,ich hab mal eben gelesen was ich geschrieben hab.

also korrektur.(Ich hab AVCC und Aref einfach in einen Pott geworfen
ohne es zu merken)

An AVCC kommen in jedem Falle 5V.
Über diesen Pin wird der A/D-Wandler mit Saft versorgt und man hat die
möglichkeit die Versorgung des Analogen Teils komplett vom Digitalern
Teil zu trennen um Störungen zu vermeiden.

An Aref kommt die Referenzspannung.

Diese legt den Meßbereich fest und damit wie fein die abstufungen
sind.

Bei Maximalen ;Meßspannungen von unter 5V kann man also die Referenz
anpassen.
Bei mehr bleibts bei 5V und man Teilt das Meßsignal aber das sollte ja
klar sein.

Die Referenz sollte natürlich stabil sein wenn es recht genau sein
soll.
Dafür gibt es von Schaltungen bis zu fertigen Bauteilen viele
Möglichkeiten.

Zusätzlich haben viele Controller eine interne Referenz von zb. 2.56V.

Man kann per Registereinstellung festlegen was nun gültig ist.
Oft hat man da drei möglichkeiten.

1. AVCC
2. Interne Referenz
3. AREF

Imn Dateblatt des betrefffenden Controller steht wie man dahinkommt.

Autor: Helmut Hofmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die schnelle Antwort,
meine Frage war aber auch, wie niedrig ich die Referenzspannung an
ARef
einstellen kann? (bräuchte so um die 0,5V)
Steht da nicht im Datenblatt etwas von weniger als 2,7V unter AVCC?

Helmut

Autor: Ratber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Spannung am Aref darf natürlich nicht höher sein als die Spannung am
AVCC.

Ich nehme mal das Datenblatt vom M16

Dort steht es genau.

Vref= min 2V und max VCC+0.3V bei absolut MAx 5.5V

Also unterhalb von 2V ist nix zu machen.

Jetzt kommt bestimmt die Frage wie man es noch machen könnte.

Eigentlich einfach aber nicht ganz ohne aufwand.

Mit nem Operationsverstärker und nem festen Verstärkungsfaktor läst
sich das gut machen.

Autor: Crash (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke nochmal!

Also die Beschaltung von AVcc passt mit den 5,0V, GND auch.
Da ich 0-4V vom Sensor erwarte brauche ich also 4V an Vref um den
maximalen Bereich nutzen zu können (5,0V würde wohl auch gehen). Weiss
noch nicht, ob ich einen OP nehme oder einfach nur einen
Spannungsteiler.

Unklar ist aber immer noch, ob der 100nF zwischen AVcc und GND
hingehört. Schaden kann er nicht, denke ich mir, aber bin mir nicht
sicher.

Autor: Ratber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie du schon richtig sagtest kann er nicht schaden.

Im gegenteil.

Er fängt kurzfristige Schwankungen aufgrund von Leistungsimpulsen auf.

Stell dir die Stromversorgung so vor wie se in wirklichkeit ist.

Die Zuleitung stellt auch einen Widerstand dar und damit ist bei einem
Strom auch ein Spannungsabfall zu verzeichnen der sich ebenfalls auf
die Schaltung auswirkt.

Diese Ströme treten bei Controllerschaltungen aber immer kurzfristig
auf so das ein 100nF Kondensator mit niedrigem Innenwiderstand und
kurzer anbindung dieses "Digitale Rauschen" vorort abfangen kann.

Ich nutze immer mindestens ne Kombination aus 100-300nF (Je nachdem was
zu erwarten ist) und schalte noch ne kleine Induktivität davor die
einfallende Spannungsspitzen abfängt (Natürlichg nicht perfekt aber
einwenig siebung ist besser als garnix).

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo, kannst du kurz mal für einen anfänger ne kleine skizze/schaltplan

machen, damit ich sehen kann, wie du es meinst?

Autor: Crash (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@mike: die beschaltung bezüglich der Spule befindet sich in jedem
Mega-Datenblatt (S.199 beim MEGA8). Einfach noch 10µH zwischen Vcc und
AVcc, da sehe ich gerade, dass ich mir die 100nF-Frage auch hätte
sparen können.

@Ratber: Danke für deine ausführlichen Erklärungen.

Autor: Ratber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Yo,kein Prob.

Nochmal für alle die informationen rund um die Controller suchen.

Geht verdamt nochmal auf die verdammte Atmel Seite und ladet das
Verdammte Datenblatt für den jeweils Verdammten Controller runter.
Dort steht verdammt nochmal alles was man rund um den Verdammten
Controller braucht.

Und jetzt nen Verdammt guten Abend ggg :)

Autor: Crash (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Ratber ich brauche nochmal deine Hilfe!

Im AVR-GCC forum habe ich den Code von meinem ADC, läuft jetzt alles
nur etwas "falsch".
Ich messe am Sensor 3,82V (ziemlich konstant) und auch am Eingangspin
bei ADC0.

Faktor= Vref/1024 = 0,004824
Volt = Faktor * ADCL/H

Bei 3,8V macht ADCL/H ~= 787
Sind aber nur 518, also ca. 2,5V was am Display angezeigt wird! Auch
sind mir die Schwankungen etwas zu hoch +/- 0,05V, dürfte eigentlich
nicht sein. Woher kommt das?

Frage: Liegt das an der externen Beschaltung? (was ich mir aber nicht
vorstellen kann, da ich mit dem Multimessgerät direkt am Pin 3,8V
messe)
Oder ist das ein Fehler vom ADC?

Ist es zulässig einfach den Faktor so anzupassen, dass ich mit der
Kennlinie vom Sensor übereinstimme und funktioniert dass dann auch
richtig?

Autor: Crash (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, habe die Antwort selber, glaube ich.

Der zu niedrige Wert ist wegen dem Offset-Fehler vom ADC.
Ich muss also nicht den Faktor ändern, wäre auch dumm, da Vref ja immer
gleich bleibt, sondern die "fehlende" Spannung dazuaddieren, wobei,
addieren reicht auch schon.

Können die Schwankungen durch die fehlende Induktivität kommen?

Autor: Crash (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sorry nochmal spam:
Da ist mir vorhin was aufgefallen, ich hatte 2 AT90S4433 und einen
AT90LS4433 ausprobiert. Beim LS-Typ war der Offsetfehler nicht ganz so
gross, btw.

3,8V hätten es werden müssen
S4433: 1-1,6 V
LS4433: 2,5 V

Ist doch der Offsetfehler, oder ist der Unterschied zu groß um Offset
zu sein?

Autor: Ratber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also erstmal teile ich immer durch 1023 wenn ich den genauen wert pro
Digit haben will.

Bevor ichhier massig Zahlen reinwerfe sach ich einfach mal zum
einfachen vertändnis das ich einen 2 Bit AD habe.

Das sind 2^2 =4 Werte.
Also nach der Wandlung die Werte 0,1,2 und 3

(Bei 4 Bit 0-15. Bei 8 Bit 0-255 und bei 10 Bit 0-1023)

Bei 5V/4 käme ich auf 1.25V pro wert. Richtig ?

Demnach wären es :
Für     0  1.25 V
Für     1  2.50 V
Für     2  3.75 V
und für 3  5.00 V

Das stimmt natürlich nicht da bei 0V immer ne "0" ausgegeben wird.

Demnach muß ich bei 2 Bit die Referenz durch 2^(n-1) teilen.

Also bei 5V   5/3=1.66666667V pro Digit.

Bei 10 bit sind das also 5V/1023=0.004888 (Gerundet auf die 6. Stelle
nach dem Komma.)

Wie du auf deinen wert kommst weiß ich aber erstmal nicht.
Wenn ich 5V/1024 rechne dann sind das bei mir 0.0048828.
Egal.Auf jedenfall hab ich ne Abweichung von rund 0.1%.
aber das ist momentan nur rechnerisch und fällt nicht so ins Gewicht.


Zu deinem Problem.

Ich betreibe meine ADW's meist auch erstmal ohne irgendeine korrektur
im Programm und habe max 2 Digit als Rechenfehler.

Das wären dann ca. 0.01V also unerheblich.
Wo deine Schwankung herkommt ist mir zunächst schleierhaft.

Am besten wäre es natürlich mit nem Oszi. nachzusehen ob die Versorgung
bzw. das Eingangssignal irgendwelchen Schwankungen unterworfen ist.

Aber vermutlich haste das nicht also mußte nen anderen Weg gehen.

Ich nehme mal an das die versorgungsspannung einigermaßen stabilisiert
ist (Regler mit den dazugehöhrigen Kondensatoren umd die Schwingneigung
zu unterdrücken) und auch jeder Chip in der Schaltung seinen eigenen
Blockkondensator hat.
Desweiteren die 5V für den Wandler ebenfalls mit 100nF geblockt und
auch deren Masse angeschlossen ist.

Wenn dem so ist und das Problem weiterbesteht dann würde ich das
Meßsignal mal mit nem kleinen Kondensator etwas stützen (Nochmal
100-300nF über nen Widerstand von 1-5 Kohm.Der Wert des Kondensators
ist nicht so wichtig aaber es sollte kein Elko oder Tantal sein) um zu
sehen ob der wert nun wenigstens annähernd dahinkommt wo er hin soll.

Natürlich vermindert diese beschaltung die Reaktionsfähigkeit der
Meßspannung aber das isterstmal egal.

Desweiteren weiß ich jetzt nicht welche Ausgangsimpedanz der Teil der
Schaltung hat wo das zu messende Signal herkommt aber da die AD-Wandler
vom Controller normalerweise eine recht hohe eingangsimpedanz haben
(Meist mehrere Mohm) schließe ich mal einen Kopplungsfehler aus solange
das Signal wenigstens mit einigen hundert Mikroampere belastbar ist.

Schau erstmal und dann sehen wir weiter

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.