Results 1 to 5 of 5

Thread: Problem - My Dynamixels lose their IDs!

  1. Problem - My Dynamixels lose their IDs!

    Hi everybody
    I have a weird problem with an automat I built for a museum using a whole bunch of Dynamixel MX 106 and MX 28 AR running on an OpenCM9.04 485EXP board controlled via an arduino, a brightsign player and a touch screen.
    The whole set up works fine - users can trigger various sequences of movements on the automat with a touch screen interface, the mechanics work fine but, from time to time the servos start acting strangely and trying to do movements that are out of their scope. I eventually figured out the problem which was that the Dynamixels had "lost" their IDs on the buss, were all reinitialised as ID 1 which meant that they were trying to do the movements of that servo... Utter chaos of course!
    So the question is, why? What is it that intermittently (I mean every 3 or 4 months) the dynamixels suddenly don't know who they are anymore? Could this be because the power supply is shut off brutally every evening and is wreaking havoc in the internal control software of the motors?
    I've tried locking the EPROMS with Dynamixel wizard to no avail.
    I get the impression that I don't understand a key aspect of using these servos so any enlightenment would be appreciated.
    Thanks
    Jomo

  2. #2

    Re: Problem - My Dynamixels lose their IDs!

    Note: I don't have any MX servos... Nor any RS485 based servos. But have had times with AX-12 servos that one or more servos would reset to ID #1... And I know many others have as well.

    I have seen several theories on this.

    1) Power - Maybe the voltage levels dropped at some point causing the servos to screw up. I do believe this is a possibility. Maybe semi brown outs.

    2) One or more packets get corrupted and the servo interprets this to either set the ID or to reset the servo to default... I also believe that this is a possibility. Not sure about the RS485 part of the setup makes it more or less likely? My guess is less likely.

    3) Full Moon

    Most of the time now, I setup my system to not use ID #1. I then have startup code that looks for all of the servos. If it finds all but one, and there is a #1, it assumes that a servo must have reset and it then sets the id to the missing one. This has worked so far.

  3. #3

    Re: Problem - My Dynamixels lose their IDs!

    Do you set the "EEPROM LOCK" flag after you start up and configure each servo? If not, you should.

    Separately, don't use ID 1 normally. Scan all servos on start-up (before locking configuration) and look if any is missing. If one is missing, look for it at ID 1. if you find it there, re-configure it.

  4. Re: Problem - My Dynamixels lose their IDs!

    Thanks KurtEck and jwatte for your quick responses.
    I like the idea of scanning the setup to check for an ID1 on startup - the trouble is that I "usually" get more than one servo resetting to one when it happens so how could I differentiate between them? This morning I had 7 servos of the 9 servo setup that had reset to 1.
    I didn't implement any EEPROM lock in my code but I will have a bash at that as it is definitely a good idea. Could you suggest the appropriate syntax for the command as I am very limited as regards coding (I suspect that it is the root of my problems...)
    Cheers

  5. #5

    Re: Problem - My Dynamixels lose their IDs!

    For MX-64: After you start up the code and configure the servos, you write the value 1 to register 47 (0x2f) to "lock" the eeprom from further changes until the servo next power cycles. This will prevent the values in registers 0 .. 23 (0x00 .. 0x17) from changing until next power-on.
    http://support.robotis.com/en/produc...mx-64at_ar.htm

    Exactly how you do this vary by library you use to communicate. One such library would use a line that looks like this:
    Code:
    ax12SetRegister(servoId, 47, 1);
    If you use protocol version 2, or other servos, the value of this register location may change, so check the actual manual for the servos/versions you're using.

Thread Information

Users Browsing this Thread

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

Similar Threads

  1. Question(s) Bad luck with Dynamixels?
    By tigakub in forum Arbotix, Microcontrollers, Arduino
    Replies: 4
    Last Post: 05-30-2015, 07:35 PM
  2. Is there an HR-OS5 electronics kit for those who already own Dynamixels?
    By robot_yan in forum Humanoids, Walkers & Crawlers
    Replies: 2
    Last Post: 12-24-2014, 08:37 AM
  3. Question(s) TTL communication in Dynamixels?
    By Robotronn in forum Robotics General Discussion
    Replies: 1
    Last Post: 11-25-2014, 11:17 PM
  4. Question(s) AX-12A Control Problem(function dxl_write_word problem)
    By sorcun in forum DYNAMIXEL & Robot Actuators
    Replies: 1
    Last Post: 06-14-2013, 11:04 AM
  5. ROS problem -> cv_bridge: problem transfering images between nodes
    By Median in forum ROS - Robot Operating System
    Replies: 0
    Last Post: 03-11-2013, 09:44 AM

Posting Permissions

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