Go Down

Topic: 120 degres servo (Read 1 time) previous topic - next topic

lusian

hello
I have a servo like this: http://www.hobbyking.com/hobbyking/store/uh_viewItem.asp?idProduct=6222
The problem is the following: servo is only 120 degrees and I need to do 180 degrees. I could reach 180 Arduino board? He is capable of making 180 degrees, but is limited to 120 grade.Can I overcome this limitation?

PaulS

If the servo is physically limited to 120 degrees, nothing you do in software is going to change that. Time to go shopping...

weirdo557

however it could be that the pulse widths are not properly setup. if i recall there was a method that let you set the minimum and maximum pulse positions. it could be that the code just needs to be adapted for his servo

zoomkat

If it is a digital servo, it may need to be reprogrammed to rotate 180 deg.
Google forum search: Use Google Advanced Search and use Http://forum.arduino.cc/index in the "site or domain:" box.

lusian

is not physically limited to 120 degrees.
how can I see what is the minimum and maximum puls?

vinceherman

Post your code, and we can help you troubleshoot.
Remember to use the # code button.

AWOL

Quote
is not physically limited to 120 degrees.
how can I see what is the minimum and maximum puls?


Look around the forum for zoomkat's oft-posted serial servo example code.

(how do you know it is not limited?)
"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.

zoomkat

The standard servo test code you can use to see what is going on with your servo.

Code: [Select]

// zoomkat 10-4-10 serial servo test
// type servo position 0 to 180 in serial monitor
// for writeMicroseconds, use a value like 1500
// for IDE 0019 and later
// Powering a servo from the arduino usually DOES NOT WORK.

String readString;
#include <Servo.h>
Servo myservo;  // create servo object to control a servo

void setup() {
  Serial.begin(9600);
  myservo.attach(7);  //the pin for the servo control
  Serial.println("servo-test-21"); // so I can keep track of what is loaded
}

void loop() {

  while (Serial.available()) {
    delay(1); 
    if (Serial.available() >0) {
      char c = Serial.read();  //gets one byte from serial buffer
      readString += c; //makes the string readString
    }
  }

  if (readString.length() >0) {
    Serial.println(readString);  //so you can see the captured string
    int n;
    char carray[6]; //converting string to number
    readString.toCharArray(carray, sizeof(carray));
    n = atoi(carray);
    myservo.writeMicroseconds(n); // for microseconds
    //myservo.write(n); //for degees 0-180
    readString="";
  }
}

Google forum search: Use Google Advanced Search and use Http://forum.arduino.cc/index in the "site or domain:" box.

Go Up