Startseite Power Blog

Aufbau einer LED-Matrix mit Arduino, angetrieben durch CUI-Netzteile

8. September 2020 von Ron Stull – Lesezeit: 12 Minuten

Aufbau einer LED-Matrix mit Arduino, angetrieben durch CUI-Netzteile

Hintergrund

Da viele von uns wegen COVID-19 zu Hause bleiben, habe ich einen Teil meiner Freizeit zu Hause damit verbracht, mir meinen Vorrat an Netzteilen und elektronischen Komponenten anzuschauen, um zu sehen, was ich damit machen kann. Mein erstes Projekt bestand darin, einige alte programmierbare LED-Streifen zu verwenden, die von den Feiertagen übrig geblieben waren. Das Ergebnis war eine 24 x 18 Matrix aus RGB-LED-Leuchten (insgesamt 432 RGB-LEDs). Die Matrix hat insgesamt 144 steuerbare Abschnitte (24 x 6), die mit einer Vielzahl von wählbaren Routinen programmiert sind.

CUI auf LED-Platine
Abb. 1: „CUI“ auf LED-Platine

Platinenübersicht

Die Platine besteht aus einem Stück Sperrholz mit 3 5 Meter langen LED-Streifen, die in insgesamt in 24 kleinere Streifen mit je 18 LEDs geschnitten sind. Die Farbe der LEDs wird gemäß Benutzereingaben über ein Potentiometer und drei Tasten von einer Arduino Uno in Dreiergruppen (6 Gruppen pro Streifen mit 18 LEDs) gesteuert. Die Platine wird vom SDI65-12-U-P6 von CUI betrieben, einem 60 W, 12 V, 5 A AC/DC-Netzteil, und zwei interne +/-5-V-Schienen werden vom V7805-1000s von CUI gespeist. Eine Demultiplexer-Schaltung wird verwendet, um Daten zu den LED-Streifen zu leiten. Die Arduino überwacht den LED-Strom und steuert die Stromversorgung der LEDs über ein Relais.

LED-Platinen-Blockdiagramm
Abb. 2: LED-Platinen-Blockdiagramm
Bild der LED-Platine vorne
Abb. 3: LED-Platine vorne
Bild der LED-Platine hinten
Abb. 4: LED-Platine hinten
Kategorie Beschreibung ANZ.
Controller ARDUINO UNO ATMEGA328 EVAL BRD 1
LED-Streifen 5 m 150 LEDs WS2811 LED-Streifen programmierbares Traumfarblicht IP67 Wasserdichtes weißes PCB-Rohr 3
Stromversorgung AC/DC-DESKTOP-ADAPTER 12 V 60 W 1
MUX-Board Demultiplexer und 5 V-Regler 1
Strommessplatine Strommessung und Verstärker, mit -5 V-Regler, 5 V 1
Relaisplatine Relaisplatine, 12 V 1
Tastenplatine Benutzerschnittstellenplatine, drei Tasten, ein Potentiometer, 5 V 1
Abb. 5: Top-Level-Stückliste

Externe Stromversorgung

Eine externe Stromversorgung SDI65-12-U-P6 wird als Hauptstromquelle für die Platine verwendet. Sie kann kontinuierlich 12 V liefern, bis zu 5 A. Irgendwo zwischen 5 A und 7,5 A startet das Netzteil den Überstromschutz und Hiccup-Modus, bis der Laststrom wieder abfällt. Wenn dies geschieht, verliert die Arduino Strom und wird zurückgesetzt, es sei denn, die Stromschiene kann lange genug obengehalten werden, damit der Fehler erkannt und behoben werden kann. Um den Strom zu erfassen und zu verhindern, dass ein Überstromschutz den Controller zurücksetzt, werden die LED-Streifen über eine Stromerfassungsschaltung und ein Relais, das von der Arduino gesteuert wird, an die 12-V-Stromversorgung angeschlossen.

