Electronique > Réalisations > Interfaces > DMX > Interface DMX 013 - Pro 

Dernière mise à jour : 01/01/2023

Présentation

Cette interface DMX dispose d'une entrée DMX (sur connecteur XLR) et de 24 sorties qui peuvent fonctionner en mode Logique (On/Off) ou en mode Gradateur/PWM (dimmer). 


interface_dmx_013_pcb_3d_front  interface_dmx_013_pcb_3d_left  interface_dmx_013_pcb_3d_right   

Le montage fait appel à deux microcontrôleurs PIC, un 18F25K80 (28 broches) et un 18F45K80 (40 broches). L'adresse de base DMX peut être ajustée entre 1 et 512 et plusieurs options sont offertes.

   

Schéma

Deux microcontrôleurs PIC se partagent le travail.

interface_dmx_013
Un premier PIC est dédié à la réception des trames DMX, un second l'est à la production des signaux PWM...
 

Il peut sembler surprenant d'utiliser deux PIC dans un système où un seul "assez costaud" suffirait. Cette curiosité vient simplement du fait que j'avais en stock un nombre plus élevé de PIC18 que de PIC32 (tout du moins dans les pièces possédant un nombre assez grand de lignes d'E/S), et accessoirement du fait que j'aime bien tester des trucs tordus ;)

 
Fonctionnement général

Le premier PIC (18F25K80) réceptionne les trames DMX et en extrait les données utiles (valeur des canaux DMX). C'est également sur ce PIC que les préférences utilisateur sont prises en compte. Lors de la réception des trames DMX, ce premier PIC envoie les valeurs de chaque canal au second PIC, qui ne fait que les "transformer" en valeurs PWM sur ses 24 sorties. On pourrait presque dire que le second PIC est une sorte de clone (en un peu moins bien) du circuit intégré PCA9685 que j'ai utilisé dans mon interface DMX 009 (le PCA9685 est un générateur PWM 12 bits à 16 voies).

Les données reçues par le premier PIC sont "formatée" en 9 bits (DMX oblige), tandis que les données émises par ce même premier PIC (et donc celle reçues par le second PIC) sont au format standard 8 bits. On ne va pas s'embêter deux fois de suite avec du 9 bits...

   

interface_dmx_013_graph_001a

Exemple avec valeurs allant de 10 en 10 d'un canal DMX au suivant (10, 20, 30, ..., 230, 240)

   
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 à RB5 et RA0 à RA2 du PIC (groupe d'interrupteurs appelé DSW1). Les pullup internes du PORTB de U2 sont activés, ce qui fait qu'à un interrupteur ouvert correspond 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. 

Sur le schéma, seul le premier interrupteur (ligne A0 reliée à RB0 de U2) est ouvert (position OFF), l'adresse DMX est donc "1". Configuré de la sorte, le montage réagit aux données véhiculées dans les canaux DMX #1 à #24. Si l'adresse spécifiée avec les interrupteurs DSW1 était 14, alors le montage récupererait les données véhiculées dans les canaux DMX #14 à #37.

   
Configuration (options)
Les interrupteurs du bloc DSW2 permettent de spécifier le mode de fonctionnement de l'interface en situation normale ou dégradée.

Si la trame DMX reçue par le premier PIC (U2) est valide, les sorties du second PIC (U3) reflètent la valeur des canaux DMX correspondant.

interface_dmx_013_graph_001b 

Trame DMX reçue et valide, les sorties reflètent la valeur des canaux DMX correspondant


Si la trame DMX est reçue de façon erratique ou par intermittence (situation anormale) et si l'interrupteur Config4 est fermé (U2-RC3=0), les 24 sorties se désactivent. Les sorties ne retrouvent leur état normal qu'après au moins 5 trames DMX consécutives reçues sans erreur.
 

interface_dmx_013_graph_001c

En cas de perte de la trame DMX, toutes les sorties sont automatiquement désactivées  

   
Interface bus 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 au moment opportun (à un moment bien précis lors de l'initialisation du PIC).

La résistance R30 de 120 ohms est câblée en série avec le cavalier JP1 (jumper) pour pouvoir la mettre en ou hors service, au besoin. 

 
Utilisation des sorties

Les sorties sont de type logique TTL et délivrent donc des signaux électriques qui sont soit 0 V, soit +5 V, que l'on soit en mode logique tout ou rien ou en mode gradateur. Il convient d'ajouter une interface de puissance pour permettre le pilotage de charges "lourdes", à base de transistors bipolaires ou MOSFET. Pour le pilotage de LED basse puissance et haute luminosité, inutile de passer par une interface de puissance, les LED peuvent être connectées directement sur les sorties du PIC, en prenant bien évidement soin de limiter le courant qui les traverse pour ne pas dépasser les capacités maximales en courant du PIC quand toutes sont allumées "plein feu". Sur mon circuit imprimé, j'ai prévu de telles LED, afin de visualiser l'état des 24 sorties sans avoir besoin de câble l'interface de puissance.

En mode gradateur, les signaux PWM délivrés ont une période voisine de 10 ms, soit une fréquence d'environ 100 Hz. Cette fréquence est suffisament élevée pour éviter que l'oeil ne soit géné par un effet de scintillement. 


Alimentation

L'alimentation requise pour l'ensemble du circuit est de +5 V. L'usage d'une tension d'alimentation supérieure (en plus de celle de 5 V destinée au PIC et au MAX487) peut être requise si les éléments à piloter (lampe de puissance, moteur, etc) le réclament.

   

Prototype

Réalisé conformément au dessin de PCB proposé plus loin.

   
interface_dmx_013_proto_rm_001a interface_dmx_013_proto_rm_001b interface_dmx_013_proto_rm_001c interface_dmx_013_proto_rm_001d interface_dmx_013_proto_rm_001e
   
Fonctionne comme attendu, après quelques déboires au niveau du circuit imprimé (court-circuits dus à un problème de conception et que j'ai du gratter au cutter, résultat bien visible - et pas chouette - sur les photos qui précèdent).

   

Logiciel du PIC

Pro - Logiciel PIC non disponible en libre service

Interface DMX 013 - 18F25K80-18F45K80 - (22/12/2022)

   

Circuit imprimé (PCB)

Circuit réalisé en double face, avec en majorité des composants montés en surface (CMS).

   
interface_dmx_013_pcb_components_top  interface_dmx_013_pcb_components_bottom 

   

Historique

01/01/2023
- Ajout photos prototype (testé OK).

25/12/2022
- Première mise à disposition