HOME

Infos

Resources
FAQ

DMX

Open RDM
Dimmer
Switch
Demux
LED
Matrix
Servo
Stepper
Analyzer

Allgemeines

Shop
Links
Forum
Impressum

_

Henne's Sites

DMX Dimmerpack

 

Das hier beschriebene einphasige Dimmerpack ist recht einfach aufgebaut. Dennoch ist es dank seiner Leistungslinearisierung, der vollen Auflösung von 256 Stufen und der Möglichkeit, einzelne Kanäle im Switchmodus zu betreiben, für die meisten Aufgaben geeignet. Mit bis zu acht Kanälen à 2 kWmax. und einem Übertemperaturschutz sind auch größere Systeme problemlos zu realisieren. Durch das modulare Design ist der Dimmer einfach zu reparieren.

Ein DMX Dimmerpack besteht aus folgenden Modulen:

1    DMX Transceiver
1    ZC-Detection
1-8 Lastteile

Für den Betrieb des Dimmerpacks stehen wahlweise eine konventionelle DMX-Firmware als auch eine RDM-Firmware zur Verfügung.

Rev. 3.2

DMX-Transceiver (Rev. 3.2)

Mit diesem Modul können DMX-Daten sowohl empfangen als auch gesendet werden. Auf Grund des Mikrocontrollers sei Anfängern von einem Nachbau jedoch abgeraten.

Diese Schaltung ist durch die vollständige Anbindung des RS485-Wandlers für eine bidirektionale Kommunikation (z.B. RDM nach ANSI E1.20) geeignet.

Fertige Platinen in Industriequalität sind im Shop erhältlich.

 

 

DMX-Transceiver SchaltungBauteile

  IC1
  IC2
  IC3
  D1 
  LED1
  LED2
  R1
  R2,3,4
  C1,2
  C3,4
  C5,6
  SW1
  Q1
  Anschlüsse
ATmega8515-16PU (sockeln!)
75176B (sockeln!)
7805
1N4007
LED 5mm rot
LED 5mm grün
10k (PT10-S)
390 Ohm
27pF
100nF
100µF
DIP-Schalter (10fach)
8MHz (HC49)
Stiftleiste einreihig
 

Die Bauteilkosten für einen Transceiver liegen zwischen 6,50€ und 9,50€.

 

 

 

 

 

 

 

 

 

 

Wie man sieht, ist die Schaltung äußerst simpel: Die Ansteuerung erfolgt per Firmware innerhalb der MCU (IC1). Diese wird über den "ISP"-Port auf IC1 übertragen. Die Startadresse und besondere Optionen (falls vorhanden) stellt man über ADR ein. Die Leuchtdioden dienen als Statusanzeigen. Die Bauteile rund um den Spannungsstabilisator IC3 sorgen für eine stabile Betriebsspannung von 5V. Q1 und C1,2 werden für die Betriebsfrequenz von 8MHz benötigt. Über den RS485-Wandler IC2 wird der MCU die Kommunikation mit der Außenwelt ermöglicht. Mit Hilfe von "Spare" können verschiedene Funktionsarten der Firmware fest gejumpert werden. Über A-Input kann ein analoger Schwellwert (z.B. zur Temperaturmessung) eingelesen werden.

An PWR wird eine Betriebsspannung zwischen 9Vdc und 12Vdc angeschlossen. Der DMX-Transceiver selbst benötigt <300mA. Bei der Dimensionierung der Spannungsversorgung sind alle angeschlossenen Verbraucher zu berücksichtigen.

Layout (48 * 76 mm^2; 300dpi)

Bestückung

Die Verbindung des Transceivers mit dem DMX-Bus erfolgt gemäß der nächsten Grafik:

Achtung: Pin 3 des XLR-Anschlusses wird mit dem mittleren Pin des Platinen-Steckverbinders verbunden!

 

Eine Anleitung zum Programmieren und zur Quarzselektion des AVRs finden Sie unter 'Resources'.

Nachdem der AVR auf den Quarz als Clock-Source umgestellt ist, sollte eine der beiden Dimmerpack-Firmwares auf den DMX-Transceiver übertragen werden. In diesen Programmen steckte die eigentliche Entwicklungsarbeit: Aus dem DMX-Datenstrom werden die betreffenden Kanäle gefiltert und die passenden Zündzeitpunkte berechnet. Mit jedem Nulldurchgang synchronisiert sich nun ein Timer, der zum richtigen Zeitpunkt den gewünschten Triac zündet. (Dieses Prinzip ist als Phasenanschnitt bekannt.)

