Forum: Mikrocontroller und Digitale Elektronik ATmega64 Port Spannung Problem


von Jay J. (webchen)


Lesenswert?

Hallo!

Wir arbeiten im moment mit einem ATMega64.
Heute haben wir ihn angeschlossen und zum ersten Mal programmiert.

Das funktioniert tadellos.

Wir wollten einfach eine LED anschalten, an einem normalen IO Port Pin.

Aus dem Controller kommen aber nur 2,86 V.

DDR und PORT Register sind definiert.

Was mach ich falsch?
Muss ich irgendwo einstellen, dass der externe Quarz verwendet wird?

Im moment benutzen wir einen 16Mhz Quarz. Ich denke dass ist nicht 
falsch.

Habt ihr ein Tipp, wo wir anfangen können zu suchen?

von spess53 (Gast)


Lesenswert?

Hi

Vorwiderstand an der LED?
Welcher Port?

MfG Spess

von Jay J. (webchen)


Lesenswert?

Wir haben PORTF und PORTA ausprobiert. Bei beiden das selbe.

Vorwiederstand haben wir groß genug gewählt, damit noch 5 mA fließen. 
Also eigentlich müsste sie leuchten.

Das was mich aber am meisten Wundert ist, dass die Spannung an den Ports 
NICHT 5V ist, so wie VCC definiert it.

An VCC liegt DEFINITIV 5V an. Also funktionieren sollte er...

von Drachenbändiger (Gast)


Lesenswert?

Port F? Falls ja: AVcc muss angeschlossen sein!
Betriebsspannung?

Ja, Du musst die Fuses entsprechend setzen, damit auch der externe Quarz 
verwendet wird. Im Lieferzustand ist der interne Oszillator aktiviert. 
Das sollte aber keine Rolle spielen, wenn das Programm nur einen Ausgang 
setzen soll (ohne PWM).

von Peter (Gast)


Lesenswert?

Jay Jay schrieb:
> DDR und PORT Register sind definiert.

sind sie auch Richtig definiert, wenn der Port als eingang ist dann kann 
das wegen dem Pullup durchaus mit den 2,8V hinkommen.

von spess53 (Gast)


Lesenswert?

Hi

Alle VCC angeschlossen? Bei PortF könnte auch das JTAG im Weg sein.

MfG Spess

von Jay J. (webchen)


Lesenswert?

Ich habe folgenden Code geschrieben um die Ports zu definieren.

Für mich hat das auf dem Entwicklungsboard immer funktioniert:


PORTF = 0xFF;
DDRF = 0xFF;

von Grrrr (Gast)


Lesenswert?

Was für eine Spannung misst Du denn wenn nichts angeschlossen ist?

von spess53 (Gast)


Lesenswert?

Hi

>PORTF = 0xFF;
>DDRF = 0xFF;

Das ist korrekt. Funktioniert aber beim PortF nur bei ausgeschalteter 
JTAG-Fuse an allen Pins.

MfG Spess

von Jay J. (webchen)


Lesenswert?

Ich messe nur 2,86 V.

von Spezi (Gast)


Lesenswert?

> Ich messe nur 2,86 V.

Etwas genauer bitte:
WO hast du diese Spannung gemessen? An allen Pins von Port F, an einem 
Pin, ...

Bei deiner Initialisierung müssten alle 8 Pins vom Port auf "1" (also 
ca. 5V) liegen.

Hängt am Port F sonst noch was dran? Sind am Chip ALLE (!) GND- und 
VCC-Anschlüsse korrekt beschaltet (also auch AVCC)?

von 54zhrt (Gast)


Lesenswert?

machs doch wie jeder andere und lass den strom in den µC reinfließen und 
nich raus

von Jay J. (webchen)


Lesenswert?

Also wir haben an besagtem PortF die Spannung gemessen.

Die Pins hatten unterschiedliche Spannungen habe ich mir sagen lassen.
Unter anderem von 2,5V hoch bis zu 5V. (sowas wie 2,9 V war auch dabei)

Das kann ja schlecht sein oder?

von spess53 (Gast)


Lesenswert?

Hi

>Also wir haben an besagtem PortF die Spannung gemessen.
>Die Pins hatten unterschiedliche Spannungen habe ich mir sagen lassen.
>Unter anderem von 2,5V hoch bis zu 5V. (sowas wie 2,9 V war auch dabei)
>Das kann ja schlecht sein oder?

Liest du eigentlich was hier geschrieben oder gefragt wird?

MfG Spess

von Jay J. (webchen)


Lesenswert?

Oh ja, sorry.

Ich wollte noch erwähnen, dass wir das ganz auch mit PORTA probiert 
haben.

PORTF war nur einfacher auf der Platine abzugreifen.

Bei PORTA war das auch so.

AVCC liegt auf 5V

UND JA: Ich lese was hier geschrieben wird.

von Jay J. (webchen)


Lesenswert?

Okay, das Problem wurde gelöst.

Der fehler lag im AVR-Studio. Die Version die wir verwendet haben (ich 
glaub es war 4.14) compilierte das Programm nicht richtig. Die Ports 
waren also undefiniert.

Nachdem ich CodeVision versucht hatte, klappte es.

Mit AVRStudio v4.17 klappt es komischerweise.

Danke an alle für die Hilfreichen tipps!

Der Controller läuft super!

Denkt bitte auch an die Fusebits, die musste ich auch noch setzen!
CompMode (für das Verhalten als ATMega103) und das Bit für den Quarz 
(das ist auch wichtig!)

Viel Erfolg noch

von spess53 (Gast)


Lesenswert?

Hi

>Der fehler lag im AVR-Studio. Die Version die wir verwendet haben (ich
>glaub es war 4.14) compilierte das Programm nicht richtig. Die Ports
>waren also undefiniert.

Das halte ich für ein Gerücht. Und ich kenne das AVR-Studio seit Version 
2.xx.

MfG Spess

von Stefan W. (wswbln)


Lesenswert?

LOL! Wie heißt es so schön? "Wenn der Schütze nichts taugt ist's Gewehr 
schuld!"

Aber AVCC, Compatibility-Fuse und JTAG muß wohl jeder selber mal 
durchmachen...

von Jay J. (webchen)


Lesenswert?

Naja, ich habs ja ausprobiert. Und das nicht nur 1 mal.

Kann natürlich auch woran anders gelegen haben.
Jedenfalls klappt es jetzt.

Will nur den Leuten bei möglichen gleichen Fehlern, helfen einen 
Ansatzpunkt zu finden.

Hasse es wenn die alle schreiben: PROBLEM GELÖST, und das wars ... -.-

von spess53 (Gast)


Lesenswert?

Hi

>Naja, ich habs ja ausprobiert. Und das nicht nur 1 mal.

Ich habe auch schon mal einen halben Tag vergeudet, nur weil im 
Programmer das falsche Flash-File eingestellt war.

>Kann natürlich auch woran anders gelegen haben.

100%-ig.

>Will nur den Leuten bei möglichen gleichen Fehlern, helfen einen
>Ansatzpunkt zu finden.

Da du den Fehler nicht benennen kannst, gibt es auch keinen Ansatzpunkt.

MfG Spess

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.