Strombegrenzung Pinout LED rot Vorwiderstand

Hallo,

ich lese immer wieder über eine Strombegrenzung von weit weniger als 40mA pro Pinout.

Auf der offiziellen Arduinoseite steht jedoch, dass ich pro Ausgangspin bis zu 40mA ziehen kann.

http://arduino.cc/de/Main/ArduinoBoardMega2560

Da ich an mehreren Ausgängen des Arduino Megas die unten angegebenen LEDs jeweils möglichst hell leuchten lassen möchte, habe ich mich für vorgeschaltete 100 Ohm Widerstände pro LED und Ausgangspin entschieden.

http://www.reichelt.de/LEDs-super-ultrahell/SLH-36-RT/3/index.html?&ACTION=3&LA=446&ARTICLE=18143&GROUPID=3019&artnr=SLH+36+RT

Achtung: Auf der Reicheltseite steht zu dieser LED im Datenblatt etwas anderes als in den Technischen Daten.

Nach Zusammenfassung sämtlicher mir vorliegenden Informationen bin ich zu dem Schluss gekommen, dass es hierbei theoretisch eigentlich keine Probleme geben dürfte, oder täusche ich mich?

Gruß Chris

Du täuschst Dich.
Wenn Du das Datenblatt http://www.atmel.com/Images/doc8161.pdf des ATmega328 auf Seite 313 und fußnoten zur Tabelle auf Seite 314 liest wirst Du sehen daß mehere Grenzwerte angegeben sind:
40 mA pro einzelnen Pin ( -> Ausgangstransistor)
200mA für die Versorgungspannungspins ( -> Interner Anschluß zum Die)
100 bzw 150mA für eine Gruppe von Pins ( -> Interne Verbindungen auf dem Die zwischen Versorgungspannung und Ausgangstransistoren)
Es gilt immer der niedrigste Wert für die gewählte kombination der Ausgänge.

Also Du kannst darum je nachdem auf welchen Pins Du die LED angeschlossen hast zwischen 4 und 8 gleichzeitig anschalten.

Grüße Uwe

Hallo Uwe,

ich bin wirklich nicht abgeneigt Datenblätter zu lesen, aber ich verstehe es leider noch immer nicht.

Kannst Du das von Dir Geschriebene noch etwas "änfängerfreundlicher" formulieren?

Was meinst Du z.B. mit "Die"? Danach kann man nicht wirklich googeln. :drooling_face:

Gruß Chris

Relevant ist Fußnote 3 auf Seite 314. Da stehen die Limits wenn man Strom bei Low in den Prozessor fließen lässt:
*The sum of all IOL, for ports C0 - C5, ADC7, ADC6 should not exceed 100 mA.
*The sum of all IOL for ports B0 - B5, D5 - D7, XTAL1, XTAL2 should not exceed 100 mA.

Fußnote 4 ist wenn man ihn als Stromquelle benutzt - d.h. bei High Strom heraus fließen lässt.

Hallo,

ein Chip mit sagen wir 10 Pins kann auf einem Pin einen gewissen Strom liefern ohne Schaden zu nehmen. Sagen wir z.B. 10mA bei 5 V pro Pin. Gleichzeitig kann der gesamte Chip eine Leistung von sagen wir 200mW in Wärme umsetzen ohne Schaden zu nehmen. Wenn nun ein Pin 10mA liefert, sind das 5V * 0,01A = 0,05W = 50mW. Bei einem Pin ok.
Das gleiche bei 2 Pins ergibt 100mW bei 3 Pins 150mW und bei 4 Pins 200mW. Das ist die Grenze. Obwohl er noch 6 freie Pins hat, an denen er 10mA liefern könnte, würde ein Pin mehr die maximale Verlustleistung des Chips (Ptot) überschreiten und er würde Schaden nehmen.
Der Einfachheit halber kann man auch sagen, er kann 10mA pro Pin liefern, aber insgesamt 40mA. Es können also nur 4 Pins maximal belastet werden oder 8 Pins können zur Hälfte belastet werden oder alle 10 Pins können zu 40% belastet werden.

