Un variateur de puissance au standard DMX512

Ce variateur, contrôlable par protocole DMX, dispose d’une sortie 0 à 10 Vcc pour le couplage aux systèmes de puissance, mais il peut en outre héberger un module spécial pour le contrôle direct de charges alimentées par le secteur 230 V. Une barre de LED indique la valeur prise par la sortie et l’adresse peut être facilement choisie, parmi les 512 que le DMX propose, à l’aide d’un dip-switch.



Caractéristiques techniques
- Alimentation de la platine : 12 Vcc 500 mA
- Sortie 0 à 10 Vcc pour variateur EK8003/EK8064
- Nombre de canaux DMX sélectionnables : 512
- Sortie secteur 230 VAC avec module ET520
- Puissance maximale 230 VAC : 1 kW
- Section haute tension isolée du reste du circuit
- Barre de LED
- Connecteurs XLR3 mâle et femelle pour une intégration facile au réseau DMX
- Résistance de 120 ohms pour fermeture de la ligne insérable par inverseur.

Le protocole DMX512 utilise comme standard physique l’EIA RS485, ce qui permet de relier Maître et Esclave à grande distance grâce à la haute immunité aux perturbations de cette technique. De plus, ce support autorise le montage de plusieurs dispositifs en cascade… pour peu que l’on n’oublie pas de fermer la ligne après le dernier Esclave avec une résistance de 120 ohms.
La vitesse de transmission de 250 kbits/s permet d’envoyer les paramètres aux différents dispositifs (maximum 512, d’où le nom DMX512) en moins de 23 ms, ce qui implique une bonne linéarité de contrôle et une appréciable vitesse de réponse. Pour différencier un paquet de données (comprenant les informations pour les 512 canaux !) du suivant, le protocole DMX prévoit un “BREAK” consistant à mettre au niveau logique bas la ligne pendant 88 μs au moins, suivi d’un “START CODE”, c’est-à-dire un caractère 0. Sont ensuite envoyés les paramètres des divers canaux au format : 1 bit de start, 8 bits de données, 2 bits de stop.
Comme on le voit, la différence essentielle par rapport à une traditionnelle communication sérielle tient à la présence ici de deux caractères de stop.
Le montage décrit dans cet article permet non seulement de réaliser un variateur de puissance standard DMX, mais encore (et surtout) de comprendre quelles sont les astuces à mettre en oeuvre pour réaliser un système capable d’interpréter les commandes de ce protocole, comment attribuer les adresses aux périphériques et configurer les sorties en fonction des données contenues dans le flux.
Nous expliquons en particulier dans ces pages comment réaliser un variateur DMX à un seul canal. Le circuit est associé à une adresse parmi les 512 possibles, paramétrable à l’aide d’un dip-switch. Il est en mesure d’exploiter l’information (0 à 255) relative à la valeur de luminosité que le projecteur ou le spot doit prendre et de régler sa sortie PWM de façon à obtenir une valeur de 0 à 10 V proportionnelle à la donnée lue pour piloter directement des variateurs contrôlés en tension.
Une barre de LED permet de vérifier immédiatement l’intensité lumineuse sélectionnée pour le luminaire relié à la sortie.

