I have a chain of 10 dynamixel servos described below:
16-14-1-11-2-15-17-13-12-9 (Dynamixel IDs)
ID Model Firmware
16 MX-64T 40
14 MX-26T 40
1 MX-28T 40
11 MX-28T 40
2 MX-64T 40
15 MX-28T 39
17 MX-64T 40
13 MX-28T 40
12 MX-28T 40
9 MX-64T 39
I am using dynamixel_workbench. Both dynamixel_workbench and dynamixel_sdk are latest version.
I am using U2D2, SMPS2Dynamixel and a 12V DC power source.
1. When I run find_dynamixel example in dynamixel_workbench toolbox, servo with IDs 12 and 14 are not found.
2. I tried updating firmware of 9 and 15 using Dynamixel Wizard in WIndows but it failed.
3. Dynamixel ID 12 is detected only individually while 14 is detected if 16-14-1-11-2 are connected in a chain.
4. Dynamixels with firmware v40 also use protocol 1.0 while the site mentions that v39 above will use protocol 2.0.
Kindly help we with this problem. Thanks.
Mentioned on Robotis Protocol 2.0 E-Manual. Here [http://emanual.robotis.com/docs/en/dxl/protocol2/#introduction].
Hopefully Robotis can give you a more complete answer, but if it were me:
a) I would try to update all of the firmware, such that they are all running either protocol 1 or protocol 2. You might try the beta Dynamixel Wizard 2: https://community.robotsource.org/t/beta-test-dynamixel-wizard-2-0/1608 as I believe it can handle both...
b) I would try to break this up such that there are not 10 in a row, but hopefully maybe use a hub to split them into smaller chains.
c) Make sure all of the servos are running at the same baud rate, and I always to try to set the return delays to 0 on the servos.
d) might also check you 12v DC power source on how much can it output?
First of all, the Firmware version does not determine which Protocol you are using.
There are different Firmware version for each Protocol version.
For example, the latest firmware version for MX-28 Protocol 2.0 is v42 while Protocol 1.0 is v40.
In order to use all DYNAMIXEL in a single channel, please use the identical protocols for all connected DYNAMIXELs.
Also, when connecting multiple DYNAMIXELs in a series, it is recommended to use power jump on every 4~5 DYNAMIXEL.
This is to prevent voltage drops as well as to reduce current flows on the cables.
For example, in your configuration, you can supply power to #16 ~ #2 and #15 ~ #9 directly from the power supply as shown below.
However, the stall torque of MX-64 can reach up to 4.1A at 12V, therefore, it is strongly recommended to use separate power source for every 2~3 Dynamixels because SMPS2Dynamixel can only supply up to 5A.
I wanted to control Profile velocity and profile acceleration, and in Dynamixel SDK they are changeable only in protocol 2.0.
So i update my firmware in Roboplus Wizard 2.0, I have written firmware values already, but yes protocol is still 1.0.
I think there is some kind of miscommunication due to protocol, due to which Dynamixel_controller(by arebgun) package is not detecting some servos.
So basically my question is-
1. Can I control profile velocity and acceleration in protocol 1 itself? If yes How?
2. Is there a way to make sure that we will upgrade to protocol 2.0, basically how to upgrade servos to 2.0 without firmware upgrade?