HOME

Infos

Resources
FAQ
Laser
Nebel

Analog

Dimmer
Switch
Chaser
Strobo
Panel
DLC

DMX

Open RDM
Dimmer
3p Dimmer
Switch
Demux
Halogen
LED
Matrix
Servo
Stepper
Analyzer

Pimp my...

...Strobo
...Fogger

Allgemeines

Profil
Nutzerliste
Links
Impressum
_

Henne's Sites

DMX Dimmerpack

 

Das hier beschriebene einphasige Dimmerpack ist durch seine minimalistische Ausstattung sehr günstig und robust. Dennoch ist es dank seiner Leistungslinearisierung, der vollen Auflösung von 256 Stufen und der Möglichkeit, einzelne Kanäle im Switchmodus zu betreiben, den meisten käuflichen Dimmerpacks im Billigstsegment an Performance überlegen. Mit bis zu acht Kanälen à 2kWmax. und einem Übertemperaturschutz sind auch größere Systeme problemlos zu realisieren. Durch das modulare Design ist der Dimmer sehr servicefreundlich und lässt sich einfach upgraden.

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

DMX-Transceiver (Rev. 3.01)

Mit diesem Modul können DMX-Daten sowohl empfangen als auch gesendet werden. Obwohl die Schaltung recht einfach wirkt, empfehle ich den kompletten Selbstbau nur Hobbyelektronikern mit etwas Erfahrung.

Diese Schaltung ist durch die vollständige Anbindung des RS485-Wandlers für eine bidirektionale Kommunikation (RDM nach ANSI E1.20 oder proprietär) geeignet. Dieses Feature wurde bislang jedoch nur in sehr wenigen kostspieligen Geräten implementiert.

Da ein Lochraster-Drahtverhau für diese Schaltung zu unzuverlässig ist, sollte die Platine möglichst  übernommen werden. (Nähere Informationen finden Sie unter 'Resources'.) Wer nicht selbst ätzen möchte, kann eine fertige Platine in Industriequalität bei Embedded Projects erstehen.

 

DMX-Transceiver SchaltungBauteile

  IC1
  IC2
  IC3
  B1 
  LED1
  LED2
  R1
  R2,3,4
  C1,2
  C7
  C5,6
  SW1
  Q1
  Anschlüsse
ATmega8515-16PU (sockeln!)
75176B (sockeln!)
7805
Gleichrichter (rund)
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 gesamte 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 IC3 sorgen  für eine glatte Betriebsspannung von 5V. Q1 und C1,2 werden für die Betriebsfrequenz von 8MHz benötigt. IC2 ist der RS485-Wandler, der der MCU die Kommunikation mit der Außenwelt ermöglicht. Über Spare können verschiedene Funktionsarten der Firmware fest gejumpert werden. Über A-Input kann ein analoger Schwellwert (z.B. zur Temperaturmessung) eingelesen werden.

An AC1&2 wird die Betriebsspannung von 9-12V ac oder dc angeschlossen. Die Versorgung sollte schon ein paar Watt haben, um sämtliche Module zuverlässig versorgen zu können.

Layout (48 * 76 mm^2)

Bestückung

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

 

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

Nachdem die MCU 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 im berechneten Moment 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

OK1
D1
R1A
R1B
R3
 
4N33
1N4007
27k / 1W
27k/1W
10k
 

Über R1 gelangt die positive Halbwelle auf die LED von OK1 (die negative wird über D1 abgeleitet). Auf Grund der starken Erwärmung besteht R1 aus zwei seriellen Widerständen, die sich die Verlustleistung teilen. Ist OK1 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 Logikpegeln des Controllers Scheinwerfer, etc. anzusteuern, benötigt man nun noch ein paar Lastteile. Dazu können folgende Module nachgebaut oder auf solid state relays ohne Nulldurchgangserkennung zurückgegriffen werden.   

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

