Atmega32 zieht zu viel Strom

OP #1956224
Lesenswert?

Hallo,
mit meinem Atmega wollte ich 8 LEDs direkt am µC betreiben. Pro LED 20 
mA. Die lEDs sind so angeschlossen, dass der µC den Ground darstellt.

20mA * 8 = 160mA.
Der Atmega32 verträgt laut Handbuch nur 200mA, sodass eigentlich alles 
in Ordnung sein sollte.

Bei 4 LEDs ging alles noch gut und der µC zog genau so viel Strom wie er 
sollte. Bei 8 LEDs merkte ich, dass er 100 mA zu viel zieht! Also sogar 
mehr als erlaubt.

Die LEDs sind von mir alle einzeln durchgemessen und verbrauchen mit den 
Vorwiderständen genau 20 mA.

Wenn ich alle Bauteile aus meiner Schaltung herausnehme und nur den 
Atmega32 übrig lasse, wird immernoch 120 mA verbraucht! O_O
Alle Kontakte die an die I/O-Pins angeschlossen sind liegen dann offen!
Ohne den Atmega bleiben nur 20 mA übrig, was auf die Interrupts, 
Resetschaltung und StatusLED zurückzuführen ist. Also wo verschwinden 
die 100mA?

Ist der µC kaputt?
Auch im Power-Down-Modus werden diese 100mA zu viel verbraucht.

Kann mir jemand einen Tipp geben, wo ich suchen sollte?
Der Fehler trat also auf, seit ich die restlichen 4 LEDs anbrachte. 
Dafür musste ich 4 Drähre verlegen.

Ich habe vorsichtshalber meine Schaltung hochgeladen. Falls es jemanden 
interessieren sollte.

Vielen Dank
Angehängte Dateien:
#1956236
Lesenswert?

@  Sergej M. (sergej_m)

>20mA * 8 = 160mA.
>Der Atmega32 verträgt laut Handbuch nur 200mA, sodass eigentlich alles
>in Ordnung sein sollte.

Ist es auch. Aber im Zeitalter der Ultrahellen LEDs tun es auch 5 oder 
10mA/LED.

>Wenn ich alle Bauteile aus meiner Schaltung herausnehme und nur den
>Atmega32 übrig lasse, wird immernoch 120 mA verbraucht!

Dann hast du einen Kurzschluss an einigen Pins.

>O_O
>Alle Kontakte die an die I/O-Pins angeschlossen sind liegen dann offen!
>Ohne den Atmega bleiben nur 20 mA übrig, was auf die Interrupts,
>Resetschaltung und StatusLED zurückzuführen ist.

Was sollen Interrupts sein? Die gibt es nur IM AVR.

>Ist der µC kaputt?
>Auch im Power-Down-Modus werden diese 100mA zu viel verbraucht.

Kurzschluss. Prüfe dein Platine GENAU!

>Der Fehler trat also auf, seit ich die restlichen 4 LEDs anbrachte.
>Dafür musste ich 4 Drähre verlegen.

Siehe oben.

MFG
Falk
#1956274
Lesenswert?

Vielleicht ist PA0 (noch) nicht als Eingang initialisiert (und daselbe 
für PD2/3, falls da die Taster auf Dauermasse schalten).

>Ohne den Atmega bleiben nur 20 mA übrig, was auf die Interrupts,
>Resetschaltung und StatusLED zurückzuführen ist. Also wo verschwinden
>die 100mA?

Ohne Atmega können keine 20mA fließen. Nur ein Spannungsregler mit 
Status-LED - 2mA, und links oben ein 1kOhm. Macht rund 7mA. Zusätzliche 
10mA könnten zusammenkommen, wenn Deine Interrupts (and PD2/3) via 
Taster auf Masse hängen - was aber nicht sein dürfte. Was zieht die 
LCD-Beleuchtung? Eigentlich nix, weil dort am Display NC und NC steht.
Gast #1956280
Lesenswert?

Im Datenblatt steht versteckt:

27. Electrical Characteristics


Notes:

3. Although each I/O port can sink more than the test conditions (20 mA 
at Vcc = 5V, 10 mA at Vcc = 3V) under steady state
conditions (non-transient), the following must be observed:
PDIP Package:
1] The sum of all IOL, for all ports, should not exceed 200 mA.
2] The sum of all IOL, for port A0 - A7, should not exceed 100 mA.
3] The sum of all IOL, for ports B0 - B7,C0 - C7, D0 - D7 and XTAL2, 
should not exceed 100 mA.



Port B+C+D überlastet:
7*20mA = 140mA zusammen darf es aber nur 100mA sein.
OP #1958985
Lesenswert?

DRJ schrieb:
> Im Datenblatt steht versteckt:

> 1] The sum of all IOL, for all ports, should not exceed 200 mA.
> 2] The sum of all IOL, for port A0 - A7, should not exceed 100 mA.
> 3] The sum of all IOL, for ports B0 - B7,C0 - C7, D0 - D7 and XTAL2,
> should not exceed 100 mA.
>
> Port B+C+D überlastet:
> 7*20mA = 140mA zusammen darf es aber nur 100mA sein.

Danke DRJ,
Das habe ich nicht gesehen! Ich habe einige LEDs auf den Port A 
umgelötet.


SO:
Ich habe den Flash-Speicher des Atmega32 jetzt gelöscht und die Fuses in 
den Ursprungsztustand versetzt. Anschließend habe ich ihn ausgebaut und 
lediglich an den Pins VCC und GND angeschlossen. Dabei zieht der µC 
satte 72,5 mA, was fast 70 mal mehr ist, als normal.
Ich vermute, dass der µC schrott ist, obwohl er sich noch programmieren 
lässt und sonst keine Fehlfunktionen zu erkennen lässt.
Ist das möglich? :/
Gast #1959444
Lesenswert?

Klar ist das möglich!
Denn der µC-Kern únd der Flash Speicher haben erstmal gar nichts mit den 
Portpins zu tun.
Und wenn eines oder mehrere Portpins defekt sind, ziehen sie halt 
außergewöhnlich hohen (Kurzschluß-)Strom, während der innere Kern noch 
scheinbar gut werkelt.

Es ist ja wie mit dem Auto: Ist die Karosserie (teilweise) beschädigt, 
kannst Du mit dem Auto immer noch Motor anlassen, kuppeln, fahren, 
tanken usw. Bekommt halt vielleicht einen stark erhöhten Luftwiderstand 
... grins

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren