Forum: Mikrocontroller und Digitale Elektronik Portspannung am ATmega bricht ein


von Der mit den Bytes tanzt (Gast)


Angehängte Dateien:

Lesenswert?

Guten Tag,

ich habe einen ATmega162, und wollte alle I/O Ports als Ausgang 
deklarieren und auf high setzen (meine persönliche Art der 
Funktionsprüfung). Habe, wie es sich gehört, alle DDRx-Register und alle 
PORTx-Register auf high gesetzt (Nebenbei: JTAG habe ich abgeschaltet, 
um diese Ports auch nutzen zu können).

Nun das Problem: Messe ich an den Ausgängen die Spannung mittels 
Multimeter, zeigt mir das Messgerät 4,95V an. Schließe ich an einen 
Ausgang eine LED (1.9V, 2mA) mit Vorwiderstand (R=1,5kΩ) an, sinkt die 
Spannung auf ca. 1,8V ab. Dies ist aber nur bei den Ports PA, PB, PC und 
PD so, der Port PE bleibt stabil.

Habe es auch mit einem anderen – auch ATmega162 – versucht. Bei ihm das 
gleiche Problem. Mit einem ATmega16 habe ich es auch versucht. Der hat 
zwar kein Port PE, aber ansonsten genau das Gleiche.

Die Versorgungsspannung bleibt stabil (Netzteil: 5V, 5A).

Der Sourcecode ist natürlich relativ simpel.

Woran liegt das und was muss ich machen?

von Gast (Gast)


Lesenswert?

Schaltplan? Sonst geraten: Versorgungsspannung korrekt anschließen.

von Stefan W. (wswbln)


Lesenswert?

...hast Du diese !%$"§ Kompatibilitäts-Fuse vergessen umzuprogrammieren?

von Peter D. (peda)


Lesenswert?

Code schickt man als ASM, nicht als PNG.

Zeig mal das Assemblerlisting.


Peter

von Der mit den Bytes tanzt (Gast)


Lesenswert?

Was sind !%$“§ Kompatibilitäts-Fuse und was ist ein assemblerlisting?

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Zeig uns mal die Schaltung. Hoert sich eigentlich nach Ueberlast an, 
aber es koennte natuerlich auch noch andere Ursachen haben.

von Stefan W. (wswbln)


Lesenswert?

Der mit den Bytes tanzt schrieb:
> Was sind !%$“§ Kompatibilitäts-Fuse und ...?


Sorry, da war ich gerade mit den Fingern schneller als mit dem 
Datenblatt Lesen: Die Mega162 haben zwar eine '161-compatibility Fuse, 
womit der extended-IO-Bereich dem RAM zugewiesen werden kann, aber die 
ist von Hause aus unprogrammiert (anders als die 'berüchtigte' 
'103er-Kompatibilität beim Mega64).

von Der mit den Bytes tanzt (Gast)


Angehängte Dateien:

Lesenswert?

Die Schaltung, die einige von euch sehen wollen, ist auch ganz simpel. 
Zur Erinnerung: Die LED-Schaltung, die ich anschließe, zieht ca. 2mA. 
Ich schließe jeweils auch immer nur eine LED an. Zudem kann ein Ausgang, 
laut Datenblatt Seite 264, jeweils 40mA liefern.

von Michael S. (msk) Benutzerseite


Lesenswert?

Ist das Teil auch mal nach dem Start resettet worden? So, wie der Reset 
beschaltet ist, wird jedenfalls beim Anlegen der Betriebsspannung kein 
Reset durchgeführt.
Ansonsten würde ich der (Über-)Korrektheit halber bei Ausgängen erst die 
Ports auf einen definierten Startwert setzen und danach die Ports als 
Ausgänge konfigurieren.

von Der mit den Bytes tanzt (Gast)


Lesenswert?

Ich habe was Wichtiges hinzuzufügen. Ich habe mittels des PUD-Bit 
(SFIOR-Register) ALLE Pull-Ups abgeschaltet. Beim Messen an den Ports 
lag dann nicht mehr das erhoffte Potential von ca. 5V an, sondern ca. 
0,1V – also Low-Pegel. Ich habe den Source-Code so gelassen, wie vorher; 
aber habe halt, wie gesagt, die Pull-Ups „gesondert“ abgeschaltet. Das 
heißt, irgendwie funktioniert das mit dem Ausgang-Deklarieren nicht 
(denke ich mal).

@Michael S. : Ja, ich resete – mittels Drahtbrücke – jedes Mal.

> bei Ausgängen erst die Ports auf einen definierten Startwert setzen

Wie geht dieses „auf definierten Startwert setzen“?

von (prx) A. K. (prx)


Lesenswert?

Michael S. schrieb:

> Ist das Teil auch mal nach dem Start resettet worden? So, wie der Reset
> beschaltet ist, wird jedenfalls beim Anlegen der Betriebsspannung kein
> Reset durchgeführt.

Doch, der Kondensator ist optional.

von Michael U. (amiga)


Lesenswert?

Hallo,

da hier letztens schon so eine Kuriosität mit angeblich falschen Daten 
auftauchte:

die m162def.inc ist 100% ok?

Gruß aus Berlin
Michael

von Der mit den Bytes tanzt (Gast)


Lesenswert?

Nein, die Widerstände sind korrekt gewählt, die Platine hat auch keine 
Kurzschlüsse usw. Ich habe den Strom, der durch die LEDs fließt, schon 
zu Beginn gemessen. Beim Anlegen von 5V an die LED-Widerstand-Schaltung, 
fließen ca. 2,16mA.

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.