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).
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"
Le schéma complet de l'interface est visible ci-après.
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).
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.
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 :
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).
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 !
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.
Version sans surveillance température, mais intégrant un système "anti-blocage" face aux trames DMX erronées ou coupées.
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é.
Deux prototypes : 1 déja réalisé (schéma 012), un en cours de réalisation (schéma 012b).
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.
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.
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.
PCB reçus, en attente d'assemblage.
Pro - Logiciels non disponibles en libre-service.
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.
Circuit double face, je ne me casse plus trop la tête...
Oui, oui, il y a bien des différences entre les PCB ci-devant et ci-après...
Valable pour les deux versions :
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).