Le schéma électrique
Le schéma électrique de la figure 1 peut se diviser en sections : un étage d’alimentation (en haut), un étage d’interfaçage RS485/TTL, un étage de linéarisation de l’onde PWM, un étage de puissance et un “coeur” à microcontrôleur.
Le rôle consistant à obtenir un niveau de tension compatible avec l’électronique présente dans le circuit est dévolu à un régulateur 7805 en boîtier TO220 fournissant, à partir du 12 V d’entrée (PWR), le 5 V au PIC16F876 et au convertisseur MAX485. Ce dernier convertit le signal RS485 disponible sur le connecteur XLR en TTL compatible avec la sérielle matérielle du micro. Quand on met à la masse les broches 2 et 3 de U2 on habilite la réception des données en transit sur la ligne RS485 et on déshabilite une éventuelle transmission des données présentes sur la broche 4 non utilisée. Les données TTL sont envoyées au port RC7 correspondant à la sérielle matérielle du microcontrôleur et au port RC0 (nous verrons ensuite, en analysant le logiciel, le motif de cette liaison). Pour supporter une communication à 250 kbits/s le PIC utilise un quartz de 20 MHz relié aux broches OSC1 et OSC2.
L’adresse de l’Esclave est attribuée par DS1, sans oublier que ce paramétrage est effectué en binaire : si nous voulons donner l’adresse 1 nous devons mettre sur ON (soit fermer à la masse) le microinterrupteur 1, si nous voulons donner l’adresse 10 nous devons mettre sur ON les micro-interrupteurs 2 (valant 2) et 4 (valant 8) ; pour sélectionner la dernière adresse, 512, la broche à mettre sur ON est la dixième et c’est tout. En utilisant la calculatrice scientifique de Windows il est très simple de trouver le paramétrage des micro-interrupteurs pour les différentes adresses possibles (voir figure 6).
Quand une donnée est lue pour l’adresse sélectionnée, le microcontrôleur habilite sa sortie PWM et le rapport cyclique est choisi de façon à obtenir une tension proportionnelle à la valeur acquise. L’onde produite pilote T1 lequel à son tour, en agissant sur la base de T2, règle la tension de la sortie OUT. La tension maximale disponible sur ce bornier est donnée par DZ1, elle est de 10 V. Cette tension permet de piloter directement des variateurs contrôlés en tension comme nos K8003 ou 8064, de manière à pouvoir attaquer des charges sous secteur 230 V. C7 et R10 déterminent la linéarité de la sortie et par conséquent, si la charge appliquée à la sortie est trop élevée, il peut être nécessaire d’élever ces valeurs afin de rétablir une réponse la plus linéaire possible.
Dans le but de rendre ce montage le plus universel possible, nous avons prévu la possibilité d’insérer directement dans le circuit le variateur de puissance contrôlé en tension ET520 (utilisé dans notre Régie lumières ET528, voir figure 2). La section haute tension de cette platine est isolée de la tension continue de contrôle par un photocoupleur. Si on applique à l’entrée VAC la tension du secteur 230 V et à la sortie LOAD une lampe (projecteur, spot, etc.), il est possible, en faisant varier la tension de contrôle de 0 à 10 Vcc, de faire varier de 0 à 100 % la luminosité de la lampe. Notre montage prévoit deux XLR, une mâle et une femelle, car le protocole DMX permet de relier jusqu’à (un maximum de) 512 dispositifs à la même ligne : la présence de deux connecteurs rend le système facilement intégrable au sein d’un réseau existant. Si notre variateur est le dernier dispositif du réseau, il est nécessaire de fermer la ligne après lui avec une résistance de 120 ohms. Aussi, afin d’éviter d’avoir à réaliser un connecteur spécial avec la résistance soudée entre les broches 2 et 3, nous avons prévu un inverseur SW1 dont le rôle sera d’insérer éventuellement la résistance au bon endroit si ce variateur est le dernier de la chaîne (si ce n’est pas le cas, on laissera l’inverseur ouvert).

Figure 1 : Schéma électrique du variateur de puissance DMX.

Figure 2 : Le module de puissance.

Notre circuit présente une sor tie de tension de 0 à 10 Vcc avec laquelle il est possible de piloter des dispositifs de puissance fonctionnant sous ces tensions, comme nos EK8003 ou 8064 ou encore le ET520 utilisé dans notre Régie lumières ET528 (numéro 65 d’ELM, page 38).
Il s’agit d’un variateur contrôlé en tension dont la section de puissance est isolée du circuit de contrôle par un photocoupleur.
Le module de puissance ET520 utilise des connecteurs faston à 90°, mais pour la présente utilisation nous les avons remplacés par des modèles verticaux (comme le montre la photo de gauche).
Soyez très prudent quand vous manipulez ce module, car il est sous la tension (mortelle !) du secteur 230 V.

