View Full Version : AX-12 Servo Cooling problems

04-14-2013, 08:03 PM
My mech is finally functional. However, I need to let it idle for two and a half minutes while I wait for the camera to connect (not sure why but my trendnet consistently takes exactly 2:40 to connect). After about 3 minutes, the servos overheat, and one of the femur servos fails. So, I end up getting only a short period of functionality. I could of course find a way to idle only the camera, but I would still only get a few minutes. Is there any way to cool the servos or prevent shutdown without damaging them? I already changed the start points in my nuke code so the femurs are tilted higher to minimize torque on the servos, and I can't change that much more. Hopefully I can get this fixed tonight so I can send in a prequalification.

Note: I have AX-12As on the coxa, but have AX-12+s on the femur and tibia, and I am using the phantomx quad as a base. I dont know i that helps, but I thought I should clarify.

04-14-2013, 08:19 PM
Instead of letting it stand in place, take all load off the servos with a stand, or fold the legs up and let it sit on the base until the camera connects.

04-14-2013, 08:24 PM
Gdubb's recommendation is a good one. I don't remember what your mech looks like (or the thread... links are useful)... but the way I did this with Numa was to disable the coxa servo torque, and let the leg rotate until the servo rested against a bracket.

04-14-2013, 08:32 PM
Wow fast repsonse. Thanks guys. I had it rest on my lap while it connected. Right now I'm messing with some weird cooling methods.

04-14-2013, 08:50 PM
Would upgrading to AX-18s help? I'm a little nervous to gamble that it would fix the problem, but 15% torque increase might be enough.

04-14-2013, 09:09 PM
How much weight do you think you have in the body? If you know we could probably do the math and figure out if the ax-18s would help.

04-14-2013, 09:27 PM
Not sure that would work. The trouble isnt that I am going beyond the stall torque. The problem is that the servos are overheating despite being below the stall torque.

04-14-2013, 11:09 PM
So, even though ax-18s have a higher max torque, im not sure that they would operate better. the motor in them is coreless, meaning they may overheat more easily. not certain though. anyone have any experience with them?

04-14-2013, 11:48 PM
If you don't mind voiding any possible warrantee, you could always add a heat sink to each AX-12 coxa servo, then if you still have issues, add some of those tiny fans jwatte found.

04-15-2013, 01:19 AM
I have AX-18s in my hex. They get warm but I've never had them overheat and shut down. With that being said it is not carrying around the weight of a gun and ammo. :)

04-15-2013, 07:12 AM
slugman, i was thinking of doing heat sinks actually. the positioning is a pain though. what tiny fans?

kevin, good to know. do you have any tempurature comparison with ax-12s?

04-15-2013, 07:25 AM
We had overheating problems with some older AX-18F in a biped's knee if it was left to stand in a position where it was not using the plastic frames to take most of the load (Premium Type-A humanoid - locking knees straight). They worked well enough for moving, just not holding for extended periods of time. The AX-18A may have improved a bit, but I still have not turned the the four bulk boxes into humanoid legs to test them out.

