{"id":5196,"date":"2018-08-09T14:49:39","date_gmt":"2018-08-09T12:49:39","guid":{"rendered":"https:\/\/blog.generationrobots.com\/?p=5196"},"modified":"2023-03-29T10:17:04","modified_gmt":"2023-03-29T08:17:04","slug":"tutoriel-dynamixel-introduction-au-xl430","status":"publish","type":"post","link":"https:\/\/www.generationrobots.com\/blog\/fr\/tutoriel-dynamixel-introduction-au-xl430\/","title":{"rendered":"Tutoriel Dynamixel &#8211; Introduction au XL430"},"content":{"rendered":"\n<html>\n <body>\n  <p>\n   La s\u00e9rie\n   <strong>\n    <a href=\"\/fr\/355-dynamixel-serie-x\">\n     DYNAMIXEL X\n    <\/a>\n   <\/strong>\n   est une nouvelle gamme de servomoteurs hautes performances \u00e0 faible co\u00fbt. La s\u00e9rie XL a la m\u00eame structure m\u00e9canique que les\n   <strong>\n    XM430\n   <\/strong>\n   et\n   <strong>\n    XH430\n   <\/strong>\n   et est compatible avec ces derniers.\n  <\/p>\n  \n  \n  <p>\n   Ces servomoteurs embarquent directement leur\n   <strong>\n    carte r\u00e9seau\n   <\/strong>\n   qui permet la communication avec les autres servos moteurs ainsi qu\u2019avec le controller. Il est ainsi facile de\n   <strong>\n    connecter plusieurs moteurs \u00e0 la cha\u00eene et de communiquer avec chacun\n   <\/strong>\n   .\n  <\/p>\n  \n  \n  <p>\n   Voici le tableau qui explique la r\u00e9f\u00e9rence des servomoteurs.\n  <\/p>\n  \n  \n  <figure class=\"wp-block-image aligncenter\">\n   <img decoding=\"async\" alt=\"Tableau d'explications sur les r\u00e9f\u00e9rences des moteurs Dynamixel\" src=\"http:\/\/www.generationrobots.com\/img\/TutoDynamixel_1.jpg\"\/>\n  <\/figure>\n  \n  \n  <h2 class=\"wp-block-heading\" id=\"h-materiel-necessaire\">\n   Mat\u00e9riel n\u00e9cessaire\n  <\/h2>\n  \n  \n  <p>\n   Afin de pouvoir utiliser les\n   <strong>\n    servomoteurs XL430\n   <\/strong>\n   , il vous faudra :\n  <\/p>\n  \n  \n  <ul class=\"wp-block-list\">\n   \n   <li>\n    Un\n    <strong>\n     <a href=\"\/fr\/402820-connecteur-u2d2-dynamixelpc.html\">\n      module U2D2\n     <\/a>\n    <\/strong>\n    pour configurer les moteurs (il est \u00e9galement possible de le faire avec l\u2019OpenCM9.04, mais un peu plus difficile)\n   <\/li>\n   \n   \n   <li>\n    Une carte\n    <a href=\"\/fr\/402012-carte-de-controle-opencm904-c.html\">\n     <strong>\n      OpenCM9.04\n     <\/strong>\n    <\/a>\n    <strong>\n     obligatoirement compl\u00e9t\u00e9e\n    <\/strong>\n    de la carte d\u2019extension\n    <strong>\n     <a href=\"\/fr\/402014-carte-dextension-opencm-485.html\">\n      OpenCM 485\n     <\/a>\n     *\n    <\/strong>\n   <\/li>\n   \n   \n   <li>\n    Une alimentation 12V, telle que le\n    <a href=\"\/fr\/400866-chargeur-smps-pour-bioloids-et-dynamixel-robotis.html\">\n     chargeur SMPS\n    <\/a>\n    pour Dynamixel, ou\n    <a href=\"\/fr\/400897-batterie-lipo-lbs-10-11v-pour-bioloid-et-dynamixel-robotis.html\">\n     la batterie LBS-10\n    <\/a>\n   <\/li>\n   \n  <\/ul>\n  \n  \n  <p>\n   *Il est \u00e9galement possible d\u2019utiliser la carte OpenCR 1.0, \u00e0 la place de la combinaison OpenCM9.04 + OpenCM 485 (montage non d\u00e9crit dans le pr\u00e9sent tutoriel).\n  <\/p>\n  \n  \n  <figure class=\"wp-block-image aligncenter\">\n   <img decoding=\"async\" alt=\"Mat\u00e9riel n\u00e9cessaire pour ce tutoriel sur les servos Dynamixel\" src=\"http:\/\/www.generationrobots.com\/img\/TutoDynamixel_2.jpg\"\/>\n  <\/figure>\n  \n  \n  <h2 class=\"wp-block-heading\" id=\"h-configuration-des-moteurs-dynamixel\">\n   Configuration des moteurs Dynamixel\n  <\/h2>\n  \n  \n  <p>\n   En sortie d\u2019usine, les moteurs ont tous le\n   <strong>\n    m\u00eame identifiant (ID)\n   <\/strong>\n   : 1. Si vous souhaitez utiliser plusieurs moteurs, il faudra leur assigner \u00e0 chacun un ID diff\u00e9rent. Vous pourrez r\u00e9gler ou consulter de nombreux autres param\u00e8tres, mais l\u2019assignation des ID est indispensable.\n  <\/p>\n  \n  \n  <h4 class=\"wp-block-heading\" id=\"h-montage\">\n   Montage\n  <\/h4>\n  \n  \n  <p>\n   <em>\n    Pour cette phase, la carte OpenCM 9.04 n\u2019est pas n\u00e9cessaire.\n   <\/em>\n  <\/p>\n  \n  \n  <p>\n   R\u00e9alisez les branchements selon les photos ci-dessous, \u00e0 savoir :\n  <\/p>\n  \n  \n  <ul class=\"wp-block-list\">\n   \n   <li>\n    Connectez l\u2019alimentation \u00e0 l\u2019\n    <strong>\n     <a href=\"\/fr\/402014-carte-dextension-opencm-485.html\">\n      OpenCM 485\n     <\/a>\n    <\/strong>\n    (sur la prise Jack (1) avec le chargeur SMPS, ou sur le connecteur (3) avec la batterie LBS-10)\n   <\/li>\n   \n   \n   <li>\n    Connectez l\u2019OpenCM 485 au premier servo XL430 au moyen du c\u00e2ble convertible fourni avec le module U2D2\n   <\/li>\n   \n   \n   <li>\n    Connectez en cha\u00eene les servos XL430 au moyen des c\u00e2bles fournis avec chacun d\u2019eux (optionnel)\n   <\/li>\n   \n   \n   <li>\n    Connectez le dernier servo de la cha\u00eene au module U2D2 au moyen du c\u00e2ble fourni avec le servo\n   <\/li>\n   \n   \n   <li>\n    Connectez le module U2D2 au PC via le c\u00e2ble USB fourni\n   <\/li>\n   \n  <\/ul>\n  \n  \n  <figure class=\"wp-block-image aligncenter\">\n   <img decoding=\"async\" alt=\"Branchements de l'OpenCM 9.04 avec les servos Dynamixel\" src=\"http:\/\/www.generationrobots.com\/img\/TutoDynamixel_3.jpg\"\/>\n  <\/figure>\n  \n  \n  <figure class=\"wp-block-image aligncenter\">\n   <img decoding=\"async\" alt=\"Branchement de l'OpenCM 9.04 avec les servos Dynamixel\" src=\"http:\/\/www.generationrobots.com\/img\/TutoDynamixel_4.jpg\"\/>\n  <\/figure>\n  \n  \n  <h4 class=\"wp-block-heading\" id=\"h-configuration\">\n   Configuration\n  <\/h4>\n  \n  \n  <p>\n   T\u00e9l\u00e9chargez et installez le logiciel\n   <strong>\n    Roboplus\n   <\/strong>\n   propos\u00e9 par Robotis.\n  <\/p>\n  \n  \n  <p>\n   Lancez l\u2019application R+ Launcher, puis R+ manager 2.0 qui permettra de configurer les moteurs. Dans le menu suivant, s\u00e9lectionnez\n   <strong>\n    Dynamixel X\n   <\/strong>\n   et appuyez sur le cercle en bas au milieu pour valider.\n  <\/p>\n  \n  \n  <p>\n   Cliquez ensuite sur \u201cupdate et test\u201d, puis appuyez sur \u201cnext\u201d. Lors de l\u2019\u00e9tape suivante, s\u00e9lectionnez le port du dongle (dans notre exemple, c\u2019est le port COM7) et lancez le scan.\n  <\/p>\n  \n  \n  <figure class=\"wp-block-image aligncenter\">\n   <img decoding=\"async\" alt=\"Screen interface Roboplus 1\" src=\"http:\/\/www.generationrobots.com\/img\/TutoDynamixel_5.jpg\"\/>\n  <\/figure>\n  \n  \n  <p>\n   S\u00e9lectionnez le\n   <strong>\n    baud rate\n   <\/strong>\n   (par d\u00e9faut les moteurs sont en 57600bps). Si des moteurs sont retrouv\u00e9s ils seront affich\u00e9s.\n  <\/p>\n  \n  \n  <p>\n   Cliquez sur &lsquo;Next&rsquo; pour acc\u00e9der \u00e0 la derni\u00e8re \u00e9tape, soit la gestion des moteurs :\n  <\/p>\n  \n  \n  <figure class=\"wp-block-image aligncenter\">\n   <img decoding=\"async\" alt=\"Screen Roboplus 2\" src=\"http:\/\/www.generationrobots.com\/img\/TutoDynamixel_6.jpg\"\/>\n  <\/figure>\n  \n  \n  <p>\n   Il suffira de modifier la case d\u00e9nomm\u00e9e \u201cID\u201d (adresse 7) pour modifier l\u2019ID du moteur et ainsi \u00e9viter de cr\u00e9er des conflits sur le r\u00e9seau.\n  <\/p>\n  \n  \n  <p>\n   Il est possible de\n   <strong>\n    consulter et modifier de nombreux autres param\u00e8tres du moteur\n   <\/strong>\n   . Vous pourrez retrouver l\u2019int\u00e9gralit\u00e9 des registres\n   <a href=\"http:\/\/emanual.robotis.com\/docs\/en\/dxl\/x\/xl430-w250\/#control-table-of-eeprom-area\">\n    sur cette page\n   <\/a>\n   .\n  <\/p>\n  \n  \n  <p>\n   Afin de bien prendre en main vos moteurs, nous vous recommandons de passer un peu de temps \u00e0 parcourir les diff\u00e9rents registres.\n  <\/p>\n  \n  \n  <h2 class=\"wp-block-heading\" id=\"h-programmation\">\n   Programmation\n  <\/h2>\n  \n  \n  <h4 class=\"wp-block-heading\" id=\"h-montage-1\">\n   Montage\n  <\/h4>\n  \n  \n  <p>\n   <em>\n    Pour cette partie, le module U2D2 n\u2019est pas n\u00e9cessaire.\n   <\/em>\n  <\/p>\n  \n  \n  <p>\n   Commencez par souder les pins au dessous de la\n   <strong>\n    <a href=\"\/fr\/402012-carte-de-controle-opencm904-c.html\">\n     CM9.04\n    <\/a>\n   <\/strong>\n   pour pouvoir venir la brancher sur la carte\n   <a href=\"\/fr\/402014-carte-dextension-opencm-485.html\">\n    <strong>\n     CM 485\n    <\/strong>\n   <\/a>\n   . Il faudra faire attention \u00e0 l\u2019orientation de la CM9.04 avant de la brancher, celle-ci est indiqu\u00e9e sur la CM 485.\n  <\/p>\n  \n  \n  <figure class=\"wp-block-image aligncenter\">\n   <img decoding=\"async\" alt=\"Branchements de l'OpenCM 9.04 et OpenCM 485\" src=\"http:\/\/www.generationrobots.com\/img\/TutoDynamixel_7.jpg\"\/>\n  <\/figure>\n  \n  \n  <p>\n   R\u00e9alisez ensuite les branchements suivants :\n  <\/p>\n  \n  \n  <ul class=\"wp-block-list\">\n   \n   <li>\n    Connectez l\u2019alimentation \u00e0 l\u2019\n    <strong>\n     <a href=\"\/fr\/402014-carte-dextension-opencm-485.html\">\n      OpenCM 485\n     <\/a>\n    <\/strong>\n    (sur la prise Jack (1) avec le chargeur SMPS, ou sur le connecteur (3) avec la\n    <a href=\"\/fr\/400897-batterie-lipo-lbs-10-11v-pour-bioloid-et-dynamixel-robotis.html?search_query=A-000000-00415&amp;results=1\">\n     batterie LBS-10\n    <\/a>\n    )\n   <\/li>\n   \n   \n   <li>\n    Connectez l\u2019openCM485 au premier\n    <strong>\n     servo XL430\n    <\/strong>\n    au moyen du\n    <strong>\n     c\u00e2ble convertible\n    <\/strong>\n    fourni avec\n    <strong>\n     le\n     <a href=\"\/fr\/402820-connecteur-u2d2-dynamixelpc.html\">\n      module U2D2\n     <\/a>\n    <\/strong>\n   <\/li>\n   \n   \n   <li>\n    Connectez en cha\u00eene les servos XL430 au moyen des c\u00e2bles fournis avec chacun d\u2019eux (optionnel)\n   <\/li>\n   \n   \n   <li>\n    Connectez la carte OpenCM9.04 \u00e0 l\u2019ordinateur via le port micro-USB de l\u2019\n    <strong>\n     <a href=\"\/fr\/402012-carte-de-controle-opencm904-c.html\">\n      OpenCM9.04\n     <\/a>\n    <\/strong>\n   <\/li>\n   \n  <\/ul>\n  \n  \n  <figure class=\"wp-block-image aligncenter\">\n   <img decoding=\"async\" alt=\"Rendu des branchements avec le servomoteur Dynamixel\" src=\"http:\/\/www.generationrobots.com\/img\/TutoDynamixel_8.jpg\"\/>\n  <\/figure>\n  \n  \n  <h4 class=\"wp-block-heading\" id=\"h-codage-sous-environnement-arduino\">\n   Codage sous environnement Arduino\n  <\/h4>\n  \n  \n  <p>\n   Si c\u2019est la premi\u00e8re fois que vous\n   <strong>\n    programmez des servos Dynamixel avec Arduino\n   <\/strong>\n   , il vous faudra t\u00e9l\u00e9charger l\n   <strong>\n    \u2019\n    <a href=\"https:\/\/www.arduino.cc\/en\/Main\/Software\">\n     IDE Arduino\n    <\/a>\n   <\/strong>\n   et ajouter l\u2019\n   <a href=\"\/fr\/402012-carte-de-controle-opencm904-c.html\">\n    OpenCM9.04\n   <\/a>\n   dans le manager de carte, suivant la proc\u00e9dure d\u00e9crite sur\n   <a href=\"http:\/\/emanual.robotis.com\/docs\/en\/parts\/controller\/opencm904\/#arduino-ide\">\n    cette page\n   <\/a>\n   (se rendre \u00e0 la section 8.3.1.5-Porting the OpenCM9.04 board to arduino IDE).\n  <\/p>\n  \n  \n  <p>\n   Pour contr\u00f4ler la bonne installation du logiciel et du materiel, vous pouvez utiliser\n   <a href=\"https:\/\/drive.google.com\/open?id=1SyCHfOSD-6g6OwgJeLyQiGY1aBmI2XsO\">\n    ce code\n   <\/a>\n   afin d&rsquo;\n   <strong>\n    allumer les LEDs de la carte\n   <\/strong>\n   <a href=\"\/fr\/402014-carte-dextension-opencm-485.html\">\n    <strong>\n     OpenCM 485\n    <\/strong>\n   <\/a>\n   . Une fois le programme t\u00e9l\u00e9vers\u00e9, appuyez sur l\u2019un des boutons de la CM485 pour allumer les LEDs.\n  <\/p>\n  \n  \n  <p>\n   <strong>\n    Il peut arriver que vous n\u2019arriviez pas \u00e0 t\u00e9l\u00e9verser le programme. Dans ce cas, il faut \u00e9teindre compl\u00e8tement le circuit puis rebrancher l\u2019alimentation en maintenant appuy\u00e9 le bouton utilisateur de la carte CM9.04.\n   <\/strong>\n  <\/p>\n  \n  \n  <p>\n   Comme \u00e9voqu\u00e9 pr\u00e9c\u00e9demment, la consultation des registres et des fonctions lors de la phase de configuration permettra de conna\u00eetre les diff\u00e9rentes actions possibles sur les moteurs (r\u00e9cup\u00e9ration de la temp\u00e9rature, position, vitesse, donner une position, ou une vitesse, etc..).\n  <\/p>\n  \n  \n  <p>\n   Ce\n   <a href=\"https:\/\/drive.google.com\/file\/d\/1asJqedf8EbXOgoUD8rRIV62uhJFC5G3y\/view\">\n    code d\u2019exemple\n   <\/a>\n   permet de\n   <strong>\n    faire bouger un servomoteur d\u2019une position \u201ca\u201d \u00e0 une position \u201cb\u201d\n   <\/strong>\n   . Si ce code ne fonctionne pas pensez \u00e0 v\u00e9rifier que l\u2019ID dans le code est le m\u00eame que celui de votre moteur.\n  <\/p>\n  \n  \n  <p>\n   Nous utilisons la librairie \u201c\n   <strong>\n    DynamixelWorkbench.h\n   <\/strong>\n   \u201d qui a directement \u00e9t\u00e9 install\u00e9e lors de l\u2019\u00e9tape d\u2019ajout de la carte \u00e0 l\u2019environnement Arduino. Voici un tableau des fonctions de base, pour avoir l\u2019int\u00e9gralit\u00e9 des fonctions vous pouvez vous r\u00e9f\u00e9rer \u00e0 cette\n   <a href=\"http:\/\/emanual.robotis.com\/docs\/en\/parts\/controller\/opencm904\/#dynamixel-workbench-class\">\n    librairie\n   <\/a>\n   .\n  <\/p>\n  \n  \n  <figure class=\"wp-block-image aligncenter\">\n   <img decoding=\"async\" alt=\"Tableau Fonction\/Fonctionnalit\u00e9\" src=\"http:\/\/www.generationrobots.com\/img\/TutoDynamixel_9.jpg\"\/>\n  <\/figure>\n  \n  \n  <p>\n   <strong>\n    <u>\n     Ressources compl\u00e9mentaires :\n    <\/u>\n   <\/strong>\n  <\/p>\n  \n  \n  <ul class=\"wp-block-list\">\n   \n   <li>\n    <a href=\"http:\/\/support.robotis.com\/en\/product\/controller\/opencm_485_exp.htm\">\n     Documentation compl\u00e8te\n    <\/a>\n    de la carte d\u2019extension\n    <a href=\"\/fr\/402014-carte-dextension-opencm-485.html\">\n     OpenCM 485\n    <\/a>\n   <\/li>\n   \n   \n   <li>\n    <a href=\"http:\/\/support.robotis.com\/en\/product\/controller\/opencm9.04.htm\">\n     Documentation compl\u00e8te\n    <\/a>\n    de la carte\n    <a href=\"\/fr\/402012-carte-de-controle-opencm904-c.html\">\n     OpenCM9.04\n    <\/a>\n   <\/li>\n   \n   \n   <li>\n    <a href=\"http:\/\/support.robotis.com\/en\/techsupport_eng.htm#product\/controller\/opencm_485_exp.htm\">\n     Documentation compl\u00e8te\n    <\/a>\n    des servos XL430\n   <\/li>\n   \n  <\/ul>\n  \n <\/body>\n<\/html>","protected":false},"excerpt":{"rendered":"<p>La s\u00e9rie DYNAMIXEL X est une nouvelle gamme de servomoteurs hautes performances \u00e0 faible co\u00fbt. La s\u00e9rie XL a la m\u00eame structure m\u00e9canique que les XM430 et XH430 et est compatible avec ces derniers. Ces servomoteurs embarquent directement leur carte r\u00e9seau qui permet la communication avec les autres servos moteurs ainsi qu\u2019avec le controller. Il[&#8230;]<br \/> <a class=\"button\" href=\"https:\/\/www.generationrobots.com\/blog\/fr\/tutoriel-dynamixel-introduction-au-xl430\/\" style=\"float:right;\">Read this article &gt;&gt;<\/a><\/p>\n","protected":false},"author":188,"featured_media":5227,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10523,10527],"tags":[],"class_list":["post-5196","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-comparatifs-et-tests-produits","category-guides-et-tutoriels"],"_links":{"self":[{"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/posts\/5196","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/users\/188"}],"replies":[{"embeddable":true,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/comments?post=5196"}],"version-history":[{"count":12,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/posts\/5196\/revisions"}],"predecessor-version":[{"id":13109,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/posts\/5196\/revisions\/13109"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/media\/5227"}],"wp:attachment":[{"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/media?parent=5196"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/categories?post=5196"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/tags?post=5196"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}