Forum: Mikrocontroller und Digitale Elektronik elementare Frage LED an AVR


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von ich (Gast)


Lesenswert?

Hallo

ich habe eine elementare Frage zum anschluß von LED an einen AVR.
Es gibt ja zwei Möglichkeiten.
1. LED+ an Vcc und über 1k Widerstand an AVR PIN (wie im Tutorial)
2. AVR PIN über 470Ohm an LED+ und LED- an Masse.

Man schaltet dann bei Mthode 1 die Led mit 0 an und bei Methode 2 mit 1 
an.

Gibt es gravierende Vor- bzw Nachteile bei den Varianten?

Danke

von Jadeclaw D. (jadeclaw)


Lesenswert?

Nein.
Ein AVR kann grundsätzlich 20mA in beide Richtungen.
Ausnahme: Alte AVR der AT90S-Serie.
Aber die sollte man eh nicht mehr für Neuentwicklungen nutzen, da 
obsolet oder abgekündigt.

Gruss
Jadeclaw.

von Erik S. (erik_s)


Lesenswert?

Mikrocontroller - oder zumindest die Atmels - können mehr Strom ableiten 
als liefern. Ob es noch einen anderen Grund hat? Warten wir auf die 
Experten.

Nachtrag: Zu langsam und wohl nicht auf aktuellem Stand. Wieder etwas 
lernen können.

von Jörg B. (manos)


Lesenswert?

Normalerweise sind sogar 40mA pro Pin zulässig (egal ob + oder -). 
Allerdings dann wieder mit Einschränkungen bezüglich max. Gesamtstrom 
pro Port (100mA) und pro Kontroller (200mA).

von ich (Gast)


Lesenswert?

Danke für die Antworten.
Nehme dann die Variante mit AVR PIN => 470Ohm => LED => GND

Irgendwie ist es für mein kleines Hirn schlüssiger ein Licht mit einem 
1-Bit anzuschalten und mit einem O-Bit auszuschalten als umgekehrt ;-)

von Obelix (Gast)


Lesenswert?

Warum verwendest du bei Methode 1. einen 1k Widerstand und bei Methode 
2. einen 470 Ohm Widerstand ???

von johnny.m (Gast)


Lesenswert?

> 1. LED+ an Vcc und über 1k Widerstand an AVR PIN (wie im Tutorial)
> 2. AVR PIN über 470Ohm an LED+ und LED- an Masse.
Die Größe des Widerstandes hängt von der LED ab (Flussspannung und 
Strom) und nicht von der Anschlussart. Ob Du die LED High- oder Low-Side 
anschließt, ist für den Widerstand unerheblich. Die Spannungsabfälle an 
den Ausgangstransistoren des µC-Ports sind weitgehend gleich und fallen 
kaum ins Gewicht.

von Falk (Gast)


Lesenswert?

@Erik s

>Mikrocontroller - oder zumindest die Atmels - können mehr Strom ableiten
>als liefern. Ob es noch einen anderen Grund hat? Warten wir auf die
>Experten.

Das hat mit Microcontrollern wenig bis gar nichts zu tun. Das Problem 
ist physikalisch/technologisch bedingt. Der Transistor, welcher das Pin 
gegen GND schaltet ist ein N-Kanal MOSFET. Dementsprechend ist der 
Transistor, welcher nach VCC schaltet ein P-Kanal MOSFET. Deswegen 
heisst es ja auch

C M O S (Complemenatary Metal Oxide Semiconductor).

Physikalisch/technologisch bedingt sind P-Kanal MOSFETS bei gleicher 
Geometrie schwächer als N-Kanal MOSFETS. Deshalb konnten früher die ICs 
mehr Strom ableiten (sink) als ausgeben (source). Heute macht man 
einfach die P-Kanal MOSFETS grösser und hat damit symetrische Ausgänge. 
Das ist vor allem bei schnellen ICs mit terminierten Leitungen (SDRAM 
etc.) notwendig.

MfG
Falk


von ich (Gast)


Lesenswert?

Hab die Werte aus dem Tutorial (1k) bzw eine bestehenden Schaltung 
(470).

von johnny.m (Gast)


Lesenswert?

