Servo burnout frustrations

Hey guys n' gals!

I'm wondering if anybody can provide advice for something I must totally be doing wrong which has been driving me crackers for probably close to a year now. I've been trying to learn electronics so hopefully this is just something with a really easy fix.

Problem first, in case anybody wants to help but not read a life story...

Short version of problem
I'm building a robot, 6 legs, 3 servos per leg (these LD-220MG servos).

These servos have to lift the robot... but I think some are taking the brunt of the lift, and subsequently burning out. Yay as another £20 goes up in magic smoke. I've tried to calibrate so they all start at the same position and move at the same rate, but nope... burnout. Usually a few at a time

So... is there something I can do to limit the servo, or to stop it from frying itself?

Small

Life story / TMI version...
I'm building/printing a SpiderBot, with the aim to open source publish it when complete (link to files I've made so far). The design intent is "make it badass".

I didn't start with this one... I first did one similar to OpenCat, then moved on to Vorpal. Both of these were nice, and I figure it's time to move onto something a bit more... powerful.

But the robot weighs in at about 5kg. I'd thought that spreading that over 6 legs would be fine... but nope... burnout every time it stands.

Today I've made a test rig to try and test what kind of weight i can lift with a single leg and keep under the 2.4-3A stall current as per the servo spec.

I've currently got a set of 25W 8 Ohm resistors on order to try again... according to my calculations with 7.4v at 8 Ohms, this should limit the available power to the servos to 0.925A.

I've also got some current sensors to rig up to an arduino and read the current from... thought being that if one leg pulls too much power, then the resistor will prevent it going further, and the sensor should report back to a Pi controller to stop moving / retract a bit.

End bit...
Sooooo... am I going about this in completely the wrong way? About a year has passed trying to make this thing stand up without going into meltdown.

Hi,

have you tried making the legs move without any weight (For example putting something under the main body that holds the weight of the body). Seeing the image you provided these seem like pretty small servo's that can't handle the amount of weight you're trying to move.

Thanks for the reply!

Yup, last March I'd have it sat on a stool to check the each servo works (vid from back then)

The servos are pretty small, but are all-metal and rated at (supposedly) 20kg (though I believe this is at 1cm distance). I'd hope that given, if nothing else, their price, that they'd be able to lift 5kg between 6 legs.

My approach now is more... how can i prevent the servos from burning out if they are put under too much load?

Today I did some testing on a single leg in an upside-down configuration... but bent the brackets and started it overheating at 5kg. Tomorrow my plan is to put an 8 Ohm resistor in, and limit tests to 2kg... and see if it prefers to stall if current is limited, rather than burn out...

But I just can't help think... I'm going nowhere with this thing :frowning: .

Maybe something to do with the joints, i don't know how well the axils are secured in the servo, but maybe there is too much load onto the joints

You can't. You need to buy servos that are designed for the load you want them to carry. That means actually measuring the torque required to accomplish the intended motion.

Professionals add at least a 2X safety margin to the published specs (i.e. buy a servo with twice the required torque and power).

1 Like

Aww noes!

I guess it sucks to be me then :frowning: . That's pretty much shattering the "make a ridiculously massive terrifying SpiderBot" dream.

I still have some thoughts on this though that I'd like to clear/shatter from my hopes/dreams, if anybody has any input on them...?

1. Current limit by resistor
Supposedly these servos have a stall current of 2.4A. Somewhere around draining 1.0-1.5A the servo starts heating. If I went extreme and say, limited the servo to 0.5A, then what would happen if it were (constantly) to try lifting something it couldn't? Burnout? Just nothing? Or even servo being pushed the opposite direction (if starting lift from above-ground).

I now have some 25W 8Ω resistors (bought after yesterdays failure). Is this just a straight up "don't even bother"?

In theory, these should limit a 7.4v input to 0.925A... hopefully enough to fail gracefully rather than pump out the magic smoke as another £23 servo blows?

  • Edit: A couple of hours later... adding the 8Ω resistor makes the servo so weak it can only move slowly. The voltage drop according to the servo tester circuit is significant... dropping from 7.4 to 4.5v at times when moving.
    It can't support any weight and winds backwards if put under small loads.
    And it doesn't seem to put out any noticeable heat, so the servo doesn't look to be burning out in this scenario... just a shame it's useless in this config.

