8. September 2020 von Ron Stull – Lesezeit: 12 Minuten
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.
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.
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-Platine | 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 |
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.
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.
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 5-V-Schiene wird auch an die Arduino und über diese Platine an die Tasten- und Strommessplatinen ausgegeben.
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 NICHT ISOLIERT, 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 |
Die Strommessplatine ist Teil des Überstromschutzschaltkreises (Over Current Protection, 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.
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 NICHT ISOLIERT, 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 |
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.
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 |
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.
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 |
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.
Eine weitere Routine war ein hüpfendes Quadrat, dessen Farbe sich ändert, wenn es auf eine Kante trifft.
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.
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