Jede LED hat einen maximalen Strom von 18,5 mA. Mit 432 LEDs, was den maximalen Strom auf 8 A setzt und bedeutet, dass der Überstromschutz unter bestimmten Bedingungen ausgelöst werden könnte. Diese Bedingung gilt jedoch nur, wenn alle roten, grünen und blauen LEDs gleichzeitig eingeschaltet sind. Ein durchgehendes Rot oder Grün bei voller Helligkeit erfordert nur 2,7 A. Nach Tests stellte ich fest, dass 4,5 A für alles, was ich vorhatte, mehr als genug waren. Die Arduino überwacht den gemessenen LED-Strom und schaltet das Relais ab, wenn der Strom ~4,6 A überschreitet. Dadurch bleiben 5 W für andere Schaltungen übrig.

Bildschirmaufnahme eines Oszilloskops
Abb. 6: Testmessung des Überstromschutzes – Relais (grün) fällt ab, wenn der vom Verstärker (hellblau) gemessene Strom (violett) 4,78 A überschreitet und die LED-Spannung (dunkelblau) abschaltet. Maximale Leistungsabgabe während des Tests war 57,2 W

Arduino Uno

Die Arduino Uno-Platine, die auf dem Atmel ATmega328 basiert, wird zur Steuerung des Systems verwendet. Die Kommunikation mit den LED-Streifen (oder den WS2811, die sie intern steuern) ist eine auf der Pulsbreite basierende Ein-Draht-Kommunikation und wird über die Adafruit NeoPixel-Bibliothek abgewickelt, die in der Arduino-IDE enthalten ist. Die gesamte Kommunikation, die Anzeigeroutinen, die Benutzerschnittstelle und die Relaissteuerung werden in die Arduino-Platine programmiert und von dieser gesteuert.

Bild von Arduino Uno-Platine mit Etiketten
Abb. 7: Arduino Uno-Platine
Diagramm mit LED-Kommunikationszeiten
Abb. 8: WS2811 Kommunikationszeiten

MUX-Board

Jeder der kleinen Streifen hat eine eindrahtige Kommunikationsleitung, die von der Mux-Platine, welche von der Arduino Uno gesteuert wird, in eine einzige Kommunikationsleitung demultiplext wurde. Die Mux-Platine dient auch als zentraler Stromverteilungspunkt. Externe Stromversorgung – vom SDI65-12-U – wird direkt an die Mux-Platine angeschlossen. Die 12 V von der Stromversorgung werden von der Mux-Platine auf die Relaisplatine und den Eingang eines V7805-1000-Schaltreglers verteilt, der sie für die Demultiplexer in 5 V umwandelt. Die 5V-Schiene wird auch an die Arduino und über diese Platine an die Tasten- und Strommessplatinen ausgegeben.

Foto der MUX-Platine
Abb. 9: MUX-Platine
Schaltplan der MUX-Platine
Abb. 10: Schaltplan der MUX-Platine
Kategorie Beschreibung Ref. ANZ.
Verbinder 2,0 x 6,5 mm, 5,0 A, horizontal, Oberflächenmontage (SMT), Gleichstromsteckverbinder J8 1
Verbinder CONN HEADER VERT 10POS 2.54MM J1, J2, J3 3
Schiebeschalter 5 A/120 V einpoliger Doppel-Schiebeschalter S1 1
Draht zum Platinenanschluss TERM BLK 2P SIDE ENT 2.54MM PCB J4, J5, J6, J7, J9 5
Draht zum Platinenanschluss TERM BLK 2P SIDE ENT 5.08MM PCB J10 1
Schaltregler DC-DC NON-ISOLATED, 2 A, 8~36 VD DC1 1
Keramikkondensator CAP CER 0.1UF 50V X7R RADIAL C3, C4, C5 3
Elektrolytkondensator CAP ALUM 1UF 20% 50V RADIAL C2 1
Al-Polymerkondensator CAP ALUM POLY 470UF 20% 16V T/H C1 1
LED LED GREEN DIFFUSED T-1 3/4 T/H D1 1
MUX IC 3-8 LINE DECODER/DEMUX 16-DIP MUX0, MUX1, MUX2 3
Widerstand RES 1,2K OHM 1/8W 5% CF AXIAL R1 1
Abb. 11: Stückliste der MUX-Platine

Strommessplatine

