Misbehaving Servo

by fastandfaithful on Tue May 07, 2013 2:42 pm

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
fastandfaithful
 
Posts: 4
Joined: Fri Apr 19, 2013 5:45 pm

Re: Misbehaving Servo

by adafruit_support_mike on Tue May 07, 2013 3:24 pm

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 | TOGGLE FULL SIZE
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.
When you void a product warranty, you give up your right to sue the manufacturer if something goes wrong and accept full responsibility for whatever happens next. And then you truly own the product.
User avatar
adafruit_support_mike
 
Posts: 8658
Joined: Thu Feb 11, 2010 1:51 pm

Re: Misbehaving Servo

by fastandfaithful on Wed May 08, 2013 3:55 pm

Thanks for helping! Attached are the first three pictures :)
Attachments
90.jpg
90
90.jpg (18.64 KiB) Viewed 230 times
60.jpg
60
60.jpg (18.52 KiB) Viewed 230 times
0.jpg
0.jpg (18.98 KiB) Viewed 230 times
fastandfaithful
 
Posts: 4
Joined: Fri Apr 19, 2013 5:45 pm

Re: Misbehaving Servo

by fastandfaithful on Wed May 08, 2013 3:56 pm

And here are the last two.
Attachments
180.jpg
180
180.jpg (18.19 KiB) Viewed 230 times
120.jpg
120
120.jpg (18.16 KiB) Viewed 230 times
fastandfaithful
 
Posts: 4
Joined: Fri Apr 19, 2013 5:45 pm

Re: Misbehaving Servo

by adafruit_support_bill on Wed May 08, 2013 4:21 pm

That doesn't look right at all. If you contact support@adafruit.com with a link to this thread we can arrange for a replacement.
User avatar
adafruit_support_bill
 
Posts: 28161
Joined: Sat Feb 07, 2009 9:11 am

Re: Misbehaving Servo

by fastandfaithful on Fri May 10, 2013 11:40 am

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
fastandfaithful
 
Posts: 4
Joined: Fri Apr 19, 2013 5:45 pm