4-Kanal Lichtorgel im Vintage Röhrenverstärker-Look

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

Gehäuse

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.

RP2040-Zero Programmieren

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.

Software und Bedienung

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.

Konfiguration

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
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.
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).

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.

Zero-Crossing Abgleich

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.


Kanal A, Triggersignal 5V

Kanal B, Netz Schaltet bei ca. 200V ein, erst die Positive Welle, dann die Negative. Nach dem Einschalten geht die Spannung mit den Sinus gegen Null.

Wichtig ist, dass das Trigger Signal abschaltet, bevor der Nulldurchgang erreicht wird, da der Triac sonst gleich wieder einschaltet.




© 2023-2024 by Stefan Ludescher