Power 14 rote LEDs und Arduino aus derselben Quelle

Ich bin neu in der Wissenschaft hinter der Elektronik (Software-Typ im Herzen), aber ich arbeite an einem Projekt, bei dem ich einen Arduino und 14 standardmäßige rote 20-mA-LEDs vorzugsweise aus derselben Quelle mit Strom versorgen muss.

Ich möchte in der Lage sein, die LEDs vom Arduino aus zu steuern, nichts Besonderes, einfach alle ein- und ausblenden (zusammen). Ich habe einen Darlington TIP120 zur Hand, ist das nützlich?

Antworten (3)

Da Sie möchten, dass sie alle von einem einzigen Pin gesteuert werden, müssen Sie den Transistor verwenden (es ist unwahrscheinlich, dass ein einzelner Arduino-Pin genug Strom für so viele LEDs sicher liefern oder senken kann).

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Der Ausgang ist PWM, der einen variablen Arbeitszyklus verwendet, um die Helligkeit zu steuern.

Okay, danke, du bist großartig! Ist es nun eine sichere Idee, die vom Arduino bereitgestellte 5-V-Stromschiene zu verwenden, oder sollte ich die LEDs extern mit Strom versorgen?
Unter der Annahme, dass die Platine von einer 5-V-Versorgung gespeist wird, macht es der Stromschiene wahrscheinlich nichts aus, dass die 150-200 mA benötigt werden, um sie zu beleuchten.
Wenn ich das Board mit einer 9-V-Batterie versorge, spielt das eine Rolle?
Überprüfen Sie die Spezifikationen des Reglers auf der Platine; Wenn es 1A (TO-220-Gehäuse oder D2PAK) liefern kann, sind Sie goldrichtig, aber der Regler wird möglicherweise etwas warm. Wenn es sich um einen TO-92 handelt, können Sie dies nicht und müssen die Batterie direkt abziehen (und die Widerstände entsprechend anpassen [(Vin - 2,2 V [LED] - 0,7 V [Q1]) / 10 mA]).
Wenn Sie eine 9-Volt-Batterie verwenden, setzen Sie die LEDs in Reihen von jeweils 4 (ja, das macht 16), die direkt von den 9 Volt und mit einem 47-Ohm-Widerstand in Reihe mit jeder Saite gespeist werden, und verbinden Sie alle 4 Saiten miteinander bei Der Darlington wird als Low-Side-Schalter verwendet, wie in dieser Antwort gezeigt.
Danke @IgnacioVazquez-Abrams und @AnindoGhosh, ich habe die Schaltung mit Ihren beiden Empfehlungen gebaut.

Es gibt zwei Möglichkeiten. Sie können sie mit einzelnen Arduino-Pins verbinden oder sie über den Transistor verbinden. Ersteres gibt Ihnen die individuelle (oder gepaarte) Kontrolle. Letzteres vermeidet Probleme mit der Stromentnahme durch den Mikroprozessor des Arduino.

Zum größten Teil ist das 5-V-Netzteil des Arduino stark genug, um jede dieser LEDs ohne große Probleme mit 20 mA zu versorgen. Das sind 280mA. Da jedoch typische rote LEDs einen Durchlassspannungsabfall von 1,8 bis 2,2 V aufweisen, wird davon ausgegangen, dass es sich um 2-V-LEDs handelt. Das bedeutet, dass Sie zwei davon in Reihe koppeln können, um den Strom zu teilen. Anstelle von 20 mA x 14 könnten Sie 20 mA x 7 haben. Auf diese Weise energieeffizienter.

Der 40-Ω-Widerstand basiert auf R = V/I, wobei V (Quellenspannung [5 V] - LED-Durchlassspannungsabfall [2 V * 2, weil zwei in Reihe] - Transistor-VCE-Abfall [typischerweise 0,2 V in Sättigung]) und I ist 20 mA, also (5 - 2 - 2 - 0,2 = 0,8) / 0,02 = 40 Ω. Runden Sie auf Standardwiderstandswerte, 39 Ω oder 47 Ω.

Das gleiche kann mit direkten Verbindungen zum Arduino gpio gemacht werden. 2 LEDs in Reihe mit einem Widerstand pro gpio. Reduzieren Sie den Strom auf jeweils 15mA (68Ω) und Sie sind gut innerhalb der Grenzen des ATMega von Arduino.

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Was den TIP120 angeht, können Sie das verwenden, aber wie das Sprichwort sagt, ist das so, als würde man eine Bazooka benutzen, um eine Fliege zu töten. Der TIP120 ist ein Darlington-Paar-Transistor und für bis zu 5 Ampere geeignet. Ein winziger 2n3904 kann 100 bis 150 mA (200 mA am höchsten) verarbeiten, während ein 2n2222 bei 1 A besser ist. Beide sind ziemlich verbreitet und spottbillig. In beiden Fällen (14 Personen bei 280 mA oder 7 Saiten bei 140 mA oder weniger) erfordert die Strommenge nicht die Verwendung eines TIP120.

Viele Arduinos verwenden den ATmega328P. Laut Datenblatt des ATmega328P , p. 313, Ausgangspins können problemlos jeweils +20 mA oder -20 mA treiben. Sie könnten einen Pin verwenden, um Ihren externen Transistor anzusteuern, wie von Ignacio Vazquez-Abrams gezeigt. Alternativ, wenn Sie die Arduino-Pins nicht für etwas anderes benötigen, können Sie direkt einen Arduino-Ausgangspin für jeden Widerstand + LED anschließen.

Wenn Sie eine Stromversorgung im Bereich von 7 V bis 12 V an den Barrel-Stecker des Arduino Uno angeschlossen haben, kann der NCP1117-Regler des Arduino Uno bis zu 1 A bei 5 V liefern, weit mehr als genug, um den Arduino mit Strom zu versorgen und 14*20 mA = 280 mA LEDs.

Viel Glück.

ps: hast du das unnötig komplizierte Arduino Charliplexed Heart gesehen ?

Ich weiß nicht, ob ich bei diesem Punkt-zu-Punkt-Job beeindruckt oder erschrocken sein soll ...
Es gibt eine Gesamtgrenze für die Summe aller IO-Pins, die 280 mA von LEDs überschreiten könnten. Siehe arduino-info.wikispaces.com/ArduinoPinCurrent Die Verwendung eines Transistortreibers zum Abziehen der Stromversorgung von der 5-V-Schiene ist der richtige Weg.
@RonJ. 2 rote in Reihe für jeden Pin, bei 20mA wären es nur 140mA auf 7 Pins. Oder fahren Sie sie mit 15 mA, das sind nur 105 mA. Und Sie erhalten individuelle Kontrolle.
@RonJ.: Danke, ich sehe, ich habe p übersehen. 314 des Datenblatts.
@Passerby: Guter Punkt, das sollte funktionieren.