Arduino RGB-LED-Strip Steuerung mit MOSFETs und Optokopplern – Teil 1 – Die Hardware

Heute basteln wir uns eine Ansteuerung für RGB-LED-Strips mithilfe eines Arduinos. Zusätzlich verwenden wir Optokoppler um unseren Arduino von der Ansteuereinheit mit 3 MOSFETs zu trennen, was zwar nicht unbedingt nötig wäre, aber dennoch einige Vorteile mit sich bringt.

RGB-LED-Strip-Arduino-Optokoppler-MOSFET-blog.simtronyx.de

Arduino RGB-LED-Strip Steuerung mit MOSFETs und Optokopplern

Jetzt könnte man sich natürlich fragen, wofür eine Ansteuerung per Arduino, da die RGB Strips ja meistens über eine Ansteuereinheit mit Infrarotfernbedienung verfügen. Genau da fängt dann schon das Problem an, entweder stören sich verschiedene Strips untereinander oder aber andere Fernbedienungen (beispielsweise vom Fernseher) schalten den RGB-Strip, ist also keine gute Maßnahme. Da unsere Schaltung über eine serielle Steuerung verfügt kann später auch eine Bluetoothverbindung verwendet und der Strip (oder mehrere) beispielsweise per Smartphone gesteuert werden.

Zuerst bauen wir uns aber erst einmal die folgende Schaltung auf:

Schaltplangröße:

1afbgchdie1j5510101515202025253030353540404545505055556060afbgchdiejLTV874Arduino Nano - http://blog.simtronyx.de - SVG created by Ronny Simon - All rights reserved.
Für weitere Informationen (z.B. Pinbelegungen von Bauteilen oder genaue Kabelverbindungen)
mit der Maus über Elemente fahren (oder im Touch-Modus: Elemente antippen)...

Die Schaltung besteht aus einem 4fach Optokoppler (LTV847) welcher über drei 390 Ohm Widerstände direkt mit unserem Arduino und mit drei weiteren 10 kOhm Widerständen gegen +12V verbunden wird. (Wir benötigen zwar nur 3 Optokoppler, aber der Schaltkreis enthält nun einmal 4 davon.)

Desweiteren werden in der Schaltung noch 3 MOSFETs mit drei 10kOhm Widerständen gegen Masse verwendet, der hier benutzte Typ ist ein P16NF06, was aber kein Zwang ist. Alternative Typen wären beispielsweise: der uralte und immer wieder auftauchende und bewährte BUZ11, ein IRL1404 oder ein IRFZ44N um nur ein paar zu nennen.

Jedoch soll dies hier nicht zu einer “Welcher ist der beste MOSFET?”-Debatte führen. Um für einen 12V Strip mit 5m Länge sicher zu gehen wäre eine MOSFET Spannung V(DSS) von etwa 55V, eine Stromstärke I(D) von mind. 20A und ein möglichst kleiner R(DSon) Widerstand im mOhm-Bereich von Vorteil. Alle oben erwähnten MOSFETs wurden übrigens mit dieser Schaltung und einem 5m Strip ausprobiert, ohne dass es zu einer erhöhten Wärmeentwicklung oder zu anderweitigen Problemen kam.

Der verwendete RGB-Strip hat eine gemeinsame Anode, was für die meisten RGB-LED-Strips jedoch zutreffen sollte. Obwohl der Strip über eine gemeinsame Anode verfügt (+) ist meist die Leitung in schwarz, was durchaus zu Verwechslungen führen kann, auf dem Strip selbst ist meist aber 12+ aufgedruckt. Die Leitungen für die LED-Farbe Rot am Strip habe ich in der Schaltung in Orange gewählt, damit es nicht zu Verwechslungen mit dem Pluspol kommt. Selbstverständlich benötigen wir noch ein 12V Netzteil, welches für einen 5m Strip – meiner Meinung nach – über etwa 60 Watt verfügen sollte, es wird auf der oberen Spannungslinie angeschlossen (+/- beachten). Der Arduino wird in der Schaltung über den USB-Anschluss mit Spannung versorgt und ist dank dem Optokoppler perfekt getrennt, so dass es zu keinen Problemen kommen sollte.

Anschließend benötigen wir noch eine Bibliothek für Ansteuerung von RGB-LEDs, welche noch den Arduino-Bibliotheken hinzugefügt wird (ist eine Eigenentwicklung und befindet sich im Beta-Status – Version 0.8) und laden dann folgendes Programm auf unseren Arduino:

Programmcode (Sketch):

#include "simtronyx_RGB_LED.h"

#define REDPIN 3
#define GREENPIN 5
#define BLUEPIN 6

simtronyx_RGB_LED strip(REDPIN,GREENPIN,BLUEPIN);
 
void setup() {
  
  strip.animateColorAdd(255,0,0,100);
  strip.animateColorAdd(0,255,0,100);  
  strip.animateColorAdd(0,0,255,100);  
  strip.animateStart();
}

void loop(){

  strip.loop();
}

Download Source Code

Wenn alles funktioniert hat, sollte nun der RGB-Strip permanent durch alle Farben faden.

Da dies natürlich noch nicht alles ist und auch ziemlich langweilig wäre geht es demnächst weiter im 2. Teil der Reihe, wo wir über die serielle Schnittstelle auch noch einfache Farben und verschiedene Fading-Programme setzen werden.

 

Bauteile (Bezugsquellen):

eBay: 12V Netzteil
Arduino
Breadboard
Breadboard Kabel
LTV847
MosFet
RGB LED Strip
Widerstand 10k
Widerstand 390
Amazon: 12V Netzteil
Arduino
Breadboard
Breadboard Kabel
LTV847
MosFet
RGB LED Strip
Widerstand 10k
Widerstand 390

Gut?

Facebooktwittergoogle_plusredditpinterestlinkedinmailFacebooktwittergoogle_plusredditpinterestlinkedinmail