9-Volt-Batterie mit Arduino an Transistor-Steuer-LEDs angeschlossen


8

Ich versuche, meinem Desktop-Gaming-Computer ein benutzerdefiniertes LED-Beleuchtungssetup hinzuzufügen. In diesem Setup möchte ich, dass kleine LED-Sätze getrennt von anderen Sätzen eingeschaltet werden können. Auf diese Weise kann ich verschiedene Sets zu unterschiedlichen Zeiten einschalten, um eine "Lichtshow" zu erstellen.

Ich verwende die digitalen E / A-Pins eines Arduino , um einen Transistor (BC547B) zu steuern, der die LEDs von einer 9-Volt-Batterie mit Strom versorgt. Die LEDs haben eine Nennspannung von 1,9 V und ich habe mehrere Sätze von 5 LEDs (5 * 1,9 = 9,5 - kein Widerstand erforderlich ... richtig?), Die in Reihe geschaltet sind, und diese "Mehrfachsätze" müssen parallel geschaltet werden.

Aufgrund eines einfachen Mangels an Transistoren verbinde ich jedoch temperamentvoll (bis ich mehr Transistoren bekomme) 2 Sätze der 5 LEDs pro Transistor. Verwirrt? Lassen Sie mich dies in einem Schema mit nur 1 Transistor zusammenfassen (in der endgültigen Version wird es mehr geben):

schematisch

simulieren Sie diese Schaltung - Schema erstellt mit CircuitLab

Grundsätzlich besteht das Problem darin, dass die LEDs nicht leuchten , wenn ich Pin 5 an meinem Arduino einschalte. Warum ist das? . Ich mache hier vielleicht etwas falsch, aber wenn ich es bin, kann ich es nicht herausfinden.

Hier ist der temporäre Code für das Arduino, das ich verwende, nur für den Fall, dass jemand es sehen möchte:

void setup() {
    pinMode(5, OUTPUT);
}

void loop() {
    digitalWrite(5, HIGH);
    delay(1000);
    digitalWrite(5, LOW);
    delay(1000);
}

Alles, was es tut, ist Pin 5 einzuschalten, eine Sekunde zu warten, es auszuschalten, eine Sekunde zu warten und zu wiederholen.

Danke im Voraus.

PS Entschuldigung für den unangenehmen Titel.

BEARBEITEN:

Ich sollte auch beachten, dass ich sehr neu in solchen Sachen bin. Ich mache das für eine Art Lernprojekt (und damit mein Computer cool aussehen kann).


Ich nehme meine Flagge zurück. Dies erfordert eine eingehendere Antwort. Außerdem +1 für das Stellen einer klaren Frage mit einem guten Schaltplan, Code, einer guten Grammatik und einer gründlichen Erklärung!
uint128_t

Sie haben zu viele LEDs in Reihe für Ihre 9V. Versuchen Sie 3. Verwenden Sie Ihren Follower nicht, da das Mikro nicht genügend Volt liefert, um es anzutreiben. Verwenden Sie einen offenen Kollektor und führen Sie eine ordnungsgemäße Stromsenke für die Reihenstränge durch.
Autistisch

Antworten:


13

Zunächst einmal wird das ganze "5 * 1,9 V = 9,5 V -> kein Widerstand erforderlich" nicht funktionieren. Die Durchlassspannung ist nicht genau und Ihre 9V auch nicht. Hier ist eine Erklärung, warum Durchlassspannung == Versorgungsspannung ein Problem ist . Außerdem wird es an Ihrem Transistor zu einem Spannungsabfall kommen.

