Ich versuche, ein Beleuchtungssystem zu bauen, mit dem ich einige RGBW-Streifen mit einem Raspbery PI Zero rund um die Uhr steuern kann.
Ich bin ein Software-Typ, also bin ich ziemlich neu in der Elektronik, abgesehen von ein bisschen Arbeit an Autos und dem Verkabeln der seltsamen Stecker / Lampen. Es gibt ein paar Tutorials zum Verdrahten von RGB-Streifen mit PI und Arduinos, und sie sind alle ziemlich ähnlich, indem sie den GPIO verwenden, um Mosfets auszulösen, um die für den Streifen erforderlichen 12 V bereitzustellen.
Ich habe hauptsächlich dieses Tutorial hier befolgt , aber einen zusätzlichen Mosfet für den weißen LED-Pin hinzugefügt.
Hier ist mein Schaltplan (gelbe Drähte => weiß):
Ich habe 4 IRLB8721PBF 30 V, 62 A N-Kanal-MOSFETs, 5 Meter 12 VDC 5050 RGBW-Streifen (Ebay-Spezial, nicht viele Daten) verwendet. Der GPIO ist mit dem Gate verbunden, der RGBW-Streifenkanal ist mit dem Drain verbunden und die 12V- mit der Source.
Ich habe auch Pigpiod auf dem PI mit Methode 1 installiert .
Wenn alles läuft, leuchtet es:
Ich finde jedoch, dass es immer scheint, voll beleuchtet zu sein. Wenn ich versuche, die Pegel über die GPIO-Pins mit Befehlen wie diesen zu ändern (ausschalten):
pigs p 17 0
pigs p 22 0
pigs p 24 0
pigs p 27 0
oder dies (machen Sie es rot):
pigs p 17 255
pigs p 22 0
pigs p 24 0
pigs p 27 0
Im Grunde passiert nichts und es bleibt auf allen Kanälen bei 100% Leistung.
Meine Frage: Wie soll ich das Debuggen dieses Problems angehen? Ich habe nur ein billiges Multimeter.
Außerdem möchte ich mein Verständnis noch einmal überprüfen.
Zuerst dachte ich, Mosfets würden die Gate-Spannung verwenden, um die größere Source / Drain-Spannung zu "schalten". Wenn also der Ausgang des GPIO einen Schwellenwert erreicht, schaltet der Mosfet ein und die 12 V gehen von Source zu Drain.
Ich kann nicht sehen, wie das das (analoge?) Himbeer-PI-Signal vom GPIO in etwas anderes als 12 V EIN oder AUS umwandeln würde.
Nimmt der Mosfet die Gate-Spannung und verstärkt die 3,5 V proportional auf 12 V? Ein 1,75-V-Ausgang (ein Wert von 127) würde also 6 V erzeugen, und somit wäre dieser Kanal „halb“ hell? (Falls es geklappt hat!)
Bearbeiten
Ich habe nur ein einzelnes Mosfet mit einer einzigen Farbe auf dem RBG verdrahtet,
Der Mittelstift ist mit dem RGB R-Kanal verbunden. Der rechte Pin ist auf 12V- (Masse)
Das RGB+ ist 12V+
Wenn ich jetzt den linken Pin auf 12 V- (Masse) berühre, sollte er sich ausschalten, oder? Dies simuliert eine NIEDRIGE Ausgabe (entschuldigen Sie das schreckliche Farbdiagramm):
Test 1 (sollte aus sein):
Test 2 (sollte eingeschaltet sein):
Was ich bekomme, ist ein bisschen ein Durcheinander. Es blinkt ein und aus. Manchmal ist es konstant aus, aber oft konstant ziemlich niedrig. Dann ist es plötzlich voll AN, dann flackert es.
Es schaltet sich meistens aus, wenn die Masse als Quelle dient, und häufiger ein als aus, wenn Masse auf +12 V (oder +3,3 / 5 V-Ausgang am PI, nicht GIPO) liegt, aber es ist überall. Oft geht es nicht einfach konstant sehr niedrig aus, aber selbst dann verhält es sich so, als ob es eine lockere Verbindung oder so etwas gibt - obwohl ich versucht habe, alle Verbindungen zu soldaten.
Mir fällt nichts ein, was dies verursachen könnte, aber zwielichtiger Mossfet? Ich könnte Probleme beim Löten der Verbindung verursacht haben.
Ich bin vielleicht etwas verwirrt, aber wahrscheinlich, weil Sie zuerst verwirrt waren.
Ich habe 4 IRLB8721PBF 30 V, 62 A N-Kanal-MOSFETs verwendet,
Sie sind nicht NPN (wie im Titel). Das sind MOSFETs :)
Wie soll ich das Debuggen dieses Problems angehen?
Trennen Sie das RPi überhaupt. Versuchen Sie, das Gate eines beliebigen Mosfet mit der Quelle zu verbinden. Die LEDs sollten ausgehen. Wenn sie mit +12 verbunden sind, sollten sie weitergehen. Es sei denn, ich habe deinen Schaltplan falsch verstanden.
Wiederholen Sie dann die gleiche Fütterung mit einfachem HIGH / LOW-Pegel vom RPi (nicht PWM). Dies hilft zu verstehen, ob Ihre Pins die LEDs über Mosfets steuern.
Vergessen Sie nicht, Klimmzüge an Pins auszuschalten, wenn Sie welche haben.
Zuerst dachte ich, Mosfets würden die Gate-Spannung verwenden, um die größere Source / Drain-Spannung zu "schalten". Wenn also der Ausgang des GPIO einen Schwellenwert erreicht, schaltet der Mosfet ein und die 12 V gehen von Source zu Drain.
WAHR. (Eigentlich fließt nicht die Spannung, sondern der Strom.)
Nimmt der Mosfet die Gate-Spannung und verstärkt die 3,5 V proportional auf 12 V? Ein 1,75-V-Ausgang (ein Wert von 127) würde also 6 V erzeugen, und somit wäre dieser Kanal „halb“ hell? (Falls es geklappt hat!)
FALSCH.
pigs p
Befehl steuert einen PWM-Ausgang. Sie sollten überprüfen, ob Ihre Ausgänge richtig als PWM konfiguriert sind (ich bin mit Himbeeren nicht vertraut). Wenn Sie das PWM-Tastverhältnis steuern, indem Sie es von 0 auf 255 (== 0 % bis 100 %) ändern, steuern Sie die Zeit, in der Ihr Farbkanal beleuchtet werden soll. Wenn Ihre PWM-Frequenz 50 kHz (Periode von 20 us) und Ihre Einschaltdauer 64 (etwa 25 %) beträgt, sollte der Kanal für 25 % * 20 us = 5 us leuchten und für die restlichen 15 us ausgeschaltet sein. Auf diese Weise wird ein LED-Streifen gedimmt. So weit, ist es gut.
Die andere zu berücksichtigende Sache ist die Ansteuerung Ihres MOSFET. Ich denke da liegt dein Problem. Bei Hochfrequenz-PWM sollte ein Hochstrom-Gate-Treiber verwendet werden, um den MOSFET richtig anzusteuern. Dies liegt an seiner Eingangskapazität (und auch an der Rückwärtsübertragungskapazität).
Versuchen Sie zunächst, die Raspeberry auf eine niedrigere PWM-Frequenz einzustellen. Alles über 100 Hz ist für das Flackern des für das Auge sichtbaren Lichts in Ordnung, und über 18-20 kHz wird kein Ton erzeugt, den der Mensch hören kann. Dann könnten Sie einige MOSFET-Stromtreiber für mindestens 1,5 A besorgen und sie zwischen dem Pi und dem Gate jedes MOSFET anschließen.
Ein Oszilloskop wäre hier eine große Hilfe. ;)
pigs p
und wenn alles funktioniert, können Sie löten.
Tony Stewart EE75
Jo
Passant
Chris Stratton
Jo