www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik elementare Frage LED an AVR


Autor: ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jadeclaw Dinosaur (jadeclaw)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Erik S. (erik_s)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jörg B. (manos)
Datum:

Bewertung
0 lesenswert
nicht 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).

Autor: ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ;-)

Autor: Obelix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum verwendest du bei Methode 1. einen 1k Widerstand und bei Methode 
2. einen 470 Ohm Widerstand ???

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Falk (Gast)
Datum:

Bewertung
1 lesenswert
nicht 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


Autor: ich (Gast)
Datum:

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

Autor: johnny.m (Gast)
Datum:

Bewertung
1 lesenswert
nicht 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).

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Frank (Gast)
Datum:

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

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: johnny.m (Gast)
Datum:

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

;-)

Autor: ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Christoph Kessler (db1uq) (christoph_kessler)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ACK=1;
printf("Danke");

;-)

Autor: Jadeclaw Dinosaur (jadeclaw)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: guest (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Axel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe unter
http://www.mikrocontroller.net/articles/AVR-Tutori...
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...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.