Pages

jeudi 12 janvier 2012

Communication avec un AX-12

Le bus Dynamixel qui permet de communiquer avec les AX-12 possède l'avantage de pouvoir  relier les servomoteurs en série. C'est à dire que vous n'aurez besoin de brancher qu'un seul câble à vôtre carte contrôleur.
LE plus gros avantage des AX-12. Le branchement en série.

Cependant, vous allez me dire, comment faire alors pour les contrôler séparément ?
En fait, chaque servomoteur possède une micro mémoire qui contient ses informations et ses paramètres comme le voltage, la température ou la vitesse de rotation. Certaines parties sont accessibles en écriture et c'est d'ailleurs ce qui va permettre de les faire tourner. Une de ces mémoires contient un identifiant qui, tout comme le ferai une adresse IP, va nous permettre de les distinguer sur le même bus. La valeur d'identifiant est comprise entre 0x01 et 0xFF nous laissant une marge de 254 servomoteurs sur le même bus.

La mémoire interne d'un AX-12. L'ID se trouve en position 0x03.
Comme tous les AX-12 sont livrés avec un ID de valeur 1, il va falloir les changer. Pour cela, pas de mystère, il faut soit tout faire à la main (en récupérant une librairie compatible avec notre langage de programmation favori comme le C++ par exemple et en envoyant la commande sur le bus. Si ça vous intéresse, vous pouvez consulter le manuel complet ici), soit faire son feignant (comme moi) et télécharger l'outil adéquat nommé "RoboPlus". La dernière version est téléchargeable sur le site officiel.

Pour communiquer directement avec un AX-12 à partir de votre PC, il va vous falloir un USB2Dynamixel ainsi qu'une alimentation de 11V environ. En ce qui me concerne, j'utiliserai la batterie de mon futur robot. Vous devrez ensuite créer un petit montage très simple :
Montage d'un AX-12 en USB. PIN#1 et PIN#2 sont à connecter sur une alimentation d'environ 11V.
Lancez ensuite RoboPlus puis choisissez "Dynamixel Wizard". Sélectionnez ensuite le port COM où votre USB2Dynamixel est connecté (généralement c'est le seul qui n'est pas utilisé). Si vous ne savez pas sur quel port COM il est connecté, vous pouvez toujours essayer "auto detect". Cliquez ensuite sur "Start Searching" puis "Stop searching" dès qu'il aura trouvé votre AX-12 connecté.
Cliquez ensuite sur le servomoteur détecté. Vous apercevrez alors sur la droite les informations mémoires et vous pourrez alors en modifier certaines.
Modification de l'ID d'un AX-12.
Voilà, profitez en alors pour changer l'ID ;)

Modifiez ensuite l'ID de tous vos AX-12 un par un pour que chacun possède un identifiant unique. N'oubliez pas d'écrire sur chacun son numéro sinon vous serrez bon pour tout recommencer ☺
AX-12 identifiés. Désolé mon appareil photo à craqué sur le focus :)


N'hésitez pas à vous intéresser aux autres valeurs. Elles permettent de modifier pas mal de choses comme le mode continu "Wheel".



Aucun commentaire:

Enregistrer un commentaire