Results 1 to 6 of 6

Thread: (newbie) : Arbotix, dynamixel A12, limits of daisy chaining question.

  1. (newbie) : Arbotix, dynamixel A12, limits of daisy chaining question.

    Hi, I am new to dynamixel servo's and the arbotix. Though I know arduino quite well.

    I have an installation that has 10 arbotix motors that are daisy chained from the arbotix controller. I also have a separately powered junction (the one with the 6 ports).

    I have two chains that are starting at the arbotix (at least I think its two chains I am not sure if I need to specify if the ports need to be different or not.)

    I am also using the basic test sketch, but repeated for every motor that I have identified using the dynamanager utility.

    there is very little load on the motors but they are each separated by 1 meter of 22awg communication wire.

    This simple set up seems straight forward enough, but its giving me a lot of trouble. When the system starts up the motors move very smoothly and do EXACTLY what i have commanded. However after a certain amount of time the movement gets very jittery. Sometimes violently so. At a certain point the motors just STOP. (Thought i killed all my motors until I rebooted the entire system) though the breakdown seems to be about data / communication. It gets worse every time.

    Any advice on how to be efficient with the code and the set up so that I can run in a more predictable manner?

    thanks

  2. Re: (newbie) : Arbotix, dynamixel A12, limits of daisy chaining question.

    So you have 5 servos in each chain with 1 meter of wire between each servo? You might be reaching some sort of limit in the length of your chain. Have you tried shorter wires?

    Also you should post your sketch. Might be an issue there.

  3. #3
    Join Date
    May 2008
    Posts
    2,228
    Images
    155
    Rep Power
    127

    Re: (newbie) : Arbotix, dynamixel A12, limits of daisy chaining question.

    The fact that things return to working after a reboot suggests to me that it is a code error. I would suggest adding more information about what you are commanding the servos to do, and if possible, posting the sketch you are using.

    -Fergs

  4. Re: (newbie) : Arbotix, dynamixel A12, limits of daisy chaining question.

    its a pretty simple edit of the AXSimpleTest provided with the Arbotix library (in fact its almost a bit embarrassing) :

    The motors may not have been installed in the sequence that is in the code as well:

    /***************************
    * AXSimpleTest
    * This sketch sends positional commands to the AX servo
    * attached to it - the servo must set to ID # 1
    * The sketch will send a value, i, to the servo.
    * 'For' loops are used to increment and decrement the value of 'i'
    ***************************/


    //import ax12 library to send DYNAMIXEL commands
    #include <ax12.h>


    void setup()
    {
    SetPosition(1,0); //set the position of servo # 1 to '0'
    SetPosition(2,0);
    SetPosition(3,0);
    SetPosition(4,0);
    SetPosition(5,0);
    SetPosition(6,0);
    SetPosition(7,0);
    SetPosition(8,0);
    SetPosition(9,0);
    SetPosition(10,0);
    delay(100);//wait for servo to move
    }


    void loop()
    {
    //increment from 0 to 1023
    for(int i=0;i<1024;i++)
    {
    SetPosition(1,i); //set the position of servo #1 to the current value of 'i'
    SetPosition(2,i);
    SetPosition(3,i);
    SetPosition(4,i);
    SetPosition(5,i);
    SetPosition(6,i);
    SetPosition(7,i);
    SetPosition(8,i);
    SetPosition(9,i);
    SetPosition(10,i);


    delay(15);//wait for servo to move
    }
    //decrement from 1024 to 0
    for(int i=1024;i>0;i--)
    {
    SetPosition(1,i);//set the position of servo #1 to the current value of 'i'
    SetPosition(2,i);
    SetPosition(3,i);
    SetPosition(4,i);
    SetPosition(5,i);
    SetPosition(6,i);
    SetPosition(7,i);
    SetPosition(8,i);
    SetPosition(9,i);
    SetPosition(10,i);


    delay(5);//wait for servo to move
    }
    }

  5. Re: (newbie) : Arbotix, dynamixel A12, limits of daisy chaining question.

    Your last loop starts the servos at position 1024 which is invalid. Values should be 0 to 1023... I don't think this would cause an issue though. The servos should just ignore it.

    Your rapidly sending a large number of commands over a long series of wires. My guess is the length of your wires are causing random packet loss / corruption. This eventually puts your servos in a invalid state.

    Try shorting your wires and see if the problem is still there.

    Also can avoid sending so many commands by using sync_write.

  6. #6

    Re: (newbie) : Arbotix, dynamixel A12, limits of daisy chaining question.

    There are many things that could go wrong.

    First, you may see too much voltage drop over 5 meters of AWG wire (assuming you're using 2 strings of 5m each) to drive the motors correctly.

    Second, you may not have sufficient power supply to drive 10 servos at the same time.

    Third, you may see interference or problems on the serial communications. 5 meters at 1 Mbit/s may be pushing it. But I'd actually suspect the previous two problems before this one. You can easily tell whether this is the problem or not by hooking an oscilloscope to the end of a strand and seeing if the serial data seems legit or not.

    My first suspicion would actually be the power supply -- what power supply are you using? Voltage and amperage?

    Second, if you read the voltage at the very end when the servos are moving, what do you get? An oscilloscope would be ideal, as it can show you spikes and droops that a voltmeter would miss.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Replies: 3
    Last Post: 03-08-2014, 10:51 AM
  2. 18 Dynamixel Ax-12A with ArbotiX/Arduino - How to connect the dynamixel?
    By Snuuq in forum Arbotix, Microcontrollers, Arduino
    Replies: 20
    Last Post: 02-14-2014, 11:29 AM
  3. Question(s) Newbie question: Digital vs Analog Servos
    By Eric in forum DYNAMIXEL & Robot Actuators
    Replies: 2
    Last Post: 04-03-2008, 09:19 PM
  4. Newbie question: Best way to record light level
    By zeng in forum Software and Programming
    Replies: 6
    Last Post: 12-14-2007, 08:53 AM
  5. Newbie hardware/power question
    By sevenkev in forum Robot Computers
    Replies: 1
    Last Post: 03-16-2007, 10:32 AM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •