Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Protocollo DMX512

hi-fi, luci, suoni, effetti speciali, palcoscenici...

Moderatore: Foto UtenteIsidoroKZ

1
voti

[1] Protocollo DMX512

Messaggioda Foto Utentemattyyy » 5 set 2010, 14:25

Spero sia la sezione giusta per aprire un topic simile...

Comunque, vorrei riuscire a capire il funzionamento di questo tipo di protocollo. Ho letto molte cose ma non ho ancora un'idea chiara di alcuni punti, provo a scrivere quello che ho capito e vi chiedo alcune cose perché ho alcune lacune che proprio non riesco a colmare.

Il protcollo DMX è uno standard per la gestione dei sistemi di illuminazione che può controllare fino a 512 canali (cosa si intende esattamente per canali? Ad esempio, una singola lampada può essere considerato un canale?). I dati inviati sono di tipo bianario a 8bit, quindi è possibile inviare un numero da 0 a 255 (ad esempio uno 0 può indicare una lampada completamente spenta mentre un 255 può indicare una lampada completamente accesa).
I connettori utilizzati sono usualmente gli XLR a 5 pins (e qui cominciano i dubbi) in cui:
1) massa
2) hot (???)
3) cold (???)
4) (Non usato) Originariamente era il segnale di ritorno negativo
5) (Non usato) Originariamente era il segnale di ritorno positivo

Il protocollo è formato da un treno di dati digitali (1=Acceso/0=Spento) a 5 volt (quindi livelli logici TTL?). La velocità di trasmissione è di 250kbit/s, quindi un bit dura 4us.

Domande:
1) ma se ho 3 pins (di cui 1 è rappresentato dalla massa) come uso gli altri 2 per questo treno di impulsi?
2) Il protocollo RS485 indica solo come devono avvenire i collegamenti?

Grazie delle risposte!

PS: ho utilizzato soprattutto materiale tratto da wikipedia perché mi sembrava abbastanza semplice ed al contempo esauriente, ho letto anche altre guide e non ho capito molto di più, i dubbi che mi sono rimasti sono sempre gli stessi...
Avatar utente
Foto Utentemattyyy
10 1 6
New entry
New entry
 
Messaggi: 74
Iscritto il: 27 apr 2009, 18:09

2
voti

[2] Re: Protocollo DMX512

Messaggioda Foto UtenteDonJ » 5 set 2010, 15:07

mattyyy ha scritto:cosa si intende esattamente per canali?

Per canale si intende un byte utilizzato da una macchina scenica.
I dimmer sono gli apparecchi più semplici: hanno un canale per ogni lampada collegata.
Quindi se hai un dimmer per 12 lampade occuperà 12 canali DMX (supponiamo dal 1 al 12).
I dimmer necessitano di un canale DMX per ogni canale fisico. Questo perché le lampade possono essere solo variate di intensità luminosa appunto da 0 a 255.

Altre macchine, come possono essere le teste mobili, hanno invece più canali.
Una testa mobile economica occupa almeno 6 canali DMX per poter essere controllata adeguatamente.
Tra cui i comandi sono:
-dimmer lampada
-pan
-tilt
-shutter
-colore
-gobos

Ogni macchina che si interfaccia in DMX dispone di un controllo (che può essere un DIP switch, un display...) tramite il quale l'operatore luci può indicare l'indirizzo di partenza a cui la macchina deve fare riferimento.
Ad esempio, se devo collegare un dimmer 12 canali e due teste mobili dell'esempio sopra:
1..12 -> Dimmer (indirizzo di partenza = 1)
13..18 -> Testa mobile 1 (indirizzo di partenza = 13)
19..24 -> Testa mobile 2 (indirizzo di partenza = 19)

In questo modo il dimmer ignorerà il pacchetto dati dopo il dodicesimo byte, la prima testamobile ignorerà i byte antecedenti al tredicesimo, elaborerà quelli del suo intervallo e scarterà quelli successivi al 18.
E così via per tutte le apparecchiature.

La prima e la seconda testa mobile possono anche avere lo stesso indirizzo di partenza. In questo modo l'operatore luci potrà controllarle entrambe utilizzando solo 6 slider.

mattyyy ha scritto:1) ma se ho 3 pins (di cui 1 è rappresentato dalla massa) come uso gli altri 2 per questo treno di impulsi?

