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

Dernière mise à jour : 23/05/2021

Présentation

Cette interface DMX à trois canaux dispose d'une entrée DMX (sur connecteur XLR) et de 3 sorties individuelles pour LED de puissance (LED RVB 3 x 1 W, par exemple).


interface_dmx_012_pcb_3d_a  interface_dmx_012_pcb_3d_b

Le montage fait appel à un microcontrôleur PIC 12F1572 qui pilote des contrôleurs PWM de type CAT4101. Deux systèmes ont été conçus :

- Schéma 012 : avec surveillance de la température de la LED de puissance
- Schéma 012b : sans surveillance température, mais grande robustesse face aux trames DMX "défectueuses"


Schéma 012

Le schéma complet de l'interface est visible ci-après.


interface_dmx_012


Fonctionnement général

Les valeurs véhiculées dans la trame DMX sont extraites et traitées par le logiciel du PIC 12F1572 et sont ensuite traduites en valeurs de rapports cycliques (PWM) sur chacune des trois sorties PWM1 à PWM3.

Il est possible d'utiliser une LED RVB à anode commune (comme montré sur le schéma) ou des LED individuelles. Dans le second cas, le chaînage de plusieurs LED est possible, à condition d'utiliser une tension VLED adaptée aux LED câblées en série (par exemple VLED = +12V pour le câblage en série de 3 LED bleues dont la tension nominale serait de 3V7).


Adresse de base DMX

Le PIC 12F1572 possédant un nombre très réduit de broches d'entrée/sortie, je me voyais mal caser à ses côtés un commutateur DIL à 9 voies pour sélectionner l'adresse de base DMX ! J'ai réfléchi un peu (oui, oui) et ai pensé pouvoir ruser en utilisant la broche MCLR comme entrée de sélection d'adresse de départ. Malheureusement, il n'y avait plus assez de ressources mémoire programme pour implémenter cette fonction. De toute façon, même s'il y en avait eu assez pour la sélection de l'adresse, il n'y en aurait pas eu assez pour sauvegarder cette valeur dans la mémoire Flash et la manoeuvre aurait dû être répétée après chaque mise sous tension.

A cause de cela, l'adresse de base est fixée en dur dans le logiciel : valeur adresse de départ #1 pour PWM1 (rouge), et donc #2 pour PMW2 (vert) et #3 pour PWM3 (bleu). Un changement d'adresse de base est possible, mais cela nécessite une recompilation du logiciel.

 
Entrée DMX

Dans ce montage, le circuit d'interface MAX487 (bidirectionnel en half-duplex) travaille toujours dans le même sens, ses entrées de direction RE et DE (broches 2 et 3) sont soumise à un état bas. 

La résistance de terminaison R1 de 120 ohms se trouve en série avec un cavalier qui permet de la mettre en ou hors circuit :


Pilotage des LED

Le circuit intégré CAT4101 est vraiment très pratique. Non seulement il n'a pas besoin de bobine (ce qui permet de réduire l'emplacement occupé sur le PCB), mais en plus, le courant circulant dans la LED reliée sur sa sortie LED peut être régulé à une valeur fixe (courant constant) jusqu'à une valeur maximale de 1 A, grâce à une simple résistance câblée entre la broche RSET et la masse. La formule à utiliser pour fixer le courant dans la LED est la suivante :

ILED = (1.2 V / R1) x 400
soit R1 = 480 / ILED

- pour ILED = 300 mA, R1 = 480 / 0.3 = 1k6 (ou valeur approchée = 1k5 pour 320 mA)
- pour ILED = 700 mA, R1 = 480 / 0.7 = 685R (valeur approchée = 680R pour 705 mA)


Avertissement

Il est très important de choisir une valeur de courant (constant) adapté au type de LED de puissance utilisé.
Une intensité de courant trop élevée entraîne une forte élévation de température de la LED et réduit sa durée de vie !