Den Vorwiderstand berechnet man nach
wobei U_B die Betriebsspannung der Schaltung, U_LED die Flussspannung 
der Diode (bei Standard-LEDs [rot, grün, gelb] kann man näherungsweise 2 
V einsetzen, bei blauen und weißen LEDs ist es i.d.R. erheblich mehr) 
und I_LED der Strom ist, mit dem die LED betrieben werden soll (bei 
Low-Current-Typen 2...5 mA, bei Standard-Typen 10...20 mA Dauerstrom).

von yalu (Gast)


Lesenswert?

Bei Low-Pegel ist der Strom bei gleichem internen Spannungsabfall
betragsmäßig etwa 20% höher als bei High-Pegel (nachgeschaut bei
ATtiny13).

Die Asymmetrie der CMOS-Ausgänge entsteht, wie bereits von Falk
angemerkt,  durch den unterschiedlichen Drain-Source-Widerstand bei P-
und N-Kanal-MOSFETs gleicher Größe. Dieser Unterschied ist durch die
unterschiedliche Ladungsträgerbeweglichkeit des N- bzw. P-dotierten
Halbleitermaterials bedingt und liegt bei einem Faktor von 2 bis 3.

Dass der Unterschied in den Ausgangsströmen beim AVR deutlich geringer
ist, deutet darauf hin, dass man bei Atmel bemüht war, ihn durch
entsprechend größere P-Kanal-MOSFETs zumindest teilweise
auszugleichen.

Also: Wenn du's perfekt machen willst, schalte die LEDs gegen Vcc, die
Nachteile sind aber nicht gravierend, wenn du's andersherum machst.

von Frank (Gast)


Lesenswert?

Hm, ist die Berechnung in Blindenschrift verfasst oder vergurkt nur mein 
Browser etwas ansonsten lesbares?

von Falk (Gast)


Lesenswert?

@Frank

>Hm, ist die Berechnung in Blindenschrift verfasst oder vergurkt nur mein
>Browser etwas ansonsten lesbares?

Willkommen im Club. Mein Explorer 6.0 zeigt auch nur Braile an :-(

MfG
Falk

von johnny.m (Gast)


Lesenswert?

> Hm, ist die Berechnung in Blindenschrift verfasst oder vergurkt nur mein
> Browser etwas ansonsten lesbares?
Möglicherweise das zweite... Bei mir wirds jedenfalls korrekt angezeigt.

von johnny.m (Gast)


Lesenswert?

Also für die "nicht-Blinden":
R_V = (U_B - U_LED)/I_LED

;-)

von ich (Gast)


Lesenswert?

Um so mehr ich mich mit dem Thema beschäftige, desto weniger verstehe 
ich die 1k aus dem Tutorial.

Ich komme bei einer normalen LED (1,6V) und 5V Betriebsspannung bei 
einem Diodenstrom von sagen wir mal 10mA auf gerade mal 340Ohm?

von johnny.m (Gast)


Lesenswert?

> Ich komme bei einer normalen LED (1,6V) und 5V Betriebsspannung bei
> einem Diodenstrom von sagen wir mal 10mA auf gerade mal 340Ohm?
Möglicherweise ist im Tut eine Low-Current-LED gemeint...

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Bezüglich EMV ist das Schalten nach Masse etwas besser, da Masse 
meistens induktivitätsärmer als die Vcc-Leitung ist.
Die ersten TTL-Familien hatten den Totempole-Ausgang, der schaltete nur 
nach Masse richtig durch, zu Vcc war immer ein Widerstand integriert. 
Besonders sparsame Menschen benutzten ihn als LED-Vorwiderstand.

von Falk (Gast)


Lesenswert?

@Christoph Db1uq

>Bezüglich EMV ist das Schalten nach Masse etwas besser, da Masse
>meistens induktivitätsärmer als die Vcc-Leitung ist.

In schlechten Layouts in grauer Vorzeit vielleicht. Im Normalfall aber 
nicht.

>Die ersten TTL-Familien hatten den Totempole-Ausgang, der schaltete nur
>nach Masse richtig durch, zu Vcc war immer ein Widerstand integriert.

