Strange servo behavior

A little confused about this servo behavior. My two new Futaba S3003s seem to give a short burst of normal function, then begin to shake and move slowly. Here's a video of the Arduino sample servo code, Sweep, on the servo in question: https://www.youtube.com/watch?v=xqNYS_C9TJA

Here's the same code, and same connection to the Arduino, with a (working) AR3606-HB continuous servo: https://www.youtube.com/watch?v=w9CKWj-W1XY

The only potential reason I can come up with to explain this behavior is that I immediately used an external battery pack with the two new servos. It's possible that either the ground or power cables weren't exposed enough from their shielding during first use. I had cut some shielding after trying both servos, but am getting the same results (did I damage the servos?). The external battery pack works well with the AR3606-HB. The pack holds 4 AA batteries, matching the required voltage for the Futabas.

It sounds like you have one servo in one case and two servos in the other.

If you are powering the servos from the Arduino that is probably the problem. An Arduino cannot provide enough current. You may get away with it with a single motor, but not with two.

Always give motors a separate power supply with the servo GND connected to the Arduino GND.

...R

I am only using one servo in both cases. The servo in question behaves the same when powered by the battery pack and powered by the arduino. The servo with normal behavior responds normally with both power sources.

There has always been a common ground, but again I wonder if this may be a result of the ground from the battery pack originally being under exposed from the cable shield.

Post the code you are using and a photo of a drawing showing all the wiring connections.

...R

I referenced in the original post that I'm using Arduino's example servo code, Sweep.

I'm certain my wiring configuration is correct both when using the external power supply (http://www.netlabtoolkit.org/flash/wp-content/uploads/2010/05/servo_connection.png) and when not (http://ninad243.weebly.com/uploads/1/2/5/5/12557204/1839348_orig.png).

tecuser: I referenced in the original post that I'm using Arduino's example servo code, Sweep.

If I want to look at that code I have to find where my Arduino IDE has stored it and then load it into a text editor. If you just post it here I can see it immediately. Also it would be nice to be sure I was looking at the exact code you are using.

The wiring diagrams look OK - although one has two servos even though you say you are only using one. Problems can emerge in very small details.

Have you tried controlling the servos from a different Arduino pin - just in case a pin is damaged? Are you sure all your connections are good?

...R

For anyone requesting his code, it can be found at this link: http://arduino.cc/en/Tutorial/sweep

// Sweep
// by BARRAGAN <http://barraganstudio.com> 
// This example code is in the public domain.


#include <Servo.h> 
 
Servo myservo;  // create servo object to control a servo 
                // a maximum of eight servo objects can be created 
 
int pos = 0;    // variable to store the servo position 
 
void setup() 
{ 
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object 
} 
 
 
void loop() 
{ 
  for(pos = 0; pos < 180; pos += 1)  // goes from 0 degrees to 180 degrees 
  {                                  // in steps of 1 degree 
    myservo.write(pos);              // tell servo to go to position in variable 'pos' 
    delay(15);                       // waits 15ms for the servo to reach the position 
  } 
  for(pos = 180; pos>=1; pos-=1)     // goes from 180 degrees to 0 degrees 
  {                                
    myservo.write(pos);              // tell servo to go to position in variable 'pos' 
    delay(15);                       // waits 15ms for the servo to reach the position 
  } 
}

Robin2: If I want to look at that code I have to find where my Arduino IDE has stored it and then load it into a text editor. If you just post it here I can see it immediately. Also it would be nice to be sure I was looking at the exact code you are using.

The wiring diagrams look OK - although one has two servos even though you say you are only using one. Problems can emerge in very small details.

Have you tried controlling the servos from a different Arduino pin - just in case a pin is damaged? Are you sure all your connections are good?

...R

As mentioned in the original post, the same connection is made to a different servo yielding normal results. I will be returning the servos to the seller.

cressmanj24: For anyone requesting his code, it can be found at this link: http://arduino.cc/en/Tutorial/sweep

Alas, experience has taught me ONLY to rely on the code that a person is actually using. It is fascinating how many people say It's just like X No! I never changed it Well -- just a little

...R