Remarque : ce n'est qu'après avoir finalisé ma maquette en mai 2021 que j'ai appris que le contrôleur PWM CAT4101 avait été déclaré obsolète par On-Semiconductor en mars 2021. Il y a encore du stock pour l'instant (quelques dizaines de milliers en mai 2021)... mais un jour, il faudra bien remplacer ce composant par un autre (on trouve bien sûr d'autres candidats, mais très souvent une bobine est requise). 


Détection surchauffe LED

RT1 est une thermistance à coefficient de température négatif (NTC) placée sur le radiateur de la LED de puissance RGB, qui permet de détecter une éventuelle surchauffe. Si le cas se présente, le rapport cyclique du signal PWM délivré par le PIC est abaissé de façon "proportionnée". Pour cela, la thermistance forme avec la résistance R6 un pont diviseur résistif. Quand la température de la thermistance augmente, sa résistance diminue et la tension lue en A0 augmente. Le seuil de tension en A0 à partir duquel il y a abaissement automatique du rapport cyclique a été fixé à 4,4 V, ce qui correspond à une température voisine de 80°C. Pour que le système revienne à son état nominal, la température de la thermistance doit retomber sous la valeur de 50°C (environ 3,6 V en A0). Cet hystérésis évite le phénomène de "yoyo".

Remarque : ces seuils de 4,4 V et de 3,6 V ont été déterminés "à la louche", sachant qu'il est difficile de connaître avec précision la température qui règne réellement au sein de la LED. J'ai posé l'hypothèse d'une lecture de température sous-évaluée de 10°C à 20°C.

Si cette fonction de protection thermique n'est pas souhaitée, il suffit de ne pas câbler la thermistance.
L'idéal bien sûr est de disposer d'un refroidissement efficace de la LED, ce dont on doit s'assurer en toutes circonstances !


Alimentation

L'alimentation du PIC se fait en 5V, tandis que celle des LED de puissance peut être plus élevée (VLED entre +5V et +18V). Plusieurs LED peuvent être câblées en série, le cas échéant. 

Le transformateur devra être en mesure de délivrer une tension "cohérente" avec celle demandée par les LED. Pour le courant, là encore cela dépend du type de LED utilisé. Avec une LED 3 x 1 W, il doit pouvoir débiter environ 1 A pour l'ensemble. L'emploi d'une LED de plus forte puissance (par exemple 3 x 3 W) nécessitera un transformateur dont le courant de secondaire pourra atteindre 3 A. Attention toutefois, retenez que le CAT4101 ne peut aller au-delà de 1A, et que le circuit a été dimensionné pour un courant maximal de 500 mA par voie. Dans tous les cas, il faudra s'assurer de l'absence de surchauffe des CAT4101.


Schéma 012b

Version sans surveillance température, mais intégrant un système "anti-blocage" face aux trames DMX erronées ou coupées.


interface_dmx_012


Le principe général de fonctionnement est identique au système version 012, mais ici, un contrôle plus poussé est réalisé sur la validité des trames DMX reçues. 

En absence de trame valide pendant au moins 200 ms successives, les sorties passent automatiquement à un rapport cyclique faible de valeur 1% (voir remarque ci-après). A la suite d'un problème survenu dans la réception des trames DMX, au moins deux trames valides successives doivent être réceptionnées pour redonner aux sorties leur fonction nominale.

Remarque : le choix d'une valeur faible de 1% au lieu d'une coupure totale à 0% permet une très légère illumination qui confirme que le système est toujours correctement alimenté.


Prototype

Deux prototypes : 1 déja réalisé (schéma 012), un en cours de réalisation (schéma 012b).


Prototype 001 de la version 012

Réalisé et fonctionnel, avec une thermistance CTN de 4k7 (que j'avais) au lieu d'une de 10k (que je n'avais pas). Bien sûr, le code a dû être (temporairement) modifié pour adapter les tensions de seuil à ce que j'avais prévu au départ.


interface_dmx_012_proto_rm_001a  interface_dmx_012_proto_rm_001b  interface_dmx_012_proto_rm_001c  


J'ai alimenté le circuit en branchant la sortie 12 Vdc d'un bloc d'alimentation continue sur l'entrée AC du PCB (on peut le faire sans danger, sans même se soucier de la polarité). La source DMX est un petit contrôleur 6 voies "Starville DDC-6" amplement suffisant pour les tests.


interface_dmx_012_proto_rm_001d  interface_dmx_012_proto_rm_001e  


Comme je n'ai pas encore reçu ma LED RVB de puissance, je me suis contenté de vérifier le signal sur les 3 sorties PWM, avec un simple voltmètre qui fait office de filtre passe-bas et affiche une valeur "moyennée". Tout fonctionne comme attendu, tension de sortie filtrée égale à 0,00 V pour la valeur DMX "0" et tension de sortie filtrée égale à 4,97 V pour la valeur DMX "255" (4,98 V en sortie du régulateur de tension).

Le branchement d'une LED standard ou HL (Haute Luminosité) sur chacun de ces "points de contrôle" (PWM1 à PWM3 sur ma première maquette, P1 à P3 sur les suivantes) est également possible. Sans doute est-ce la raison pour laquelle j'ai inclus ces LED sur la version révisée du PCB 012 ainsi que sur le PCB 012b.


Prototype 001 de la version 012b

PCB reçus, en attente d'assemblage.


Logiciels du PIC

Pro - Logiciels non disponibles en libre-service.


Circuits imprimés (PCB)

Réalisés en double face. Les composants assurant le redressement (diodes D1 à D4), le filtrage principal (condensateur C1) et la régulation (circuit intégré U3) sont placés sur le circuit imprimé, seul le transformateur d'alimentation secteur n'y est pas inclus.


PCB version 012

Circuit double face, je ne me casse plus trop la tête...


interface_dmx_012_pcb_top_components  interface_dmx_012_pcb_overlay  

L'oeil perçant aura remarqué (avant de lire l'historique) les subtiles différences par rapport à mon premier prototype (photos ci-devant).

PCB version 012b

Oui, oui, il y a bien des différences entre les PCB ci-devant et ci-après... 


interface_dmx_012b_pcb_top_components  interface_dmx_012b_pcb_overlay

Câblage de la LED 3 x 1 W 

Valable pour les deux versions :


Historique

23/05/2021
- Reprise du PCB version 012 : ajout de points de connexion pour le +VLED et ajout de LED pour "contrôle local".
- Ajout version 012b (logiciel différent du système 012).

09/05/201
- Première mise à disposition (version 012).