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.
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.
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.
- JP1
côté masse (RA0 = 0) : mode Logique - Chaque sortie prend l'état
logique 0 ou 1 et peut dans ce cas servir pour arrêter ou mettre en
service une lampe,
un relais ou un moteur (via interface appropriée).
- JP1
côté +5
V (RA0 = 1) : mode Gradateur - Chaque sortie délivre un signal de
commande pour triac qui est synchronisé sur le secteur 230 V.
Le
taux d'éclairement des lampes dépend des valeurs DMX reçues
(lampe
éteinte pour valeur 0 et plein feu pour valeur 255).
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).
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 :
- C2O : sortie comparateur 2 du PIC, délivre une impulsion au
rythme de 100 Hz, synchronisée sur l'onde secteur.
- TP_T1 : interruption du Timer1
- TP_Rx : interruption UART (Rx) : changement d'état pour
chaque octet reçu de la trame DMX
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.
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).
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.
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).