PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : LEDs und ATMEGA8



tobi.robotz
14.02.2009, 20:51
Hallo.

Ich habe auf der Seite mikrocontroller.net das Toturial zum AVR begonnen.
Ich bin auf der Seite "IO-Grundlagen".
http://www.mikrocontroller.net/articles/AVR-Tutorial:_IO-Grundlagen
Ich habe nachgelesen, dass der AVR 40mA aus dem IO-Pin und in den IO-Pin aushält. Meine Frage ist: Wieso wählt man hier solche Widerstände?
1. LED+ an Vcc und über 1k Widerstand an AVR PIN (wie im Tutorial)
oder
2. AVR PIN über 470Ohm an LED+ und LED- an Masse.

Ich habe rote LEDs also Uf=1,2 V; If = 20mA -> 5V-1,2=3,8. R=U/I -> 3,8V/20mA = 190OHM.
Bei 1K kommt man doch nur auf 3,8mA und bei 470 OHM (mit 5V gerechnet) auf 8,1mA. Wie bestimmt man diese Widerstände? Fließt wirklich nur so ein geringer Strom? Die beiden Werte sind unterschiedlich weil VCC nicht H-Pegel am Pin entspricht? Darf ich auch einen gemeinsamen Vorwiderstand nehmen (Bei 6 LEDs dann eben R/6)?

Besserwessi
14.02.2009, 21:23
Die meisten LEDs vertragen höchstens 20 mA dauernd. Wenn man nicht die ganz billige / schlechte Sorte hat, sind LEDs auch bei 5 mA schon ausreichend hell. Mit weniger Strom ist man da auf der sicheren Seite.
Mit dem relativ hohen Widerstand fließt wirklich nur ein so kleiner Strom, vielleicht ein kleines bischen mehr weil Uf auch etwas abnimmt.

LEDs einfach paralleschalten ist problematisch, also besser für jede LED einen Widerstand, vor allem wenn man sich nicht so gut auskennt.

Hubert.G
14.02.2009, 21:23
Die 40mA sind absoluter Grenzwert. Du darfst auch nicht übersehen das 300mA gesamt ebenfall Grezwert sind.
Darum sollte man wenn man schon LEDs direkt anschließt, LowCurrent Leds verwenden. Die sind auch mit 3mA schon hell genug.
Was du mit einem gemeinsamen Vorwiderstand meinst ist mir nicht klar. Solltes du Leds parallel schalten wollen, rate ich dir dringen davon ab. Die mit der etwas geringeren Spannung frisst den ganzen Strom und stirbt, dann die nächste usw.

Dirk
14.02.2009, 21:26
Hallo tobi.robotz,

Wie bestimmt man diese Widerstände? Fließt wirklich nur so ein geringer Strom?
Du hast Recht: Mit den Widerständen nutzt man die max. 20mA nicht aus. Das ist aber auch selten nötig, da die LEDs meist auch bei kleineren Strömen noch recht hell leuchten.
Ich würde auch den Betrieb von normalen LEDs direkt an Ausgangspins eher vermeiden, sondern die über Treibertransistor anschließen.

Wenn du ein Multimeter hast, probier mal für normale LEDs Vorwiderstände von 220 Ohm bis 470 Ohm aus. Das müßte gut passen.
Bei Low-current LEDs braucht man 1 kOhm .. 1,5 kOhm als Vorwiderstand. Jede LED sollte einen eigenen Vorwiderstand bekommen.

Was mir sonst noch an deinen Zahlen auffällt:
- Max. 400 mA kann insg. vom uC entnommen werden, also alle Lasten addieren!
- Am Ausgangspin sind bei Highpegel 4,2 .. 5 V zu messen, wenn man 20 mA entnimmt.
- Die Durchlaßspannung von LEDs liegt meist über 1,2 V

Gruß Dirk

PICture
14.02.2009, 21:44
Hallo tobi.robotz!

Deine Überlegungen und Berechnungen sind richtig. Ich würde einen gemeinsamen Vorwiderstand für nicht identische mehrere paralell geschaltete LEDs nicht empfehlen, es sei denn, dass ungleiche Helligkeit der LEDs in Kauf genommen und der maximaler gemessener Durchflußstrom keiner LED überschritten wird.

Ich würde sagen, dass ein Tutorial ermittelt nur ein Wissen über Programmierung eines µCs und muss sich mit Asteuerung der unbekannten, durch den Leser benutzten LEDs, nicht detaliert beschäftigen. Um ein Pegel eines I/O Pins zu signalisieren reicht doch meistens geringe Helligkeit.

MfG

tobi.robotz
14.02.2009, 22:04
Danke für die wirklich tollen Antworten.



Ich würde sagen, dass ein Tutorial ermittelt nur ein Wissen über Programmierung eines µCs und muss sich mit Asteuerung der unbekannten, durch den Leser benutzten LEDs, nicht detaliert beschäftigen. Um ein Pegel eines I/O Pins zu signalisieren reicht doch meistens geringe Helligkeit.
MfG

Das kann ich nur unterschreiben. Ich finde das Toturial auf mikrocontroller.net sehr sehr gut.