|
_ |
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
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.
| |||||||||||||||||||||||||||||||||||||||||||||||||
| 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 die Dimmerpack-Firmware auf den DMX-Transceiver übertragen werden. In diesem Programm 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.)
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.

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.

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!
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.
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)
Durch Jumpern von Spare1 lässt sich der Dimmer auch in 60Hz-Netzen (USA) einsetzen.
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. |