04-15-2013, 03:04 PM
20mm fans: http://www.digikey.com/product-detail/en/MC20080V2-000U-A99/259-1561-ND/2757796
I (http://www.digikey.com/product-detail/en/MC20080V2-000U-A99/259-1561-ND/2757796)f you have cooling holes in your servos, these can make sure there's enough air movement for them to work.
If the AX series is too small for the 20mm fans, here's an even smaller one (17mm side, 3mm thickness, 3V supply): http://www.digikey.com/product-detail/en/UF3H3-700/259-1524-ND/2417180
I (http://www.digikey.com/product-detail/en/UF3H3-700/259-1524-ND/2417180) ended up not using that one because it has a pretty distinct high-pitched whine.

04-15-2013, 03:12 PM
Those might just work... How much of a difference did they make for you? I just want to know how likely it is to fix the problem, since I don't have time to try more than one fix. Also, do you haev pictures of where you mounted the fans or where you put the holes? The inside of an AX-12 is sorta cramped, and I can imagine this is true of whatever you were using. Not sure where to put the holes for proper air flow. Thanks.

04-15-2013, 04:00 PM
Try adjusting your stance to limit the torque on those servos that are failing. If jwatte's cooling methods and the modification of the IK sketch don't fix it, try going 2 DoF.

04-15-2013, 04:02 PM
already modified nuke. I cant point the femurs any higher though without the tibias hitting them. Hmm, 2dof? How much would that help?

04-15-2013, 04:07 PM
I would just like to thank everyone who responded. I mention a problem, and a bunch you all jump to help. This forum is great, and I really appreciate it.

04-15-2013, 08:34 PM
So, I just added some splints across the femur and did some rewiring and recoding to convert it to 2dof. Pypose is not allowing me to create 2dof for whatever reason, so I just screwed with my current 3dof export until it sort of worked. I can get 9 minutes of runtime before thermal shutdown. That should be good enough to qualify, but I would like to improve on it. I am a little nervous about going for the ax-18s without definitive info on them. I'm thinking about trying the fans jwatte suggested though. Thanks ardutank for that pointer. Any specific configuration I can use to minimize overheating for 2dof?

04-15-2013, 09:00 PM
I fitted the sinks at the end of the servo away from the horn, which suited my use - For ankles & hips of a biped.
I didn't try to get the heat-sink to stick out the side of the servo, so I don't know if that option would work.
Aluminium insert has a 16mm radius curve to fit snugly onto the servo motor. This is the hard part. :sad:
The heat-sinks I used are these ones;
but you should be able to find something similar in the US somewhere. Stick-on ones are not as robust as bolt-on ones, but don't require fiddly drilling & stuffing around.

04-15-2013, 09:05 PM
If you overheated in 2-3 minutes it is unlikely that a fan would make too much of a difference for a ax-12, since the motor and electronics are basically insulated by the plastic shell. For the MX servo's it makes more sense because the motor / case is actually exposed to allow for more cooling directly via convection. It is more then likely that you are just quite a bit over the threshold for the servo's. The most effective way of fixing it by changing your leg length to solve the problem. You want to reduce the moment arm on your servo's so they have to actively hold up less weight.

You can see if this is true or not by seeing how warm the motors outer case is when the overheating occurs, starting from room temp. If it is a large temperature differential when the servo overheats, then active cooling will be effective. If it only raises a few degrees, then you are adding dead weight.

04-15-2013, 09:10 PM
Thanks slugman. i saw that earlier, and was seriously considering it. bit of a pain because of the servo positioning though.

Cire, I could possibly shorten the femurs a tad. I'll see if that helps. i already tried getting the moment arm down by messing with nuke. that wasnt enough.

04-16-2013, 09:54 AM
hmm, another idea i would like to throw out there to see what you guys think. i could probably add a second servo in parallel with the one that is shutting down. would thatcut load in half or would the servos run out of sync, increasing load? the code is goingto be a pain, but i think this could work. thoughts?

04-16-2013, 10:06 AM
I've doubled up the AX-12's back-to-back before to get more torque. Your code needs to keep track of the home position for each servo. When moving you need to add the position offset to one and subract it from the other. It also takes a lot of space to implement.

04-16-2013, 10:11 AM
the trouble is that i need to integrate it into nuke. i think i can add some lines to doik in nuke.cpp, and that will do it. not certain though.

edit: First try worked perfect. :D Now to attach the new servos...

04-16-2013, 11:46 AM
How much of a difference did they make for you?

For my MX-64, about 20 degrees drop (60 degrees -> 40 degrees when idling.)
The MX-64 already has air vents cut in the case, though. You'd have to cut some slots in the case to let the air in/out on an AX. You'd want to cut these so that the air comes in straight at the motor.
I mounted the fan on the outside (bottom side) of the servo. Picture:


04-16-2013, 12:26 PM
cool. if doubling up the femurs doesnt work, ill give it a try.

04-16-2013, 05:01 PM
Look at the IssyDunnYet article for 2 DoF. 2DoF requires only 2 servos per leg, and is similar to what I had with M-O at first.

04-16-2013, 09:30 PM
I know what 2dof means. i just wasnt sure if it would help. i explained the results in a previous post.

04-16-2013, 09:55 PM
yet another wierd issue: a brand new ax-12 is not responding at all. i cant even change the id. it just sits there with the light flickering.

04-17-2013, 11:56 AM
Hmm. Usually that means overload or under acceptable voltage. In general the servo doesn't like something and has shutdown on it's own for protection. Is it already mounted or is it just sitting there on it's own?

04-17-2013, 12:25 PM
its mounted, but only on the axle. the servo body is currently free floating. the other servos worked, so i dont think its the voltage. ill give that a try though.

04-17-2013, 12:53 PM
It could be a DOA. Though you don't hear that often with Dynamixels.

04-17-2013, 05:31 PM
It could be a DOA. Though you don't here that often with Dynamixels.
...at least not with AX-series dynamixels.

yet another wierd issue: a brand new ax-12 is not responding at all. i cant even change the id. it just sits there with the light flickering.
The two faults that I know cause the flashing LED are overload and over-temperature. Over/under-voltage usually results in the servo burning out or not turning on, respectively. Have you tried hooking it up alone to a USB2Dynamixel and a solid/regulated 12V power supply to try finding it with RoboPlus Dynamixel Wizard? If it does not respond at all to Dynamixel Wizard as the only servo on the chain after an exhaustive search, then it would probably be safe to call it DOA and hope to get a warranty replacement. If you do not have a USB2Dynamixel, the arbotix would be just as capable of performing the exhaustive search (just make sure the troublesome servo is isolated from all other dynamixels).

04-17-2013, 05:52 PM
Holy crap I said here instead of hear. My english teacher is probably rolling over in her grave....

04-17-2013, 06:01 PM
LOL. 2 DoF would help limit loads on the servos, and the power consumption.

04-17-2013, 07:43 PM
I dont have a usb2dynamixel. not sure how to run the search on an arbotix. If I plug it in to an arbotix running pypose and do "ls" in the terminal, i get nothing. since the default baud rate is compatible with pypose, it should show up as id 1 (i think thats the standard default). i tried changing the pypose code to run through all ids, but no response. either wrong baud rate, or dead servo is my guess.

Shame on you kevin. Shame.

04-17-2013, 08:01 PM
Holy crap I said here instead of hear. My english teacher is probably rolling over in her grave....

She'll think your bad when you can't even right. At least it will peak her intrest!

04-17-2013, 08:44 PM
Cringing, jwatte. Cringing.

I think doubling u the servos fixed the problem. I need to do a little more testing, but I think I fixed it.

04-17-2013, 10:07 PM
So problem solved. It ran for 16 minutes without a hiccup. Thanks for all the help guys. Much appreciated.

04-18-2013, 06:46 PM
NP. Much appreciated that you let us help.

04-22-2013, 12:15 AM
Glad you got a solution but I have some ideas that I'd like to ferret out. My trouble shooting skill set wandered down a slightly different path. I have tons of experience with small DC motors ( all the way down to rebuilding and rewinding burnt out motors) and drivers in the servo realm but not with Dynamixels. My first question is was it the same servo every time? If so then I'd consider swapping servos around to see what happens. I'd also take an actual case temp reading to see if it was in fact actually too hot. You might have a bad sensor. If the commutator on the motor was starting to cook or the brushes were going bad it would overheat and should be reassigned if you don't have a replacement. The servo swap would tell you that.

04-22-2013, 10:24 AM
it would vary. i think i just was too heavy.

04-22-2013, 01:40 PM
OK if it varies then it obviously isn't servo specific.