Forum: Mikrocontroller und Digitale Elektronik AD-Wandler Verschaltung an Atmega32


von Tom (Gast)


Lesenswert?

Hallo,

ich will über einen AD-Wandler Spannung/Strom messen. Dazu bekomme ich 
von einem Strommess-IC eine Spannung geliefert, die prop. zum fließenden 
Laststrom über eine Shunt ist. Nun soll diese Spannung auf den 
AD-Wandler geführt werden. Dazu habe ich mir den PA0 ausgesucht. Welche 
weitere Verbindungen muss ich ziehen damit ich den AD-Wandler betreiben 
kann und auf welchen Spannungspegel muss ich die legen? (Gnd, Aref, 
AVCC)

Gruß
Tom

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Das hängt davon ab, was du als Spannungsreferenz benutzen willst,
da gibt es mehrere Möglichkeiten.  Welchen Teil des Datenblatts
verstehst du gerade nicht?

Den Strommesswandler hättest du dir u. U. auch sparen können, ggf.
lässt sich das über eine Differenzmessung mit Verstärker ebenso
erledigen.

von Tom (Gast)


Lesenswert?

Hallo Jörg,

mit dem µC sollen 4 Motoren angsteuert werden. Diese Motoren ziehen 
einen Strom von ca 0,2 bis 0,4 A. Wenn diese Motoren gegen einen 
Widerstand fahren, sorgt eine externe Elektronik dafür, dass der Motor 
abschaltet. Dies gesshieht bei ca 1A. Nun will ich diesen Strom messen. 
Dazu habe ich das Strommess-IC, was mir eine Spannung prop. zum 
Laststrom fließt und diese verstärkt.

Bsp. Rs=0,1 Ohm; V=10 und Is=0,2A
daraus ergibt sich eine Spannung von 0,2V pro Motor, wenn er normal 
läuft.
Also so denke ich mir müsste der AD-Wandler min. 0,2V Schritte haben, 
vllt. auch noch kleiner. Die max. Spannung kann demnach 4V betragen.

Daher weiß ich nicht wie ich ihn Verschalten soll.

von Karl H. (kbuchegg)


Lesenswert?

Tom wrote:

> Daher weiß ich nicht wie ich ihn Verschalten soll.

Draht vom IC zum ADC Eingang.
Zweiter Draht vom IC, der die Masse mit der Masse des µC verbindet.

Den ARef vom Mega32 beschaltest du mit einem 100nF Kondensator
nach Masse.

Fertig. Der Rest ist Software.

http://www.mikrocontroller.net/articles/AVR-Tutorial:_ADC
Anstelle des Potis hast du deinen Mess-IC, der eine variable
Spannung liefert.

von Tom (Gast)


Lesenswert?

Und den AVCC schalte ich über eine LC-Reihenschaltung an VCC, wie im 
Datenblatt??

von Karl H. (kbuchegg)


Lesenswert?

Tom wrote:
> Und den AVCC schalte ich über eine LC-Reihenschaltung an VCC, wie im
> Datenblatt??

Ja, kann nicht schaden.

von Tom (Gast)


Lesenswert?

Jetzt habe ich mir das Tut. mal durchgelesen und leider verstehe ich 
nicht warum ich den AREF auf Masse über einen Kondensator legen soll?

Die Spannung die mein ADC mist wird doch wie folgt berechnet:

Spannung = Messwert*Ref.Spannung/1024

wenn ich habe eine Ref.Spannung von 0V habe messe ich doch keine 
Spannung, oder??

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Tom wrote:

> Jetzt habe ich mir das Tut. mal durchgelesen und leider verstehe ich
> nicht warum ich den AREF auf Masse über einen Kondensator legen soll?

Weil aller Wahrscheinlichkeit nach eine interne Referenzspannung
ausgewählt wird dort, und diese kann man mit einem Kondensator an
AREF abblocken.

von Gerd V. (gerald)


Lesenswert?

Hallo Tom,

was hälst Du davon, wenn Du Dir mal die Mühe machst und das Manual vom 
ATmega32 von der ATMEL_Homepage runter zu laden?
Im Kapitel ADC sind sämtliche Details genau beschrieben.
WARUM der Kondensator z.B. dort an die Referenzspannung angeschlossen 
werden muss, ist dort haarklein beschrieben..
Programmbeispiele in ASM und C sind dort auch vorhanden.
Wenn Du die interne Referenzspannung als Messgrösse für den ADC benutzt, 
muss diese extern geglättet werden. Es nun mal eine Referenzspannung und 
Schwankungen auf der Referenzspannung verfälschen zusätzlich dann Dein 
Messergebnis.
Laut Datenblatt hat diese Spannung einen Nominalwert von 2,55V und nicht 
0V wie Du vermutest. Natürlich musst Du dazu die entsprechenden Bits in 
den dazu gehörigen Registern auch richtig setzen.
Also es lohnt sich tatsächlich mal einen Blick in das Manual zu werfen.

Viel Spass beim Messen!

von Tom (Gast)


Lesenswert?

Das würde bedeuten, wenn ich die intere Ref.-Spannung von 2,56V 
aktiviere und einen ADC mit 10Bit Auflösung hätte, dann entspricht eine 
Messstufe 2,5mV??

Jetzt habe ich gelesen, dass man auch nur die ersten 8 Bits holen kann, 
entspricht, dann eine Messstufe 0,01 V???

von Johannes M. (johnny-m)


Lesenswert?

Tom wrote:
> Das würde bedeuten, wenn ich die intere Ref.-Spannung von 2,56V
> aktiviere und einen ADC mit 10Bit Auflösung hätte, dann entspricht eine
> Messstufe 2,5mV??
Ja, ungefähr.
wobei n die Auflösung des ADC in Bit ist.

> Jetzt habe ich gelesen, dass man auch nur die ersten 8 Bits holen kann,
> entspricht, dann eine Messstufe 0,01 V???
Korrekt, wenn man nur die 8 MSB auswertet, dann bekommt man eine um 
einen Faktor 4 geringere Auflösung.

Zu der AREF-Geschichte: An AREF wird nur ein Kondensator zur 
Stabilisierung der Referenzspannung gegen AGND angeschlossen, es sei 
denn, man möchte eine Referenzspannung  nutzen, die der µC intern nicht 
zur Verfügung stellen kann. Die wird dann an AREF eingespeist. Der 
Mega32 kann intern AVCC und eine interne Referenz von 2,56 V (die 
allerdings für echte "Messungen" i.d.R. zu ungenau ist) bereitstellen. 
Falls eine dieser beiden verwendet werden soll, ist außer dem 
Kondensator nichts an AREF anzuschließen.

von Tom (Gast)


Lesenswert?

Wenn ich nur die 8 höchstwertigen Bits benutze, habe ich dann auch quasi 
einen 8Bit Wandler?? Kann ich auf diese weiße mein Toggel des LSB 
verhindern???

von Johannes M. (johnny-m)


Lesenswert?

Tom wrote:
> Wenn ich nur die 8 höchstwertigen Bits benutze, habe ich dann auch quasi
> einen 8Bit Wandler?? Kann ich auf diese weiße mein Toggel des LSB
> verhindern???
Ja, z. B..

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.