Ich habe bei ebay günstig ein großes 1kW-Stroboskop ersteigert, dass aber leider über keine eigene Steuerung verfügt, sondern nur über einen analogen 10V Impulseingang getriggert werden kann. Der Rest meines Lichtes hört aber auf DMX und für Sylvester wäre als Feuerwerks-Support eine Standalone-Zufallsfunktion super.

Zeit, mal was mit einem Arduino anzufangen!

Die fertige DMX/Strobo-Steuerung

Projektstatus: Januar 2021 überarbeitet (Erste Version Dez. 2019)
HW-Status : V1.1 8.1.2021 Erweiterung um StepUp für 10V
SW-Status : V1.1 Umstellung auf Timer1 für Zeiten, Auto-Strobo
- Dokumentation -
Letzte Änderung Webseite: 08.01.2021 StepUp und neue SW hinzu


DMX-Stroboskopsteuerung Schaltplan

Schaltplan der DMX/Strobo-Steuerung

Hardware

Die Hardware besteht aus einem Arduino Nano, einem RS485 Adapterboard (=elektrisch der DMX-Standard) und einem Optokoppler und Step-Up Wandlerboard. Die 10V für den Triggerimpuls werden mit dem Step-Up Board erzeugt, die von dem Ausgang des Optokoppler durchgeschaltet wird, der offene Emitter wird über 10k auf Masse gezogen und hat noch einen 100 Ohm Längswiderstand. Das Stroboskop wird über eine Mono-Klinkenbuchse 6,3mm angeschlossen. Die LED im Optokoppler wird vom Arduino-Ausgang #2 (Low-Aktiv) über 360Ohm getrieben. Anstelle von Leiterplatten-Buchsen für den DMX-Anschluss habe ich ein billiges kurzes DMX/XLR-Kabel benutzt, in das die Strobo-Steuerung eingeschleift ist - man kann aber auch ein schön teures DMX-Shield nutzen... Die Versorgung der Elektronik übernimmt ein übrig gebliebenes USB-Netzteil.

Software

Die Software basiert auf der als Slave initialisierten Arduino-DMX Library "DMXSerial" von mathertel (v1.5.2), dazu noch die TimerOne-Lib von PaulStoffregen (V1.1.0). Für diese Zwecke reicht die fest kodierte DMX-Adresse 90, hier die Funktion der Werte:

0: kein Blitz (auch beim Wechsel auf den Wert „0“ wird kein Blitz ausgelöst)

1..10: diese Werte lösen jeweils bei Wertänderung einen einzelnen Blitz aus

11..255: Variable Blitzfrequenz mit folgender Periodendauer t=10.5ms+10ms+ (Wert – 10)ms

Die Trigger Impulse im DMX-Betrieb werden über einen Timer1-Interrupt erzeugt, der jeweils zwischen High-Pegel (10.5ms fest) und der variablen Pause mit Low-Pegel (Formel siehe oben) umprogrammiert wird – so läuft das ganze unabhängig vom DMX.

Beim Start des Nano wird Pin 3 eingelesen und zwischen DMX- und Random-Betrieb unterschieden. Im Random-Betrieb gibt die Steuerung alle 20ms...2s einen Impuls aus - basierend auf dem Pseudo-Random des Arduino.

Link zur DMX-Library DMXSerial bei Github

Link zur TimerOne-Library TimerOne bei Github

Download meines Arduino-Sketches

Material

Bauteil Anz Bezeichnung Quelle E-PReis G-Preis
1 Arduino Nano 1 Arduino-Nano (Clone) ebay 1,00 € 1,00 €
2 RS485 Interface 1 MAX485 TTL Schnittstelle Modul Adapter RS-485 ebay 1,00 € 1,00 €
2 StepUp 1 MT3608 2A Max DC-DC Step Up Power Module aliexpress 0,49 € 0,49 €
3 Optokoppler 1 CNY17-3 Reichelt 0,26€ 0,26€
4 Lochraster-LP 1 Reichelt
5 Umschalter 1 GOOBAY 10020 Miniatur-Kippschalter, EIN-EIN, 3 A / 250 V Reichelt 0,23 € 0,23€
6 Gehäuse 1 Reichelt
8 USB-Kabel 1 Reichelt
9 Klinkenbuchse 1 EBMSV 63 Klinkeneinbaubuchse, 6,3 mm, Mono, 2-pol Reichelt 0,27 € 0,27€
10 Widerstände 3 je 100R, 360R, 10K Reichelt 0,10 € 0,30 €
11 DMX-Kabel 0,5m 1 ebay 4,26€ 4,26€
etwa 12,00€

DMX-Steuerung im Gehaeuse

Die quick&dirty in ein Gehäuse gestrickte Steuerung - nicht shön, aber läuft. (Noch ohne StepUp-Erweiterung)