Electronique > Réalisations > Interfaces > DMX > Interface DMX 004

Dernière mise à jour : 16/08/2015

Présentation

Cette interface DMX dispose d'une entrée DMX (sur XLR) et de 8 ou 12 sorties qui peuvent fonctionner en mode Logique (On/Off) ou en mode Gradateur (dimmer). Usage sur secteur 230 V avec des lampes à incandescence, projecteurs avec transfo non utilisables avec cette interface.

interface_dmx_003_pcb_3d_a

Le montage fait appel à un microcontrôleur PIC 18F45K22 et reprend la base de l'interface DMX 003 à 12 voies logiques / graduable dont les sorties sont prévues pour attaquer des LED ou petites ampoules. L'adresse de base DMX peut être ajustée entre 0 et 255 et la sortie de puissance est isolée de la partie commande par des opto-triacs. Deux versions snt proposées :
- schéma 004 : version 8 voies (maquette testée en grandeur réelle)
- schéma 004b : version 12 voies (simulée avec succès mais non testée en grandeur réelle)
Les deux circuits partagent la même base matérielle et logicielle.

Schéma 004 - Version 8 voies

Schéma de l'interface, sans l'étage de puissance qui sera vu plus loin.

interface_dmx_004

Fonctionnement général
Les valeurs véhiculées dans la trame DMX sont extraites et converties en "temps de retard de déclenchement" de triacs. Plus la valeur d'un canal est élevée et plus le temps de retard au déclenchement est court, la lampe qui correspond à ce canal s'allume donc plus longtemps dans chaque alternance secteur et s'éclaire donc plus. La synchronisation sur les passages par zéro du secteur fait usage d'un petit mélange comparateur/interruptions.
L'interface dispose de 8 sorties qui fonctionnent en mode Logique ou Gradateur, selon la position du cavalier JP1.
L'état des sorties est dans tous les cas conditionné par la valeur véhiculée dans les canaux DMX. L'exemple qui suit montre ce qui se passe en mode Logique ou Gradateur, selon les valeurs transmises.

Sortie 1 2 3 4 5 6 7 8
Valeur DMX 0 15 127 128 250 34 100 64
Etat logique (1) 0 0 0 1 1 0 0 0
Luminosité en % (1) 0 6 50 50 98 13 39 25
Nota (1) : Etat logique ou gradateur, dépend de la postion du cavalier JP1.

En mode Logique, les sorties ne s'activent que si la valeur DMX correspondante est supérieure ou égale à 128. La suite de valeur dans la trame DMX donnée ci-avant en exemple active donc seulement les sorties 4 et 5. En mode gradateur, le délai d'amorçage du triac (et donc la luminosité de l'ampoule) dépend des valeurs transmises : valeur 0 -> luminosité = 0%; valeur 255 -> luminosité = 100%.

Choix de l'adresse de base DMX
Le choix de l'adresse de base se fait par le biais des interrupteurs câblés sur les lignes RB0 à RB7 du PIC (groupe d'interrupteurs appelé DSW1). Si vous ne connaissez pas encore le mode binaire c'est le moment de s'y mettre. Les résistance de pullup interne du PORTB sont activées, un interrupteur ouvert correspond donc à une entrée à l'état haut. En fermant un interrupteur, l'entrée correspondante est reliée à la masse et se voit donc imposer un état bas. Dans le schéma, seul le premier interrupteur (relié à RA0) est ouvert, l'adresse est donc 1. Configuré de la sorte, le montage réagit aux données véhiculées dans les canaux DMX #1 à #8. 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 à #21.

Entrée DMX
Le circuit d'interface MAX487 travaille ici toujours dans le même sens, ses entrées de direction RE et DE (broches 2 et 3) sont soumise à un état bas pour passer en mode réception, après la phase d'initialisation génrale du PIC. La résistance R1 de 120 ohms est montrée câblée sur le schéma mais en pratique elle se trouve en série avec un cavalier qui permet de la mettre en ou hors circuit. 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 qui va vers un autre appareil (récepteur) DMX.