Figure 3a : Schéma d’implantation des composants du variateur de puissance DMX.

Figure 3b : Dessin, à l’échelle 1, du circuit imprimé du variateur de puissance DMX.

Figure 4 : Photo d’un des prototypes du variateur de puissance DMX.

Liste des composants
R1 ................. 4,7 kΩ
R2 ................. 120 Ω
R3 ................. 470 Ω
R4 ................. 4,7 kΩ
R5 ................. 4,7 kΩ
R6 ................. 10 kΩ
R7 ................. 4,7 kΩ
R8 ................. 10 kΩ
R9 ................. 1 kΩ
R10 ................ 1 kΩ
R11 ................ 100 Ω
R12 ................ 10 Ω
R13 ................ 10 Ω
R14 ................ 10 Ω
R15~R20 ............ 470 Ω
C1 ................. 100 nF multicouche
C2 ................. 470 μF 25 V électrolytique
C3 ................. 100 nF multicouche
C4 ................. 470 μF 25 V électrolytique
C5 ................. 10 pF céramique
C6 ................. 10 pF céramique
C7 ................. 220 μF 25 V électrolytique
C8 ................. 100 nF multicouche
D1 ................. 1N4007
DZ1 ................ zener 10 V
U1 ................. 7805
U2 ................. MAX485
U3 ................. PIC16F876-EF570
U4 ................. ET520 (module de puissance)
Q1 ................. quartz 20 MHz
DS1 ................ dip-switch à 10 microinterrupteurs
SW1 ................ inverseur horizontal
LD1~LD6 ............ LED 5 mm verte
LD7 ................ LED 5 mm rouge
T1 ................. BC547
T2 ................. BC557

Divers :
1 .................. prise d’alimentation
1 .................. support 2 x 4
1 .................. support 2 x 14
1 .................. bornier 2 pôles enfichable
2 .................. borniers 2 pôles au pas de 10 mm
5 .................. faston mâles droites pour circuit imprimé
5 .................. faston femelle pour circuit imprimé
2 .................. barrettes mâles 3 pôles
2 .................. barrettes femelles 3 pôles
1 .................. connecteur XLR 3 pôles mâle
1 .................. connecteur XLR 3 pôles femelle
Sauf spécification contraire, toutes les résistances sont des 1/4 W à 5 %.