Korrigiert mich bitte, falls ich Unsinn geschrieben habe.

Gruß,
Ralf

Ah- ok. Die Summe aus Euren Beiträgen hilft mir sehr. :slight_smile:

Muss jetzt nur noch rauskramen, welche Ports auf welchen Pins landen.. mal gucken, wo ich das hatte..

Danke soweit. :wink:

Gruß Chris

Siehe hier:
http://jobs.arduinoexperts.com/wp-content/uploads/2013/03/ARDUINO_V2.png

Und für den Mega:
http://www.pighixxx.com/pgdev/Temp/ArduinoMega_b.png

Schachmann:
Hallo,

ein Chip mit sagen wir 10 Pins kann auf einem Pin einen gewissen Strom liefern ohne Schaden zu nehmen. Sagen wir z.B. 10mA bei 5 V pro Pin. Gleichzeitig kann der gesamte Chip eine Leistung von sagen wir 200mW in Wärme umsetzen ohne Schaden zu nehmen. Wenn nun ein Pin 10mA liefert, sind das 5V * 0,01A = 0,05W = 50mW. Bei einem Pin ok.
Das gleiche bei 2 Pins ergibt 100mW bei 3 Pins 150mW und bei 4 Pins 200mW. Das ist die Grenze. Obwohl er noch 6 freie Pins hat, an denen er 10mA liefern könnte, würde ein Pin mehr die maximale Verlustleistung des Chips (Ptot) überschreiten und er würde Schaden nehmen.
Der Einfachheit halber kann man auch sagen, er kann 10mA pro Pin liefern, aber insgesamt 40mA. Es können also nur 4 Pins maximal belastet werden oder 8 Pins können zur Hälfte belastet werden oder alle 10 Pins können zu 40% belastet werden.

Korrigiert mich bitte, falls ich Unsinn geschrieben habe.

Gruß,
Ralf

Wenn Du so schön bittest: Das ist Unsinn was Du da schreibst. :wink: :wink: :wink:
Du vergleichst die Verlustleistung des ICs mit dem Ausgangsstrom.
Ein Beispiel nehmen wir den L298 der hat eine Ausgangsstrom von total 4A und eine Max Versorgungspannung von 36V also laut Deiner Rechnung 144W. Laut Datenblatt aber nur25W. Was stimmt nun?
Anderes Beispiel: ULN2803 Verlustleistung von max 1,5W und 8 Ausgänge zu 0,5A und max 50V

Der max Strom und damit die max Leistung des angeschlossenen Verbrauchers hängt von der Strombelastbarkeit des Ausgangs / der Ausgänge in Summe ab. bzw wie zB beim ULN von den internen Verlusten am Ausgangstransistor (Spannungsabfall des Ausgangstrransistor zwischen Ausgang und Masse und Strom des Verbrauschers). Darum kann der ULN2803 zwar am einzelnen Pin 500mA schalten aber nur je 150mA wenn alle 8 Ausgenge aktiv sind.

Der Die ist das Siliziumstück worauf die Schaltung aufgebaut ist.

Zum Atmega328 im Arduino UNO zurückzukommen:
einzelner Pin 40mA
Stromversorgung max 200mA dh der Strom aller Pins darf zusammen max 200mA sein (Summe des Stroms der LOW geschaltenen Ausgänge bzw Summe des Stroms der HIGH geschaltenen Ausgänge).
100 bzw 150mA einzelner Gruppen:

Ausgang auf Masse geschaltet:
*The sum of all IOL, for ports C0 - C5, ADC7, ADC6 should not exceed 100 mA.
(Summe der Ströme an Pin A0 bis A5 A6 und A7 falls SMD max 100mA)
*The sum of all IOL for ports B0 - B5, D5 - D7, XTAL1, XTAL2 should not exceed 100 mA.
(Summe der Ströme an Pin D0 bis D7 und D5 bis D7 mit Pins für Quarz/Resonator max 100mA)

  • The sum of all IOL for ports D0 - D4, RESET should not exceed 100 mA
    (Summe der Ströme an Pin D0 bis D3 und Reset max 100mA)

