Dernière mise à jour :
04/12/2022
Présentation
Ce contrôleur DMX
est plus un outil de test qu'un système de gestion lumière. Il a été
conçu pour vérifier le fonctionnement de mes dernières interfaces
DMX, notamment mon interface
DMX 003-ext et mon interface
DMX 003a.
Deux versions ont été développées :
- schéma 005a
: version très simplifiée avec PIC 16F88
- schéma 005b
: version plus élaborée avec PIC 18F25K22
La
version 005b permet de spécifier l'adresse de départ des données
utiles, ce que ne permet pas la version 005a. Les paramètres pouvant
être ajustés le sont grâce à des potentiomètres et interrupteurs.
Réglages possibles
Le nombres de paramètres
ajustables dépend de la version (005a ou 005b). Dans les deux versions,
un canal DMX parmi les 512 permis par la norme peut être
"utile" ou "vide". Un canal "utile" transmet une valeur comprise
entre 1 et 255, la valeur 0 n'est pas autorisée (c'est moi qui l'ai décidé pour cette application). Un canal "vide"
quant à lui contient toujours la valeur 0.
Paramètre |
Contrôleur
005a |
Contrôleur 005b |
Nota |
Valeurs inter-canaux fixes |
|
|
(1) |
Valeurs inter-canaux progressives |
|
|
(2) |
Nombre de canaux utiles fixe |
4,
8, 12 ou 16 |
4,
8, 12 ou 16 |
(3) |
Nombre de canaux utiles variable |
|
Ajustable (de 1 à 128) |
(4) |
Adresse de départ |
fixe (=1) |
Ajustable (de 1 à 512) |
(5) |
StartCode |
Toujours présent |
Peut être supprimé |
(6) |
Nota 1
-Tous les canaux DMX "utiles" possèdent la même valeur (entre 1 et 255),
qui est déterminée par la position d'un potentiomètre. Un canal utile
ne
peut pas avoir la valeur 0.
Nota 2
- Le premier canal utile possède la valeur 1. Les canaux utiles
suivants ont une valeur qui augmente ou diminue de manière progressive, avec un
taux de progression qui est déterminé par la position d'un
potentiomètre.et qui peut aller de 1 à 64.
Nota 3
- La longueur d'une "sous-trame" de canaux utiles est toujours de 16
canaux. Si le nombre de canaux utiles est inférieur à 16, les canaux
suivants possèdent une valeur de remplissage égale à 0. Par exemple
pour une sous-trame de 8 canaux utiles, 8 canaux consécutifs ont une
valeur comprise entre 1 et 255, les 8 canaux suivant ont une valeur de
0.
Nota 4 - La
longueur d'une sous-trame peut être fixe (4,
8, 12 ou 16 canaux)
ou ajustable (entre 4 et 128 canaux).
Nota 5 - Si
le numéro de canal de départ de la première sous-trame de 16 canaux est
supérieur à 1, alors les canaux précédents le canal de départ sont
transmis avec la valeur de 0.
Nota 6
- Le StartCode est un octet de valeur 0 normalement émis avant
la valeur du premier canal DMX (dans d'autres contextes d'utilisation,
cet octet peut avoir une valeur différente de 0). Le supprimer permet
d'effectuer des
tests non standard.
Schémas 005a (avec PIC 16F88) et 005b (avec PIC 18F25K22)
Les deux schémas ont le même objectif, les différences sont données dans le texte.
Schéma 005a - avec PIC 16F88 Schéma 005b - avec PIC 18F25K22
Principe général
Ce générateur de trames DMX délivre
des trames contenant un certain nombre d'octets "utiles" ou "vides".
Les
octets "utiles" constituent une sous-trame DMX dont la longueur peut
être ajustée entre 4 et 128.
Nombre de canaux utiles dans la sous-trame
La configuration du nombre de canaux utiles qui constituent
une sous-trame diffère selon l'interface (005a ou 005b).
Contrôleur 005a
Le
nombre de canaux utiles qui constituent une sous-trame dépend de l'état
logique des lignes D2 et D3 (RC2 et et RC3).
. si D3=0 et D2=0 : longueur sous-trame = 16 et nombre de canaux utiles = 4
. si
D3=0 et D2=1 : longueur sous-trame = 16 et nombre de canaux utiles = 8
. si
D3=1 et D2=0 : longueur sous-trame = 16 et nombre de canaux utiles = 12
. si
D3=1 et D2=1 : longueur sous-trame = 16 et nombre de canaux utiles = 16
Contrôleur 005b
Le
nombre de canaux utiles qui constituent une sous-trame dépend
de l'état
logique des lignes D1 à D3 (RC1, RC2 et RC3) et de la position du
potentiomètre RV3 (tension sur la ligne An2).
- Si
D1 = 0 (RC1=0), alors la longueur de la sous-trame utile est
définie par l'état logique des lignes D2 (RC2) et D3 (RC3) selon la
règle suivante (idem qu'avec le contrôleur 005a) :
. si D3=0 et D2=0, alors longueur sous-trame = 16 et nombre de canaux
utiles = 4
. si D3=0 et D2=1, alors longueur sous-trame = 16 et nombre de canaux
utiles = 8
. si D3=1 et D2=0, alors longueur sous-trame = 16 et nombre de canaux
utiles = 12
. si D3=1 et D2=1, alors longueur sous-trame = 16 et nombre de canaux
utiles = 16
- Si
D1 = 1 (RC1=1), alors la longueur de la sous-trame utile est
définie
par la valeur de la tension appliquée à la ligne An2, via le
potentiomètre RV3. Avec une tension de 0 V (potentiomètre RV3 au
minimum), le nombre de canaux utiles est de 4. Avec une tension de
+5 V (potentiomètre RV3 au maximum), le nombre de canaux
utiles
est de 128.
Valeurs inter-canaux (fixes ou progressives)
La
valeur des octets "utiles" qui constituent la sous-trame DMX peuvent
prendre une valeur comprise entre 1 et 255. La valeur peut évoluer
entre deux canaux consécutifs ou rester la même.
- Si RV1 est en
position minimale (tension de zéro volt sur la ligne An0),
alors la
valeur est la même pour tous les canaux utiles de la
sous-trame,
et cette valeur dépend de la position du potentiomètre RV2 (tension sur
la ligne An1).
- Si RV1 n'est
pas en position minimale (tension
supérieure à zéro volt sur la ligne An0), alors la valeur de canal
augmente à chaque nouveau canal utile de la sous-trame. Les
valeurs progressives dépendent dans ce cas de la position des deux
potentiomètres RV1 et RV2 (tension relevée sur les lignes An0 et An1).
RV1 détermine la valeur du premier octet de la sous-trame et RV2
détermine la valeur du dernier octet de la sous-trame. Entre les deux
extrêmes, le taux de progression est le même entre chaque paire
d'octets utiles successifs.
Exemple 1
- Si RV1 est en position minimale (An0 = 0 V) et que RV2 est en
position centrale (An1 = 2,5 V), alors tous les canaux utiles de la
sous-trame ont une valeur de 128 (255*1/2).
Exemple 2
- Si RV1 est en position 1/4 (An0 = 1,25 V) et que RV2 est en position
3/4 (An1 = 3,75 V), alors tous les canaux utiles de la sous-trame ont
une valeur
qui évoluent progresivement entre 64 (255*1/4) et 192 (255*3/4).
Adresse de départ
Sur le contrôleur 005a, l'adresse de départ est égale à 1 et ne peut pas être modifiée.
Sur le contrôleur 005b, l'adresse de départ peut être configurée entre 1 et 512.
Si
le numéro de canal de départ de la première sous-trame de 16 canaux est
supérieur à 1, alors les canaux précédents le canal de départ sont
transmis avec la valeur de 0.
StartCode
Sur le contrôleur 005a, le StartCode est toujours présent en début de trame.
Sur le contrôleur 005b, le StartCode peut être supprimé pour effectuer des
tests non standard.
Sortie DMX
La sortie DMX répond à la norme RS485, comme pour mes autres
appareils DMX. J'ai là encore utilisé un
driver de ligne MAX485 (que l'on peut remplacer par un MAX481,
MAX483,
MAX487
ou SN75176BP, ces circuits ont le même brochage que le MAX485).
Alimentation
Une alimentation régulée qui délivre une tension de 5 V sous au moins
100
mA est requise. Un régulateur
de tension de type LM7805 convient pour la
stabilisation de tension (exemple).
Prototype
Actuellement aucun prototype physique de ce
contrôleur n'a été réalisé. Ce générateur de trame ne m'a servi
que sous sa forme logicielle (simulation dans Proteus) pour la mise au
point de mes interfaces DMX
003-ext et
003a.
Logiciels du PIC
Pro - Logiciels non disponibles en libre accès.
Contrôleur
DMX 005a avec 16F88 - (04/12/2022)
Contrôleur
DMX 005b avec 18F25K22 - (04/12/2022)
Circuit imprimé
Non réalisé.
Historique
04/12/2022
- Première mise à disposition.