Ihre Schaltung hat viele Probleme.

  1. Um den Transistor einzuschalten, müsste der Arduino 5 * 1,9 V + ~ 0,7 V = ~ 10,2 V ausgeben. Die Arduino-Pins geben 5 V ab, das ist also ein Kinderspiel. Wenn Sie den Emitter erden und die LEDs an den Kollektor anschließen, funktioniert dies mit größerer Wahrscheinlichkeit.

  2. Ihr Transistor benötigt einen Basiswiderstand, um den Strom durch ihn zu begrenzen. Sie riskieren eine Beschädigung Ihres Arduino und Ihres Transistors. Wenn Sie den Transistor sättigen (was Sie tun möchten, damit er wie ein Schalter funktioniert), liegt die Basis bei ~ 0,7 V. Ohne Basiswiderstand treibt der Arduino-Pin diese auf 5 V an, und es fließt viel Strom in die Basis, wodurch das arme Arduino verbrannt wird. Daher ist ein Basiswiderstand erforderlich; Sein Wert hängt davon ab, wie viel Strom Sie durch die LEDs und die Stromverstärkung des Transistors benötigen. Ohne die Berechnung ist wahrscheinlich etwas zwischen 220 Ω und 1 kΩ gut.

  3. VsnVfIf=RVsnVf,If

  4. Wenn Sie dies zum Laufen bringen, ist Ihre 9-V-Batterie wahrscheinlich nicht ausreichend (9-V-Batterien haben eine sehr geringe Kapazität und eine geringe Stromstärke). Eine 9V Wandwarze oder ähnliches wäre viel geeigneter. Außerdem ist dieser Transistor nur für einen Kollektorstrom von maximal 100 mA ausgelegt. Ein paar LED-Stränge werden das überschreiten und Ihr Transistor wird geröstet. Ein größerer Transistor oder noch besser ein schöner, kräftiger MOSFET sorgt dafür, dass Sie viele LEDs sicher schalten können. Für einen oder vielleicht zwei Stränge ist dieser Transistor in Ordnung. Wenn Sie ein 12-V-PC-Netzteil verwenden, ist das in Ordnung. Berechnen Sie einfach Ihre Strombegrenzungswiderstände mit 12 V anstelle von 9 V.

Verwenden Sie also vier in Reihe geschaltete LEDs und einen geeigneten Strombegrenzungswiderstand, ändern Sie die Anschlüsse des Transistors und fügen Sie einen Basiswiderstand hinzu. Damit sollten Sie zumindest loslegen.


OK danke! Ein paar Fragen. Erstens, für Punkt 2, wohin muss dieser Widerstand gehen? Am Basisstift des Transistors? Wollen Sie für Punkt 3 auch sagen, dass ich vor jedem LED-Strang einen Widerstand brauche? Und ja, die 9-V-Batterie war vorübergehend; Das habe ich vergessen zu erwähnen. Ich habe vor, mich nur an einen 12-V-Molex-Anschluss am Netzteil meines Computers anzuschließen.
RobertR

1
Ja, der Basiswiderstand befindet sich zwischen der Basis und dem ATmega. Und ja, Sie benötigen einen Widerstand in Reihe mit jedem LED-Strang, um den Strom zu begrenzen. Ich werde meine Antwort erweitern, um einige Ihrer Fragen abzudecken.
uint128_t

1
Punkt 4: Wenn die LEDs mit einem relativ niedrigen Arbeitszyklus blinken sollen, kann ein großer Elektrolytkondensator parallel zur Batterie hilfreich sein. Stellen Sie nur sicher, dass Sie eine Nennspannung von 15 V oder mehr haben (dh übersteuert).
Chris H

Ok, also noch eine Frage: Wie hoch wäre der Widerstand des in Punkt 3 genannten Widerstands? Unter Verwendung des Ohmschen Gesetzes über die von Ihnen angegebene Gleichung wäre dies (9 - 9,5) / 0,04 = -12,5 . Der Wert von 0,04 wird für den Durchlassstrom verwendet, da jede LED für 20 mA ausgelegt ist und ich 2 Stränge parallel habe, sodass der Gesamtdurchlassstrom 40 mA oder 0,04 A beträgt.
RobertR

1
Ja, das ist ein Hinweis, warum Sie nicht 5 LEDs in Reihe verwenden sollten. Wie bereits erwähnt, sollten Sie für jeden Strang einen separaten Widerstand haben. Wenn Sie also 4 LEDs in Reihe mit einem Widerstand verwenden, beträgt die Mathematik (9 V - 4 * 1,9 V) / 20 mA = 70 Ω.
uint128_t
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.