Ausgänge auf High (5V) geschaltet:

  • The sum of all IOH for ports C0 - C5, D0- D4, ADC7, RESET should not exceed 150 mA.
    (Summe der Ströme an Pin A0 bis A5, D0 bis D4, A7 falls SMD und Reset max 150mA)
  • The sum of all IOH for ports B0 - B5, D5 - D7, ADC6, XTAL1, XTAL2 should not exceed 150 mA
    (Summe der Ströme an Pin D8 bis D13, D5 bis D7, A6 falls SMD und Pins für Quarz/Resonator max 150mA)

Grüße Uwe

uwefed:
Wenn Du so schön bittest: Das ist Unsinn was Du da schreibst. :wink: :wink: :wink:
Du vergleichst die Verlustleistung des ICs mit dem Ausgangsstrom.
Ein Beispiel nehmen wir den L298 der hat eine Ausgangsstrom von total 4A und eine Max Versorgungspannung von 36V also laut Deiner Rechnung 144W. Laut Datenblatt aber nur25W. Was stimmt nun?

Hallo,

nein, an der Stelle glaube ich noch nicht, dass ich Unsinn schreibe. Also erst mal die Definitionen: P = U * I, also 1 Watt = 1 Volt * 1 Ampere. So, zum Datenblatt: Der L298 hat lt. dem Datenblatt von ST-Electronics Vsmax = 50V, Iomax(DC) = 2A und max. Power Dissipation Ptot = 25W (bei 75°C Gehäusetemperatur). Hier der Link zum Datenblatt: http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/CD00000240.pdf

Lassen wir die Temperatursteigerung durch die Verlustleistung mal außen vor und sagen, der Chip ist so gut gekühlt, dass er nicht wärmer wird als 75°C. Dann kann er maximal eine Spannung von 50V vertragen. Er kann maximal 2A Strom abgeben (als Gleichstrom). Aber nicht gleichzeitig! Die max. Verlustleistung Ptot darf maximal 25W betragen, sonst wird der Chip auf Dauer zerstört. Er kann also bei 50V Spannung max. 0,5A abgeben. Oder andersherum, wenn er 2A Strom abgeben muss, darf die Spannung höchstens 12,5V betragen. Transistoren z.B. können mit Ihrer Leistung durchaus kurzzeitig bei Spannungs- und Stromänderungen den Bereich Ptot durchlaufen, aber ihre Leistung darf auf Dauer nicht über Ptot liegen, sonst gehen sie den Weg alles Irdischen.

Hier habe ich noch ein Zitat aus dem Elektronik-Kompendium für Dich:

Leistung Ptot
Elektronische Bauelemente haben Maximalwerte innerhalb denen sie betrieben werden dürfen. Werden diese Werte nicht berücksichtigt, so führt das zur Zerstörung des Bauelements.
Die Leistung Ptot gibt an, ab welcher Leistung das Bauelement zerstört wird. Fällt an einem Widerstand eine Spannung von 10 V ab und fließt ein Strom von 0,5 A durch ihn hindurch, dann muss er eine Leistung von 5 W vertragen können (eher mehr).
Bei der Dimensionierung von Schaltungen und Bauelementen ist auf eine ausreichende Reserve bis zur Leistung Ptot zu sorgen.

Hier der Link zum kompletten Artikel: Elektrische Leistung P (Watt Nutzleistung Verlustleistung Blindleistung Scheinleistung)

Beim Uno, wie Du selbst schreibst: 1 Pin 40mA max. - der komplette Chip 200mA max. Ptot ist also 5V * 0,2A = 1W. Man kann also entweder an 5 Pins je 40mA abnehmen oder an 10 Pins je 20mA usw ohne den Controller zu massakrieren. Aber nicht z.B. an einem Pin 80mA und nicht an 6 Pins je 50mA usf. Also so, wie ich das in meinem vorigen Post beschrieben habe.

