Servos (SG90) overheat and jam really fast

Full disclosure: I am a major newbie, but I have done a lot of searching for answers and attempted to troubleshoot this on my own, to no avail.

I'm making a robotic arm with 4 microservos. I'm using an arduino uno to control it, but the servos themselves are on a separate power supply (5v, 6A), and it's properly grounded to the arduino as well.

The trouble began when I attempted to hook up the last servo, which was an SG90, and it immediately started to vibrate, getting hot to the touch within 10 seconds, and jamming up shortly thereafter. "No worries", I thought, since I bought the 10 pack of them on Amazon. But...each and every one does the same thing. I have 3 left.

Now, any sane person would probably suggest "you must have signal noise, or the power is inadequate" or something along those lines, but I went ahead and hooked up a regular servo in its place (a 20kg one, so a much larger power draw), and it worked perfectly. Of course, it's too big for what I need, so I need to find a microservo solution still.

Also, the other 3 servos (which are also working just fine) are SG92Rs. From what I can tell, 5v is well within the operating range of all of these, and 6A should be ample for all of them to work properly. So, did I just get a bad batch of SG90s and spending a bit more on some SG92Rs would resolve this issue? Or is there some fundamental issue I'm missing here? I saw some conflicting info on whether the SG90s/SG92Rs were analog/digital, but from what I've read, that has no bearing on how I need to be coding my arduino to control them as long as I'm using the standard Servo library, right?

How much load is on that servo?
Can you post pics of your arm? And identify which servo is the one you are having problems with?

SG90 servos do not have a lot of torque. If you are asking it to hold more that it is capable of, then it could stall and overheat.

But there are other causes for overheating. Attempting to drive a servo past its internal hard stop is another way. (not all sg90 servos have hard stops)

Hey, sorry for not responding sooner. I didn’t get a notification of a reply so I didn’t realize anyone had posted.

I’ve attached a couple pictures. Okay…it’s not exactly a robotic arm, but that was the easiest way to briefly describe it. The picture where I’m holding just a (unpainted) part of it shows where the servo goes that was giving me issues. It sits in a little recessed area in front of my hand, and a pushrod spans from the servo to that hole at the bottom left of the “head” so that it can tilt the head up and down.

So, as far as actual load goes, it’s very minimal, because the entire weight of the head is supported with m3 bolts/nuts, and without the servo/pushrod attached, you can easily tilt the head with a very light touch of the finger.

I kept thinking that it was somehow pushing against the hard stop, like you mentioned, especially when multiple SG90s did the exact same thing. However, when I attached the regular (20kg, high torque) servo, it had no issue. I received my order of SG92Rs yesterday and, sure enough, they worked as intended right out of the box. That’s what is making me think that I somehow got a bad batch of SG90s, since I burnt out like 5 or 6 of them in a row within seconds of plugging them in.

Here’s a rough demo of the lamp in motion: GlaDOS Lamp Servo test - YouTube

You can probably hear one of the servos that’s fighting against the load, but that’s actually the one at the top that’s holding quite a bit of the lamp’s weight. Not sure if there’s much I can do about that without replacing it with a higher powered one.

Small cheap servos are not designed to work against heavy loads and will cook like this if
you attempt it.

My guess is the servo in question is being asked to support the whole mass of the arm,
which isn't a balanced design.

This means it will be loaded with perhaps 4 times the static torque of the next servo along
(twice the lever arm, twice the mass).
Dynamic torque requirements go up as the cube of arm length as moment of inertia depends
on the square of the lever arm as well as the mass.

Moral is measure/calculate the torque requirements... (or use a balanced design)