Question about Servo

The next thing I'd like to do is the following:

I have a robot. I have made some eyebrows for it. I wish to have him raise them anytime something gets close to him by PING or By IR. and, Lower them when nothing is around.

This is a cool effect. I have already done this once on another robot that was controlled by the basicstampII. It was in PBasic. Now, I am in "c".

I have gotten control over the servo and I can place it in the position I want it, but it doesn't turn loose of the servo. It stays there in that position and cannot be moved. I would like to relax this motor after it has been placed in it's position. It seems like it would burn up with so much tension on it, magnetically, I mean. Maybe I can't. I just want your opinion.

Next, is a BIG question. I already done this once in Pbasic. But, I want it to track with it's PING panning servo anything that gets closest to it. This is another cool effect that I like.

I have a million things planned, but these are the next two steps.

Thanks in advance, so I do not wear out the forum with my thank yous.


It sounds like you need to find a good basic tutorial on how servos work (sorry, I can't think of any at the moment). Unless you put a really heavy (relative to its strength) on it, the servo won't suffer from holding a specific position. In fact, if the load is really light, the servo motor may not run at all: the friction of the gears and inertia of the armature may be enough to keep it in place.

You should have a couple of positions worked out (let's say 0 degrees for "down", and 90 degrees for "up"), and be able to do "servo.write(90);" to raise the eyebrows, then "servo.write(0);" to lower them.

If that's not working, you might have a bug in your code, or a problem with the servo arm hanging up on part of the mechanism when you move to the "up" position. Perhaps you're rotating it too far? Perhaps the way the servo is connected to the eyebrows limits its movement to, say, 80 degrees, and you're trying for 90? That would definitely make the servo unhappy, and possibly cause it to overheat as it kept running the motor to try to reach an impossible angle.


Hobby servos are not designed to be moved by forcing the output shaft. If you stop pulsing a servo it will not actively resist movement but you still put a lot of stress on the gears when you physically move the shaft.

Best to use some kind of clutch or mechanical linkage that allows the movement you want without actually moving the servo shaft.

Thanks, Guys!

What I am trying to do is stop the pulses when it gets to the right position. 0 degrees is up and 25 degrees is down. It has no heavy load, I just feel a lot of magnetic energy trying to keep it in place and if I could stop the pulses, it would probably stay in the same place. We are tallking eyebrows on a robot.


you can stop the pulses by detaching the servo. But I still suggest you don't try to move the servo by physicall rotating the output shaft.

oh, so it is a detach command? Thanks!