naja hört sich schon krass an, da is schon irgendwie was im busch.
ich würd die pins eh nicht extern 'belasten' nimm sie halt als 'steuerausgänge' mit denen du über nen Transistor die LEDs an- bzw. ausschaltest.
Moin.
Hab hier nen ATMega8 der als "Uhrwerk" einer Binäruhr dient. Nur wird der nach kurzer Betriebszeit schon relativ heiss (1 Min: > 45°C).
Zuerst war ein zu hoher Stromfluss durch die LEDs in Verdacht. Darum wurde das Programm etwas geändert, dass die LEDs einzeln gepulst werden. Dabei war festzustellen, dass der AVR schon allein im ISP-Programmer relativ warm wurde.
Weiterer Test: Der AVR bekam nur eine Stromversorgung (5V/Masse) und wurde dort wieder warm.
Das aufgespielte Programm funktioniert jedoch problemlos.
Stromverbrauch im "Normalbetrieb" (Nur jeweils 1 LED an) mit Versorgung von 12V über 7805-Regler: 180 mA.
Kann es sein, dass der ATMega8 durchs Rechnen allein so heiss wird?
Oder hat der nen Schuss und geht bald hops?
MfG
S.C
naja hört sich schon krass an, da is schon irgendwie was im busch.
ich würd die pins eh nicht extern 'belasten' nimm sie halt als 'steuerausgänge' mit denen du über nen Transistor die LEDs an- bzw. ausschaltest.
Hallo Jaecko,
so einen Mega8 hatte ich auch mal.
Wenn alle Ports auf Eingang standen, blieb er kalt.
Ein Portpin (von PortD) hatte sich verabschiedet.
Gruß, Michael
Hallo,
bei einem AVR kann es eigentlich nur an der Verkabelung liegen, wenn der heiss wird. (sofern kein interner Fehler vorliegt).
Welche Widerstände sind vor den LEDs, und welche LEDs wurden verwendet ?
Per Software ist es eigentlich nicht direkt möglich die Temperatur zu beeinflussen, abgesehen davon Ports zu schalten und evtl. einen Kurzschluss o.ä. zu verursachen.
Der AVR läuft immer mit 100% CPU-Leistung. Einen Stromsparmodus müsste man selber per Software einleiten.
Angesteuert werden die ja zum Teil über nen Transistor.
Ausgang für Reihen: AVR-Pin => Vorwiderstand 270 => LED => BC547 => Masse; der BC547 wird dann von einem Pin geschaltet (für die einzelnen Spalten).
Edit: Als LEDs werden die SLH 56 (Reichelt) verwendet
Bei nem anderen "Projekt" klappts so auch, nur dass dort der AVR eben die selbe Temperatur behält wie die Leiterplatte, also "kalt".
Wie hast Du dir den Vorwiderstand ausgerechnet, ich bin da zwar nicht der Profi in den Elektrischen sachen, aber mir scheint dieser zu klein für den AVR zu sein.
Der AVR verkraftet pro Pin zwar 20mA, aber es muss die Summe aller Pins beachtet werden, dann kann es schon sein, das er warm wird.
Wenn ich richtig gerechnet habe, sind es knapp 16mA pro Pin, bei 270Ohm und 5V Ausgangsspannung.
@Jaecko:
Kannst du mal den gesamten Schaltplan als Bild posten... es ist definitiv nicht in Ordnung, daß der AVR so warm wird. Selbst wenn du an jeden Ausgang eine LED packst dürfte der eigentlich noch nicht so warm werden.
Gruß,
SIGINT
@ linux:
bei Ic = 20mA -> Hfe = 200 -> Ib = 100nA, also da bist weit weg
Ich hatte mal einen ATMega, der heiß geworden ist. Da war der Widerstand zw. VCC und GND zu klein (100Ohm). Der sollte normalerweise bei nen paar MegaOhm liegen.
Kannst du ja mal nachmessen.
Achtung, soweit ich weiß, verträgt der ATMega maximal 20mA pro Port. Pro Pin ist es dann deutlich weniger. Ich hoffe, das stimmt so.
jon
Nice to be back after two years
www.roboterfreak.de
Den Vorwiderstand für die LEDs hab ich einfach mit R = U/I = 5V / 0,02A = 250 errechnet; Nächst kleinerer vorhandener war dann der 270er. Und mehr als 1 LED gleichzeitig brennt ja nie, also sollte da garnicht zu viel Strom gezogen werden
EDIT:
Schaltplan hier im Anhang.
Hoffe dass ich alles so richtig nachgezeichnet und nichts vergessen hab.
Die Kontakte "Reihe" und "Spalte" gehen zur LED-Matrix.
Edit: Anhang aus Platzgründen entfernt
#ifndef MfG
#define MfG
Lesezeichen