PDA

View Full Version : [Question(s)] Servo not moving as desired. HELP! 180° servo seems stuck at 120°

mustache
10-09-2013, 01:38 PM
Hi everyone, Ive just gotten started tinkering in some hobby robotics and a bought a bunch of GOTECK GS-9650BB servos with which i hoped to eventually build a 4 legged walker robot.

I calculated some inverse kinematics and was satisfied the math was correct but somehow the positioning of the robot arm was always off anyway. I redid the math and came to the conclusion it was correct. Next i checked if the servos were functioning correctly and found the were not!

I wrote a program with the arduino IDE sweeping (servo.write(angle)) from 0° to 180° but what i found was that the servos in fact moved only a total of maybe 120°. I tested several other servos as well and they all had this problem so i assumed the standard pulse widths sent out by the arduino library didnt match my servos.

I tried mapping the pulse to several different spectrums (servo.writeMicroseconds(map(angle,0,180,750,2250) ) for example) but that didnt work either.

Next i tried turning the servo by hand without an applied current and found i could turn the servo no problem 0-180°. I then tried to let the servo turn from 0°-300° incrementally to see whether or not the servo would turn past the 120° threshhold by itsself, but it would not.

SOOOOO does anyone with experience with servos know what could be the problem? I cant think of anything else myself

jwatte
10-09-2013, 05:12 PM
It may be that the hobby servo potentiometer/feedback doesn't want to go beyond the 120 degree range.
What is the problem you want to solve -- do you want the servos to go 180 degrees, or do you want the servos to go to the position you tell them to as long as it's within the 120 degrees?
If it's the latter, then an appropriate map function call should solve that.
If it's the former, you may have to go with some different hobby servos, or some higher-end robot servos.

KurtEck
10-09-2013, 08:41 PM
Looking at the specs, it looks like it is speced for +-60 degrees.