???
Gerade Totem-Pole wurde ja gebaut, um in BEEDE Richtungen richtig Dampf 
zu haben. Push-Pull!
Wir reden hier ja nicht von Open Collektor oder NMOS/PMOS Geraffel.

MFG
Falk

von yalu (Gast)


Lesenswert?

> Um so mehr ich mich mit dem Thema beschäftige, desto weniger
> verstehe ich die 1k aus dem Tutorial.

Die 1k sind so bemessen, dass normale LEDs einigermaßen leuchten und
Low-Current-LEDs nicht sofort kaputt gehen. Der Autor des Tutorials
legt ja nicht fest, welcher LED-Type verwendet werden soll.

Wenn du die verwendeten Bauteile genau kennst, kannst du alles
natürlich genauer dimensionieren.

Man muss eine LED auch nicht immer mit Maximalstrom betreiben. Die
Hälfte davon lässt sie fast genau so hell leuchten, schont die LED und
lässt dem µC noch Luft zum Atmen. Ausserdem sinkt der Stromverbrauch,
und damit der CO2-Ausstoß, der Treibhauseffekt und die Gefahr von
Überschwemmungen. Damit sparst du dir für deine Schaltung ein teueres
IP68-gehäuse :D

von Karl H. (kbuchegg)


Lesenswert?

johnny.m wrote:
>> Ich komme bei einer normalen LED (1,6V) und 5V Betriebsspannung bei
>> einem Diodenstrom von sagen wir mal 10mA auf gerade mal 340Ohm?
> Möglicherweise ist im Tut eine Low-Current-LED gemeint...

Ich denke das Tutorial wollte einfach nur auf der
sicheren Seite sein. Normale LEDs leuchten noch ein bischen
und Low Current Leds sind noch nicht überfordert.

Werde das bei Zeiten mal ändern: dezidiert normale handelsübliche
LED hinschreiben und den Widerstandswert auf 220 Ohm (mein
Standard Vorwiderstand).

Die Berechnung anzuführen halte ich an dieser Stelle des
Tutoriums für nicht sinnvoll
* zum einen hat ein Neuling selten ein Datenblatt für seine LEDs.
  Der kauft einfach eine Handvoll ein und damit hat sichs
* zum anderen kaufen Neulinge selten Low Current Leds und wenn
  dann ist er nicht mehr so Neuling und weiss was er tut.

ACK?

von ich (Gast)


Lesenswert?

ACK=1;
printf("Danke");

;-)

von Jadeclaw D. (jadeclaw)


Lesenswert?

<OT>
@Falk und Frank:
Der Internet Explorer hat massivste Probleme mit PNG-Bilddateien.
Deshalb die Blindenschrift-Effekte bei der Formeldarstellung.
Man sollte deshalb, und auch aus Sicherheitsgründen
den IE tunlichst nicht mehr verwenden.
Egal ob Version 6 oder 7.
Es gibt schließlich gute Alternativen.
</OT>

Gruss
Jadeclaw.

von guest (Gast)


Lesenswert?

@karl heinz buchegger

wenn ich richtig verstanden habe hast du gesagt dass du das tuturial 
ändern willst. ich persönlich halte es da sehr sinnvoll wenn man den 
rechenvorgang anhand eines datenblattes hinschreibt. irgendwann will man 
ja auch lernen wie man richtig die bauteile dimensioniert und wie man 
auf die werte kommt. und grad in einem datenblatt finden sich neulinge 
immer schwer zurecht da sie nicht wissen welche werte jetzt wirklich 
eine rolle spielen.

und die, die das nicht interessiert und nur die led zum leuchten bringen 
wollen, was fast den großteil betrifft, können noch immer nur den wert 
ablesen und irgendeine led nehmen

mfg

von Axel (Gast)


Lesenswert?

Ich habe unter
http://www.mikrocontroller.net/articles/AVR-Tutorial:_IO-Grundlagen#Hardware
mal einen Satz und einem Link zu diesem Thread eingefügt. Damit sollte 
der interessierte Leser dann zukünftig  nicht im Regen stehen.

@ich (Gast): Nachdem deine Frage recht ausführlich beantwortet wurde, 
hast du vielleicht Lust, aus diesem Thread einen Atikle zu macheb und 
das dann aus dem Tutorial zu verlinken...

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.