{"id":5220,"date":"2018-08-09T14:49:39","date_gmt":"2018-08-09T12:49:39","guid":{"rendered":"https:\/\/blog.generationrobots.com\/?p=5220"},"modified":"2023-03-29T14:27:16","modified_gmt":"2023-03-29T12:27:16","slug":"dynamixel-tutorial-xl-430-introduction","status":"publish","type":"post","link":"https:\/\/www.generationrobots.com\/blog\/en\/dynamixel-tutorial-xl-430-introduction\/","title":{"rendered":"Dynamixel Tutorial &#8211; XL 430 introduction"},"content":{"rendered":"\n<html>\n <body>\n  <p>\n   The\n   <strong>\n    <a href=\"\/en\/355-dynamixel-x-serie\">\n     DYNAMIXEL X\n    <\/a>\n   <\/strong>\n   series is a new range of inexpensive high performance servo motors. The XL series has the same mechanical structure as the\n   <strong>\n    XM430\n   <\/strong>\n   and\n   <strong>\n    XH430\n   <\/strong>\n   , and it\u2019s compatible with the latter.\n  <\/p>\n  \n  \n  <p>\n   These servo motors directly embark their network card which allows the communication with the other servos motors as well as with the controller. This makes it easy to\n   <strong>\n    connect multiple motors and communicate with each one\n   <\/strong>\n   .\n  <\/p>\n  \n  \n  <p>\n   Here is a table which explains the reference number of the servomotors.\n  <\/p>\n  \n  <div class=\"wp-block-image\">\n  <figure class=\"aligncenter\">\n   <img decoding=\"async\" alt=\"Table explaining the reference number of the servomotors\" src=\"http:\/\/www.generationrobots.com\/img\/TutoDynamixel_1.jpg\"\/>\n  <\/figure>\n  <\/div>\n  \n  <h2 class=\"wp-block-heading\" id=\"h-necessary-material\">\n   Necessary material\n  <\/h2>\n  \n  \n  <p>\n   To use the XL430 servomotors, you will need:\n  <\/p>\n  \n  \n  <ul class=\"wp-block-list\">\n   \n   <li>\n    a\n    <strong>\n     <a href=\"\/en\/402820-u2d2-dynamixelpc-connector.html\">\n      U2D2 connector\n     <\/a>\n    <\/strong>\n    to configure the motors (it\u2019s possible to use the OpenCM9.04 controller but a little more difficult)\n   <\/li>\n   \n   \n   <li>\n    an\n    <strong>\n     <a href=\"\/en\/402012-opencm904-c-controller.html\">\n      OpenCM9.04 board\n     <\/a>\n     mandatory completed\n    <\/strong>\n    with the\n    <strong>\n     <a href=\"\/en\/402014-opencm-485-expansion-board.html\">\n      OpenCM 485 expansion board\n     <\/a>\n    <\/strong>\n    *\n   <\/li>\n   \n   \n   <li>\n    a 12V external power supply, such as the\n    <a href=\"\/en\/400866-smps-charger-for-bioloid-and-dynamixel-robotis.html\">\n     SPMS charger\n    <\/a>\n    for Dynamixel, or the\n    <a href=\"\/en\/400897-lbs-10-lipo-11v-battery-for-bioloid-and-dynamixel-robotis.html\">\n     LBS-10 battery\n    <\/a>\n   <\/li>\n   \n  <\/ul>\n  \n  \n  <p>\n   *It is possible to use the OpenCR 1.0 board, instead of the OpenCM9.04 and OpenCM 485 combination (assembly not described in this tutorial).\n  <\/p>\n  \n  <div class=\"wp-block-image\">\n  <figure class=\"aligncenter\">\n   <img decoding=\"async\" alt=\"Necessary material for this tutorial\" src=\"http:\/\/www.generationrobots.com\/img\/TutoDynamixel_2.jpg\"\/>\n  <\/figure>\n  <\/div>\n  \n  <h2 class=\"wp-block-heading\" id=\"h-dynamixel-motors-configuration\">\n   Dynamixel motors configuration\n  <\/h2>\n  \n  \n  <p>\n   Straight out of the factory, the motors all have the same ID: 1. If you wish to use several motors, you will need to assign to each one of them a different ID. You will have the possibility to adjust and consult numerous others parameters, but ID assignment is essential.\n  <\/p>\n  \n  \n  <h4 class=\"wp-block-heading\" id=\"h-assembly\">\n   Assembly\n  <\/h4>\n  \n  \n  <p>\n   <em>\n    For this stage, the OpenCM 9.04 board is not necessary.\n   <\/em>\n  <\/p>\n  \n  \n  <p>\n   The wiring should be realised according to the pictures below, namely:\n  <\/p>\n  \n  \n  <ul class=\"wp-block-list\">\n   \n   <li>\n    Connect the power supply to the\n    <a href=\"\/en\/402014-opencm-485-expansion-board.html\">\n     <strong>\n      OpenCM 485\n     <\/strong>\n    <\/a>\n    (on the jack plug (1) with the SMPS charger, or on the connector (3) with the LBS-10 battery)\n   <\/li>\n   \n   \n   <li>\n    Connect the OpenCM 485 to the first XL430 servo with the robotics cable (convertible) supplied with the U2D2 Dynamixel connector\n   <\/li>\n   \n   \n   <li>\n    Connect the XL430 servos to each other with their cables (optional)\n   <\/li>\n   \n   \n   <li>\n    Connect the last servo of the string to the U2D2 connector with the cable supplied with the servo\n   <\/li>\n   \n   \n   <li>\n    Connect the U2D2 connector to the computer via the USB cable supplied\n   <\/li>\n   \n  <\/ul>\n  \n  <div class=\"wp-block-image\">\n  <figure class=\"aligncenter\">\n   <img decoding=\"async\" alt=\"Wiring of the OpenCM9.04 and the Dynamixel servos\" src=\"http:\/\/www.generationrobots.com\/img\/TutoDynamixel_3.jpg\"\/>\n  <\/figure>\n  <\/div>\n  <div class=\"wp-block-image\">\n  <figure class=\"aligncenter\">\n   <img decoding=\"async\" alt=\"Wiring of the OpenCM9.04 and the Dynamixel servos\" src=\"http:\/\/www.generationrobots.com\/img\/TutoDynamixel_4.jpg\"\/>\n  <\/figure>\n  <\/div>\n  \n  <h4 class=\"wp-block-heading\" id=\"h-setup\">\n   Setup\n  <\/h4>\n  \n  \n  <p>\n   Download and install the\n   <strong>\n    Roboplus\n   <\/strong>\n   software, proposed by Robotis.\n  <\/p>\n  \n  \n  <p>\n   Launch the R+ Launcher application, then the R+ Manager 2.0 which will permit to configure the motors. In the next menu, select\n   <strong>\n    Dynamixel X\n   <\/strong>\n   and click the center at the bottom center to confirm.\n  <\/p>\n  \n  \n  <p>\n   Click \u201cUpdate and test\u201d, then click \u201cNext\u201d. In the next stage, select the dongle port (in our example, it is the COM7) and launch the scan.\n  <\/p>\n  \n  <div class=\"wp-block-image\">\n  <figure class=\"aligncenter\">\n   <img decoding=\"async\" alt=\"Roboplus interface screen 1\" src=\"http:\/\/www.generationrobots.com\/img\/TutoDynamixel_5.jpg\"\/>\n  <\/figure>\n  <\/div>\n  \n  <p>\n   Select the\n   <strong>\n    baud rate\n   <\/strong>\n   (by default the motors are in 57600bps). If some motors are find, they will be displayed.\n  <\/p>\n  \n  \n  <p>\n   Click \u201cNext\u201d to access the last stage, being the motors management:\n  <\/p>\n  \n  <div class=\"wp-block-image\">\n  <figure class=\"aligncenter\">\n   <img decoding=\"async\" alt=\"Roboplus screen\" src=\"http:\/\/www.generationrobots.com\/img\/TutoDynamixel_6.jpg\"\/>\n  <\/figure>\n  <\/div>\n  \n  <p>\n   You will have to modify the box named \u201cID\u201d (address 7) to modify the motor\u2019s ID and thus avoid conflicts on the network.\n  <\/p>\n  \n  \n  <p>\n   <strong>\n    Numerous other motors parameters can be consulted and modified.\n   <\/strong>\n   You can find each data on\n   <a href=\"http:\/\/emanual.robotis.com\/docs\/en\/dxl\/x\/xl430-w250\/#control-table-of-eeprom-area\">\n    this page\n   <\/a>\n   .\n  <\/p>\n  \n  \n  <p>\n   In order to learn how to use your motors, we recommend you to browse the different registers.\n  <\/p>\n  \n  \n  <h2 class=\"wp-block-heading\" id=\"h-programming\">\n   Programming\n  <\/h2>\n  \n  \n  <h4 class=\"wp-block-heading\" id=\"h-assembly-1\">\n   Assembly :\n  <\/h4>\n  \n  \n  <p>\n   <em>\n    For this stage, the U2D2 connector is not necessary.\n   <\/em>\n  <\/p>\n  \n  \n  <p>\n   Start by welding the pins below the\n   <a href=\"\/en\/402012-opencm904-c-controller.html\">\n    <strong>\n     CM9.04\n    <\/strong>\n   <\/a>\n   so you can connect it on the CM 485 board. You will need to pay attention to the orientation of the CM9.04 before connecting it, it\u2019s indicated on the\n   <a href=\"\/en\/402014-opencm-485-expansion-board.html\">\n    <strong>\n     CM 485\n    <\/strong>\n   <\/a>\n   .\n  <\/p>\n  \n  <div class=\"wp-block-image\">\n  <figure class=\"aligncenter\">\n   <img decoding=\"async\" alt=\"Wiring of the OpenCM 9.04 and OpenCM 485\" src=\"http:\/\/www.generationrobots.com\/img\/TutoDynamixel_7.jpg\"\/>\n  <\/figure>\n  <\/div>\n  \n  <p>\n   Then, realise the following connections:\n  <\/p>\n  \n  \n  <ul class=\"wp-block-list\">\n   \n   <li>\n    Connect the power supply to the\n    <a href=\"\/en\/402014-opencm-485-expansion-board.html\">\n     <strong>\n      OpenCM 485\n     <\/strong>\n    <\/a>\n    (on the jack plug (1) with the SMPS charger, or on the connector (3) with the\n    <a href=\"\/en\/400897-lbs-10-lipo-11v-battery-for-bioloid-and-dynamixel-robotis.html\">\n     LBS-10 battery\n    <\/a>\n    )\n   <\/li>\n   \n   \n   <li>\n    Connect the OpenCM 485 to the first\n    <strong>\n     XL430 servo\n    <\/strong>\n    with the\n    <strong>\n     robotics cable (convertible)\n    <\/strong>\n    supplied with the\n    <strong>\n     <a href=\"\/en\/402820-u2d2-dynamixelpc-connector.html\">\n      U2D2 Dynamixel connector\n     <\/a>\n    <\/strong>\n   <\/li>\n   \n   \n   <li>\n    Connect the XL430 servos to each other with their cables (optional)\n   <\/li>\n   \n   \n   <li>\n    Connect the last servo of the string to the U2D2 connector with the cable supplied with the servo\n   <\/li>\n   \n   \n   <li>\n    Connect the\n    <a href=\"\/en\/402012-opencm904-c-controller.html\">\n     <strong>\n      OpenCM 9.04 board\n     <\/strong>\n    <\/a>\n    to the computer via the USB cable supplied\n   <\/li>\n   \n  <\/ul>\n  \n  <div class=\"wp-block-image\">\n  <figure class=\"aligncenter\">\n   <img decoding=\"async\" alt=\"Dynamixel servomotrs wiring\" src=\"http:\/\/www.generationrobots.com\/img\/TutoDynamixel_8.jpg\"\/>\n  <\/figure>\n  <\/div>\n  \n  <h4 class=\"wp-block-heading\" id=\"h-programming-with-arduino\">\n   Programming with Arduino\n  <\/h4>\n  \n  \n  <p>\n   If it is your first time\n   <strong>\n    programming Dynamixel servomotors with Arduino\n   <\/strong>\n   , you will need to download the\n   <strong>\n    <a href=\"https:\/\/www.arduino.cc\/en\/Main\/Software\">\n     Arduino IDE\n    <\/a>\n   <\/strong>\n   and add the\n   <a href=\"\/en\/402012-opencm904-c-controller.html\">\n    OpenCM9.04\n   <\/a>\n   in the board manager, following the procedure described in\n   <a href=\"http:\/\/emanual.robotis.com\/docs\/en\/parts\/controller\/opencm904\/#arduino-ide\">\n    this page\n   <\/a>\n   (go to the \u00a0\u00bb\n   <em>\n    8.3.1.5-Porting the OpenCM9.04 board to Arduino IDE\u00a0\u00bb\n   <\/em>\n   section).\n  <\/p>\n  \n  \n  <p>\n   To ensure the good installation of the software and hardware, you can use\n   <a href=\"https:\/\/drive.google.com\/file\/d\/1SyCHfOSD-6g6OwgJeLyQiGY1aBmI2XsO\/view\">\n    this code\n   <\/a>\n   <strong>\n    to switch the LEDs of the\n    <a href=\"\/en\/402014-opencm-485-expansion-board.html\">\n     OpenCM 485 board\n    <\/a>\n    on\n   <\/strong>\n   . Once the software uploaded, click one of the buttons of the OpenCM 485 to switch the LEDs on.\n  <\/p>\n  \n  \n  <p>\n   <strong>\n    Sometimes you may not be able to upload the program. In this case, switch off the electrical circuit and reconnect the power supply while pushing the user button of the OpenCM9.04 board.\n   <\/strong>\n  <\/p>\n  \n  \n  <p>\n   As mentioned previously, the consultation of the registers and functions during the configuration phase will allow to know the various possible actions on the motors (temperature recovery, position, speed, give a position, or a speed, etc..)\n  <\/p>\n  \n  \n  <p>\n   This\n   <a href=\"https:\/\/drive.google.com\/file\/d\/1asJqedf8EbXOgoUD8rRIV62uhJFC5G3y\/view\">\n    example code\n   <\/a>\n   is used\n   <strong>\n    to move a servomotor from a position \u201cA\u201d to a position \u201cB\u201d\n   <\/strong>\n   . If this code does not work, remember to check that the ID in the code is the same as the one of your motor.\n  <\/p>\n  \n  \n  <p>\n   We use the library \u201c\n   <strong>\n    DynamixelWorkbench.h\n   <\/strong>\n   \u201d which was installed during the stage of adding the board to the Arduino environment. Here is a table of the basic functions, to have all the functions you can refer to this\n   <a href=\"http:\/\/emanual.robotis.com\/docs\/en\/parts\/controller\/opencm904\/#dynamixel-workbench-class\">\n    library\n   <\/a>\n   .\n  <\/p>\n  \n  <div class=\"wp-block-image\">\n  <figure class=\"aligncenter\">\n   <img decoding=\"async\" alt=\"Function\/Functionality table\" src=\"http:\/\/www.generationrobots.com\/img\/TutoDynamixel_9_EN.jpg\"\/>\n  <\/figure>\n  <\/div>\n  \n  <p>\n   Additional resources:\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     Complete documentation\n    <\/a>\n    on the\n    <a href=\"\/en\/402014-opencm-485-expansion-board.html\">\n     OpenCM 485 board\n    <\/a>\n   <\/li>\n   \n   \n   <li>\n    <a href=\"http:\/\/support.robotis.com\/en\/product\/controller\/opencm9.04.htm\">\n     Complete documentation\n    <\/a>\n    on the\n    <a href=\"\/en\/402012-opencm904-c-controller.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     Complete documentation\n    <\/a>\n    on the XL 430 servos\n   <\/li>\n   \n  <\/ul>\n  \n <\/body>\n<\/html>","protected":false},"excerpt":{"rendered":"<p>The DYNAMIXEL X series is a new range of inexpensive high performance servo motors. The XL series has the same mechanical structure as the XM430 and XH430 , and it\u2019s compatible with the latter. These servo motors directly embark their network card which allows the communication with the other servos motors as well as with[&#8230;]<br \/> <a class=\"button\" href=\"https:\/\/www.generationrobots.com\/blog\/en\/dynamixel-tutorial-xl-430-introduction\/\" 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":[10545,10535],"tags":[],"class_list":["post-5220","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-comparisons-and-tests-products","category-guides-and-tutorials"],"_links":{"self":[{"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/posts\/5220","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=5220"}],"version-history":[{"count":5,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/posts\/5220\/revisions"}],"predecessor-version":[{"id":13107,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/posts\/5220\/revisions\/13107"}],"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=5220"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/categories?post=5220"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/tags?post=5220"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}