Gruß,
Ralf

Ralf, soweit korrekt :wink:

Um aber wieder aufs Thema zurück zukommen. Was hast du genau vor, die LEDs ziehen 30mA wenn ich das richtig im DB gesehen hab für L-934IT, bzw. 150mA bei einem 1/10 PWM Takt.

Setzte einen Transistor je LED oder entsprechend etwas Richtung DarlingtonArray ein um die entsprechenden Ströme zu Verarbeiten.

Ich sehe beim Arduino inzwischen zu, dass ich keinerlei Verbraucher über die Boardspannung betreibe. Lediglich evtl. Status LEDs mit <= 20mA zur Statusmeldung.

Würde mich in Zukunft freuen, wenn beim Arduino der PowerJack inkl. Spannungswandler abgeschaft würde. Anstatt dessen nur noch eine 2pol.Klemme die man ensprechend zu den oberen Shields brücken kann. Den letzten Endes ist die Schnittstelle mehr oder weniger nur für Batterien ohne StepUp/Down Wandler zu empfehlen. Über den USB Port kann man den Arduino ausreichend versorgen. Alles was über extern hinzukommt, muss sowieso meist extra versorgt werden.

sschultewolter:
Was hast du genau vor, die LEDs ziehen 30mA wenn ich das richtig im DB gesehen hab für L-934IT, bzw. 150mA bei einem 1/10 PWM Takt.

Ich würde gerne insgesamt sechs dieser LEDs und sechs Taster über die zweireihige Leiste am Arduino Mega anschließen.. Scheinbar wird diese Leistung von vier Ports beschickt, so dass ich bestenfalls vier LEDs anschließen sollte, oder? Wenn ich anstatt den 100 Ohm Vorwiderständen 200er nehmen würde, wäre ich doch aber wieder aif der sicheren Seite?

In einem weiteren Projekt werde ich dann 18 dieser LEDs schalten wollen. Da würde ich dann gerne erst Transistoren verwenden.

Gruß Chris

Schachmann:
nein, an der Stelle glaube ich noch nicht, dass ich Unsinn schreibe.
...
Lassen wir die Temperatursteigerung durch die Verlustleistung mal außen vor und sagen, der Chip ist so gut gekühlt, dass er nicht wärmer wird als 75°C. Dann kann er maximal eine Spannung von 50V vertragen. Er kann maximal 2A Strom abgeben (als Gleichstrom). Aber nicht gleichzeitig! Die max. Verlustleistung Ptot darf maximal 25W betragen, sonst wird der Chip auf Dauer zerstört. Er kann also bei 50V Spannung max. 0,5A abgeben. Oder andersherum, wenn er 2A Strom abgeben muss, darf die Spannung höchstens 12,5V betragen. Transistoren z.B. können mit Ihrer Leistung durchaus kurzzeitig bei Spannungs- und Stromänderungen den Bereich Ptot durchlaufen, aber ihre Leistung darf auf Dauer nicht über Ptot liegen, sonst gehen sie den Weg alles Irdischen.

Tut mir leid Du schreibst Blödsinn.
Die Definition der Leistung ist richtig aber die Verlustleistung im IC ist etwas anderes als die Leistung des angeschlossenen Verbrauchers.

Nehmen wir mal einen Transistor.
Der Transsitor wird durch die internen Verluste erwärmt. Diese sind IC* UCE + IB*0,7V. Es ist unerheblich wieviel Spannung am Verbraucher abfällt. ZB mit einer Spannungsversorgung von 12V kann der Verbraucher die Leistung (12V-UCE)*IC haben. Mit einer anderen Versorgungspannung auch mehr.

