Forum: Mikrocontroller und Digitale Elektronik Atmega32 zieht zu viel Strom


von Sergej E. (sergej_m)


Angehängte Dateien:

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

von Falk B. (falk)


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

von Sergej E. (sergej_m)


Lesenswert?

Ok, danke.

Bevor ich diesen Beitrag schrieb habe ich bereits jede Verbindung 
durchgetestet und mit dem Durchgangsprüfer nach eventuellen 
Kurzschlüssen gesucht. Obwohl nur 4 neue Leitungen dazu kamen, habe ich 
trotzdem auch die alten Leitungen angeschaut. :(

von Purzel H. (hacky)


Lesenswert?

Im Zeitalter der ultrahellen LEDs genuegen auch 100uA pro LED, dh mit 
einem 7.5kOhm in Serie ist auch gut.

von Sergej E. (sergej_m)


Lesenswert?

Nur zur Erinnerung habe ich zurzeit auf der schaltung nur eine 
2mA-Status LED am Spannungsregler hängen.

von Jens G. (jensig)


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.

von DRJ (Gast)


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.

von Skipper (Gast)


Lesenswert?

Der µC "tobt" ja mit einigen MHz, ist also kein Gleichstrom, was der 
zieht.
Kann Dein Multimeter Wechselstrom so hoher Frequenz messen?
Oder misst du mit Scope und Widerstand?

von holger (Gast)


Lesenswert?

>Obwohl nur 4 neue Leitungen dazu kamen, habe ich
>trotzdem auch die alten Leitungen angeschaut. :(

Welche 4 Leitungen?

von Chris (Gast)


Lesenswert?

Ich hab auch mal ewig nach einem solchen Fehler gesucht und dann mal die 
SPI Progger getrennt....

Da wars dann so wie es sein sollte.

von Sergej E. (sergej_m)


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? :/

von Martin (Gast)


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

von Sergej E. (sergej_m)


Lesenswert?

Danke Dir Martin,
Diesen Fehler habe ich bisher bei keinem Atmega beobachten dürfen.

Kann ich den trotzdem weiter benutzen?
Ich habe Angst, dass mein Programmer oder PC davon einen Schaden nimmt. 
Ich nutze einen USB-Programmer (den s.g. USBProg).

von Jens G. (jensig)


Lesenswert?

>Kann ich den trotzdem weiter benutzen?
zum Rumspielen ja. Für'n ernsthaften Einsatz in einer Daueranwendung 
nein.

von Ben _. (burning_silicon)


Lesenswert?

wird der warm?

ich würd den wegschmeißen weil du nicht weißt auf welche portpins du 
dich noch verlassen kannst und wann er endgültig aufgibt.

kurz mal 24V~ dran und das problem ist geklärt... ;)

von Sergej E. (sergej_m)


Lesenswert?

Jap, er wird lauwarm, selbst wenn er nichts macht.

Ich habe mich dazu entschlossen zu warten, bis der Controller kaputt 
geht oder ich einen Fehler darin entdecke. Dann tausche ich ihn aus.

Vielen Dank an die, die mir geholfen haben!

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.