Electronique > Réalisations > Interfaces > DMX > Interface DMX 003c - Pro 

Dernière mise à jour : 31/01/2016

Présentation

Cette interface DMX dispose d'une entrée DMX (sur XLR) et de 5 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_003c_pcb_3d_a

Une fois n'est pas coutume, le montage fait appel à un microcontrôleurs PIC 24FJ32GA002. Par rapport aux gradateurs précédents, celui-ci délivre des signaux PWM de fréquence plus élevée, 1000 Hz sur toutes les sorties (qui sont synchronisées entre elles). Cette fréquence peut être diminuée ou augmentée le cas échéant (à comparer aux 100 Hz ou moins de mes autres gradateurs). Et ici, pas de CI exotique comme le PCA9685 que j'ai utilisé dans mon interface DMX 009. L'adresse de base DMX peut être ajustée entre 1 et 512.

Schéma

Pour un soucis de clarté, la section de puissance est détachée de la section de commande.

interface_dmx_003c
Réception/commande DMX

interface_dmx_pwm_5outs_001
Interface de puissance 5 sorties

Fonctionnement général
L'interface dispose de 5 sorties qui fonctionnent en mode Gradateur. Chaque sortie délivre un signal périodique 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 9 10 11 12
Valeur DMX 0 15 127 128 250 34 100 64 255 200 15 250
PWM en % 0 6 50 50 98 13 39 25 100 78 6 98

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 de base (1 à 512) se fait par le biais des interrupteurs câblés sur les lignes DmxAddr (bits #0 à #7 sur groupe d'interrupteurs DSW1 et bit #8 sur interrupteur isolé SW2) et de l'interrupteur câblé sur la ligne RA2 du PIC (bit #8). Si vous ne connaissez pas encore le mode binaire c'est le moment de s'y mettre. Les pullup internes du PIC ne sont pas activés, c'est un choix délibéré. Configuré comme indiqué sur le schéma (DmxAddr0 à 1 et les autres lignes DmxAddr à 0) le montage réagit aux données véhiculées dans les canaux DMX #1 à #5. Si l'adresse spécifiée avec les interrupteurs DSW1 est 14, alors le montage réagit aux données véhiculées dans les canaux DMX #14 à #18.

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 dans ce cas que l'alim générale 12 V arrive à suivre). En mode gradateur, les signaux PWM délivrés ont une période voisine de 10 ms, ce qui correspond à une fréquence voisine de 100 Hz. Cette fréquence, suffisament élevée pour ne pas produire un scintillement visible, est liée à l'utilisation d'un timer 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 (Timer1 16 bits) opère lui-même à une période d'environ 38 us. L'utilisation d'une courbe (table) de correction de luminosité (pour adapter la plage linéaire des valeurs DMX à la sensibilité de l'oeil qui est logarithmique) demande quelques ressources processeur supplémentaires et ralentit un peu l'ensemble, mais on s'en sort bien.

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

Un 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 désactive toutes les sorties. Ces dernières sont réactivées dès réception d'au moins deux trames DMX valides successives.

Prototype

Mise au point (simulation) avec Proteus, puis tests dans le monde réel avec une platine sans soudure relié à un PICkit3 et mon interface électrique DMX simplifiée. Pour les commandes DMX, j'ai utilisé mes contrôleurs Stairville DDC-6 et Botex SDC-16.

interface_dmx_001_proto_001b botex_sdc16_001a

Tests réalisés en même temps que ceux de mon interface DMX 003d.

Logiciel du PIC

Montage réalisé pour usage pro, logiciel non disponible.
Interface DMX 003c - 24FJ32GA002 - (31/01/2016)

Circuit imprimé

Non réalisé.

Historique

31/01/2016
- Première mise à disposition