www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Portspannung am ATmega bricht ein


Autor: Der mit den Bytes tanzt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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?

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schaltplan? Sonst geraten: Versorgungsspannung korrekt anschließen.

Autor: Stefan Wimmer (wswbln)
Datum:

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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Code schickt man als ASM, nicht als PNG.

Zeig mal das Assemblerlisting.


Peter

Autor: Der mit den Bytes tanzt (Gast)
Datum:

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

Autor: Michael G. (linuxgeek) Benutzerseite
Datum:

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

Autor: Stefan Wimmer (wswbln)
Datum:

Bewertung
0 lesenswert
nicht 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).

Autor: Der mit den Bytes tanzt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: Michael S. (msk) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Der mit den Bytes tanzt (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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“?

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Der mit den Bytes tanzt (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

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.