Go Down

Topic: servo motor getting stuck  (Read 285 times) previous topic - next topic

Gretaaaa

Hello! I'm using a luxorparts S3003 180 degree servo motor with the arduino uno, and I'm using the Servo library and the Sweep sketch:

Code: [Select]
/* Sweep
 by BARRAGAN <http://barraganstudio.com>
 This example code is in the public domain.

 modified 8 Nov 2013
 by Scott Fitzgerald
 http://www.arduino.cc/en/Tutorial/Sweep
*/

#include <Servo.h>

Servo myservo;  // create servo object to control a servo
// twelve servo objects can be created on most boards

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 >= 0; 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
  }
}


The ground pin on the servo is the arduinos, the 5V pin is connected to an external voltage supply and the data pin is connected to the 9:th on the arduino.

When I upload the sketch the servo can move for a while, but then gets stuck in the same spot and starts to make a buzzing sound. I have tried replacing the components and restarting my computer, but nothing seems to help. Does anyone know what to do?

slipstick

When you say "moves for a while" do you mean it makes several complete 0 to 180 sweeps and then stops or it only completes part of one sweep then sticks?

If the first it's possibly insufficient power so exactly what is the "external voltage supply" and is its negative connected to the Arduino GND pin?

Otherwise it may be that the Servo library defaults are driving it too far. Try changing the attach to 'myservo.attach(9, 1000, 2000);' and see if that changes anything.

Steve


Go Up