Dernière mise à jour :
31/01/2016
Présentation
Cette interface
DMX
dispose d'une entrée DMX (sur XLR) et de 5+3 sorties
qui fonctionnent en mode Gradateur
(dimmer) sous une tension de 12 V. Elle inclue un étage de sortie en
puissance pour l'attaque
directe de lampes à LED basse tension (jusqu'à 20 W par
sortie).
Cette version est particulière, et vous l'avez sans doute senti en lisant le terme "5+3 sorties". Le montage fait appel à
un
microcontrôleur
PIC 24FJ32GA002 que l'on fait travailler de deux façons différentes (en
même temps) pour obtenir deux types de sorties PWM :
- 5 sorties (Out1 à Out5) de fréquence 1 kHz (avec module intégré générateur PWM du PIC)
- 3 sorties (Out6 à Out8) de fréquence 100 Hz (PWM fait maison avec interruptions Timer1)
Comme
le PIC utilisé ici comporte un nombre limité de broches et que je
tenais à disposer de 8 sorties PWM sans pour autant tronquer la plage de
réglage de l'adresse de base DMX, j'ai ajouté un CD4017 (compteur Johnson à 10 sorties très utilisé pour fabriquer des
petits chenillards à LED) pour lire de façon sérielle l'adresse de base
DMX. J'y reviendrai dans le paragraphe idoine. Une version un poil plus évoluée est décrite à la page
Interface DMX 003e.
Schéma
Le tout est posé sur un seul schéma. Ou presque.
Traitement DMX Interface de sortie 8 voies
Fonctionnement général
L'interface dispose de 8 sorties qui fonctionnent en
mode Gradateur. Chaque sortie délivre un signal périodique de
fréquence fixe (1000 Hz pour les cinq premières sorties, 100 Hz pour
les trois autres) dont le rapport cyclique dépend des valeurs
véhiculées dans les canaux de la trame DMX reçue. Le tableau qui suit
donne quelques exemples de correspondance entre les valeurs DMX et les
rapports cycliques obtenus.
Sortie |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
Valeur DMX |
0 |
15 |
127 |
128 |
250 |
34 |
100 |
64 |
PWM en % |
0 |
6 |
50 |
50 |
98 |
13 |
39 |
25 |
La valeur de rapport cyclique répond à la formule suivante :
Rapport cyclique (en %) = 100 / 255 * N
où N est la valeur transmise dans la trame DMX (valeur 0
-> PWM = 0%; valeur 255 -> PWM = 100%).
Choix de l'adresse de base DMX
Le
choix de l'adresse DMX de base (1 à 512) se fait par le biais des 8
interrupteurs DSW1
câblés sur les sorties Q0 à Q7 du CD4017 et de l'interrupteur DSW2:1 câblé sur la sortie Q8 du CD4017. Le CD4017
est utilisé ici en convertisseur parallèle/série et ne demande que 3
broches au PIC qui il faut bien le reconnaître, se trouvait un peu à
l'étroit. La plage d'adresse dépend de la position de l'interrupteur DSW2:1, qui
correspond au neuvième bit de l'adresse de base DMX :
- si DSW2:1 ouvert : réglage adresse DMX de base entre 1 et 256 (avec les 8 interrupteurs de DSW1)
- si DSW2:1 fermé : réglage adresse DMX de base entre 257 et 512 (adresse définie par DSW1 + 256)
Exemples de réglage de l'adresse de base DMX :
- Adresse
DMX = 1 : DSW2:1 ouvert et tous interrupteurs DSW1 ouverts sauf DSW1:1 (comme sur schéma proposé ci-avant).
- Adresse
DMX = 260 (4 + 256) : DSW2:1 fermé et tous interrupteurs DSW1
ouverts sauf DSW1:3 (câblé sur Q2 du CD4017).
Petit rappel conversion binaire/décimal Le
principe de fonctionnement est simple : il consiste à envoyer des
impulsions d'horloge au CD4017 pour activer ses sorties à tour de rôle,
et à regarder l'état logique au point DATA après chaque impulsion
d'horloge. Si l'état logique au point DATA est haut, cela signifie que
l'interrupteur correspondant à la sortie activée est fermé. Les diodes
D1 à D9 empêchent le rebouclage des sorties entre elles quand plusieurs
interrupteurs sont fermés en même temps.
Interface électrique DMX
Le circuit
d'interface électrique MAX3072 permet de travailler sous une tension d'alimentation de +3,3 V. Il travaille ici
toujours
dans le
même sens,
ses entrées de direction RE et DE (broches 2 et 3) sont soumises à un
état bas pour passer en mode réception.
La commande des deux lignes RE et DE n'est pas établie "en
dur"
(directement câblées à la masse) mais de façon logicielle - au bon
moment
lors de l'initialisation du PIC, pour que d'éventuelles données DMX qui
arrivent au PIC lors de sa mise sous tension ne pose pas de problème.
La résistance R3 de 120 ohms est
montrée câblée sur le schéma mais en pratique il
convient de la mettre
en série avec un cavalier pour pouvoir la mettre hors service si
besoin. On peut aussi ne pas la prévoir du tout et installer une
seconde prise XLR reliée en parallèle
sur J1 et
sur
laquelle
on pourra enficher une terminaison
(bouchon 120 ohms) ou un câble allant vers un autre appareil
(récepteur) DMX.
Utilisation des sorties
Les
sorties du PIC attaquent directement des transistors MOSFET
compatibles "logique". Ce sont eux qui permettent de commuter
des
courants de valeur élevée (ici plusieurs ampères par sortie, mais il
faut que l'alim générale 12 V arrive à suivre). Les signaux PWM
délivrés sur les sorties Out1 à Out5 ont une période de 1 ms,
ce qui correspond à une fréquence de 1000 Hz. Les signaux PWM
délivrés sur les sorties Out6 à Out8 ont une période
voisine de 10 ms, ce qui correspond à une fréquence voisine
de 100 Hz. Ces deux fréquences de 100 Hz et 1 kHz sont suffisament
élevées
pour ne pas produire un scintillement visible. Pour les sorties Out6 à
Out8, on utilise un timer (Timer1) qui "découpe" chaque
période en 256
tranches, pour bénéficier de la pleine résolution (256 pas et non pas
100). Le timer en question provoque une interruption toutes les 38 us
environ. L'utilisation d'une courbe (table) de
correction de luminosité permet d'adapter la plage linéaire des valeurs
DMX à la sensibilité de l'oeil (qui est logarithmique).
Alimentation
L'alimentation requise pour le circuit de commande (PIC et MAX487) est
de +5 V, un simple régulateur de tension 5 V (LM7805 ou 78L05)
convient. La ligne +12 V est réservée pour les sorties de puissance.
Chaque transistor de sortie peut commuter un courant de plusieurs
ampères, mais imaginez la puissance requise pour le bloc secteur 12 V,
si on veut débiter 5 A sur les 8 sorties en même temps (40 A
au
total, tout de même).
Bouton de reset ?
Le PIC doit travailler très vite pour en même
temps lire la trame DMX et élaborer les signaux PWM, et je ne
jugeais pas utile d'inclure dans la boucle principale, la routine de
lecture de l'adresse DMX spécifiée par l'utilisateur. On
limite donc au maximum le
travail "temps réel" et on déporte ce qu'on peut dans la partie
d'initialisation générale. Le bouton de reset SW1 devra être
pressé si vous modifiez l'adresse DMX pendant que le montage
est
sous tension.
Mode de fonctionnement en absence de données DMX
Si
pour une raison quelconque les données DMX n'arrivent plus (coupure en
plein milieu d'une trame), le logiciel peut désactiver toutes les sorties.
Ces dernières sont dans ce cas réactivées dès réception d'au moins deux trames DMX
valides successives.
- DSW2:2 fermé : Auto-reset activé. Dans ce cas, les sorties PWM sont désactivées si la trame DMX vient à disparaître.
- DSW2:2
ouvert : Auto-reset désactivé. Dans ce cas, les sorties PWM
restent activées et conservent l'état qu'elles avaient lors de la
disparition de la trame DMX.
La configuration est lue une seule fois, au démarrage du système.
Prototype
Dans un premier temps et pour mise au point, simulation dans Proteus.
Puis tests dans le monde réel avec un prototype assemblé sur une plaque sans soudure et mon
interface
électrique DMX
simplifiée. Pour les commandes DMX, j'ai utilisé trois contrôleurs
DMX différents : Stairville DDC-6, Botex SDC-16 et contrôleur DMX
24 canaux fait maison.
Deux points à noter sur les photos du proto :
- avant
réception de mon MAX3072 (CI d'interface RS485),
j'ai utilisé un MAX487 qui nécessite normalement une alim
+5 V. Ce dernier, même alimenté sous +3,3 V, fonctionne. Mais cela
n'est pas une garantie et je ne conseille pas d'utiliser ce CI
dans ce montage.
- diodes non installées en sorties du CD4017, un seul
inter activé à la fois (j'avoue l'avoir oublié un instant et le CD4017
n'a pas aimé).
Fonctionnement OK. Après débogage bien entendu,
car cela n'a pas
fonctionné correctement du premier coup, les sorties se
désactivaient quand la
trame DMX comportait plus de 70 canaux. Ce dysfonctionnement
(corrigé) n'avait pas été mis en évidence par mon contrôleur 24 canaux fait
maison, ni par le contrôleur Stairville DDC-6, mais est apparu
rapidement avec le contrôleur Botex SDC-16, qui présente
l'avantage de pouvoir spécifier l'adresse DMX de départ et surtout de véhiculer
les 512 canaux (ce contrôleur réagit trop lentement aux commandes
manuelles, mais cela importait peu pour mes tests).
Logiciel du PIC
Montage réalisé pour usage pro, logiciel non disponible.
Interface DMX 003d - 24FJ32GA002 - (31/01/2016)
Circuit imprimé
Non réalisé.
Historique
31/01/2016
- Première mise à disposition