ZC-Detection

Diese Nulldurchgangserkennung wird zur Synchronisation des Mikrocontrollers mit der Phase benötigt. Sie wird mit "ZC" auf dem Transceiver-Modul verbunden.

Schaltung

Bauteile für die Nulldurchgangserkennung

OK
LED
R1A
R1B
R3
 
4N33
LED 3mm
27k / 1W
27k /1W
10k
 

Über R1 gelangt die positive Halbwelle auf die LED von OK (die negative wird über die LED abgeleitet). Auf Grund der starken Erwärmung besteht R1 aus zwei seriellen Widerständen, die sich die Verlustleistung teilen. Ist OK leitend, liegt ZC auf GND. Während der negativen Halbwelle wird ZC durch R3 auf 5V gezogen. Am Ausgang sollte ein sauberes Rechteck mit ca. 50% DutyCycle anliegen, dessen Flanken den Nulldurchgängen entsprechen.

Bestückung

Lastteile

Um mit den TTL-Pegeln des DMX-Transceivers oder eines Arduinos Scheinwerfer, Transformatoren oder Motoren anzusteuern, benötigt man  Lastteile. Dazu können folgende Module oder solid state relays ohne Nulldurchgangserkennung verwendet werden.   

Die Lastteile wurden mit 500W induktiver Last und mit 2000W ohmischer Last dauergetestet. Sie arbeiten in einem Temperaturbereich von -20°C bis 80°C stabil.

 

Schaltung

Bauteile für ein Dimmermodul

OK1
T1
LED1
R1
R2
R3
R4
C1
C2
X1, N
MOC3022
TIC 2XX
LED 3mm
390Ω
360Ω
470Ω
39Ω / 0,5W
47nF / 630Vdc (MKS4 / RM7,5)
10nF / 630Vdc (MKS4 / RM7,5)
6,35mm Flachstecker Print

Sobald eine Spannung an der LED des Optotriacs OK1 anliegt, zündet dieser und steuert über R2 das Gate des Leistungstriacs T1 an. C2 und R4 bilden das Snubbernetwork des Triacs. Das Filter bestehend aus R3 und C1 wird für den Betrieb mit induktiven Lasten benötigt.

Ich habe für die Lastteile meiner Dimmer- und Switchpacks eine zweiseitige Kombi-Platine für vier Kanäle mit integrierter Nulldurchgangserkennung (zc detection) entworfen. Alternativ kann das einseitige Layout mit verringerter Leistung verwendet werden. Sollten weniger Kanäle benötigt werden, können diese unbestückt bleiben. In den Lastteilen für Dimmer- und Switchpacks werden unterschiedliche Optotriacs eingesetzt!

Layout (112mm x 40mm; 300dpi)

Bestückung

Zur Entstörung wird in jeden Kanalabgang eine Ringkerndrossel mit Eisenpulverkern geschleift: Die Induktivität dämpft die Transienten beim Phasenanschnitt und verhindert so ein Brummen in der PA und ein Summen der Glühwendeln. Zur Einschätzung dieser Dämpfung wird bei kommerziellen Dimmern häufig die 'rise time' angegeben. Hierbei handelt es sich um die Zeit (in µs) in der der Strom nach dem Zünden des Triacs von 10% auf 90% ansteigt. Nach Umformen einer Differentialfunktion lässt sich die benötigte Induktivität berechnen durch:

L = (t*U)/(2.198*I)

wobei 't' die risetime in [s], 'U' die Spannung in [V] und 'I' der Strom in [A] ist. Eine Risetime von 80µs (ca.1mH@10A) ist Standard. In hochempfindlichen Studioumgebungen wird mit Risetimes von bis zu 500µs gearbeitet.

Temperaturschutz

Im Zuge der Lastteilverstärkung wurde ein Überhitzungsschutz notwendig, um durch einen Shutdown der Lastteile eine Schädigung von Komponenten zu verhindern. Hierfür bilden ein NTC und der Trimmer R1 einen Spannungsteiler, der - falls sein Wert 1.25V unterschreitet - den Shutdown auslöst. Ich wählte bei mir für den Spannungsteiler folgende Kombination:

 R1
 NTC
 10k (PT10-S)
 6,8k @20°C