2. Load balancing / feedback loop
I suspect when the bot is attempting to stand up, that some legs are taking more of the strain than others. Unspread, the weight is definitely enough to burn out a single servo. It would seem (to my naive mind) that most bots wouldn't have servos where a single one could lift the entire thing.

So would it be possible to have a balancing mechanism for scenarios? For example, standing up, balance across all 6 legs... walking, balance across 4 whilst 2 move.

3. Kinematics
This is where it gets to the point of really scaring me. Because my day job consumed most of my time, I found it too much to commit time to learning the maths and building simulations of power/servo output for various scenarios. That's why I just bought bigger servos and a 40A battery pack. My thought was that it didn't have to be efficient or perfect, so may as well over-power it.

I would go back a bit and do some bench tests with a single leg and see what kind of loads it can manage without having the battery pack weighing it down.

That's where it looks like I'm gonna have to go... experiments and maths, probably with a re-design after all that :frowning: .

Today... gonna print a load of Meccano-like pieces so I can rig up experiments at various distances and loads... meh... gonna take weeks :frowning: .

I've also seen this ( Pololu - Force and torque ) tutorial which I think I'll have to get familiar with and work out what these servos can work with and do some experiments with a single servo.

I was kinda trying to figure this out today and yesterday with a test rig (3 servos)... but think I'll have to go right back to basics... no cheating by slapping big servo + big battery on these i guess :frowning: .

Test rig that failed (bag for weights):

btw, what would you be looking for in determining what kind of loads it can take? It seems at some point it overheats... should I just be working out units of torque and seeing where it starts getting warm?

The specs for the servo. All manufacturers of quality servos test and post them.

Of course there are lots of fakes, which look like the real thing, but don't perform as well or last as long. Are you buying those fakes, thinking about the bargain you are getting?

Good intro to force and torque: Pololu - Force and torque

I'd heard about the market being littered with fakes, so tried to find a supplier that was also a manufacturer... or at least seemed well respected with a decent selection to boot. For better or worse, I went with Hiwonder (over in Hong Kong, the other side of the world to me).

The servos supposedly have 20kg/cm or ~2Nm of torque.

Running at a leg length of 38cm, I calculate the servo as able to lift 0.52kg.

6 legs, max weight = 3.15kg.

Robot weight = 5kg.

D'oh!

Looks like I need to either/or/all:

  • shorten the legs down to < 20cm when doing the lift (6 legs supposedly then able to lift 6kg).
  • make the bot lighter as half the weight means twice the leg length.
  • work on kinematics to determine a good length and motion to lift something at half the torque so there's safety margin as per your (jremington) earlier post.

The units are kg*cm, not kg/cm. Are you confident in the specs posted by Hiwonder?

Otherwise, seems like you have a good plan.

To rain on your parade a little more - I'm not convinced that 40A is enough. Eighteen servos at 2.4-3A into forty amps doesn't look good, even if they're not all pulling stall current.

Have you googled to see how other spiderbots managed it?

Good spot...

But with 6 legs, that'd mean if used equally, each leg could use 6.6A. One of the servos is for forward motion at 90 degrees, so should be under minimal load (only a swing forward, no lifting). Of the remaining two, it seems the "hip" takes nearly all of the strain vs the "knee", so I don't think they'll be competing for the remaining ~5A equally.

Edit: re other spiderbots... yeah, they seem to have much stubbier legs and walk pretty slow. I was hoping this thing would be massive and terrifyingly fast... sadly looks like i'll have to scale back until I can justify the expense on something bigger (I need a bit more learning before I can blow that much cash on 60kg servos... and even then, I'm not sure I would, because, yikes, that's expensive!).

They seem a reasonably decent supplier... in that their whole operation appears to be selling the servos as part of bigger assemblies for kids to learn with.

I guess I could test without too much risk, by running one at 75% it's rated capacity, then aim to restrict to 50% in my projects.

So, if it can lift 1.5kg, from horizontal, at 10cm distance from the pivot, it should be running at 75% capacity.

I've got one making nasty noises now after yesterdays tests, so if that sucker can make the test, I'll say there's some confidence :slight_smile: .

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.