Servo gets hot at start up

I have a normal digital servo hooked up to an arduino and am using the arduino servo library.

The servo works some of the time exactly as it should, but on start, up it's unresponsive and just gets warm and usually will eventually work or not.

I've tried two different servos, each were brand new, two different arduinos, and different wiring.

As for the code, I've just been using the "sweep" example from arduino website.

It also definitely has enough power; I'm using a li-ion battery that can supply more than enough. Plus, I've checked the voltage and even the pwm with my scope.

Am I missing something?

Thank you in advance! :slight_smile:

tylerstorm:
Am I missing something?

Yes, disclosing the details as to exactly what the following means (schematically):

"I've tried two different servos, each were was brand new, two different arduinos, and different wiring.
"It also definitely has enough power; I'm using a li-ion battery that can supply more than enough. Plus, I've checked the voltage and even the pwm with my scope. "

Am I missing something?

Probably a good ground connection between the arduino ground and the external power supply ground.

zoomkat:
Probably a good ground connection between the arduino ground and the external power supply ground.

That was my first thought, but would that explain the overheating?

JimboZA:
That was my first thought, but would that explain the overheating?

Yes, give it a try on a small 9g sacrificial servo.

zoomkat:
Yes, give it a try on a small 9g sacrificial servo.

So, when I connect power to the servo, my multimeter reads about 1.5 amps. Clearly, this is why it's getting so hot, but I'm just at a loss to explain why it's drawing so much current. The servo's stall current rating is about 1 amp.

A little more info:

Servo I'm using: Savox SH-0253

For a power supply, I have a 7.4v 2600 mah li-ion battery connected to a 2.5 amp/5v Polulu regulator.

I could write up a schematic if you all would care to look at one. I only didn't at first because I figured I was just making some obvious mistake.

So, I just hooked the servo's ground wire directly to the battery's...and now it works perfectly. Thank you!

Now, I'm just curious why?

What would cause it to draw so much current?

Unfortunately, it's doing it again now. :frowning:

However, if after turning the arduino on, I unplug the power just to the servo then plug it back in, it works.

Any ideas as to the cause of this?

Thanks!

Examine the wiring/soldering carefully inside the servo.

LarryD:
Examine the wiring/soldering carefully inside the servo.

Well, I've experienced these results with two different servos, each was brand new. So, I find it unlikely that it's the servos, but I'll take a look though. Thanks.

So, I have a scope, but I just bought it to learn; I'm no electrical engineer.

Below is a link to what it looks like on the scope when I turn the arduino on. By the way, I have the scope connected across the power to the servo. On start up, It seems to oscillate from about 4.5v to 5 or so after I turn it on. But, if I unplug just the power to the servo then plug it back, the scope then reads a straight line at 5v as it should. Any ideas anyone? Thanks.

Dropbox link to scope picture

I read the scope wrongly. It actually seems to be oscillating between 2v and 3.5v. This must be below the operating voltage of the servo and the reason why it probably draws so much current on start up. Thoughts?

What would cause the voltage drop? The battery I'm using is rated at a max discharge of 5.9 amps so I wouldn't think the battery is at fault.

I think we need to see a sketch of the circuit.....

So, I just hooked the servo's ground wire directly to the battery's...and now it works perfectly. Thank you!

I suspect you have basic wiring errors.

servo-wire.jpg

Was waiting for the acclaimed zk servo connection pic to appear in this thread..... :wink:

Well, I have it hooked up just like that and it still does it some of the time. I'm failing to see a pattern.

I wonder if it's just some peculiarity with the regulator. I'll try some AAs. Just the 8 volts or so from the li-ion is probably too much.

Here's a link to a sketch:

Link to wiring sketch

tylerstorm:
So, I just hooked the servo's ground wire directly to the battery's...and now it works perfectly. Thank you!

And, to explain this statement, I originally had the servo hooked to a project that had many little breadboards with the ground wire hopping all of them. I now have it isolated and hooked up to a lone arduino uno running the "sweep" example code.

Just the 8 volts or so from the li-ion is probably too much.

Could be a problem if the max recommended voltage for the servos is 6v.

I just rigged a mosfet to turn the servo's power on about a second after the Arduino, and now it works fine. I still don't understand why it was behaving as it was but oh well; I want to move on. I'll have to come back to it later.

Thanks everyone!

zoomkat:
Could be a problem if the max recommended voltage for the servos is 6v.

The pic shows it's dropped thru' a regulator though.

JimboZA:
The pic shows it's dropped thru' a regulator though.

It is dropped through a regulator; I just wanted to test the servo without it. But, the li-ion puts out too high a voltage by itself hence why I opted for AAs.