Misbehaving Servo

Post here about your Arduino projects, get help - for Adafruit customers!

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
fastandfaithful
 
Posts: 4
Joined: Fri Apr 19, 2013 6:45 pm

Misbehaving Servo

Post by fastandfaithful »

Hello,

After contacting customer support about a servo I was having trouble with, I was instructed to post my problem here. Below is the email I sent:

"I recently purchased the Standard Size High Torque Metal Gear Servo (ID:1142) from your website, and have not been able to get it to work correctly with my Arduino. I used the unaltered Sweep example, but am only getting about 150 degrees. (Using -90 instead of 0 and 90 instead of 180 produces even less range, and changing the delay to 20 didn't change anything either).

I read this thread on the Adafruit forums:
https://www.adafruit.com/forums/viewtop ... 9&p=189125
on which adafruit_support_bill wrote "If a 1ms-2ms pulse range at 50-60Hz does not give you something close to a 180 degree swing (+/- 10 degrees) then your servo has a defective circuit board and we will replace it." The post instructed me to email this address with a link to the thread for replacement."

Please let me know if my servo does indeed need to be replaced or if there is something I can change to make it work.

Thank you,
fastandfaithul

User avatar
adafruit_support_mike
 
Posts: 67485
Joined: Thu Feb 11, 2010 2:51 pm

Re: Misbehaving Servo

Post by adafruit_support_mike »

That's an excellent summary of the issue you're dealing with.. thank you.

Here in the forum we build the support file so the people who handle returns can say, "yep, that's a bad one, ship a replacement" as the slowest-for-you alternative. If we can find a way of getting the thing to work that doesn't make you wait for shipping, we get Scooby Snacks. ;-)

In this case, it sounds like you have the issue pretty well mapped out, but let's nail the documentation down firmly. Start with the code from the Sweep example sketch, empty the loop() function, and put a single control statement into the setup() function:

Code: Select all

void setup() { 
    myservo.attach(SERVO_PIN_A);
    myservo.write( 90 );
} 

void loop () {
}
Run that for positions 0, 60, 120, and 180, and get a picture of the servo's position each time. Post those here (they don't have to be huge, just big enough to see where the servo horn lands for each value) and that will probably be all the information we need.

If you happen to have an oscilloscope and can get traces of the signal at the point where it enters the servo wires, that would be awesome, but it's hardly necessary.

fastandfaithful
 
Posts: 4
Joined: Fri Apr 19, 2013 6:45 pm

Re: Misbehaving Servo

Post by fastandfaithful »

Thanks for helping! Attached are the first three pictures :)
Attachments
90
90
90.jpg (18.64 KiB) Viewed 490 times
60
60
60.jpg (18.52 KiB) Viewed 490 times
0.jpg
0.jpg (18.98 KiB) Viewed 490 times

fastandfaithful
 
Posts: 4
Joined: Fri Apr 19, 2013 6:45 pm

Re: Misbehaving Servo

Post by fastandfaithful »

And here are the last two.
Attachments
180
180
180.jpg (18.19 KiB) Viewed 490 times
120
120
120.jpg (18.16 KiB) Viewed 490 times

User avatar
adafruit_support_bill
 
Posts: 88154
Joined: Sat Feb 07, 2009 10:11 am

Re: Misbehaving Servo

Post by adafruit_support_bill »

That doesn't look right at all. If you contact [email protected] with a link to this thread we can arrange for a replacement.

fastandfaithful
 
Posts: 4
Joined: Fri Apr 19, 2013 6:45 pm

Re: Misbehaving Servo

Post by fastandfaithful »

I have contacted customer support and placed my replacement order. Thank you so much for your excellent service! You have my business and recommendation :wink:

fastandfaithful

Locked
Please be positive and constructive with your questions and comments.

Return to “Arduino”