Das folgende Demo-Video ist auch auf Youtube verfügbar.
Diese 4-Kanal Lichtorgel basiert auf dem RP2040-Zero
Mikrocontroller, eine Variante des Raspberry-PI Pico. Die folgende
Beschreibung hilft beim Nachbau, wobei das nicht genau so aussehen
muss und beliebig verändert werden kann.
Die 4 grossen Lampen sind dimmbare 4W Filament LED Lampen im
Vintage ST64 Glaskolben mit E27 Sockel in den Farben Rot, Gelb,
Grün und Blau. Die Gelbe Lampe ist eine "Gold" oder "Warm-Yellow"
2200k/2300k Version da "Gelb" anscheinend so nicht erhältlich ist.
Die 2 kleinen Lampen sind warm-weisse dimmbare 4W Filament LED
Lampen im Vintage T25 Glaskolben mit E14 Sockel.
Alle Lampen und auch die meisten anderen Bauteile sind erhältlich z.B. bei Aliexpress.com
Ein einfaches, selbst gezimmertes und bemaltes Holzgehäuse mit
einzelnem Innenteil ca. 42cm breit, 25cm hoch und 25cm tief
(aussen).
Der Innenteil muss hoch genug sein (5-6cm) so dass die
Lampensockel in der Höhe passen. Und auch die Lampen müssen oben
genug Luft haben so dass sie im eingebauten Zustand eingeschraubt
werden können.
Im Innenteil sind vier 2-Stufige Löcher für die grossen Lampen so
dass der Kegel hinein passt.
Weiter zwei normale Löcher für die kleinen Lampen so dass die
Lampe durch geht.
Dann noch Löcher für die Bedienelemente vorne.
Hier der Bohrplan für einen Inenteil von 38cm x 20cm:
Quer in den Löchern für die Lampen werden die LEDs montiert,
welche die Heizung bzw. Hochspannung simulieren. Für die kleinen
Lampen je 2 rote LEDs, für die grossen Lampen je 1 rote, 2 gelbe
und 2 blaue LEDs.
Hier das Schema für die Verkabelung. Es zeigt die Verkabelung der
LEDs, der Schalter, des Leistungsteils mit Optokoppler und
Opto-Triac, sowie der CPU Platine für die Steuerung. Zum
ausdrucken oder vergrössern am Besten mit rechter Maustaste
herunterladen:
Die Lampensockel müssen in der Höhe so montiert werden, dass die
Lampen in den Löchern bündig sind:
LEDs verkabelt:
Die Drehknöpfe sind nur Attrappe, allerdings funktionieren 3
davon als Drucktaster.
Schalter verkabelt:
Aufbau der Leistungs-Stufe mit Optokoppler für den
Nulldurchgangsdetektor und den Opto-Triacs zur Ansteuerung der
Lampen.
Aufbau der CPU Platine:
Hier der komplette Innenausbau. Nebst den oben beschriebenen
Bauteilen ist noch ein 5V Netzteil für die Stromversorgung der CPU
und LEDs eingebaut.
der Vorverstärker oben links (siehe auch Schema) ist ein MAX4466
Mikrofonmodul abgeändert wie beschrieben im "Audio Spectrum Analyzer".
Vorsicht ist mit der Verkabelung des Starkstromteils geboten.
Hier wurde alles mit Schrumpfschläuchen so überzogen so dass man
an keinem Teil einen Stromschlag bekommt. Zusätzlich wurde das
fertige Gerät mit der 4kV Testspannung überprüft wie beschrieben
mit dem "Hochspannungs-Prüfgerät".
Dann noch etwas "Metall" angebaut, welches Transformatoren und
Kondensatoren andeuten soll.
Zum Schluss wird es noch mit einer Gewindestange und einer
Flügelmutter im Gehäuse befestigt, sichtbar im ersten Bild ganz
Oben.
Dazu wird folgendermassen vorgegangen:
• Diese Zip-Datei
herunterladen und daraus die Datei "tubelight.uf2" extrahieren.
• Boot-Taste am RP2040-Zero drücken und gedrückt halten.
• RP2040-Zero via USB Kabel mit dem PC verbinden.
• Am PC erscheint ein USB Speicher mit dem Namen "RPI-RP2". Diesen
öffnen bzw. anklicken.
• Die Datei "tubelight.uf2" vom PC auf den "RPI-RP2" kopieren.
• Der Mikro startet automatisch und das Speichergerät verschwindet
wieder.
Eine Beschreibung der Software Implementierung findet man im
Projekt "Raspberry
Pi Pico Lightcontroller". Die Software wurde analog dazu um
einen weiteren Kanal erweitert. Zusätzlich wurde für die
Starkstromlampen eine Phasenanschnitt Software implementiert,
welche die Lampen via Opto-Triac U3-U7 schaltet. Die Software wird
mit dem Nulldurchgang der Netzphase synchronisiert durch das
Hardware Signal des Optokopplers U8, (HCPL2731).
Bedienen lässt es sich mit den Plus/Minus-Tasten, welche hier die
2 letzten "Drehknöpfe" sind. Siehe dazu die Funktion wie
beschrieben beim Light Controller - Hardware - Bedienelemente.
Die Konfiguration erfolgt via USB Schnittstelle analog zur Beschreibung beim "Audio Spectrum Analyzer". Nach dem Einstecken am PC erscheint ein serielles Gerät (COMx bei Windows, ttyACMx bei Linux). Mit einem Terminalprogramm wie z.B. PuTTY verbindet man zu dieser Schnittstelle und kann dann Konfigurations-Einstellungen Einsehen und verändern. PuTTY ist für alle gängigen Betriebssysteme frei erhältlich.
Man kann dafür aber auch das Smart Phone benutzen wie hier beschrieben.
Nach dem Öffnen drückt man erst das ? und dann die Enter-Taste (↵). Die Software antwortet mit der Beschreibung und Version sowie dem Hilfetext wie in diesem Beispiel: Tube Illuminator binary for RP2040, (c) 2023 by Ludescher
Der Text ist selbsterklärend. So kann man mit A↵ alle
Einstellungen wie folgt ansehen und mit X=n eine Einstellung
verändern (Mit X ist hier der aufgelistete Buchstabe gemeint).
0.0.0-Prototype-1
? = Help
A = List actual settings.
D = set all to default.
S = Store actual settings to flash.
1...8 = Select Lamp Prm
x=n Set parameter x to value n.
Actual Setings:
O=60 Overall 0...100%
R=50 Red 0...100%
Y=50 Yellow 0...100%
G=50 Green 0...100%
B=50 Blue 0...100%
T=25 Trigger 0...100%
L=140 Lamp Decay 50...999 ms
C=0 Mood 0...100%
Z=1000 Zero Crossing Delay us
0=0 Lamptst 0...100%
Zum Beispiel O=50↵ verändert die Eingangsempfindlichkeit
(Overall) auf 50%. Dies hat Auswirkungen auf alle Lampen. Aber
z.B. R=20↵ verändert nur die Helligkeit der roten Lampe auf 20%.
Die Einstellung O, R, Y, G, B, C kann mit den 2 Drucktasten im laufenden Betrieb gemacht werden. Beide Drücken wählt den Parameter (die entsprechende Lampe zeigt das an). Dann + oder - erhöht oder verringert die Empfindlichkeit in 10% Schritten. 10 Sekunden nach der letzten Betätigung, werden die Parameter automatisch abgespeichert.
Der Parameter T (Trigger) ist ein Wert wie viel Signal vorhanden
sein muss, damit die Lampe überhaupt an geht. T=0 würde bedeuten,
dass sie bereits vom Rauschen leuchtet. T=25 heisst, dass erst ab
einem Pegel von 25% die Lampen eingeschaltet werden.
Der Parameter L ist die Nachleuchtdauer in ms. Mit einem kleinen Wert, z.B. L=50 wirken die Lampen sehr nervös da sie innerhalb kurzer Zeit abgeschaltet werden. Mit einem grösseren Wert z.B. L=500 werden sie sehr träge da sie lange nachleuchten.
Der Parameter C (Mood Colour = Stimmungsfarben) ist auf null
gestellt um die Funktion abzuschalten. Bei Bedarf kann man den
aber erhöhen um das Stimmungslicht wie beim "Lightcontroller" beschrieben einzuschalten.
Der Parameter Z wird benötigt um den Nulldurchgang (Zero crossing) der Netzphase zu korrigieren. Voreingestellt ist 1000 us (Mikrosekunden = 1ms). Mit unterschiedlicher Hardware kann es nötig sein, den Wert anzupassen. Wenn z.B. die Triacs bis über den Nulldurchgang eingeschaltet sind, werden die Lampen unkontrolliert flackern. Siehe unten Zero-Crossing Abgleich.
0 (Zahl Null) ist der Lampentest, um den Phasenanschnitt abzugleichen. 0=10 bedeutet, dass die Lampen auf 10% Helligkeit eingestellt werden. Damit kann man für jede einzelne Lampe die minimale Phasenzeit einstellen. Mit den Zahlen 1...5 wählt man die 5 Lampen (1=kleine Lampen, 2=Rot, 3=Gelb, 4=Grün, 5=Blau). Mit X=-nnnn (Buchstabe X und das Minuszeichen) kann der Minimale Wert eingestellt werden, wobei -5000 = 100% der Phasenzeit. Sind alle Minimalwerte eingestellt, kann man mit 0=100 die Lampen mit 100% einstellen. Mit X=nnnn wird der Maximale Wert eingestellt werden, wobei auch 5000 = 100% der Phasenzeit. Damit kann eingestellt werden, dass alle Lampen gleich hell leuchten. Danach wieder 0=0 eingeben um sie abzuschalten. Die Minimalen Werte müssen aber so eingestellt werden, dass die Lampen ohne Signal auch ausschalten. Die Werte können je nach Lampe und vor allem der verwendeten Technik in der Lampe variieren. Beschreibungen über Phasenanschnitt-Steuerungen findet man im Internet z.b. bei Wikipedia.
Im weiteren kann die Helligkeit der roten, gelben und blauen
LEDs, welche die Lampen von unten anleuchten, eingestellt werden.
Dazu wählt man wie oben beschrieben die Lampe 6 (blaue LED), 7
(gelbe LED) oder 8 rote LED). Ebenso wird mit X=nnnn die
Helligkeit eingestellt, wobei 5000=100%. Den Minimalwert kann man
für diese aber nicht einstellen.
Sind alle Einstellungen wie gewünscht, tippt man S↵. Damit werden
diese im Flash-Speicher gespeichert und bleiben auch nach dem
Ausschalten erhalten.
Die Phasenlage des Netz-Nulldurchgangs (Zero-Crossing) wird wie im
Schema dargestellt mit dem Optokoppler HCPL2731 gemessen. Doch leider wird nicht
genau der Nulldurchgang gemessen, sondern wenn die Spannung einen
minimalen Wert unterschreitet. Deshalb ist in der Software ein Abgleich
möglich mit dem Parameter Z wie oben beschrieben.
Man kann den Wert einfach durch ausprobieren ermitteln bzw. müsste
der voreingestellte Wert von 1000us funktionieren. Wenn man die
Möglichkeit hat, kann man es aber auch messen und dann eine Zeit
zwischen ca. 0.5 - 1.0ms einstellen. Zur Erklärung hier noch den
Messaufbau:
Mit der 1:10 Sonde wird auf dem Oszilloskop Kanal A das Triggrersignal für den Opto-Triac gemessen (Ausgang vom 74HCT573).
Mit dem 1:100 Differenzial-Messadapter wird das Netz zur Lampe gemessen.