DMX512 Protocol Jan Hoekstra
Inhoudsopgave: Hoofdstuk 1. Inleiding. 1.1. Algemeen. Hoofdstuk 2. Het DMX protocol. 2.1. Algemeen. 2.2. Binair talstelsel. 2.3. Adressering. Hoofdstuk 3. De techniek. 3.1. Algemeen. 3.2. Digitale signalen. 3.3. Het DMX pakket. Hoofdstuk 4. Intelligente lampen en controllers. 4.1. Algemeen. 4.2. De MX4. 4.3. De Alcora 12/24 van Zero88. 4.4. De Freekie van Martin.
3 3 4 4 4 5 7 7 7 8 10 10 10 12 13
DMX512 Protocol Leeuwarden, 26 juni 2003 Jan Hoekstra
2
Hoofdstuk 1. Inleiding. 1.1. Algemeen. Er wordt bij zeer veel producties veelvuldig gebruik gemaakt van licht en de daarbij behorende effecten. Beperkte deze effecten zich in het begin tot het vanuit verschillende hoeken belichten van artiesten en objecten gebruikmakend van vaste kleurfilters, tegenwoordig wordt gewerkt met moving lights, rook, strobolights, kleurwisselaars enz. De besturing van de lampen bestond voor de komst van DMX uit een groot aantal schakelaars en/of dimmers die rechtstreeks het in- en uitschakelen of het dimmen van de lampen regelden. Indien dit vanuit de zaal of vanuit een regiekamer moest plaatsvinden betekende dit lange dikke kabels en veel vermogensverlies. Om dit enigszins te compenseren is er een tijdje gebruikgemaakt van variacs, mechanische spanningsregelaars, die door kleine motoren werden bediend. De hiervoor benodigde stuurkabels waren daardoor een stuk handzamer. Een belangrijk nadeel van deze constructie was dat de verlichting nogal traag reageerde op de instellingen van de lichtoperator. Er moest duidelijk iets gebeuren. In 1986, dus nog niet eens zolang geleden, tijdens een conferentie van de USITT (United States Institute for Theatre Technology) spraken een aantal, voornamelijk Amerikaanse, lichtbedrijven af dat het tijd werd voor een standaard protocol voor het op afstand kunnen besturen van lichtapparatuur. Een werkgroep werd samengesteld en er werd in eerste instantie gekeken naar al bestaande protocollen die worden gebruikt voor de communicatie tussen verschillende meet- en regelapparatuur. Het RS-485 protocol voldeed het meeste aan de gestelde eisen en vormde de basis voor het te ontwikkelen lichtbesturingsprotocol. In tegenstelling tot het RS-485 protocol is het voor de besturing van licht niet noodzakelijk bi-directioneel te werken, immers de lichtcontroller geeft commando’s aan de lichtapparatuur en deze dienen trouw te worden uitgevoerd. De controller heeft geen reactie nodig van de lamp. Het RS-485 protocol is daarom aangepast en zie daar de geboorte van het DMX protocol (Digital MultipleXed). Door middel van dit protocol kunnen via een dunne draad dimmerinstellingen naar een groot aantal dimmers op afstand worden gestuurd die op hun beurt de lichtstroom van de lampen regelen. Je merkt wel dat oorspronkelijk DMX bedoeld is voor het aansturen van dimmerpacks, iets anders hadden we vroeger niet, dus zijn er later allerlei oplossingen bedacht om toch door middel van DMX moderne geavanceerde lampen (moving lights, roboscans, smoke-fixtures, enz.) te kunnen aansturen. Maar daarover later meer.
DMX512 Protocol Leeuwarden, 26 juni 2003 Jan Hoekstra
3
Hoofdstuk 2. Het DMX protocol. 2.1. Algemeen. Het DMX protocol is een digitaal protocol. Dat wil zeggen dat, net als in een computer, het protocol gebruik maakt van enen en nullen. Vaak wordt een logische een voorgesteld als een gesloten schakelaar waardoor een lampje gaat branden, terwijl een logische nul vaak wordt voorgesteld als een geopende schakelaar waardoor een lampje dooft. Indien we alleen maar een enkele een of een enkele nul naar een lamp zouden kunnen sturen betekent dit dat we de aangesloten lamp alleen maar het commando aan of uit kunnen geven. En we willen zo graag de lamp op afstand kunnen dimmen. Vandaar dat het commando wat naar de dimmers wordt gestuurd een combinatie is van acht enen en/of nullen. 2.2. Binair talstelsel. Een één (1) of een nul (0) noemen we een bit (binairy digit). En combinatie van acht enen en/of nullen noemen we een byte. Met één bit, een één of een nul, kunnen we twee standen aangeven. Met twee bits is het mogelijk vier combinaties samen te stellen n.l.: Decimaal 0 1 2 3
Binair 00 01 10 11
Tabel 1 Binair talstelsel Binnen het DMX protocol wordt gebruik gemaakt van commando’s bestaande uit acht bits oftewel één byte. Hiermee kunnen in zijn totaliteit 256 verschillende combinaties worden samengesteld n.l. 8 2 =256. Dit betekent dat een dimmerinstelling in 256 stappen kan oplopen van 0%, oftewel uit, tot 100%, volle sterkte. Deze nauwkeurigheid is dusdanig dat het wordt ervaren als vloeiend van 0% tot 100%. Decimaal 0 1 2 3
Binair 00000000 00000001 00000010 00000011
127 128
01111111 10000000
253 254 255
11111101 11111110 11111111
Tabel 2 8 Bits, 1 Byte. Net als bij het decimaal talstelsel hebben de getallen aan de linkerzijde duidelijk meer invloed dan de getallen aan de rechterzijde. Immers binnen het getal 345 heeft de 3 (300) meer waarde dan de 5. Dit geldt ook voor het binair talstelsel. Het bitje aan de linkerzijde heeft beduidend meer waarde dan het bitje aan de rechterzijde. De waarde per bit vind je de volgende tabel: Bit 7 7 2 128 MSB
Bit 6 6 2 64
Bit 5 5 2 32
Bit 4 4 2 16
Bit 3 3 2 8
Tabel 3 Waarde per bit. DMX512 Protocol Leeuwarden, 26 juni 2003 Jan Hoekstra
4
Bit 2 2 2 4
Bit 1 1 2 2
Bit 0 0 2 1 LSB
Bit 7 vertegenwoordigt de hoogste waarde en wordt daarom het MSB (Most Significant Bit) genoemd. Bit 0 wordt het LSB (Least Significant Bit) genoemd. Voorbeelden: Binair:
Decimaal: 10011001 01100010 00001111
128+16+8+1=153 64+32+2=98 8+4+2+1=15
Tabel 4 Voorbeelden. Sturen we naar een dimmer de waarde 0, oftewel de binaire waarde 00000000 is de aangesloten lamp volledig uit (0%). Sturen we de waarde 255, oftewel de binaire waarde 11111111 is de aangesloten lamp volledig aan (100%). De volgende tabel geeft een aantal tussenliggende waarden aan: Binair:
Decimaal: 10011001 01100010 00001111
Percentage dimmer: 128+16+8+1=153 64+32+2=98 8+4+2+1=15
60% 38% 6%
Tabel 5 Dimmerinstellingen. 2.3. Adressering. DMX maakt gebruik van 8 bits codes om aan te geven hoeveel procent een dimmer moet worden ingesteld. Maar hoe weet een aangesloten dimmer of het gestuurde commando voor hem bestemd is? Alle voor DMX geschikte apparatuur is uitgevoerd met een DMX-in en een DMX-out aansluiting. Op deze manier kunnen meerdere dimmers gekoppeld worden aan de DMX controller (zie figuur 1.). Alle dimmers krijgen dezelfde informatie, dus ook de commando’s die niet bestemd zijn voor een bepaalde dimmer.
Figuur 1 DMX kring. De oplossing is gevonden door elke aangesloten dimmer een uniek adres te geven. Per DMX string kunnen maximaal 512 dimmers worden aangestuurd. Elk adres wordt een DMX kanaal genoemd.
Figuur 2 DMX cyclus.
DMX512 Protocol Leeuwarden, 26 juni 2003 Jan Hoekstra
5
Elke voor DMX geschikte dimmer kan door middel van dipswitches of door middel van nummerwieltjes een uniek adres binnen een DMX string worden toegekend. Deze adressen moeten liggen tussen de 1 en de 512. Tevens is elke dimmer voorzien van een teller. Een DMX controller stuurt continu een DMX pakket over de lijn (zie figuur 2.). Een DMX pakket begint altijd met een startcode. Hierop reageren alle aangesloten dimmers met het resetten, het op nul zetten, van hun interne teller. De daarop volgende codes zijn de dimmerinstellingen voor de verschillende dimmers. Iedere keer waneer een code passeert worden de tellers verhoogd met 1. Indien bij een dimmer de tellerstand overeenkomt met het DMX adres weet de desbetreffende dimmer dat de gegevens voor hem bestemd zijn en zal de dimmerstand daarop eventueel gaan aanpassen. Het is niet noodzakelijk dat alle 512 codes de lijn moeten passeren. Indien er b.v. 10 dimmers zijn aangesloten kan de controller na de tiende code opnieuw een startcode sturen en worden alle tellers gereset.
DMX512 Protocol Leeuwarden, 26 juni 2003 Jan Hoekstra
6
Hoofdstuk 3. De techniek. 3.1. Algemeen. In het vorige hoofdstuk is uitgelegd hoe functioneel het DMX protocol in elkaar steekt. Binnen dit hoofdstuk gaan we iets gedetailleerder kijken naar de achter liggende techniek. 3.2. Digitale signalen. De enen en nullen zullen getransporteerd moeten worden over een draad. Dit betekent dat duidelijk moet worden afgesproken welk signaal een één voorstelt en welk signaal een nul. Voor DMX is afgesproken dat de nullen en enen met een snelheid van 250kBit (250000!) per seconde over de lijn gaan. Elk bitje duurt dus 4µS (4 miljoenste van een seconde). Voor het transport van een DMX signaal wordt gebruik gemaakt van een symmetrische kabel, een beetje vergelijkbaar met een gebalanceerde microfoonkabel (zie figuur 3.).
Figuur 3 DMX kabel. Indien er op de DMX+ lijn een positieve spanning van +5 Volt staat ten opzichte van de DMX- lijn wordt dit gezien als een logische 1. Staat er op de DMX + lijn een spanning van –5 Volt ten opzichte van de DMX- lijn wordt dit gezien als een logische nul. Stellen we de afscherming op 0 Volt dan kun de logische enen of nullen als volgt voorstellen:
Figuur 4 Digitaal signaal. Het voordeel van het gebruik van een symmetrische (gebalanceerde) kabel is dat stoorpulsen die worden opgevangen door de kabel zowel voor de DMX+ als de DMX- lijn gelijk zijn. Het verschil tussen deze twee lijnen zijn bepalend zodat de opgevangen stoorpulsen totaal geen invloed hebben op de gegevensoverdracht. Dit zelfde principe wordt ook toegepast bij gebalanceerde microfoonkabels. We noemen dit het cancelationeffect. Het is niet verstandig om voor het overbruggen van langere afstanden gebruik te maken van microfoonkabel. De binnen aders dienen getwist te zijn en dit is bij een microfoonkabel niet het geval. Storingen worden dus gemakkelijker opgepikt. Wel kan bij vaste installaties gebruik worden gemaakt van UTP Cat 5 bekabeling. Deze kabel wordt over het algemeen gebruikt voor computernetwerken.
DMX512 Protocol Leeuwarden, 26 juni 2003 Jan Hoekstra
7
Een voorbeeld van een zender – ontvanger ziet er als volgt uit:
Figuur 5 DMX Zender en ontvanger. Voor het aansluiten van DMX kabels aan de dimmerpacks of intelligente lampen wordt gebruik gemaakt van drie- of vijfpolige XLR aansluitingen. In tegenstelling tot audio is een DMX-out connector een female en een DMX-in connector een male. De connectoren worden als volgt aangesloten: Functie: Afscherming DMX+ DMXGeen functie Geen functie
XLR 3 polig: Pen 1 Pen 2 Pen 3
XLR 5 polig: Pen 1 Pen 2 Pen 3 Pen 4 Pen 5
Voor het combineren van drie- en vijfpolige connectoren zul je verloopstukjes moeten aanschaffen of zelf maken. Om reflecties op de kabel te voorkomen moet de laatste DMX out van een dimmerpack of een intelligente lamp worden voorzien van een terminator. Een terminator is niets anders dan een drie- of vijfpolige XLR connector met tussen de pennen 2 en 3 een weerstand van 120 Ohm. 3.3. Het DMX pakket. In paragraaf 2.3. werd al aangegeven dat de DMX controller continu een DMX pakket over de lijn stuurt van waaruit de verschillende aangesloten dimmers kunnen afleiden hoeveel energie zij naar de lampen moeten sturen. We zullen nu iets nauwkeuriger gaan kijken naar hoe dit pakket wordt opgebouwd. Elk DMX pakket begint met een break. Een break bestaat uit een reeks van minimaal 22 nullen en duurt dus minimaal 88 µS (zie figuur 6.). De maximale duur van een break is 1 seconde.
Figuur 6 Break. Tijdens de break worden bij alle aangesloten dimmers de tellers op nul gezet. De break wordt gevolgd door een MAB (Mark After Break). Deze MAB (zie figuur 7.) bestaat minimaal uit twee enen maar het kunnen er ook meer zijn tot maximaal 1 seconde.
Figuur 7 MAB (Mark After Break) . DMX512 Protocol Leeuwarden, 26 juni 2003 Jan Hoekstra
8
Na de MAB volgt het eerste datapakket. Dit data pakket bevat de startcode SC. Een data pakket is altijd samengesteld uit 11 bitjes n.l. 1 startbit, een nul, daarna 8 databitjes gevolgd door twee stopbits, twee maal een één (zie figuur 7.).
Figuur 8 SC (Start Code). De startcode is bestemd voor DMX kanaal 0, een niet bestaand kanaal. De data is altijd 0. De startcode geeft ook het begin van het datatransport aan. De startcode wordt eventueel gevolgd door een aantal enen. Deze pauze van maximaal 1 seconde wordt MTBF (Mark Time Between Frames) genoemd. In de praktijk is deze pauze over het algemeen 0 seconde. Na de startcode, eventueel met pauze, volgt de Chanel Data (CD) (zie figuur 8.). De tellers zijn inmiddels verhoogd tot 1 dus de genoemde data is bestemd voor dimmer 1.
Figuur 9 CD (Chanel Data). Dimmer één ontvangt nu de waarde 11100100 wat overeenkomt met de decimale waarde 228 wat betekent dat de dimmer moet worden ingesteld op 89%. Na een eventuele MTBF volgt de CD voor de volgende dimmer, enz. Indien alle 512 DMX kanalen worden gebruikt, er geen MTBF worden toegepast en alle minimale waarden voor de break en de MAB worden gebruikt duurt een compleet pakket: Break MAB SC 512 CD’s Totaal:
22 bitjes 2 bitjes 11 bitjes 512x11 bitjes
DMX512 Protocol Leeuwarden, 26 juni 2003 Jan Hoekstra
9
88µS 8µS 44µS 22528µS 22668µS = 22,7mS
Hoofdstuk 4. Intelligente lampen en controllers. 4.1. Algemeen. Het DMX protocol is oorspronkelijk ontwikkeld om op afstand via één dunne kabel een groot aantal dimmers te kunnen aansturen. Tegenwoordig is het scala aan lampen sterk uitgebreid en bestaat het aansturen van deze lampen uit meer dan alleen maar het dimmen van de lichtsterkte. Om toch, gebruik makend van het DMX protocol, deze lampen te kunnen aansturen worden er per lamp, fixture, meerdere DMX kanalen toegekend. Dit betekent natuurlijk wel dat het aantal aan te sturen lampen per DMX string sterk verminderd. Als voorbeeld zullen we gaan kijken naar de MX4 scanner van Martin en de aansturing van een rookmachine. Tevens zullen we kort aandacht besteden aan het lichtbesturingsapparaat Freekie van Martin en de Alcora van Zero88. 4.2. De MX4. De MX4 is een bewegende spiegel spotlight (scanner) met ingebouwde kleur- en gobowisselaar (zie figuur 10.).
Figuur 10 MX4 van Martin. Deze lamp is uitgevoerd met een Philips 150W gasontladingslamp en heeft een hoge lichtopbrengst. Voor het volledig kunnen aansturen van de MX4 zijn 7 DMX kanalen nodig n.l.: DMX kanaal: 1. 2. 3. 4. 5. 6. 7.
Functie: Lamp sluiter, Lamp aan/uit en reset. Kleurinstelling. Gobo-keuze. Pan (horizontale beweging). Tilt (verticale beweging). Pan/Tilt snelheid (snelheid van bewegen) Gobo- /Kleur wisselsnelheid. Tabel 6 DMX kanalen MX4.
Doormiddel van dipswitches (zie figuur 11.) wordt het eerste DMX adres worden ingesteld.
Figuur 11 Dipswitch.
DMX512 Protocol Leeuwarden, 26 juni 2003 Jan Hoekstra
10
Automatisch worden de daarop volgende 7 kanalen ook toegekend aan deze lamp dus b.v. DMX startadres 72: DMX startadres 72: DMX kanaal 72: DMX kanaal 73: DMX kanaal 74: DMX kanaal 75: DMX kanaal 76: DMX kanaal 77: DMX kanaal 78:
Functie: Lamp sluiter, Lamp aan/uit en reset. Kleurinstelling. Gobo-keuze. Pan (horizontale beweging). Tilt (verticale beweging). Pan/Tilt snelheid (snelheid van bewegen) Gobo- /Kleur wisselsnelheid. Tabel 7 DMX startadres 72 voor de MX4.
Per kanaal wordt een waarde van 1 t/m 255 door gegeven. Voor elk kanaal wordt aan een waarde, of waardereeks, een betekenis toegekend b.v.: DMX kanaal 73 de kleurinstelling: Waarde: Percentage: 0-5 6 - 11 12 - 17 18 - 23 24 - 29 30 - 35 36 - 41 42 - 47 48 - 53 54 - 59 60 - 65 66 - 71 72 - 77 78 - 83 84 - 89 90 - 95 96 - 101 102 - 107 108 - 113 114 - 119 120 - 125 126 - 131 132 - 137 138 - 143 144 - 149 150 - 155 156 - 161 162 - 167 168 - 173 174 - 179 180 - 185 186 - 191 192 - 197 198 - 203 204 - 209 210 - 255
Kleur:
0-1 2-4 4-6 7-9 9-11 11-13 14-16 16-18 18-20 21-23 23-25 26-27 28-30 30-32 33-35 35-37 37-39 40-42 42-44 44-46 47-49 49-51 52-53 54-56 56-58 59-61 61-63 63-65 66-68 68-70 70-72 73-75 75-77 78-79 80-82 82-100
White White / Light blue 101 Light blue 101 Light blue 101 / Fern green 205 Fern green 205 Fern green 205 / Red 304 Red 304 Red 304 / Yellow 603 Yellow 603 Yellow 603 / Magenta 507 Magenta 507 Magenta 507 / Medium blue 108 Medium blue 108 Medium blue 108 / Deep orange 302 Deep orange 302 Deep orange 302 / Light green 204 Light green 204 Light green 204 / Cyan 104 Cyan 104 Cyan 104 / Pink 312 Pink 312 Pink 312 / Blue 111 Blue 111 Blue 111 / Amber 604 Amber 604 Amber 604 / Primary red 308 Primary red 308 Primary red 308 / Primary green 206 Primary green 206 Primary green 206 / Orange 306 Orange 306 Orange 306 / Split-color 1 Split-color 1 Split-color 1 / Split-color 2 Split-color 2 Remote stand-alone action, select trigger on ch. 1
Tabel 8 Kleurinstelling. Voor alle instellingen kun je de handleiding van de MX4 raadplegen.
DMX512 Protocol Leeuwarden, 26 juni 2003 Jan Hoekstra
11
4.3. De Alcora 12/24 van Zero88.
Figuur 12 Presets Alcora 12/24 Zero88. De Alcora 12/24 is een standaard lichtbesturingsapparaat met 12 of 24 DMX kanalen. De tafel is voorzien van twee presetpanelen, preset A en preset B (zie figuur 12.). Voor elke scène kan m.b.v. de preset faders een voorinstelling worden gemaakt voor de aangesloten 12 lampen. Met behulp van de A-master- en de B-master fader kan gewisseld (crossfade) worden tussen de verschillende scènes. De onder de faders geplaatste druktoetsen, de zogenaamde flashbuttons, kunnen worden gebruikt om een lamp in één keer op volle sterkte te laten branden. De Alcora kent geen speciale faciliteiten voor intelligente lampen. De tafel is primair bedoeld voor het aansturen van door middel van dimmers geregelde lampen. Samengestelde scènes kunnen wel worden vastgelegd. En getriggerd door geluid of door de lichttechnicus zelf worden afgespeeld. Ook kunnen timers worden gebruikt voor het vloeiend in- en uitfaden van de verschillende scènes (zie figuur 13.).
DMX512 Protocol Leeuwarden, 26 juni 2003 Jan Hoekstra
12
Figuur 13 Alcora 12/24 Programcontrol. 4.4. De Freekie van Martin.
Figuur 14 Freekie van Martin.
DMX512 Protocol Leeuwarden, 26 juni 2003 Jan Hoekstra
13
De Freekie is meer voorbereid op het gebruik van intelligente lampen zoals moving lights en scanners. Ook zij er DMX kanalen gereserveerd voor het aansturen van strobolights en rookmachines. De Freekie is instaat om 12 verschillende intelligente lampen aan te sturen en reserveert hiervoor 12 DMX kanalen per lamp. Dit levert de volgende DMX adressering op: Lamp, fixture: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Strobolight. Rookmachine.
DMX kanalen: 1 t/m 12 13 t/m 24 25 t/m 36 37 t/m 48 49 t/m 60 61 t/m 72 73 t/m 84 85 t/m 96 97 t/m 108 109 t/m 120 121 t/m 132 133 t/m 144 145 t/m 156 157 t/m 168
Het gebruik van intelligente lampen kan in principe alleen maar geautomatiseerd plaats vinden. Zorgvuldig zullen per scène en per lamp de kleur, beweging, gebruikte gobo, enz. moeten worden bepaald en de gevonden instellingen worden bewaard in het geheugen van het lichtbesturingsapparaat. De Freekie biedt daar voldoende mogelijkheden voor.
Figuur 15 MX4 samen met Freekie.
DMX512 Protocol Leeuwarden, 26 juni 2003 Jan Hoekstra
14