Die Strommessplatine ist Teil des Überstromschutzschaltkreises (OCP). Der Strom zu den LEDs fließt durch einen Leistungswiderstand auf dieser Platine und die Spannung dieses Widerstands, die proportional zum LED-Strom ist, wird von einem Operationsverstärker erfasst und verstärkt und an die Arduino ausgegeben. Die Verstärkung des Verstärkers wird durch ein Potentiometer mit einer minimalen Verstärkung von 1 und einer maximalen Verstärkung von 11 geregelt. Sie wird normalerweise auf 5 eingestellt, sodass der Ausgang 2,5 A/V des Eingangssignals beträgt (2 V bei 5 A). Ein Komparator, dessen Schwellenwert durch ein zweites Potentiometer eingestellt wird, erkennt, ob der Überstromschwellenwert überschritten wurde, schaltet eine LED-Anzeige ein und gibt ein Logiksignal an die Arduino aus. Diese Platine wird von der V7805-1000-5-V-Schiene gespeist, die von der MUX-Platine kommt. Sie erzeugt auch intern die -5-V-Schiene für den Operationsverstärker unter Verwendung eines V7805-1000 in seiner invertierenden Konfiguration.

Foto der aktuellen Platine
Abb. 12: Strommessschaltung
Schaltplan der Stromplatine
Abb. 13: Schaltplan der Strommessplatine
Kategorie Beschreibung Ref. ANZ.
Widerstand RES 5.1K OHM 1/8W 5% AXIAL R2, R8 2
OP-AMP IC OPAMP GP 1 CIRCUIT 8DIP U2, U3 2
Widerstand RES 10K OHM 1/8W 5% AXIAL R5, R6, R10 3
LED LED GREEN DIFFUSED T-1 3/4 T/H D1 1
LED LED RED DIFFUSED T-1 3/4 T/H D2 1
Transistor MOSFET N-CH 60V 200MA TO-92 Q1, Q2 2
Draht zum Platinenanschluss TERM BLK 2P SIDE ENT 2.54MM PCB J1, J2 2
Keramikkondensator CAP CER 0.1UF 50V X7R RADIAL C2, C3, C4 3
Schaltregler DC-DC NON-ISOLATED, 2 A, 8~36 VD U1 1
Widerstand RES 470 OHM 1/8W 5% AXIAL R1 1
Kondensator CAP ALUM 47UF 20% 25V THRU HOLE C1 1
Widerstand RES CHAS MNT 0,1 OHM 5% 16W R4 1
Keramikkondensator CAP CER 0.01UF 50V X7R RADIAL C5 1
Trimmpotentiometer TRIMMER 10K OHM 0.2W PC PIN TOP R3 1
Trimmpotentiometer TRIMMER 50K OHM 0.2W PC PIN TOP R7 1
Abb. 14: Stückliste der Strommessplatine

Relaisplatine

Die Relaisplatine ist ein einfaches Relais und ein Treiber. Wenn der Steuereingang einen hohen Wert annimmt, schaltet das Relais die LEDs ein, und wenn er einen niedrigen Wert annimmt, wird der Strom aus den LEDs entfernt. Diese Platine läuft mit 12 V, die vom SDI65-12-U-P6 über die MUX-Platine kommen.

Foto der Relaisplatine
Abb. 12: Relaisplatine
Schaltplan der Relaisplatine
Abb. 13: Schaltplan der Relaisplatine
Kategorie Beschreibung Ref. ANZ.
Draht zum Platinenanschluss TERM BLK 2P SIDE ENT 2.54MM PCB J1, J2, J3 3
Transistor Bipolar (BJT) Transistor PNP 40V 200MHz 600mW Durchsteckmontage TO-92 Q1 1
Transistor N-Channel 60V 200mA (Ta) 400mW (Ta) Durchsteckmontage TO-92-3 Q2 1
Widerstand RES 2.2K OHM 1/8W 5% AXIAL R1 1
Widerstand RES 110K OHM 1/8W 5% CF AXIAL R3 1
Widerstand RES 1,2K OHM 1/8W 5% CF AXIAL R2 1
Relais RELAY GEN PURPOSE DPDT 5A 24V K1 1
Abb. 14: Stückliste der Relaisplatine

