Tower Pro MG958 servo won't turn but Micrso Servo will.

This has completely stumped me.

I had a project which was using a Tower Pro micro servo sg90 with a 5v Arduino mini, but the servo was turning out to not be powerful enough for my needs.

So I got a Tower Pro MG958 which should have some more power to it instead. But when I plug it in it won't turn. It just kinda clicks.

At first I thought it was a defective product. I had several micro servos and they all ran fine on the test programs. So I got another one. I swear I tested it and it seemed to spin. I recall thinking it was defective at first but then it went once I made sure the connections were good. That was maybe a month ago because I didn't want to take my project apart to swap the servos just then. But now that I've done it I can't get it to run. I can get the micro servo running just fine though. I've tried with both the Arduino Minu and an Arduino Uno and I'm getting the same results.

I'm using 5v. Is that not enough power? Is it something else? Right now I'm trying to run the basic library servo stuff and it works fine for the micro servos but not the MG958.

technicallyartistic:
I'm using 5v. Is that not enough power?

You don't measure power in volts, so that's a bit of a nonsense question. (Electrical) Power is the product of Volts and Amps, Amps being the current, the rate at which electrical charge flows.

So although you may have 5V (and I see from the web that your servo requires 4.8 to 6 so 5 should be ok), your source is probably unable to provide enough current and hence not enough power. (edit: ie, not enough power for the big servo although it was enough for the small one.)

I'm taking a wild guess here but are you powering the servo from the Arduino 5V? Don't do that: you need a decent external power supply (say 4x AAs..... rechargables are 1.2 each (that's where the specified 4.8 comes from) or non-rechargables are 1.5 (hence the 6)).

Connect the external supply to the servo + and -, and then connect the supply - to the Arduino ground.

Yeah, I kept reading and went that direction. I got it to jump once but then it's doing the same thing. I had tried that before but I didn't realize they needed a common ground to work. So right now I've got the ground from the second power source and the arduino ground spliced together and going into the servo.

The second power supply is 5v 700ma. Is that still too low even though the servo is rated for that?

Edit:
I just tried a battery pack I had, 4 regular AAs. I get about 6 v on the multimeter. But it's still just clicking.

This is the data sheet I'm going off of. Aside from the secondary power supply and the shared ground, I don't see anything that I'm not doing here.

Even a small servo can take over an amp when starting. Try and measure the voltage across the servo when it is running and see if it is dipping.

That datasheet shows a stall current of 2.5A. I may be wrong but my understanding of DC motors is that the stall current is drawn at startup. That could explain why it wont fire up.

I think you can verify that by measuring the resistance across the motor winding (ie the + and - wires with it disconnected), then Mr Ohm tells us I = V/R = 6 / what you measure. (edit: and that afaik is the stall current.) Scratch that, see G_M's reply #7.

(Perhaps G_M could confirm or correct what I said in #5?)

You will not get the coil resistance from a meter measurement because the coil goes through an electronic switch, normally a h-bridge.

Grumpy_Mike:
You will not get the coil resistance from a meter measurement because the coil goes through an electronic switch, normally a h-bridge.

Ah ok so scratch that thought.

But am I correct Mike that stall current is drawn at start up?

Yes it normally is for an instant. A capacitor of a few hundred uF across the servo might help.

Grumpy_Mike:
Yes it normally is for an instant.

But would prevent an actual start if the supply was unable to provide the current? (Just confirming for OP's sake, since he doesn't have a 2.5A supply.)

I'm not sure if I know how to measure the voltage across the servo.

I tried running the power though a bread board with a couple extra wires tapped in hooked to the multimeter. I didn't see the power dip as I plugged in the servo. It stayed at a fairly steady 5.2v. I don't think I know the right lingo to use here, but positive and negative power in was shared by the multimeter and servo. The arduino was running off usb power and the ground was also shared there via the spliced wire I made previously.

See G_M's edit to #9 re capacitor btw.

I'm digging around what I have right now. I didn't even think of that. I have a 6.3v 470uf cap I just tried but that didn't seem to do it. I'm looking to see if I can find something slightly larger. I also have a bunch of old appliance boards somebody gave me. I might be able to salvage one off of one of those. Otherwise I'll have to wait to run to the store.

If 470uF didn't help then a bigger one probably won't either.
If everything is as you say then it looks like you have a faulty servo, but my money is on a faulty connection somewhere. Is it all soldered up?

No, it's not soldered up yet. I'm using those easy to connect jumper wires. Some of the connections between wires are soldered like in the splice but the connection seems good when I check it. I thought it might be a bad connection too but if it is, it'd be in the servo wires.

Also, I thought that once already. This is my second one. I'd be surprised if I got two bad ones in a row. Like I said I saw it spin for a second after giving it it's own power supply. I just haven't seen it do it again.

Grumpy_Mike:
my money is on a faulty connection somewhere.

What about the 2.5A stall current being the short-lived requirement from a 700mA supply at start up though Mike?

Got it. It's the amperage. I found a lithium battery that is 3.7v and 2000ma. With that in the chain it works now.

So future question. If I get a 5 or 6v power supply that is 2-3 amps and hook that up to both the servo and the Arduino pro mini, would that likely fry anything over time? Part of this is the mini fits in a moded bathroom scale currently and I'd like to keep a clean set up.

Please do not cross-post. Other thread removed.

technicallyartistic:
If I get a 5 or 6v power supply that is 2-3 amps and hook that up to both the servo and the Arduino pro mini, would that likely fry anything over time?

No... in general things only draw the current they need. (LEDs are among the things that will take any current they can, hence the need to use a series resistor.)

If that wasn't the case, our houses would be aglow since we would be drawing the effectively limitless current available from the grid. :slight_smile: