Manually operating a servo

Hi, I’m new, and in the beginning design stages of a project that your site has made seem deceptively easy. I feel a lot like a guy who has spotted a gemstone in the mouth of a shark and is trying to determine if he, indeed, has plenty of time to snatch it out like everyone claims, or if he’s about to contribute to the sharks diet. :laughing:

The concern I have is this… in my project, there’s a requirement for a servo to pull an arm to control the movement of a hinged lever.

Unfortunately, the same hinge must be used two other ways:

#1- the user must be able to manually move the lever when the servo is stationary. To “pose” the lever in various states. Thereby overpowering the servo.

#2- through normal usage, there is very likely to be conditions where several levers operating in the same space will collide with each other. All of the levers would be controlled by the same board, BUT this collision is expected by the user, and if I DID manage to program to avoid any possibility of this happening, it would defeat the purpose of the collision.

From my limited understanding, manually operating (or defeating!) the servo will risk stripping it. I see that the metal geared servos “stand a better chance” of survival under those circumstances, but I’m hoping to achieve repeated use, and expect these conditions to occur quite often in the lifecycle of the system, so obviously I don’t want this to destroy it.

What am I missing here…? Will a standard rc non-plastic servo handle that kind of abuse?

Do I need a mechanical solution to disengage the servo if it faces resistance of more than a specific force? I see this as being possible, in terms of a spring loaded gearbox… resistance pulling the load off of the servo… resulting in lots of angry clicking. Then do a limit reset, in terms of running the lever to a maximum position, forcing it to disengage again as the servo went to it’s programmed limit. Do they make these, or would I have to come up with something myself?

Do I simply write an error-handling routine to deal with a stopped servo?

Is there a servo that gives feedback to the board with regards to resistance, permitting a more accurate error-handling routine?

As a further note: I’m looking to run the system under USB power on your Micro Maestro board. I have no electric wiring experience, but I’m seeing that your servos are “plug-n-play”, and the programming seems acheivable. As long as I can plug it all together somehow, I’m good… or so I beleive in my ignorance :wink:

Any help greatly appreciated! Thanks!


I think RC hobby servos are unlikely to work in your application. They usually have a high gear ratio that makes it difficult to backdrive them even if the servo is turned off, and there’s no feedback mechanism for telling you what the servo is trying to do. You could try tapping into the potentiometer on the servo and monitoring the servo current, but that’s quite a bit of work, and the servo wouldn’t be doing that much for you at that point. You might be better off finding an appropriate motor and gearbox and then making the servo control system yourself so you have better control of what the system does. However, getting a couple of metal servos and playing with them is a lot cheaper, so it might be worthwhile to try that route first.

You won’t get enough power for multiple servos out of a USB port. The USB port can power the servo controller, but you’ll need a separate supply for the servos.

- Jan

Thanks for the heads up. I guess with no feedback from the servos, and no “realistic” ability to backdrive, I’d need to set-up what I guess I’m calling a failsafe clutch.

Basically, a spring to hold the gear that physically handles the load, driven by it’s contact to the servo gear. Any reverse loading (ie- a user manipulating the lever, or lever movement interruption) would put pressure on that spring, and thereby disengage the clutch from the servo drive gear… permitting the servo to complete it’s cycle without ever running into stall resistance, or reverse drive, no matter what the lever is doing at that point, and then reengaging the servo when the pressure has stopped.

Mechanically, I think I’ve got a mental design that would also control how the lever was re-engaged so that it would self-align with the beginning or end of the servo’s working range at the beginning of each movement cycle. So if I set the servo to move to -1 degrees, then move to 10 degrees, I can set the lever’s clutch so it wouldn’t be able to positively engage until the servo was at 0 degrees, and on it’s way to the new position.

However… the power source thing has me concerned. I’m not electrically-inclined at all. I was foolish enough to beleive the USB power would handle the servo power too.

At least I now feel like I’ve got enough info to create the mechanical aspects, so, I’ll start there.

Assuming I can create that portion of it, next, I’ll ascertain my servo torque needs, and then I’ll come rushing back here to see what I need for them powerwise. Thanks very much for your feedback.

I’m looking at 15 servos. I need to control all of them with a single control program.

The servo I’m currently considering is the GWS Servo S03T STD

At any given time, all servos might be in operation at the same time, and their efforts need to be coordinated through a single control point.

My thoughts are to use the Maestro 6-pin as a master controller, and have it trigger programs on 2 other maestro 6-channel slaves. (5 servos per controller). This way I use 3 servo power sources, rather than trying to supply power to all 15 servos through the connection on a 20-channel maestro. (I’d use 3 USB connections on a USB hub to power the actual controllers).

#1- I’d be able to achieve my goal in stages, based on how much hobby money I can throw at it at a single time.
#2- the amount of power would be divided amongst 3 cards, rather than everything going thru one. (which I was lead to beleive might be beneficial, but I was hoping to get opinions on that).

Are there any downsides to going this way, aside from an increase in cost? Am I better-off just loading up the 20-channel maestro? Which would be more stable?

Also, here’s the big dreaded question… what power supply do I need to drive all 15 servos (5 at a time, or all on one card)?

Any help would be appreciated… I’m still trying to determine how all this is supposed to work.

I don’t think there’s that much to gain from splitting up the servo controllers, and using one 18-channel servo controller will be cheaper and easier than using three 6-channel ones. For the power supply, you should take a look at using the 5V line on computer power supplies. They are pretty cheap, and they usually have plenty of current available. You’ll have to mess around a bit to turn the supply on, but there are many resources online about using computer power supplies as general power supplies.

- Jan