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.
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. "
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.
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.
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.
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.
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.
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.