Hobby servos are generally not sufficient for real robotics for a number of reasons: Quality, precision, range of motion, torque, etc.

Meanwhile, industrial servos, such as ABB, Emerson, GE, etc, are generally both heavy and expensive, and not suitable for small-humanoid scale actuation. Similarly, building your own servo from motors, gearboxes, and encoders, is akin to trying to design your own CPU just to control a motor -- too much detail getting in the way of real work.

There exists an in-between level of servos -- reasonably priced, reasonable performance, and reasonably controllable -- in the form of the competing brands of Dynamixel and HerculeX servos.

The smallest offerings in those lines generally are not strong enough for real-world interaction, but the next step up hold a lot of promise. For the Robotis Dynamixel line, this is the RX-24F servo (priced between the cheap AX-12F and the next step up the MX-28R.) Asking around, it seems that the specs and interface on that servo is great, but that it shuts down from thermal overload if you actually try to run it at rated load -- something that I'd expect from a hobby servo, but not a robotics servo.

Now, stepping up to the MX-28R doubles the price. Thus, if the RX-24F heat flaw could be fixed, it would be positioned at a nice price/performance point.

Does anyone have experience in providing additional cooling for this servo? Anything from thermal-gluing heat sinks to the case, to drilling holes and running cooling fluid tubing to any hot parts on the interior would be reasonable approaches. However, before I spend significant time and effort investigating this, I'd like a second opinion -- is it possible, does anyone have experience doing this, is it worth it?


The problem with the Dynamixel servos is that they're trapped in an insulating plastic jacket. There is no convection, and no good thermally conductive material to let heat out efficiently.

The first thing I'd suggest is to get some air flow. Moving air has a surprising ability to cool something hot. You hardly need any movement to get good results. If you're willing to hack the servo, then hack away at the plastic casing. First dismantle it, removing the PCB and motor too if you can get the screws undone. Place the gears somewhere clean and safe in such a way you can remember which order they go back in.

Now get your Dremmel out and carefully remove some of the casing around the motor (green areas). You're aiming to remove enough so that air can flow through the casing. In one side, out the other. Note the plastic surface under the gears, there's no point cutting through to the gear cavity. In fact doing this will allow debris to enter the gear chain and stall it, so keep your cutting behind this plastic surface.

Cut the casing of a Dynamixel servo

Also be careful not to remove any of the material around the screws (red areas). You'll want that when you re-assemble the motor.

Just doing this should give you some extra power margin before it overheats, especially if you can mount the motor so that the cool air enters at the bottom and warm air leaves at the top. It will be even better if you can blow air through the casing using a small fan. If you have several motors close together, you might be able to blow air through all of them in series with a single fan.


To determine how much cooling you need, you will want to calculate the thermal resistance, and how fast heat is being generated.

To do this, you can start using it for a period of time (at maximum load), then stop using it. During this time, measure how temperature rises and falls.

This will allow you to calculate the amount of heat generated, as well as thermal resistance to the case (as multiples of thermal capacity). You can also measure the difference in power in versus power out to measure heat dissipated inside ($power = voltage \times current$).

Measuring air temperature you also get the thermal resistance between the case and the ambient air temperature.

After that, you can treat thermal resistance like an electrical network (see http://en.wikipedia.org/wiki/Thermal_resistance). Adding heat sinks of heat pipes simply adds another route for the heat, with lower resistance.

You can find the resistance of any heat sink or heat pipe from its datasheets. Then you can estimate how the addition of it will affect the overall thermal resistance of the network. By looking at the rate of heat dissipation, the thermal resistance and the maximum rated temperature, you will know whether it is enough.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.