Forum: Mikrocontroller und Digitale Elektronik AD-Wandler STK500 ATMega32


von ben90 (Gast)


Lesenswert?

Hallo!
Bin auch ein Anfänger am experimentieren mit dem AD-Wandler eines 
ATMega32 auf einem STK500...
Dank der ganzen anderen Threads hab ich den auch zum laufen bekommen. ;)
Aber ich habe noch ein Problem was ich nicht verstehe:

Zuerst habe ich an einem Port den VTG und den GND genommen und so 
verbunden:

VTG-------R10k------------R2K----------GND

Zwischen den Wiederständen ist eine weitere abzweigung zum ADC1 pin....
VTG ist 5V und der AD-Wandler zeigt auch richtig den richtigen Wert 
an...

Nun habe ich statt die PINS VTG und GND eine Batterie genommen...4.5V...
So bekomme ich aber am Controller keine Messung...
Wie sind denn so eigentlich die Stromkreise?
Muss man AGND noch mit GND der batterie verbinden?

Thanks,
ben90

von Hmm... (Gast)


Lesenswert?

> Muss man AGND noch mit GND der batterie verbinden?

Jap, muss man. Ohne einen gemeinsamen Bezugs-/Massepunkt wird das nix 
mit
der Messung.

von ben90 (Gast)


Lesenswert?

Wo ist eigentlich AGND beim STK500? Gibt keinen PIN davon...
Was ich auch noch nicht kapiere ist was nun die Clock frequenz von 
meinem ATmega32 ist...wegen dem Vorteiler beim ADC...

- in den FUSES steht was von CKSEL...da ist grad default 1MHZ
- unter Advanced steht was von Oscillator Calibration Byte...das is 
deaktiviert...
- unter HW-Settings steht was von Clock Generator...steht auf 4MHZ...

Was davon ist jetzt meine Frequenz worauf ich den Teiler abstimmen muss? 
o.O

von Hmm... (Gast)


Lesenswert?

> Wo ist eigentlich AGND beim STK500? Gibt keinen PIN davon...

Datenblatt gucken an mit welchem Portpin der ADC gemultiplext ist.
Dann einfach an den entsprechenden Port-Header auf dem STK500
anschliessen.

> Was ich auch noch nicht kapiere ist was nun die Clock frequenz von
> meinem ATmega32 ist...wegen dem Vorteiler beim ADC...

Der teilt den Systemtakt herab. Salop gesagt, je schneller du den ADC 
betreibst, desto ungenauer wird es.

> - in den FUSES steht was von CKSEL...da ist grad default 1MHZ

Das ist der Takt mit dem dein Controller arbeitet. Wahlweise interner
RC-Oszi (ungenau und meist nur sinnvoll wenn die UART nicht benutzt
wird), externer Quarz oder externer Takt.

> - unter Advanced steht was von Oscillator Calibration Byte...das is
> deaktiviert...

Damit kannst du den interne RC-Oszillator im Controller ein wenig
verstimmen. (siehe Appnote AVR351). Der RC-Oszi leibt trotzdem nicht 
wirklich für die UART nutzbar.

> - unter HW-Settings steht was von Clock Generator...steht auf 4MHZ...

Das ist der externe Takt, denn das STK500 deinem Mikrocontroller zur 
Ver-
fügung stellt.

> Was davon ist jetzt meine Frequenz worauf ich den Teiler abstimmen muss?

Verwendet wird bei dir der interne RC-Oszi mit 1 MHz. Wähl für den
Anfang ruhig einen großen Vorteiler, z.b. 64

von ben90 (Gast)


Lesenswert?

Danke für die ausführliche Erklärung!
Habs mal mit einem von den GND pins die aufm STK500 verteilt sind 
probiert...funktioniert einwandfrei ;)

Wieso Vorteiler 64?
Ich dachte der Takt muss zwischen 50 und 200 sein...
Bei 1 MHZ wär das dann nen Teiler zwischen 5 und 20?

MfG,
ben90

von Hmm... (Gast)


Lesenswert?

> By default, the successive approximation circuitry requires
> an input clock frequency between 50 kHz and 200 kHz to get
> maximum resolution. If a lower resolution than 10 bits is
> needed, the input clock frequency to the ADC can be higher
> than 200 kHz to get a higher sample rate.

Oha, sorry. Tatsächlich benötigt der ADC mindestens 50 kHz. Das
wär dann bei internem RC-Oszi ein Prescaler von 8 oder 16.

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.