www.mikrocontroller.net

Forum: Mikrocontroller und Elektronik elementare Frage LED an AVR

Autor: ich (Gast)
Datum: 30.03.2007 12:11

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: 30.03.2007 12:16

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: 30.03.2007 12:19

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: 30.03.2007 12:24

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: 30.03.2007 12:46

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: 30.03.2007 12:50

Warum verwendest du bei Methode 1. einen 1k Widerstand und bei Methode
2. einen 470 Ohm Widerstand ???
Autor: johnny.m (Gast)
Datum: 30.03.2007 12:51

> 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: 30.03.2007 12:55

@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: 30.03.2007 12:56

Hab die Werte aus dem Tutorial (1k) bzw eine bestehenden Schaltung
(470).
Autor: johnny.m (Gast)
Datum: 30.03.2007 13:01

Den Vorwiderstand berechnet man nach

R_V = \frac{U_B-U_{LED}}{I_{LED}}
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: 30.03.2007 13:03

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: 30.03.2007 13:05

Hm, ist die Berechnung in Blindenschrift verfasst oder vergurkt nur mein
Browser etwas ansonsten lesbares?
Autor: Falk (Gast)
Datum: 30.03.2007 13:08

@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: 30.03.2007 13:08

> 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: 30.03.2007 13:09

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

;-)
Autor: ich (Gast)
Datum: 30.03.2007 13:18

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: 30.03.2007 13:20

> 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 (Firma db1uq) (christoph_kessler)
Datum: 30.03.2007 13:22

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: 30.03.2007 13:31

@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: 30.03.2007 13:41

> 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 Buchegger (kbuchegg) (Moderator)
Datum: 30.03.2007 13:45

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: 30.03.2007 14:13

ACK=1;
printf("Danke");

;-)
Autor: Jadeclaw Dinosaur (jadeclaw)
Datum: 30.03.2007 14:28

<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: 30.03.2007 21:45

@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: 15.04.2007 15:12

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 Email-Adresse ist freiwillig. Wenn Sie automatisch per Email über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
  • Aussagekräftigen Betreff wählen
  • Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
  • JPEG-Dateien (.jpg) nur für Fotos verwenden, Schaltpläne, Screenshots usw. als PNG oder GIF anhängen

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel





Hinweis: der Originalbeitrag ist mehr als 6 Monate alt.

webmaster@mikrocontroller.netImpressumWerbung auf Mikrocontroller.net