Utilisation des sorties
Les sorties de type logique TTL délivrent des signaux électriques qui sont soit 0 V, soit +5 V, sous un courant maximal de 25 mA par sortie. Mais comme le PIC ne peut pas délivrer un courant total supérieur à 200 mA, je préfère limiter le courant de sortie à une valeur moindre, comprise entre 15 mA et 20 mA (l'activation simultanée des 8 sorties sous 25 mA donnerait 200 mA). Pour la suite des opérations, on utilise des opto-triacs MOC3021 sans circuit de détection de passage par zéro, car il faut pouvoir déclencher les triacs à n'importe quel endroit des alternances secteur et pas seulement lors du passage par zéro (cela ne conviendrait que pour une application de type tout ou rien).

interface_dmx_004_triacs

Ces opto-triacs qui sont une forme particulière d'optocoupleur servent à isoler la partie puissance 230 V (secteur et lampes) du circuit de commande (PIC). Ils ne sont pas obligatoires et on pourrait relier directement les sorties du PIC sur la gachette des triacs, mais ils sont très vivement conseillés. Le circuit imprimé de l'interface LPT 001 peut être utilisé pour cette interface de sortie, on a affaire au même circuit - seule change la référence des opto-triacs, qui gardent le même brochage. Pour un usage en mode logique uniquement (et en excluant donc le mode gradateur), des opto-triacs MOC3041 conviennent.

Alimentation
L'alimentation requise pour l'ensemble du circuit est de +5 V, elle doit pouvoir fournir un courant d'au moins 250 mA. Le +5 V est tiré d'un régulateur de tension LM7805 en boîtier TO220 qui sera doté d'un petit radiateur. La tension issue du secondaire du transformateur d'alimentation TR1 est de 9 Vac (ou 12 Vac), cette tension peut paraître élevée quand on sait qu'une fois redressée et filtrée elle fait environ 11 V, mais une tension secondaire de 6 Vac aurait conduit à une tension continue voisine de 7 V, valeur trop faible pour garantir au LM7805 une bonne régulation (certes, on pourrait utiliser un régulateur "LDO" à faible tension de déchet). De plus, la tension requise pour délivrer les tops de synchronisation (point "100Hz" sur le schéma) doit posséder une amplitude assez "élevée" pour réduire au minimum la largeur du top (détection de passage par zéro de l'onde secteur). Cette façon de faire permet une économie sur le nombre de composants dédiés à la synchro secteur, mais présente l'inconvénient de faire chauffer un peu plus le régulateur de tension, ce qui se ressent plus quand on est plein feu sur les huit sorties en même temps (160 mA de consommation sur le +5 V). Un petit dissipateur thermique sur le régulateur de tension est nécessaire.

Reset / changement adresse DMX
Le PIC doit travailler très vite pour en même temps lire la trame DMX et élaborer les signaux de commande des triacs. Si j'avais inclus la routine de lecture de l'adresse DMX (spécifiée par l'utilisateur avec les interrupteurs câblés sur le port B) dans la boucle principale, cela aurait consommé inutilement de la ressource processeur. 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.

Points test
J'ai utilisé quelques broches du PIC pour ressortir des signaux caractéristiques, en vue d'un dépannage éventuel :
Ces points n'ont pas besoin d'être reliés ailleurs et ne servent qu'en cas de problème.

Schéma 004b - Version 12 voies

Schéma identique au précédent, avec simple changement de quartz (16 MHz au lieu de 12 MHz) et activation des sorties 9 à 12.

interface_dmx_004b

Bien sûr, il convient d'ajouter une interface de puissance MOC3021 + triac pour chacune des quatre voies ajoutées.

Prototype

Tests effectués pour le schéma 004 (8 sorties) avec ma platine de développement EasyPic7, mon interface électrique DMX simplifiée, mon petit contrôleur Stairville DDC-6 et mon interface secteur 001 à triac et opto-triac MOC3021 (sans circuit de détection du passage par zéro).

interface_dmx_003_proto_001a interface_dmx_001_proto_001b interface_230V_001_proto_001b 

C'était un peu le chantier autour de la platine EasyPic, je l'avoue. Il m'a fallu en effet ajouter l'interface d'entrée DMX avec son MAX487, un petit transfo d'alimentation et quelques composants annexes pour délivrer les impulsions de passage par zéro pour la synchro sur le secteur 230 V.

interface_dmx_004_proto_001a interface_dmx_004_proto_001b interface_dmx_004_proto_001c interface_dmx_004_proto_001d interface_dmx_004_proto_001e interface_dmx_004_proto_001f interface_dmx_004_proto_001g interface_dmx_004_proto_001i

Pour le test des deux dernières voies (#7 et #8) j'ai ressorti mon contrôleur DMX 002. Le tout fonctionne parfaitement sur les 8 voies. La luminosité de la LED câblée en série avec l'entrée de l'opto-triac varie avec les réglage, puisqu'on a à cet endroit un signal de commande qu'on peut tout à fait assimiler à du PWM (fréquence fixe de 100 Hz avec rapport cyclique variable).

Logiciels du PIC

Les fichiers binaires compilés *.hex à flasher dans le PIC sont disponibles dans l'archive zip ci-après. 
Interface DMX 004(b) - 18F45K22 - (16/08/2015)
Pour ce projet, code source MikroPascal non disponible, et nombre de sorties limitée à 2. Pour la version à 8 ou 12 sorties, merci de me contacter.
Si vous souhaitez recevoir par la poste un PIC préprogrammé et prêt à utiliser, merci de consulter la page PIC - Sources.

Circuit imprimé

Non réalisé.

Historique

16/08/2015
- Ajout interface 004b (version 12 sorties). Simulée avec succès mais non testée en grandeur nature.
09/02/2014
- Première mise à disposition (interface 004 à 8 sorties).