Le programme résident
Afin d’offrir aux développeurs la possibilité de réaliser leur propre système DMX, nous donnons (sur notre site Internet) le “listing” complet du programme installé dans le microcontrôleur et nous expliquons en détail chaque instruction. Première opération, le quartz utilisé dans le montage est défini : c’est un 20 MHz. Étant donnée la vitesse élevée, avec l’instruction @DEVICE HS_OSC nous informons le logiciel de programmation (par exemple l’EPIC) que le type d’oscillateur utilisé est un “High Speed”. Ensuite nous configurons la sérielle de façon à pouvoir interpréter les données arrivant du convertisseur MAX485. Le protocole est du type 8N2, non supporté par le Pic Basic Pro, c’est pourquoi on a mis au point une configuration particulière de la sérielle permettant d’avoir un protocole de type 9N1. Le PIC ne pouvant gérer facilement les deux bits de stop, avec cette configuration 9 bits de données sont acquis (en réalité on n’en considérera que 8) de façon à englober un des deux bits de stop (le dernier sera normalement traité comme bit de stop).
Cette configuration un peu particulière est le coeur du programme et elle nous permet d’acquérir les données sans problème comme si nous utilisions une sérielle normale. Dans le “listing” suit la définition des ports utilisés, en particulier le port RC0 nommé IN, alors que sont attribués aux LED les “labels” (étiquettes) afin de pouvoir les identifier facilement. Sont ensuite définies les variables utilisées au cours du programme, toutes sont du type “word” : avec la commande CLEAR elle sont toutes mises à 0. Tout de suite après sont déshabilités les convertisseurs A/N du microcontrôleur et sont activées les résistances internes de maintien au 1 logique afin de pouvoir lire sans problème les micro-interrupteurs déterminant l’adresse du dispositif. Dans le but d’éviter de faux allumages toutes les LED du circuit sont éteintes avec la commande LOW. Après cette phase de configuration le programme proprement dit commence : il lit tout d’abord le paramétrage des microinterrupteurs (adresse DMX) qu’il charge dans la variable NDMX. L’instruction PULSIN IN,0,BREAK est utilisée pour chercher l’impulsion de BREAK qui détermine le début du flux des 512 données contenant la valeur que doit prendre chaque canal. Afin d’éviter d’avoir à “éteindre” le port série pour lire cette impulsion (le 0 dans l’instruction indique qu’il s’agit d’une impulsion négative) on a réalisé aussi la connexion au port RC0 (IN) justement pour réaliser cette fonction. La durée pendant laquelle la ligne est au niveau logique bas est mémorisée dans la variable BREAK (avec une résolution de 2 μs). La durée de cet en-tête (“header”) ne doit pas être, selon les spécifications DMX, inférieur à 88 μs, en effet avec l’instruction IF BREAK >= 40 nous allons vérifier la durée de cette impulsion. La résolution de la commande PULSIN est de 2 μs, par conséquent si la variable BREAK est supérieure à 44 cela signifie que l’impulsion a une durée supérieure à 88 μs et c’est sûrement l’impulsion que nous cherchons. Si la durée est inférieure aucune opération n’a lieu et le programme tourne en boucle jusqu’à la détection d’un début de trame.
Si la condition est vérifiée, avec la commande HSERIN les deux premiers caractères de l’en-tête sont lus, ce doit être deux 0. S’il n’en est pas ainsi, le programme prévoit un saut au principal (“main”) afin de chercher le début exact, sinon il continue avec un cycle de FOR permettant d’aller lire la valeur correspondant à l’adresse attribuée à la platine (NDMX). Rappelons que l’on peut envoyer les 512 caractères (byte) ou bien un nombre de caractères inférieur, de façon à accélérer le paramétrage des divers Esclaves. L’instruction suivante HPWM 1,VALEUR,2000 active le générateur PWM matériel intégré dans le PIC16F876 avec une fréquence de 2 000 Hz et un rapport cyclique donné par la variable VALEUR. Ainsi, en utilisant T1, T2 et C7 il est possible de stabiliser cette onde carrée et d’obtenir un signal continu qui sera ensuite utilisé pour piloter les variateurs contrôlés en tension. Nous avons ensuite les instructions permettant d’allumer les LED en séquence de manière à avoir une représentation visuelle directe sur le récepteur de l’intensité lumineuse prise par la lampe. La LED rouge LD7 reliée directement à la sortie OUT s’allume avec une intensité proportionnelle à la valeur réglée sur le contrôleur.

