Probleme bei der Ansteuerung einer RGB-LED

Ich wollte mit meinem RaspberryPi eine RGB-LED ansteuern. Das Problem ist, dass meine LED ein bisschen seltsam ist. Die lange Leitung ist positiv und die kürzeren Leitungen sind wie üblich für Rot, Grün und Blau, müssen aber mit Masse verbunden werden (mit einem Widerstand in Reihe). Daher kann ich nicht einfach jede einzelne Farbe mit einem PWM-Signal ansteuern.

Ich überlegte, die drei Minusleitungen mit einem Transistor zu verbinden, den ich dann mit meinem RaspberryPi steuern könnte. Wenn dies funktionieren könnte, welchen Transistor sollte ich verwenden?

Bearbeiten: Meine LED benötigt nur 3 V für Blau, 2,2 V für Grün und 2 V für Rot bei einem Strom von 20 mA.

I can't just control every single color with a PWM-signal... Warum nicht?
Sie haben eine gemeinsame Anoden-LED. Wenn Sie jede Farbe gleichzeitig steuern möchten, legen Sie eine positive Spannung an die lange Leitung und einen Widerstand GND an jede der kleineren Leitungen. Wenn Sie die positive Versorgung ein- oder ausschalten, werden alle drei Farben gleichzeitig ein-/ausgeschaltet.
Ich habe die LED ein paar Mal getestet und musste sie mit Masse verbinden, damit sie funktioniert. Es scheint, als müsste nur das lange Kabel an 3 Volt angeschlossen werden. Das Problem ist: Ich möchte jede Farbe einzeln steuern.
learningaboutelectronics.com/Articles/… Ja, die anderen drei Pins müssen GND sein, um die LED einzuschalten. Wenn ein kürzeres Kabel an 3 V angeschlossen wird, gibt es keine Spannungsdifferenz, daher keinen Strom und kein Licht. Damit können Sie jede Farbe einzeln ansteuern.
Danke. Hat mir definitiv geholfen, ein allgemeines Verständnis von Anoden-LEDs zu bekommen. Aber wie kann ich die LED mit meinem RaspberryPi / PWM-Signal steuern?
Verwenden Sie einfach PWM auf der negativen Seite. Sie müssen das PWM-Signal invertieren (100 % PWM wären 0 % eingeschaltet usw.).
Aber brät es die Himbeere nicht, weil sie auf Ausgabemodus eingestellt ist?
@IgliGerdon "Ausgabemodus" bedeutet nicht "kann nur Strom liefern"; Tatsächlich können viele Mikrocontroller den Strom ohnehin besser aufnehmen als liefern. Lesen Sie jedoch die relevanten Spezifikationen.
Vielen Dank für Ihre Hilfe, Herz. Ich werde es versuchen. :)

Antworten (2)

Sie müssen VIEL mehr Informationen bereitstellen, um eine endgültige Richtung oder Lösung zu erhalten.

Wie bereits in den Kommentaren haben Sie eine Common Anode RGB LED. Hier ist das Datenblatt für ein Beispiel einer bedrahteten RGB-LED. Beachten Sie in diesem Datenblatt, dass sowohl die blaue als auch die grüne LED eine minimale Vf von 3,3 V haben, sodass es unwahrscheinlich ist, dass sie überhaupt an einem 3,3-VI / O-Pin funktionieren.

Folgendes berücksichtigen:

  1. Sie können diese LED NICHT direkt von einem R'Pi aus ansteuern. Die blaue LED hat wahrscheinlich mindestens 3,4 V Vf und wird daher von 3,3 VI / O sehr schwach angesteuert. Grün kann auch eine hohe Vf haben und für 3,3-V-Antrieb ungeeignet sein.

  2. Der LED-Strom wird zu einem kritischen Faktor. Der R'Pi I/O sollte nicht als Quelle oder Senke für hohen Strom verwendet werden. Es ist wahrscheinlich, dass Ihre LED mindestens 20 mA pro Farbe hat, und es ist nicht ratsam, diesen Strompegel von Ihrer MCU zu beziehen oder zu senken.

  3. Um die drei Farben unabhängig voneinander zu steuern, benötigen Sie DREI PWM-Pins, einen für jede Farbe.

Um diese LED anzusteuern, können Sie die 5-V-Versorgung verwenden, aber Sie können diese NICHT direkt von den E / A-Pins ansteuern. Sie benötigen eine gepufferte Schaltung wie diese:

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Die Werte von R1,2,3 hängen vom erforderlichen Strom für Ihre LEDs und dem Einschaltwiderstand der FETs ab. Sie können möglicherweise ohne diese Widerstände davonkommen, wenn der FET-Ein-Widerstand hoch genug ist (obwohl Sie diese Parameter dazu messen müssten). Sie könnten natürlich eine sehr ähnliche Schaltung auf Basis von BJTs verwenden, müssten jedoch Basiswiderstände bereitstellen, um den Basisstrom zu begrenzen.

Jetzt habe ich endlich eine Lösung. Wie Hearth bereits in den Kommentaren erwähnte, musste ich nur das lange Kabel meiner Anoden-LED an 3,3 V anschließen. Die anderen Leitungen mussten mit drei RaspberryPi-Pins verbunden werden, mit einem Widerstand in Reihe, die so eingestellt waren, dass sie ein PWM-Signal ausgaben. Aber Sie müssen das PWM-Signal invertieren.

Unten sehen Sie meine letzte Schaltung.

Schaltkreis

Ich habe es mit meinem Raspberry getestet und es hat funktioniert.

Es funktioniert sicherlich, aber seien Sie vorsichtig damit. Obwohl ich kein offizielles Dokument darüber finden konnte, hat das RPi anscheinend eine Ausgangsstromquelle/Senke von 16 mA, und es scheint, dass Sie Ihre Widerstände zur Begrenzung des Stroms auf etwa 10-20 mA berechnet haben (abhängig von den LEDs Vf ). Dadurch wird die Hardware stark belastet. Es ist in Ordnung, dies auf diese Weise zu tun, wenn Sie nur ein paar mA Strom durch die LEDs planen, aber auf Ihren Ebenen würde ich einen Transistor verwenden, genau wie Jack in seiner Antwort gezeigt hat.