Die Schaltung basiert auf  Application Notes von Teccor und wurde von mir mit Hilfe der ANs von ON-Semiconductor 230V~ dauerfest gemacht. 

 

Schaltung

Bauteile für ein Dimmermodul

OK1
T1
R1
R2
R3
R4
R5-S
C1-D
C2
OUT
MOC3022
TIC 2XX
390Ω *
360Ω
470Ω
39Ω / 0,5W
weglassen
47nF / 630Vdc (MKS4 / RM7,5)
10nF / 630Vdc (MKS4 / RM7,5)
6,35mm Flachstecker Print

Die Bauteilkosten für ein Dimmermodul ohne Drossel liegen bei ca. 1,40€.

Sobald eine Spannung an der LED des Optotriacs anliegt, zündet dieser und entlädt C1-D, der sich während jeder Halbwelle auflädt, in das Gate des Leistungstriacs. C2 und R4 bilden das Snubbernetwork des Triacs und R3, C1-D das Filter für den Optotriac. Zusätzlich lassen sich Netzeinstreuungen durch eine Drossel entweder in der zentralen Zuleitung oder in den einzelnen Abgängen der Kanäle vermindern.

Da die meisten Controller eine Spannung lieber nach GND ziehen als selbst Strom zu liefern, wird + durchgeschleift und - geschaltet. Vcc (+) sollte 5V sein. Bei 12V ist R1 zu verdoppeln.

Die Versorgung der Module erfolgt - wie beim Switch - über den Kühlkörper. (Man verbindet den isoliert  und berührungssicher montierten Kühlkörper mit dem Netz und dieser versorgt über den Kontakt zum Triac die Lastteile mit Strom.) So kann die gesamte Anlage ohne große Verkabelung zentral versorgt werden. In mehrphasigen Systemen wird der Kühlstrang mit dem Nulleiter verbunden.

Ich habe für die Lastteile meiner Dimmer- und Switchpack eine Kombi-Platine für vier Kanäle mit integrierter ZC-Detection geroutet. Sollten weniger Kanäle auf einer Platine benötigt werden, kann die Platine auf die benötigte Anzahl abgelängt werden. Die Lastteile für Dimmer- und Switchpacks unterscheiden sich in der Bestückung der Platine.

Layout

Bestückung

Zur Entstörung sollte in jeden Kanalabgang eine Ringkerndrossel mit Eisenpulverkern gehängt werden: Diese Induktivitäten dämpfen die Transienten beim Phasenanschnitt und verhindern 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 schon schön - für hochempfindlichen Studioumgebungen werden sogar Dimmer mit Risetimes von 500µs verbaut. Da solche Drosseln aber ziemlich teuer und schwer sind, werden vor allem in Billigprodukten derart winzige Drosseln (Insider: asiatische Singdrossel - wegen des Zwitscherns kurz vor dem Durchbrennen...) verbaut, dass diese höchstens eine Placebowirkung haben!

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.

Auch bei Rev. 3.0-Packs kann R1 nachgerüstet werden, indem man das rechte Bein des neuen Trimmers entfernt und die beiden anderen in eine Reihe biegt. Nun kann er einfach gegen C4 ausgetauscht werden.

 

Dieser Verdrahtungsplan sollte bei dem Anschluss der einzelnen Module helfen.

 

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.

 

RDM Parameter

Folgende Einstellungen lassen sich via RDM vornehmen:

Parameter ID Bytes Funktion
DMX Start Address 00F0 2 DMX Startadresse
Personality 00E0 2 Dimmerkurve (lin, log)
Min Limit 0300 8 Preheat
Max Limit 0301 8 Topset
Dimm/Switch 0304 1 Dimm- oder Switchbetrieb (bitweise)
Error Scene 0302 8 Ausfallszene bei DMX-Ausfall
Status Messages 0030 9 Rückmeldung Gerätestatus
Device Label 0082 0..32 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.