Electronique > Réalisations > Interfaces > DMX > Interface DMX 003d [Pro]

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).

interface_dmx_003d_pcb_3d_a

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.

interface_dmx_003d
Traitement DMX

interface_dmx_pwm_8outs_001
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 :
Exemples de réglage de l'adresse de base DMX :
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.
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.

interface_dmx_003d_proto_001a interface_dmx_003d_proto_001b interface_dmx_001_proto_001b

Deux points à noter sur les photos du proto :
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