Du hast Recht, ich habe 2 Fehler gemacht. Der L298 verträgt nicht max 36V an den Ausgängen sondern 46V und Ausgänge hat er 4 a 2A also max 8A wenn Du sie einzeln als Halbbrücken verwendest, zusammen 4A wenn Du 2 Vollbrücken nimmst. Also kann er max 368W ansteuern. Natürlich muß er in geeigneter weise gekühlt werden damit die interne Verlustleistung ( 4IC UCE der Ausgangstransistoren ) Ihn nicht zuviel erwärmt. UCEsat ist für 2A mit typisch 2V bzw 1,7V angegeben.

Beim Uno, wie Du selbst schreibst: 1 Pin 40mA max. - der komplette Chip 200mA max. Ptot ist also 5V * 0,2A = 1W. Man kann also entweder an 5 Pins je 40mA abnehmen oder an 10 Pins je 20mA usw ohne den Controller zu massakrieren. Aber nicht z.B. an einem Pin 80mA und nicht an 6 Pins je 50mA usf. Also so, wie ich das in meinem vorigen Post beschrieben habe.

Teilweise richtig.
Der max Strom der Verbraucher stimmt. Nicht aber die interne Verlustleistung.

Grüße Uwe

Nette Diskussion! :slight_smile: :slight_smile: :slight_smile:
ich habe mir mal eine Tüte Chips geholt und bin gespannt, wie es weitergeht :wink:
(aber, unter uns: Uwe hat Recht. Wie fast immer.)

Wenn man esüber die Verlustleistung rechnen will, müsste man konkret wissen, welcher Verlust tritt im Chip auf wenn ein Strom dadurch an einen Pin fliesst.
Zusätzlich müsste man von der Gesamtverlustleistung auch noch die eigene abziehen - spricht ws der Chip selbst ohne externe Belastung verbrät.
Ich dnke mal, man sollte nicht nicht zu sehr den Kopf zerbrechen und sich auf die Angaben von Atmel verlassen.

Zum eigentlichen Prob: Eine LED an 5V mit einem Vorwiderstand von 270 oder 390 R tut es auch noch hell genug. Ab 470 R kann es dann je nach LED-Typ / Farbe etwas dunkler werden ....

uwefed:
Tut mir leid Du schreibst Blödsinn.

Ich hoffe nur, dass Dir das wirklich leid tut und Du das nicht nur einfach so schreibst :wink:

uwefed:
Die Definition der Leistung ist richtig aber die Verlustleistung im IC ist etwas anderes als die Leistung des angeschlossenen Verbrauchers.

Ja! Ich habe noch gelesen, gelesen und gelesen und gegrübelt, gegrübelt und gegrübelt. Du hast völlig Recht! Meine Annahme von oben war falsch. Deshalb (weil ich mir wirklich selbst nicht sicher war) hatte ich ja gebeten, mich zu korrigieren, wenn es Unsinn ist. Dankeschön! Wieder was dazu gelernt.

Könntest Du denn folgendem zustimmen:

Die Verlustleistung im Transistor ist ungefähr Uce * Ic. Die maximale Verlustleistung Ptot tritt ungefähr bei Uce / 2 auf.

Oder befinde ich mich da auch wieder irgendwo auf dem Holzweg?

Gruß,
Ralf

BTW: Für die Zuschauer tut es mir ja nun leid, dass es hier so wenig Action gibt. Aber wenn zwei vernunftbegabte Menschen nicht der gleichen Meinung sind, können sie das in der Regel durch den höflichen Austausch von Argumenten klären und es muss nicht zwangsläufig zu einem Hauen und Stechen kommen :*

Is alles gut, da teilweise interessant. Vielleicht erniedrigt sich ja trotzdem Einer mir meine bescheidene letzte Frage zu beantworten. :stuck_out_tongue:

Gruß Chris

Chris72622:
Vielleicht erniedrigt sich ja trotzdem Einer mir meine bescheidene letzte Frage zu beantworten. :stuck_out_tongue:

Logo! Ich würde 270 Ohm nehmen. Ich glaube nicht, dass Du da in der Helligkeit einen großen Unterschied feststellen wirst.

Gruß,
Ralf

Du wirst mit 6 LEDs mit 200R Vorwiderstand keine Probleme bekommen.