Tastenplatine

Der Anwender kann die Helligkeit der LEDs über ein Potentiometer steuern. Drei Schaltflächen ermöglichen es dem Anwender, eine Vielzahl von Anzeigeroutinen und Farbeinstellungen zu durchlaufen. Diese Platine wird von 5 V gespeist, die von V7805-1000 auf der MUX-Platine kommen.

[IMGALT]
Abb. 14: Tastenplatine
[IMGALT]
Abb. 15: Schaltplan der Tastenplatine
Kategorie Beschreibung Ref. ANZ.
Tasten SWITCH PUSHBUTTON SPST 1A 30V S1, S2, S3 3
Draht zum Platinenanschluss TERM BLK 2P SIDE ENT 2.54MM PCB J1, J2, J3 3
Keramikkondensator CAP CER 0.1UF 50V X7R RADIAL C2 1
LED LED GREEN DIFFUSED T-1 3/4 T/H D1 1
Widerstand RES 4.7K OHM 1/8W 5% AXIAL R1 1
Elektrolytkondensator CAP ALUM 10UF 20% 16V RADIAL C1 1
Widerstand RES 110K OHM 1/8W 5% CF AXIAL R2, R3, R4 3
Potentiometer POT 10K OHM 1/5W PLASTIC LINEAR R5 1
Abb. 16: Stückliste der Tastenplatine

Ergebnisse

Nachdem die Platinen gelötet und montiert waren, war es an der Zeit, einige Anzeigeroutinen zu programmieren. Mit den Tasten kann der Benutzer verschiedene Routinen durchlaufen, alle LEDs ein- und ausschalten und Volltonfarben durchlaufen. Mit einem Potentiometer kann die Helligkeit der LEDs eingestellt werden. Bei begrenztem Speicherplatz ist die Anzahl und Komplexität der Routinen jedoch begrenzt.

Für die erste Routine (bevor ich alle LED-Streifen hinzugefügt hatte) ersetzte ich das Potentiometer durch einen externen Analogeingang. An diesem Eingang wurden ein Mikrofon und eine Pegelerkennungsschaltung angebracht und die Lautstärke des Mikrofons steuerte die LEDs.

Bitte Cookies akzeptieren, um dieses YouTube-Video abzuspielen.
Mehr über Cookies erfahren.

Eine weitere Routine war ein hüpfendes Quadrat, dessen Farbe sich ändert, wenn es auf eine Kante trifft.

Bitte Cookies akzeptieren, um dieses YouTube-Video abzuspielen.
Mehr über Cookies erfahren.

Schließlich fügte ich eine ganz weiße Einstellung hinzu, um die Überstromschutzfunktion zu testen. Wenn die Helligkeit hochgedreht wird, löst sie den Überstromschutz-Schaltkreis aus. Der folgende Clip demonstriert auch, wie die Tastenplatine die programmierten Anzeigeroutinen umschaltet.

Bitte Cookies akzeptieren, um dieses YouTube-Video abzuspielen.
Mehr über Cookies erfahren.

Zusätzliche Ressourcen


Haben Sie irgendwelche Kommentare bezüglich dieses Beitrags oder Themen, die wir in der Zukunft besprechen sollten?
Senden Sie eine E-Mail an powerblog@cui.com

Ron Stull

Ron Stull

Stromversorgungsingenieur

Seit Ron Stull 2009 zu CUI kam, hat er eine Reihe von Kenntnissen und Erfahrungen in den Bereichen der analogen und digitalen Stromversorgung sowie der AC/DC- und DC/DC-Energieumwandlung gesammelt. Er spielt eine Schlüsselrolle im Engineering-Team von CUI, mit Verantwortlichkeiten wie Anwendungsunterstützung, Test und Validierung sowie Design. Außerhalb der Energietechnik spielt Ron Gitarre, joggt und unternimmt mit seiner Frau Ausflüge in die Natur. Sie haben vor, alle US-Nationalparks zu besuchen.

 
Powered by Translations.com GlobalLink OneLink SoftwarePowered By OneLink