La série DYNAMIXEL X est une nouvelle gamme de servomoteurs hautes performances à faible coût. La série XL a la même structure mécanique que les XM430 et XH430 et est compatible avec ces derniers.
Ces servomoteurs embarquent directement leur carte réseau qui permet la communication avec les autres servos moteurs ainsi qu’avec le controller. Il est ainsi facile de connecter plusieurs moteurs à la chaîne et de communiquer avec chacun .
Voici le tableau qui explique la référence des servomoteurs.
Matériel nécessaire
Afin de pouvoir utiliser les servomoteurs XL430 , il vous faudra :
- Un module U2D2 pour configurer les moteurs (il est également possible de le faire avec l’OpenCM9.04, mais un peu plus difficile)
- Une carte OpenCM9.04 obligatoirement complétée de la carte d’extension OpenCM 485 *
- Une alimentation 12V, telle que le chargeur SMPS pour Dynamixel, ou la batterie LBS-10
*Il est également possible d’utiliser la carte OpenCR 1.0, à la place de la combinaison OpenCM9.04 + OpenCM 485 (montage non décrit dans le présent tutoriel).
Configuration des moteurs Dynamixel
En sortie d’usine, les moteurs ont tous le même identifiant (ID) : 1. Si vous souhaitez utiliser plusieurs moteurs, il faudra leur assigner à chacun un ID différent. Vous pourrez régler ou consulter de nombreux autres paramètres, mais l’assignation des ID est indispensable.
Montage
Pour cette phase, la carte OpenCM 9.04 n’est pas nécessaire.
Réalisez les branchements selon les photos ci-dessous, à savoir :
- Connectez l’alimentation à l’ OpenCM 485 (sur la prise Jack (1) avec le chargeur SMPS, ou sur le connecteur (3) avec la batterie LBS-10)
- Connectez l’OpenCM 485 au premier servo XL430 au moyen du câble convertible fourni avec le module U2D2
- Connectez en chaîne les servos XL430 au moyen des câbles fournis avec chacun d’eux (optionnel)
- Connectez le dernier servo de la chaîne au module U2D2 au moyen du câble fourni avec le servo
- Connectez le module U2D2 au PC via le câble USB fourni
Configuration
Téléchargez et installez le logiciel Roboplus proposé par Robotis.
Lancez l’application R+ Launcher, puis R+ manager 2.0 qui permettra de configurer les moteurs. Dans le menu suivant, sélectionnez Dynamixel X et appuyez sur le cercle en bas au milieu pour valider.
Cliquez ensuite sur “update et test”, puis appuyez sur “next”. Lors de l’étape suivante, sélectionnez le port du dongle (dans notre exemple, c’est le port COM7) et lancez le scan.
Sélectionnez le baud rate (par défaut les moteurs sont en 57600bps). Si des moteurs sont retrouvés ils seront affichés.
Cliquez sur ‘Next’ pour accéder à la dernière étape, soit la gestion des moteurs :
Il suffira de modifier la case dénommée “ID” (adresse 7) pour modifier l’ID du moteur et ainsi éviter de créer des conflits sur le réseau.
Il est possible de consulter et modifier de nombreux autres paramètres du moteur . Vous pourrez retrouver l’intégralité des registres sur cette page .
Afin de bien prendre en main vos moteurs, nous vous recommandons de passer un peu de temps à parcourir les différents registres.
Programmation
Montage
Pour cette partie, le module U2D2 n’est pas nécessaire.
Commencez par souder les pins au dessous de la CM9.04 pour pouvoir venir la brancher sur la carte CM 485 . Il faudra faire attention à l’orientation de la CM9.04 avant de la brancher, celle-ci est indiquée sur la CM 485.
Réalisez ensuite les branchements suivants :
- Connectez l’alimentation à l’ OpenCM 485 (sur la prise Jack (1) avec le chargeur SMPS, ou sur le connecteur (3) avec la batterie LBS-10 )
- Connectez l’openCM485 au premier servo XL430 au moyen du câble convertible fourni avec le module U2D2
- Connectez en chaîne les servos XL430 au moyen des câbles fournis avec chacun d’eux (optionnel)
- Connectez la carte OpenCM9.04 à l’ordinateur via le port micro-USB de l’ OpenCM9.04
Codage sous environnement Arduino
Si c’est la première fois que vous programmez des servos Dynamixel avec Arduino , il vous faudra télécharger l ’ IDE Arduino et ajouter l’ OpenCM9.04 dans le manager de carte, suivant la procédure décrite sur cette page (se rendre à la section 8.3.1.5-Porting the OpenCM9.04 board to arduino IDE).
Pour contrôler la bonne installation du logiciel et du materiel, vous pouvez utiliser ce code afin d’ allumer les LEDs de la carte OpenCM 485 . Une fois le programme téléversé, appuyez sur l’un des boutons de la CM485 pour allumer les LEDs.
Il peut arriver que vous n’arriviez pas à téléverser le programme. Dans ce cas, il faut éteindre complètement le circuit puis rebrancher l’alimentation en maintenant appuyé le bouton utilisateur de la carte CM9.04.
Comme évoqué précédemment, la consultation des registres et des fonctions lors de la phase de configuration permettra de connaître les différentes actions possibles sur les moteurs (récupération de la température, position, vitesse, donner une position, ou une vitesse, etc..).
Ce code d’exemple permet de faire bouger un servomoteur d’une position “a” à une position “b” . Si ce code ne fonctionne pas pensez à vérifier que l’ID dans le code est le même que celui de votre moteur.
Nous utilisons la librairie “ DynamixelWorkbench.h ” qui a directement été installée lors de l’étape d’ajout de la carte à l’environnement Arduino. Voici un tableau des fonctions de base, pour avoir l’intégralité des fonctions vous pouvez vous référer à cette librairie .
Ressources complémentaires :
- Documentation complète de la carte d’extension OpenCM 485
- Documentation complète de la carte OpenCM9.04
- Documentation complète des servos XL430