Selbst wenn du alle extrem ungeschickt anschliessen solltest:
VF LED: min 2V
Fällt am Widerstand ab: 5V - 2V = 3V
ILED: 3V/200R = 15mA

Für alle 6 LEDs:90mA

Deine LED sind alle mit 20mA spezifiziert, meist sinkt bei größeren Strömen die Effizient deutlich, es macht also keinen Sinn an die obere Spezifikationsgrenze zu gehen.

Trotzdem muß man sagen: ein µC ist zum Rechnen da. Strom treiben ist nicht seine beste Disziplin, und verursacht gehörigen zusätzlichen Stress, was zu frühzeitiger Alterung führen kann.

Besser sind immer externe Leistungstreiber.

Chris72622:
Scheinbar wird diese Leistung von vier Ports

Port != Pin

Ein Port sind 8 Pins zusammengefasst Zum Beispiel Port A oder Port B. Jeder Port hat dann 8 Pins, die mit Nummern bezeichnet werden, also PA1 oder PB5.

Das ist leider die größte Stelle, wo die Arduino IDE die Sache zu sehr vereinfacht und die Details vor dem Benutzer versteckt.

Schachmann:

uwefed:
Tut mir leid Du schreibst Blödsinn.

Ich hoffe nur, dass Dir das wirklich leid tut und Du das nicht nur einfach so schreibst :wink:
...
Die Verlustleistung im Transistor ist ungefähr Uce * Ic. Die maximale Verlustleistung Ptot tritt ungefähr bei Uce / 2 auf.

Oder befinde ich mich da auch wieder irgendwo auf dem Holzweg?

Hallo Schachmann
Nein, es bereitet mir keine Freude darzulegen, daß jemand etwas falsch geschrieben hat. Darum ist das ehrlich gemeint.

Die Verlustleistung für Normale NPN oder PNP Transistor ist ca IC* UCE genaugesagt IC* UCE + IB0,7V.
Bei Darlington ist sie etwas mehr da 2 Transsistoren in Reihe geschaltet sind und damit ca IC
UCE + IB*1,4V. Wegen der hohen Stromverstärkung ist der Basissterom aber vernachlässigbar.
Zur Vollständigkeit bei MOSFETs ist die Verlustleistung ziemlich genau ID*UDS.

Bezüglich Holzweg:

Die maximale Verlustleistung Ptot tritt ungefähr bei Uce / 2 auf.

Etwas knapp geschrieben.
Wir gebrauchen die Transistoren fast ausschließlich als Schalter und darum sperren sie (es fließt kein Strom) oder sind Voll durchgeschaltet und darum UCE bzw UDS sehr klein.

Wenn der Transistor als Verstärker verwendet wird und dieser mit einen Spannungsteiler mit der Last an einer konstanten Spannung hängt ist die Max Verlustleistung durch die Charakteristik der Last gegeben. Motore und Glühlampen sind keine konstanten Widerstände. Heizungen aber schon. Spulen wie Ventile und Relais sind etwas dazwischen und Lautsprecher werden höchstselten mit Gleichspannung betrieben.
Nehmen wir den einfachsten Fall: Die Last ist eine Heizung mit konstanten Widerstand R uns die Versorgungsspannung ist U.
Da ist die Verlustleistung am Transistor Ptot =(U-RIC )IC oder umgeformt Ptot =(UIC)-(RIC^2 ) . Um den Maximalwert zu erhalten müßte man die erste Ableitung bilden und damit den Scheitelpunkt (Steigung =0) finden. Meine Differenzialrechnungskünste sind etwas eingerostet.
Ich versuchs mal nach IC zu differnzieren und einen Blödsinn zu reskieren:
Ptot' = (U)-(2 RIC )
das wird null wenn
(U)-(2 R
IC ) =0;
U/IC =2R
Jetzt geb ichs auf; Wenn man weiterrechnet müßte
Uce = U/ 2 herauskommen.

Grüße Uwe