Electronique > Réalisations > Interfaces > DMX > Interface DMX 006 [Pro]

Dernière mise à jour : 06/03/2017

Présentation

Cette interface DMX permet de piloter de façon indépendante six moteurs : quatre moteurs standards à courant continu (moteur à 2 fils), et deux moteurs pas-à-pas bipolaires ou unipolaires (moteur à 4, 5 ou 6 fils).

interface_dmx_006_pcb_3d_a

Le circuit est basé sur un PIC 32MX534F064H. Il délivre des signaux PWM pour la commande des moteurs "standards" et des signaux de commande pour les moteurs pas-à-pas (en pas entiers ou en demi-pas).

Schéma

La structure du schéma est similaire à celle employée pour mon interface DMX 003e. Sans trop de surprise, la partie logicielle dédiée à la réception des trames DMX est commune aux deux interfaces.

interface_dmx_006

Interface de sortie moteurs
Tous les moteurs utilisés étant ici de puissance modeste, des CI d'interface de type L298 font l'affaire (pour des moteurs plus gros, une autre interface est requise, avec des transistors et diodes discrets).

interface_dmx_006_motors_001

Configuration DMX
L'adresse DMX de base [BaseAddr] peut être ajustée entre 1 et 498, via les 9 micro-interrupteurs câblés sur les lignes RB5 à RB13 du PIC et selon codage binaire standard (petit rappel conversion binaire/décimal).
Le mode de fonctionnement général et l'attribution des canaux DMX se fait de la façon suivante :
Dans le premier cas (utilisation de 14 canaux) deux canaux DMX sont affectés à chaque moteur : un premier canal DMX pour le sens de rotation et un second pour la vitesse (valeur 0 = arrêt moteur). Dans le second cas (utilisation de 7 canaux) un seul canal DMX est affecté à chaque moteur, sa valeur sert dans ce cas à la fois pour indiquer le sens et la vitesse de rotation (valeur 127 = arrêt moteur).

Valeurs DMX et vitesse moteurs
Les valeurs extraites de la trame DMX sont traitées différement selon le mode DMX choisi et selon le type de moteur. Pour les quatre premiers moteurs dont la vitesse est définie par un rapport cyclique (PWM), c'est très simple. Si la valeur du canal DMX est de 0 (valeur minimale) alors le moteur ne tourne pas (rapport cyclique 0%). Et si la valeur du canal DMX est de 255 (valeur maximale) alors le moteur tourne à plein régime (rapport cyclique 100%).
Pour les moteurs pas-à-pas, le logiciel a été écrit pour répondre à deux types d'interfaces : une avec L297 et L298, ou une avec seulement le L298. Dans le premier cas, les données de commande délivrées sur les lignes ABCDx du PIC correspondent aux signaux de pilotage du L297 (horloge, validation, direction). Dans le second cas (L298 seul) les données de commande délivrées sur les lignes ABCDx du PIC correspondent aux signaux de séquencement d'alimentation des bobines du moteur. Le temps qui sépare deux pas de la séquence varie en fonction de la valeur du canal DMX. Mais comme le nombre de tours par minute d'un moteur pas-à-pas dépend aussi du nombre de pas, la vitesse de rotation effective du moteur dépend aussi forcément de son type (de son nombre de pas). Ainsi, à réglage de valeur DMX identique, un moteur 16 pas aura une vitesse de rotation 8 fois plus élevée qu'un moteur 128 pas.
Remarques :
- La sortie PWM5 (RD4) est active mais n'est pas utilisée ici. Deux canaux DMX lui sont donc tout de même réservés (circuit intégré U103/L298 et connecteur J103 non représentés sur le schéma).
- les résistances de 0,5 ohm câblées sur les broches SENSA et SENSB des L298 peuvent éventuellement être remplacées par un strap. Elles permettent de mesurer le courant qui circule dans les moteurs (mesure qui pourrait être exploitée plus tard à titre de surveillance/protection).

Interface d'entrée DMX
Le circuit d'interface électrique MAX3072 permet de travailler sous une tension d'alimentation de +3,3 V. Il travaille ici toujours dans le même sens, ses entrées de direction RE et DE (broches 2 et 3) sont mises à l'état bas pour activer le mode réception. La commande des deux lignes RE et DE n'est pas établie "en dur" (directement câblées à la masse) mais de façon logicielle - au bon moment lors de l'initialisation du PIC. La résistance R3 de 120 ohms est montrée câblée sur le schéma mais en pratique il convient de la mettre en série avec un cavalier pour pouvoir la mettre hors service si besoin. 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 allant vers un autre appareil (récepteur) DMX.

Alimentations
L'alimentation des moteurs est séparée de l'alimentation du PIC. Ici j'ai utilisé une alim 12 V / 4 A mais cette alim dépend évidement des moteurs utilisés. La tension de +3,3 V requise par le PIC est obtenue par un régulateur de tension à découpage.

Prototype

Testé avec deux moteurs standards et deux moteurs pas-à-pas (unipolaire et bipolaire).

moteur_pap_001a moteur_pap_002a interface_dmx_006_proto_001a
 
Les connaisseurs reconnaitront le module chinois premier prix équipé d'un L298, sur la dernière photo.

Logiciel du PIC

Logiciel non disponible en libre service.
Interface DMX 006 - 32MX534F064H - (05/03/2017)

Circuit imprimé

Réalisé en double face.

Historique

05/03/2017
- Première mise à disposition