Action Cartes servomoteurs 8 Servomoteurs 128/3500 pas Midi

8 Servomoteurs 128/3500 pas Midi

Documents disponibles :

Commande de 8 servomoteurs / servo-treuils / mini-servos en résolutions 128 ou 3500 pas (Protocole Midi étendu)
Cette carte reçoit des commandes en protocole Midi pour piloter 8 servomoteurs de modélisme.

Le fichier 8-Servo-128-3500-2011.pdf fait référence à la précedente version de cette carte, qui se déclinait en Midi, DMX, RS-232. Ses fonctionnalités et réglages étaient les mêmes, à l'exception de la possibilité de split Midi sur la deuxième prise.

Page de la carte sur notre boutique : 8 Servos 128 / 3500 pas Midi.

I - Connectique

Schéma des branchements

1 - Connexion Midi au centre de décision

Un câble Midi relie la prise IN/Entrée de la carte sur la sortie OUT d'un ordinateur via une interface Midi-USB ou via une sortie Midi de carte son. Le module 8 Servomoteurs peut également être piloté par une carte ZIP 2.

2 - Branchement des servomoteurs

ATTENTION au sens de branchement des servomoteurs, brancher un servo à l'envers est destructif.
Selon les marques, l’ordre des fils peut changer, il faut donc le vérifier avant de brancher le moteur.
Sens des Connecteurs

Marque Fil de masse Fil positif Fil de signal Compatibilité
Futaba Noir Rouge Blanc Branchement direct
Graupner Marron Rouge Jaune Branchement direct
Robbe Noir Rouge Blanc Prise non standard à modifier
K.O. Noir Rouge Bleu Intervertir les fils noir et rouge
Multiplex Noir Rouge Jaune Prise non standard à modifier
Sanwa Noir milieu Rouge Noir bord Intervertir les deux fils noirs

Les servomoteurs sans marque ont généralement une connectique du type Futaba ou Graupner.

sens-servomoteur-interface-z
schema-sens-servo-petit
Tous les servomoteurs ne sont pas capables de marquer 3500 positions différentes. Il faut des moteurs de bonne qualité. Un moteur de base a 512 positions distinctes, mais peut tout de même être piloté avec cette carte.

3 - Alimentation électrique

a - Caractéristiques générales

Cette carte nécessite deux alimentations :

  • une alimentation continue de puissance pour les servomoteurs, entre 4 et 6 V, conforme aux spécifications du moteur. Un servomoteur consomme jusqu'à 1 A (voir sa documentation), il faut donc vérifier que l'alimentation choisie peut délivrer le courant nécessaire à tous les moteurs connectés.
  • une alimentation continue entre 8 et 15 V pour le reste du montage, capable de fournir 100 mA.

    Par exemple, une alimentation de PC standard fournit toutes les alimentations de cette carte. Pour un système autonome, un pack de batterie de modélisme suffit pour les servo et une pile 9V pour le reste de la carte.

b - Connexion des fils d'alimentation sur la carte

Les fils d'alimentation doivent être dénudés proprement au bout sur 5 mm maximum, avant d'être vissés dans les dominos de la carte conformément au schéma du haut de la page. ATTENTION au sens : il ne faut pas inverser les + et - des alimentations.

  • 5V = R = fil (+) de l'alimentation des servo ;
  • 0 = N = Masse des servo ;
  • 0 = N = Masse de la carte ;
  • 12V = J = fil (+) de l'alimentation de la carte.

c - Utilisation d'une alimentation à découpage standard pour PC

Vous pouvez utiliser une alimentation à découpage d'ordinateur, adaptée à ce montage. Vous trouverez ci-dessous la marche à suivre pour détourner vous-même cette alimentation, mais nous déclinons toute responsabilité concernant cette opération.
Ces alimentations se présentent sous la forme de blocs cuboïdes souvent gris, avec des fils colorés permettant d'alimenter cartes mères et disques durs. Les fils d'alimentation des disques durs conviennent à la carte 8 Servo.

Il est formellement DECONSEILLE d'utiliser cette alimentation pour alimenter en même temps un ordinateur et ce module. Il est d'autre part très dangereux d'ouvrir le boîtier protecteur d'une alimentation à découpage mais cela n'est pas nécessaire ici. Nous déclinons toute responsabilité en cas de dégâts lors de ces types d'utilisation. Toutes les manipulations décrites ci-dessous doivent se faire avec l'alimentation débranchée du secteur.

