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).
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.
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 ;)
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...
Exemple avec valeurs allant de 10 en 10 d'un canal DMX au suivant (10, 20, 30, ..., 230, 240)
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.
Trame DMX reçue et valide, les sorties reflètent la valeur des canaux DMX correspondant
En cas de perte de la trame DMX, toutes les sorties sont automatiquement désactivées
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.
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.
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.
Réalisé conformément au dessin de PCB proposé plus loin.
Pro - Logiciel PIC non disponible en libre service
Interface DMX 013 - 18F25K80-18F45K80 - (22/12/2022)
Circuit réalisé en double face, avec en majorité des composants montés en surface (CMS).
01/01/2023
- Ajout photos prototype (testé OK).
25/12/2022
- Première mise à disposition