Zur Kalibrierung sollte der NTC zunächst auf die gewünschte Schwelltemperatur (45°C - 75°C) erhitzt werden. Anschließend wird zunächst R1 auf den rechten Anschlag eingestellt (voll aufgedreht) und danach langsam zurückgedreht, bis die rote LED aufleuchtet und das Pack abschaltet.

 

DMX Firmware

Switchmode

Zum Umschalten einzelner Kanäle in den Switch-Modus, muss folgendermaßen vorgegangen werden:
1.) Dimmerpack ausschalten.
2.) DIP10 und die DIPs der zu schaltenen Kanäle (1-8) in Position ON bringen.
3.) Dimmerpack einschalten.
4.) Startadresse einstellen, DIP10 = OFF. (Die Kanalmaskierung wird im EEPROM fest gespeichert)

 

60Hz-Betrieb

Durch Jumpern von Spare1 lässt sich der Dimmer auch in 60Hz-Netzen (USA) einsetzen.

 

Debugging

Um eine leichtere Fehlererkennung zu erreichen, habe ich einen Error-Indicator implementiert:
Beim Hochfahren sollte die ErrorLED leuchten. Ein Änderung der relevanten DMX-Kanäle wird durch Blinken der grünen LED indiziert.
Die folgenden Codes werden ständig wiederholt, bis der Fehler beseitigt ist.

Pattern Fehler Lösung
Blinken Es liegt keinerlei Signal am Transceiver an. Transceiver mit DMX-Bus verbinden.
Doppelblinken Das Signal wird nicht als DMX erkannt.
Es werden nicht alle benötigten Kanäle empfangen.
D+ und D- am DMX-Anschluss vertauschen.
Mehr Kanäle senden oder kleinere Startadresse wählen.
schnelles Blinken Die ZC-Detection ist nicht angeschlossen. ZC-Detection korrekt anschließen.
konstant an Übertemperatur abkühlen lassen. Ggf. bessere Kühlung vorsehen.
Temperaturschutz und A-In bestücken.

 

 

RDM Firmware

Der RDM-Betrieb wird über DIP10 aktiviert: In der Stellung ON werden DIP1 bis DIP8 als Teil der RDM-Geräteadresse verwendet. In der Stellung OFF werden DIP1 bis DIP9 wie gewohnt als DMX-Startadresse interpretiert.

 

60Hz-Betrieb

Durch Jumpern von Spare1 lässt sich der Dimmer auch in 60Hz-Netzen (USA) einsetzen.

 

RDM Parameter

Folgende Einstellungen lassen sich via RDM vornehmen:

Parameter ID Bytes Funktion
DMX Start Address 00F0 2 DMX Startadresse
Personality 00E0 2 Dimm- oder Switchbetrieb
Min Limit 0300 8 Preheat
Max Limit 0301 8 Topset
Error Scene 0302 8 Ausfallszene bei DMX-Ausfall
Status Messages 0030 9 Rückmeldung Gerätestatus
Device Label 0082 0..19 Name des Gerätes
Manufact. Label 0081 5 Name des Herstellers (Henne)

Bei der Festlegung der Ausfallszene kann durch Setzen aller acht Kanäle auf 255 eine "signal hold"-Funktionalität eingestellt werden.

 

Debugging

Um eine leichtere Fehlererkennung zu erreichen, habe ich einen Error-Indicator implementiert:
Beim Hochfahren sollte die ErrorLED leuchten. Ein Änderung der relevanten DMX-Kanäle wird durch Blinken der grünen LED indiziert.
Die folgenden Codes werden ständig wiederholt, bis der Fehler beseitigt ist.

Pattern Fehler Lösung
Blinken Es liegt kein DMX Signal am Transceiver an. Transceiver mit DMX-Bus verbinden.
schnelles Blinken Die ZC-Detection ist nicht angeschlossen. ZC-Detection korrekt anschließen.
konstant an Übertemperatur abkühlen lassen. Ggf. bessere Kühlung vorsehen.
Temperaturschutz und A-In bestücken.