I due pin rimanenti sono detti caldo e freddo.
Il pin caldo (D+), il numero 3, trasporta il segnale DMX "puro", cioè così come viene generato dal microprocessore che elabora il treno di dati.
Quello freddo (D-), il numero 2, trasporta il segnale DMX invertito, cioè se su D+ è presente una tensione alta su D- ci sarà tensione bassa e viceversa.
Così facendo, il trasduttore RS485 (presente in tutti gli apparecchi che comunicano in DMX) può pulire il segnale da eventuali distorsioni.
Adesso i cavi XLR a 3 poli sono i più diffusi. Lo standard prevede l'introduzione degli XLR a 5 poli per poter permettere alle macchine di comunicare al mixer (e quindi all'operatore luci) informazioni come temperature/anomalie e così via.
L'idea è di avere massa, D+ e D- (mixer), D+ e D- (parco macchine).
Sta di fatto che il 99% degli apparecchi è ancora fabbricato con attacchi XLR 3.

mattyyy ha scritto:2) Il protocollo RS485 indica solo come devono avvenire i collegamenti?

No,
il protocollo indica anche come devono essere instradati i dati sui cavi, indica come devono essere elaborati, il tipo di cavi da utilizzare e così via.

Il protocollo DMX è una trasmissione seriale asincrona.
Una volta pronto il pacchetto dati (il mixer legge la posizione degli sliders) vengono inviati dopo un periodo di reset.
La sequenza dei dati immessi sulla linea è questa:
-Break - un periodo di "silenzio" in cui tutte le macchine capiscono che un nuovo pacchetto dati sta per iniziare.
-MAB (Mark After Break) - in cui le macchine si preparano a ricevere i dati.
-SC (Start Code) - il byte numero zero, in cui le macchine si sincronizzano con il mixer per ricevere correttamente i dati.
-MTBF (Mark Time Between Frames) - un segnale costituito da due bit di valore logico 1 che segnala la fine del primo byte e l'inizio del secondo.
-CD (Channel Data) - il byte che contiene la prima informazione utile (canale 1)
-MTBF
-CD
... e così via fino all'ultimo byte.
E poi si ricomincia.

E' molto importante sottolineare che più canali gestisci più la comunicazione è lenta.
I mixer sono molto intelligenti e se l'operatore utilizza, per dire, solo 24 canali, il mixer evita di mandare tutti e 512 i byte di dati. Dopo aver raggiunto l'ultimo byte utile la comunicazione viene resettata e si ricomincia dal primo byte, sveltendo molto la linea.


Ti consiglio di dare una letta a questo
http://www.elationlighting.com/pdffiles ... ndbook.pdf

Ma stai cercando di realizzare qualcosa in particolare?
"Computers, operating systems, networks are a hot mess. They're barely manageable, even if you know a decent amount about what you're doing. Nine out of ten software engineers agree: it's a miracle anything works at all."
@fasterthanlime
Avatar utente
Foto UtenteDonJ
4.611 6 10 13
Master EY
Master EY
 
Messaggi: 2559
Iscritto il: 19 lug 2009, 22:13
Località: Croccamauria

0
voti

[3] Re: Protocollo DMX512

Messaggioda Foto Utentemattyyy » 5 set 2010, 21:00