La réalisation pratique
La réalisation pratique de ce variateur de puissance DMX ne comporte aucune difficulté particulière. Deux platines superposées, bien sûr (voir figure 2), mais la petite platine ET520 a déjà été réalisée : si ce n’est pas le cas, reportez-vous à l’article ET528 (numéro 65 d’ELM, page 38), ici nous ne nous occupons que de la réalisation de la platine ET570. Le circuit imprimé est un simple face, la figure 3b en donne le dessin à l’échelle 1.
Insérez et soudez tous les composants (comme le montrent les figures 3a et 4), en commençant par les deux supports de circuits intégrés et en terminant par les borniers, la prise d’alimentation et les cinq faston femelles pour circuit imprimé : ces dernières vous permettront alors d’insérer le module de puissance ET520 dont vous aurez au préalable modifié les sorties (en remplaçant les cinq faston mâles coudées par des droites, comme le montre la figure 2). Sans cette modification minime la platine de puissance devra être montée verticalement et l’encombrement de l’ensemble sera supérieur (ce qui n’est pas toujours un inconvénient sauf pour l’installation dans un boîtier !).
Installez ensuite les platines superposées dans le boîtier plastique Teko CAB233 et préparez la face avant en aluminium pour l’affleurement des LED et le panneau arrière en aluminium aussi pour le passage et la fixation des XLR, du bornier enfichable, des VDE, de la prise d’alimentation et de l’inverseur à glissière (photos de la figure 5).
Le PIC est déjà programmé en usine, mais si vous voulez le programmer vous-même ou le reprogrammer (voire récrire le programme) vous le pouvez en utilisant un éditeur normal (ou le Bloc-Note Windows) et en le compilant avec le Pic Basic Professionnel. Le compilateur créera le fichier .hex utilisable avec notre programmateur ET386.
Nous vous conseillons dans un premier temps de ne pas monter le module ET520 et de ne pas connecter la tension du secteur 230 V. Reliez le dispositif à l’aide d’un câble adéquat à un contrôleur DMX (prochainement nous vous proposerons un Contrôleur DMX pour port USB EK8062) et attribuez à votre appareil une adresse au moyen des micro-interrupteurs (donnez-lui l’adresse 1 en mettant sur ON le premier microinterrupteur et c’est tout). N’oubliez pas de fermer SW1 si votre appareil est seul (et donc dernier !). Alimentez-le en 12 Vcc (500 mA). Mettez le “slider” (potentiomètre à glissière) du contrôleur vers le maximum et vous verrez la barre des six LED s’allumer progressivement (de même vous verrez LD7 devenir de plus en plus lumineuse). Après ces vérifications, insérez le module de puissance à l’aide des faston. Alimentez le dispositif en 12 Vcc, branchez la charge (lampe en LOAD) et le secteur 230 VAC. Vérifiez qu’en jouant sur la position du “slider” la luminosité de la lampe varie.

Figure 5 : Montage dans le boîtier du variateur de puissance DMX.

Notre circuit se monte à merveille dans le boîtier plastique Teko CAB233. La face avant et le panneau arrière en aluminium doivent être percés pour le passage et la fixation des LED, des socles XLR3 et VDE. Sans oublier, sur le panneau arrière, la prise d’alimentation du circuit, le bornier enfichable où se trouve la tension de sortie de 0 à 10 Vcc et l’inverseur à glissière permettant d’insérer en parallèle avec le connecteur XLR3 la résistance de 120 ohms nécessaire pour fermer la ligne si ce variateur est le dernier de la ligne DMX.

Figure 6 : Le paramétrage de l’unité de contrôle.

Pour donner une adresse DMX, parmi les 512 possibles, au module, il est nécessaire de paramétrer correctement DS1.
L’adresse est exprimée en binaire et le premier micro-interrupteur correspond au LSB (bit le moins significatif), le dixième étant le MSB (bit le plus significatif). Avec la calculatrice scientifique de Windows, vous pourrez immédiatement trouver comment paramétrer DS1 à partir d’une adresse décimale.
Exemple : pour donner l’adresse 12 à la platine, ouvrez la calculatrice scientifique de Windows (Démarrer > Programmes > Accessoires > Calculatrice > Scientifique) et tapez 12 puis pressez sur la touche F8 du clavier matériel : le 12 est remplacé par 1100. Alors, en partant du bit de droite (LSB) paramétrez DS1 : 0 (OFF) pour les micro-interrupteurs 1 et 2, 1 (ON) pour les micro-interrupteurs 3 et 4 et 0 pour les micro-interrupteurs restants. Nous pouvons donner à la platine toute adresse entre 1 et 512 : il est possible d’attribuer à différents variateurs la même adresse pour pouvoir contrôler avec un seul contrôleur plusieurs platines en même temps. Comme “master” (maître), au cours des essais, nous avons utilisé notre Contrôleur DMX pour port USB EK8062 zzz il est dans le EI93 p58 zzz en mesure de commander les dispositifs DMX comme une rotule ou un interrupteur motorisés, mais aussi un simple variateur comme celui faisant l’objet de cet article. Précisons que le logiciel de ce contrôleur professionnel complètement personnalisable est assorti d’un programme de test très pratique à utiliser pendant les essais de tous types de dispositifs DMX.

À Découvrir

Schema Electronique