Page 1 of 2 12 LastLast
Results 1 to 10 of 15

Thread: Need Dynamixel Advice

  1. Need Dynamixel Advice

    I am building a 6 DOF robotic arm and have designed it around Dynamixel servos but before I spend $1000+ on parts, I hope I can get some questions answered.
    Ideally I need to operate 6 servos plus a PhantomX Parallel AX-12 Gripper connected in series like this...

    Mx28 -> Mx64 -> Mx64 -> Mx28 -> Mx24 -> Ax18 -> Ax12(Gripper)

    A couple servos may possibly at times be under near-stall torque loads, but I am shooting for about 1/2 stall torque loads under normal operation (load from arm itself with no payload).
    They need to be all in series because wires are being threaded through tight/rotating spaces and there really is only room for one connection bundle.

    Power
    a) Can I power these all simultaneously in series as shown from one power junction at the start of the chain? I intend to use a power supply that can provide 3A/12v. The servo with the most demand will likely be the Mx64 near the base (largest moments). I expect it might operate at about 75% stall torque for short periods some times. The others should be at or below 50% stall torque.
    b) Will the wiring and servos handle all the amps from all these operating simultaneously?
    Communication
    a) Why would someone choose 4-pin RS-485 over RS232? I understand "choose RS232 if you don't have a preference", but when would RS-485 be the right choice?
    b) What specific models of the above chain of servos should I get if I want them all connected in series?
    Wiring
    a) Are there Dynamixel wiring connectors that have the wires bundled into one cover instead of the 3 or 4 separate wires? If not, are there parts for me to make my own or can you recommend a place to get them? particularly the connectors.
    Last edited by gershon; 04-01-2013 at 07:43 PM.

  2. #2
    Join Date
    Dec 2007
    Location
    Whidbey Island, WA
    Posts
    1,718
    Images
    456
    Rep Power
    97

    Re: Need Dynamixel Advice

    Hey Gershon,

    The Dynamixel servos are serial servos which transmit signal and power along a daisy chain. So you connect one servo to the other. If you are mixing servos you are limited to the power rating of the lowest servo, so that AX-18f and AX-12 will limit you to 12 volts. This means that you won't get as much in the way of torque out of the servos.

    I am pretty certain there is no MX-24f. Only an RX-24f which won't mix with the other servos. This limits you to either an AX-18f or AX-12. One thing to note, the AX-18f is slightly stronger than an AX-12, but much faster. If you are trying to get your arm to move coherently it might be difficult with such a drastic difference in speed.

    As for a 3 amp power supply, I think you might be disappointed. When you run all of your servos at once you will see a drop out where the servos briefly lose power and then come back on, sometimes losing their position. and all of their warning lights flash. They also tend to get hot when you under power them.

    Finally have you chosen a controller? I would suggest you consider the arbotix. It is a great controller and has a large user base. It is part of the arduino family and has a library for controlling dynamixel servos which means you won't have to write that part on your own.

    I hope you find this post helpful

    DB

  3. #3

    Re: Need Dynamixel Advice

    First, 3A is not enough to drive even a single MX-64 at stall torque. I suggest at least a 10A power supply for the list of servos you describe.

    Second, the wires used by both Trossen and Robotis for their serial connection wires are thin-ish (as is the wiring on the inside of each of the servos,) so a 6-servo strand is certainly pushing it as far as voltage drop goes. You may be better off with a custom wire that runs serial, and has a "drop" connector at each servo.

    Yes, the connectors used by the TTL bus are standard Molex 2.5mm connectors. I've bought some of the females at Digi-Key, so they are readily available. Using your own thicker cable, especially for power, is probably going to be best for you.

    Finally, the RS-485 is a more robust electrical interconnect, for two reasons:
    1) It allows up to 12V of voltage differential between one end and the other. This means the servos might actually survive an electrical accident/mis-connection.
    2) It uses differential signaling, so it's immune to EMI. This means that running unshielded cables near electric motors (like, say, servos) is less of a problem.
    3) The AX-18 and AX-12 do not speak RS-485, so you can't use only that version if you're building a mixed system.

    For what it's worth, I have a number of MX-64s in my quad mech, and I use TTL because it was "recommended," but if I were to do it again, I'd actually go with RS-485 because of the increased robustness.

  4. Re: Need Dynamixel Advice

    Thank you both! Great information in both replies.

    Looks like I need to find a more powerful power supply… shucks!

    I’m very interested in the dedicated power line with “drop feeds” any suggestions on wire-tap parts to do that? I’ve used things like that when wiring my trailer hitch, but not sure where to get them… Radio Shack?

    I intend to use a PC as the controller with the USB adapter. I’ve written Arduino code before, but not a lot and I’m more comfortable in C#. There is a C# library from Trossen or Dynamixel, right?

    Thanks again!
    Gershon

  5. #5

    Re: Need Dynamixel Advice

    Yes, I've used the C# library from Trossen. It's just a shallow wrapper on P/Invoke for the C-style DLL.

    On "drop feeds" you may have to cut the wire at each interval, and solder a three-way splice. It'll still be a lot better than trying to serial all the servos through a thin cable! You could have just a few inches of thin cabling from the splice to the actual connector -- could even cut the regular Dynamixel wires in half to get those bits.

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

    Re: Need Dynamixel Advice

    Quote Originally Posted by jwatte View Post
    For what it's worth, I have a number of MX-64s in my quad mech, and I use TTL because it was "recommended," but if I were to do it again, I'd actually go with RS-485 because of the increased robustness.
    I've actually seen the opposite. Maxwell was originally RX-64s and is now using MX-64s, and I've seen an increase in robustness. If you don't use a fairly expensive RS-485 driver (2-3x the cost of lower end models), you're quite susceptible to ESD and/or burning out if two drivers are driving at the same time. There's also twice as much signal cable to go wrong.

    -Fergs

  7. #7

    Re: Need Dynamixel Advice

    I've seen an increase in robustness.
    I guess my experience of having 14 servos burn out because I got -6V on the TTL bus is a bit of a corner case that tints my particular experience. RS485 would have survived that. (I think the way this happened was putting down the circuit board on a surface that had some bits of wire clippings and solder blobs on it)

    Now, I'm having another communications-related problem that I don't know whether RS485 would solve, but I feel it would. I have one servo that works fine alone with a USB2Dynamixel, but doesn't work when it's in the middle of a leg when paralleled to all the other servos. I'm thinking the ability of a single CMOS output to drive 14 CMOS inputs at 2 Mbit may actually be somewhat marginal.

  8. #8
    Join Date
    Sep 2010
    Location
    ಠ_ಠ
    Posts
    2,313
    Images
    27
    Rep Power
    278

    Re: Need Dynamixel Advice

    Quote Originally Posted by jwatte View Post
    I guess my experience of having 14 servos burn out because I got -6V on the TTL bus is a bit of a corner case that tints my particular experience. RS485 would have survived that. (I think the way this happened was putting down the circuit board on a surface that had some bits of wire clippings and solder blobs on it)
    Ouch. We were lucky in that we only killed the RXD of a CM-900 when the board bounced against the aluminum bracket holding the other controller in place.

    Quote Originally Posted by jwatte View Post
    Now, I'm having another communications-related problem that I don't know whether RS485 would solve, but I feel it would. I have one servo that works fine alone with a USB2Dynamixel, but doesn't work when it's in the middle of a leg when paralleled to all the other servos. I'm thinking the ability of a single CMOS output to drive 14 CMOS inputs at 2 Mbit may actually be somewhat marginal.
    I know you could get it to respond when it was the only device connected to a USB2Dynamixel, but does it still show up if you connect the entire leg to a USB2Dynamixel? The USB2Dynamixel and CM-5/510/530/700/730/900 all use buffer ICs to do the full to half duplex conversion, so they might have more luck (definitely able to control a 20 MX-28 DARwIn-OP and 20 MX-64/106 Nimbro-OP at 1~2Mbps 5V 'ttl'). From the sound of it, my first suspicion is that it might have had its ID, baudrate, and/or return delay modified.
    Please pardon the pedantry... and the profanity... and the convoluted speech pattern...
    "You have failed me, Brain!"
    [git][mech][hack]
    gives free advice only on public threads

  9. Re: Need Dynamixel Advice

    I've used both the USB2Dynamixel and the arbotix to control AX12 servos. You can use the USB2Dynamixel from your PC (windows, linux, and maybe mac I don't recall - they give you source so you can port to any platform). You wire in your own power supply. There are also some very nice tiny similar devices on here by xevel?

    The arbotix, while it has a lot of nice things going for it, does not seem to be maintained anymore. I couldn't get pre or post sales questions answered. I tried emailing from the vanadium labs website, i tried the forums I tried the discussion groups they say are their official support method, etc. - only answer I ever got was on here from fellow hobbyists and while I appreciate their time, I never really got an answer.

    It is not always compatible with the arduino code either. For example the pullup resistors that are built into the microcontroller, which are normally settable by setting a digital input type of input/pullup - that constant is not defined for the arbotix board even though the microcontroller it uses does have built in pullups.

    Basically it's not being kept up to date.

    The AX12 protocol is really pretty simple, 1/2 duplex serial TTL or if you go with their 485 interface that's more standard, so you can really use anything to interface to them and there are many better choices than Arduino or Arbotix if you can implement the dynamixel hal yourself (e.g. NetBurner cores blow any of the microcontrollers sold at trossen away, they run u/cos a real RTOS, you program them from Eclipse in C/C++ and you can actually do live multithreaded debugging over the network - I've programmed my arduino from Eclipse - it's not the same).

    If you want the most portable solution the arbotix is probably the best solution there, if you want PC-based and linux/windows then USB2Dynamixel or the other little USB interface on here, if you want mobile and powerful, roll your own with NetBurner

    e.g. http://www.netburner.com/products/modules/mod54415

    With dev board it is like $119. We use several types of their modules at work for distributed IO systems (PWM, GPIO, etc. over ethernet).

    Another pro for netburners - they make their engineers answer their support tickets - I've never had to post a question twice, and I usually get an answer (including sample source code if required) within a day. I mean the guys who write the code answer the questions.
    Last edited by ncostes; 04-19-2013 at 08:39 PM.

  10. #10

    Re: Need Dynamixel Advice

    I am shooting for about 1/2 stall torque loads under normal operation (load from arm itself with no payload).
    That sounds way too high. The recommendation from Robotis is that "sustained" torque be between 1/5 and 1/4 of the rated stall torque. Even so, you may end up overheating the servos if you idle it under that load for a long time (> 20 minutes.)

    Something that may be mis-leading is that Trossen lists as "hold torque" on their specs, what is actually the "stall torque," so the "hold torque" is 1/4 to 1/5 of that. Once you look it up in the manual for the servos, you see that that number is the "stall torque."

Thread Information

Users Browsing this Thread

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

Similar Threads

  1. Question(s) I need advice
    By boys4boyz69 in forum Arbotix, Microcontrollers, Arduino
    Replies: 11
    Last Post: 08-23-2011, 07:11 PM
  2. New here and looking for advice
    By Forlorn Foundry in forum Mech Warfare
    Replies: 33
    Last Post: 06-11-2010, 09:38 PM
  3. Project Asking for advice
    By elaughlin in forum Robotics General Discussion
    Replies: 1
    Last Post: 04-05-2010, 06:59 PM
  4. Advice
    By PatrickS1981 in forum Robotics General Discussion
    Replies: 6
    Last Post: 02-11-2010, 10:51 AM
  5. Question(s) Advice please?
    By Nishi in forum Robotics General Discussion
    Replies: 21
    Last Post: 01-07-2010, 11:02 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
  •