Deux étapes sont nécessaires pour adapter l'alimentation à la carte :

  • 1) Localiser un connecteur de périphérique avec des fils jaune, rouge et noirs. Certains contiennent aussi des fils orange, inutiles ici.
    • Couper le connecteur en plastique.
    • Dénuder l'extrémité des fils sur 5 mm, les tortiller proprement pour qu'aucun fil ne dépasse
    • et les connecter dans les dominos de la carte conformément au schéma, en respectant les couleurs indiquées.
      Mieux : souder ces 4 fils sur des picots métalliques, qui seront vissés dans les dominos. Cette étape n'est pas indispensable et nécessite un fer à souder.
  • 2) Pour une alimentation ATX ou plus récente, sur le connecteur de carte mère, il faut relier la broche Power On (fil vert) à la masse pour que l'alimentation démarre, avec un pont métallique.
    • Couper le fil vert et un fil noir,
    • dénuder l'extrémité sur 1 cm et tortiller les 2 fils ensemble.
Tension Couleur Couleur de fil Alimentation
5 V R Rouge Fils (+) pour les servo
0 V N Noir Masse pour les servo
0 V N Noir Masse pour la carte
12 V J Jaune Fil (+) pour la carte

4 - Split Midi / Splitter / Midi Thru

La carte dispose d'une split Midi intégré qui permet d'enchaîner plusieurs modules sur une même sortie Midi. Les consignes générales sortent du centre de décision, entrent dans la carte 8 Servo, qui traite seulement les consignes qui lui sont destinées (selon le canal et les numéros), et sort directement sur la sortie Midi de la carte pour rejoindre une autre carte actionneur ou un appareil Midi.
Split Midi Thru

Possibilités de branchements en sortie du split :

  • une autre carte servomoteurs, configurée sur un canal ou un numéro différent (voir plus loin),
  • un autre type de carte 8 ou 32 actionneurs Midi, telle qu'une carte de commande PWM, configurée sur un autre canal ou numéro,
  • un appareil Midi, sampleur, générateur de sons, etc, capable d'être configuré afin de ne pas réagir aux commandes envoyées à la carte servomoteurs,
  • éventuellement l'entrée Midi d'un autre ordinateur ou d'une Raspberry Pi, qui s'ocupperait de synchroniser d'autres actions ou médias en fonction des mouvements des servos.

A retenir dans tous les cas : un split Midi répercute tous les messages Midi sans perte, donc aussi sans tri et sans distinguer à quelle carte ils s'adressent. Pour obtenir des réactions spécifiques il faut donc gérer les configurations de canaux et numéros.

II - Configuration de la carte

La carte comporte deux ensembles d’interrupteurs, A et B, A étant le plus proche des dominos d’alimentation.

1 - Ensemble B de huit interrupteurs

Schéma des interrupteurs

  • Les interrupteurs 1 à 4 servent à définir le canal Midi.
  • Les interrupteurs 5 à 7 servent à définir le numéro de carte (tableau ci-dessous, avec les numéros des messages Control Change associés à chaque configuration).
  • L'interrupteur 8 sert à définir l'angle de course maximale du moteur.

a - Choix du canal Midi : Interrupteurs 1 à 4

Configuration du canal
Canal 1 2 3 4
1 - - - -
2 On - - -
3 - On - -
4 On On - -
5 - - On -
6 On - On -
7 - On On -
8 On On On -
9 - - - On
10 On - - On
11 - On - On
12 On On - On
13 - - On On
14 On - On On
15 - On On On
16 On On On On

b - Choix du numéro de carte = offset des numéros de Control Change, Interrupteurs 5 à 7

Le tableau ci-dessous donne les numéros de Control Change s'adressant à chaque prise servomoteur de la carte, en fonction du numéro de carte choisi. Par défaut la carte est configurée sur le premier numéro et se pilote avec les messages Control Change de 0 à 7.

Intérêt de l'offset (décalage) des numéros : ce réglage offre plus de possibilités de pilotage que le seul changement de canal. C'est aussi intéressant dans la programmation pour calculer des comportements sur des dizaines de moteurs en parallèle.