Grazie mille, le tue dritte sono state davvero esaurienti! Ti faccio una domanda perché su questo punto ho qualche insicurezza.
Prendiamo un esempio simile al tuo cioè un sistema composto solo da un dimmer a 12 canali. Se volessi aggiungeci anche una testa mobile (o qualcos'altro) il collegamento di questo secondo elemento elementi come avviene? In "cascata" dopo il dimmer?

La seconda domanda riguarda la gestione dei dati che ogni elemento legge:
Per il dimmer, ad esempio, ho bisogno di generare 12 byte differenti per la gestione delle luci, uno in serie all'altro. Quindi il primo byte (byte 0) gestisce l'intensità della prima lampada (bulb 0) secondo tutte le fasi ed i vari segnali dettati dallo standard RS485 (quindi tutte le Break, MAB, e avanti). Col byte1 (successivo al byte0) gestisco la bulb1, col byte2 gestico la bulb2, ecc

Una volta che sono arrivato all'ultima lampada la sequenza ricomincia.

Tutto giusto?
Avatar utente
Foto Utentemattyyy
10 1 6
New entry
New entry
 
Messaggi: 74
Iscritto il: 27 apr 2009, 18:09

0
voti

[4] Re: Protocollo DMX512

Messaggioda Foto UtenteDonJ » 5 set 2010, 21:08

mattyyy ha scritto:Se volessi aggiungeci anche una testa mobile (o qualcos'altro) il collegamento di questo secondo elemento elementi come avviene? In "cascata" dopo il dimmer?

Esattamente.
Ogni apparecchio DMX ha sempre due connettori, un'entrata e una uscita.
L'entrata viene collegata direttamente all'uscita, quindi come se il cavo non si interrompesse.
E' molto importante piazzare sempre nell'ultima macchina un terminator.
Il terminator non è altro che un attacco XLR maschio con una resistenza da 110ohm tra D+ e D- e va collegato all'uscita DMX dell'ultimo apparecchio per eliminare le interferenze.

mattyyy ha scritto:Tutto giusto?

Sì, è abbastanza intuitivo come metodo di comunicazione, nulla di complesso!
Se stai realizzando un trasmettitore ti raccomando comunque di mantenere una lunghezza minima di 24 byte.
Certi apparecchi (soprattutto quelli vecchi) si rifiutano di sincronizzarsi con mixer troppo veloci.
"Computers, operating systems, networks are a hot mess. They're barely manageable, even if you know a decent amount about what you're doing. Nine out of ten software engineers agree: it's a miracle anything works at all."
@fasterthanlime
Avatar utente
Foto UtenteDonJ
4.611 6 10 13
Master EY
Master EY
 
Messaggi: 2559
Iscritto il: 19 lug 2009, 22:13
Località: Croccamauria

0
voti

[5] Re: Protocollo DMX512

Messaggioda Foto Utentemattyyy » 5 set 2010, 21:26

Ok grazie di tutto! Comunque la mia intenzione (almeno per ora) non è quella di realizzare qualcosa ma semplicemente di saperne qualcosa. C'è un mio amico che ha intenzione di provare a pilotare qualcosa col DMX e mi ha chiesto una mano dato che ne sa veramente poco di queste cose
Avatar utente
Foto Utentemattyyy
10 1 6
New entry
New entry
 
Messaggi: 74
Iscritto il: 27 apr 2009, 18:09

0
voti

[6] Re: Protocollo DMX512

Messaggioda Foto Utentemattyyy » 5 set 2010, 21:33

Ultima domanda: sul piedino cold è presente un segnale invertito (quindi quando ho i 5V per la rappresentazione di un 1 logico nel D+ mi trovo una tensione di -5 nel D-) oppure ho un segnale negato (cioè quando ho 5V su D+ ho 0V su D- e viceversa)?
Avatar utente
Foto Utentemattyyy
10 1 6
New entry
New entry
 
Messaggi: 74
Iscritto il: 27 apr 2009, 18:09

0
voti

[7] Re: Protocollo DMX512

Messaggioda Foto UtenteDonJ » 5 set 2010, 21:49

Pardon, segnale negato, non invertito, errore mio.

Comunque ti basta usare un trasduttore RS485, collegarlo a un microcontrollore ed è fatta.
"Computers, operating systems, networks are a hot mess. They're barely manageable, even if you know a decent amount about what you're doing. Nine out of ten software engineers agree: it's a miracle anything works at all."
@fasterthanlime
Avatar utente
Foto UtenteDonJ
4.611 6 10 13
Master EY
Master EY
 
Messaggi: 2559
Iscritto il: 19 lug 2009, 22:13
Località: Croccamauria

0
voti

[8] Re: Protocollo DMX512

Messaggioda Foto UtenteDonJ » 5 set 2010, 21:54

Ultimo post e poi giuro che sto zitto, dai un occhio a questa application note di microchip, c'è tutto il necessario per realizzare un'unità di controllo DMX

http://ww1.microchip.com/downloads/en/A ... 01076A.pdf
"Computers, operating systems, networks are a hot mess. They're barely manageable, even if you know a decent amount about what you're doing. Nine out of ten software engineers agree: it's a miracle anything works at all."
@fasterthanlime
Avatar utente
Foto UtenteDonJ
4.611 6 10 13
Master EY
Master EY
 
Messaggi: 2559
Iscritto il: 19 lug 2009, 22:13
Località: Croccamauria

0
voti

[9] Re: Protocollo DMX512

Messaggioda Foto Utentemattyyy » 5 set 2010, 22:08

L'ultima è proprio qualcosa che aiuterebbe moltissimo! Hai fatto centro, grazie mille (;
Avatar utente
Foto Utentemattyyy
10 1 6
New entry
New entry
 
Messaggi: 74
Iscritto il: 27 apr 2009, 18:09


Torna a Elettronica e spettacolo

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti