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).
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 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).
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 :
- Si DmxCfg (RD11) = 0, utilisation de 14 canaux DMX, de
[BaseAddr] + 0 à [BaseAddr] + 13
- Si DmxCfg (RD11) = 1, utilisation de 7 canaux DMX,
de [BaseAddr] + 0 à [BaseAddr] + 6
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).
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