Si plusieurs cartes servomoteurs sont utilisées en même temps, elles doivent porter des numéros différents ou obéir à des canaux différents pour être pilotées indépendamment l'une de l'autre.
Si deux cartes obéissent au même canal Midi et possèdent le même numéro, les servomoteurs à la même place sur chaque carte effectueront le même mouvement.

Chaque sortie pour servomoteur est associée à un message CC, dont le numéro dépend de la configuration des interrupteurs 5 à 7. Voir le chapitre III pour plus d’explications.
Le tableau ci-dessous donne ces numéro de CC de chaque sortie servo en fonction aussi de la résolution choisie, 3500 ou 128 pas.
F : poids fort
f : poids faible

Numéro de la carte Pour chaque servomoteur, selon le numéro de la carte, numéro de Control Change auquel le servomoteur obéit
Carte 5 6 7 Servo1 Servo2 Servo3 Servo4 Servo5 Servo6 Servo7 Servo8
1 Off Off Off 8 9 10 11 12 13 14 15 F
0 1 2 3 4 5 6 7 f
2 On Off Off 24 25 26 27 28 29 30 31 F
16 17 18 19 20 21 22 23 f
3 Off On Off 40 41 42 43 44 45 46 47 F
32 33 34 35 36 37 38 39 f
4 On On Off 56 57 58 59 60 61 62 63 F
48 49 50 51 52 53 54 55 f
5 Off Off On 72 73 74 75 76 77 78 79 F
64 65 66 67 68 69 70 71 f
6 On Off On 88 89 90 91 92 93 94 95 F
80 81 82 83 84 85 86 87 f
7 Off On On 104 105 106 107 108 109 110 111 F
96 97 98 99 100 101 102 103 f
8 On On On 120 121 122 123 124 125 126 127 F
112 113 114 115 116 117 118 119 f


F : poids fort
f : poids faible

c - Course maximale du servomoteur

L'interrupteur 8 sert à définir l'angle de course maximale du moteur :

  • OFF = 90°
  • ON = 180°
    Cet angle correspond à un servomoteur standard de base. Le comportement est différent dans le cas de servo-treuils (winch) ou de servo à rotation continue. Dans ces cas, le réglage OFF est par défaut celui du comportement classique du moteur.
    Remarque : La sérigraphie des cartes indique souvent 120° au lieu de 180° mais c'est bien du 180° depuis 2019.

2 - Ensemble A de sept interrupteurs

Schéma des interrupteurs
Le troisième interrupteur n'est pas utilisé. Si cet ensemble contient 8 interrupteurs, le dernier en noir n'est pas utilisé non plus.

a - Résolution : Interrupteur 1

L'interrupteur n°1, situé près des dominos d'alimentation, sert à définir la résolution (nombre de pas) de commande des servomoteurs.

  • OFF = 128 pas, Midi standard
  • ON = 3500 pas, Midi étendu avec combinaison de messages Control Change.

b - Mode Sécu : Interrupteurs 2 et 4

Lorsque le mode Sécu est activé, si la consigne n'est pas envoyée périodiquement, au minimum plus d'une fois par seconde, alors le servomoteur revient en position de repos.

Interrupteur n°2 ON Chaque servomoteur qui ne reçoit pas de commande pendant 1 ou 5 seconde revient à sa position de repos (cf mode Learn).
OFF En absence de consigne, le servomoteur reste où il est (fonctionnement par défaut)
Interrupteur n°4 On/Off Mode Sécu à 1 ou 5 secondes.

c - Choix du Protocole : interrupteurs 5 et 6 OFF

Le choix des protocoles autres que Midi (DMX ou RS232) n'est plus implémenté sur la nouvelle version de cette carte, mais les interrupteurs 5 et 6 DOIVENT être sur OFF pour que le Midi fonctionne.

d - Interrupteur 7 : Apprendre (Learn)

  • OFF = mode Normal
  • ON = Mode Learn

La carte permet de mémoriser les positions de chaque servomoteur. Les positions courantes sont apprises pour devenir des valeurs de démarrage de la carte et des positions de repos en mode Sécu.

Procédure d'apprentissage :

  • Désactiver le mode Sécu (n°2 Off);
  • Envoyer les consignes aux servomoteurs, c'est-à-dire les positions de démarrage ;
  • Lever (On) puis baisser (Off) l'interrupteur 7 Apprendre.

Résultat : toutes les positions courantes définissent les positions de repos en mode Sécu. Ce sont aussi les positions qu'adoptent les servomoteurs au démarrage de la carte. La mémorisation en mémoire non volatile se fait au passage ON - >OFF du n°7.

III - Mise en oeuvre informatique

Des patchs sont disponibles sur le site d'Interface-Z pour les logiciels de gestion temps réel les plus courants, dans la section Programmation.

1 - Mode 128 pas

La carte est directement compatible avec tout système (logiciel/ordinateur, carte ZIP, ...) capable d'envoyer des messages Midi de type Control Change.
Chaque servomoteur obéit à un numéro de Control Change différent et peut prendre 128 positions sur la course configurée.

Trois paramètres sont nécessaires : le canal, le numéro de Control Change et la valeur de Control Change.

  • Canal = valable pour l’ensemble de la carte, de 1 à 16, défini par les interupteurs B 1 à 4. Il faut que ce Control Change s’adresse au canal Midi pour lequel la carte est configurée.
  • Numéro de CC = prise du servo, de 0 à 127 : le numéro de ce CC dépend du numéro du servo sur la carte et du numéro de la carte, conformément au tableau ci-dessus.
    Exemple : le servomoteur n°2 sur la carte configurée pour être la n°4 répond au Control Change n°25.
    En résolution 128 pas, seuls les numéros correspondant aux lignes f (poids faibles) dans le tableau sont utilisés. Les colonnes Servo 1 à 8 ce tableau indiquent, selon le numéro de la carte, les numéros de CC auxquels le servo obéit.
  • La position individuelle du servomoteur dépend de la valeur associée au Control Change. Cette valeur varie entre 0 et 127 et est indépendante du numéro.

2 - Mode 3500 pas

Pour être pilotés avec une résolution de 3500 pas, les servomoteurs doivent recevoir deux messages Control Change couplés, le premier représentant le poids fort (F dans le tableau), le second représentant le poids faible (f dans le tableau).

  • Pour envoyer une consigne de position, la valeur de 0 à 3500 est divisée par 128 ;
  • le résultat de la division, le quotient, est envoyé sur le poids fort,
  • le reste de la division est envoyé sur le poids faible.
    • Valeur de 0 à 3500 = (F x 128) + f
    • F = Valeur / 128 (ne garder que la partie entière)
    • f = Valeur % 128 (modulo, reste de la division)
      Exemple de calcul : pour obtenir la position 520, on envoie sur le poids fort la valeur 4 et sur le poids faible la valeur 8.
  • 520 / 128 = 4,0625 en nombre à virgule, mais si l'on considère seulement le résultat en entiers,
  • le quotient entier est 4
  • le reste de la division entière (opération modulo) est 8

La carte reconstitue la valeur 520 en faisant l'opération 4 x 128 + 8.

Chaque servomoteur obéit à deux CC différents. Comme pour les 128 pas, trois paramètres sont nécessaires : le canal, le numéro et la valeur.

  • Il faut que ces Control Change s'adressent au canal Midi pour lequel la carte est configurée.
  • Le numéro de ces CC dépend du numéro du servo sur la carte et du numéro de la carte, conformément au tableau ci-dessus. Les colonnes Servo 1 à 8 ce tableau indiquent, selon le numéro de la carte, les numéros des 2 CC auxquels le servo obéit.
    • Exemple : le servomoteur n°2 sur la carte configurée pour être la n°4 répond aux Control Change n°57 et 49.
  • La position du servomoteur dépend de la valeur associée aux CC, obtenue par division entière par 128 (quotient et reste).

3 - Limites des Servomoteurs

Vérifier la course des servo et identifier les valeurs limites : certains moteurs n'obéissent plus en dessous de 10 ou au-dessus de 110 (en mode 128 pas). Au-delà, le moteur force, tremble, et s'abîme. De même en mode 3500 pas, prévoir de piloter les moteurs entre 400 et 3100 et vérifier que tous les pas répondent autour de ces limites.

Précautions d'emploi

Les précaution d'emploi sont détaillées ici.