Increasing a digital servo motor’s range of motion

Unhappy with the 120 degree range of movement for this digital servo motor [Malte] set out to expand its flexibility. He settled upon a hack that alters the feedback potentiometer in order to give the motor a wider range (translated).

The test video (embedded after the break) shows tick marks for before and after his alterations. You can see that the wider tick marks get much closer to the 180 degree range he’s interested in. The control method is no different than it was before, the internal circuitry is still listening for a control signal with pulses between 1 and 2ms to establish the position of the servo horn. [Malte] added resistors on the two outside legs of the feedback potentiometer. This is what that control circuit measures in order to judge the position of the servo horn. He’s using 1.6k Ohm resistors in this demonstration. But he didn’t just drop them in willy-nilly. His writeup discusses the calculations he used to determine the target voltage for the motor position he wants.

Comments

  1. Ikari-pt says:

    It works, but you lose precision.
    Ok for some tasks, but when you need pressision and torque, its not a solution.

  2. Brett_cgb says:

    I find that most unmodified servos respond to 0.5ms-2.5ms wide pulses by increasing rotation to about 240-270 degrees.

    Nothing comes for free though – Outside the 1.0-2.0ms range, the servo position is not exactly proportional to pulse width, and not very consistent from one servo to the next. But for any given servo, positioning is still very consistent.

    • Malte says:

      What you say is absolutely true for analog servos. But all digital servos I got my hands on yet had a working range of only about 120°. Of course I tried shorter and longer pulses but that didn’t work.

  3. wetomelo says:

    I only opened in my life one servo, and i remember ther is a kind of phisical limit builit in some of the inner gears, so maybe isn’t matter of modding the potentiometer, maybe you have to moto-tool some limitig cam on the respective gear

    • Malte says:

      Most servos are mechanically limited to 180°. That is also true for many digital servos. However, the actual range of digital servos is limited to 120° by the control electronics. Hence, to remedy this an electronic solution is needed.

  4. gyro john says:

    Before modification, the servo’s motion looks good: it ramps to a stop with no overshoot in either direction.

    After modification, the servo exhibits some nasty overshoots in the CW direction only, and it does not even overshoot consistently. I would need a better solution.

  5. tlalexander says:

    I believe there is some range of motion adjustment already designed into digital servos, using something like this:

    http://www.servocity.com/html/hpp-21_servo_programmer.html

    I’m not sure the extent of end stop adjustment you can do, but it does say that is one of the features.

  6. Pilotgeek says:

    This is a VERY old hack in the RC car and airplane world. I’ve done this with quite a few to get a little more range. Works with analog servos, too.

  7. conundrum says:

    May be an old hack but certainly effective.

    I’d also add a couple of Hall sensors to add hardware limiting just to make sure, that way the pot won’t get broken if something goes awry.

    Find a helpful PC repair person, and score a few dead case/CPU fans as these have nice sensors which can be “upcycled”.
    often they are happy to give away a box of “junk” if you pay for their time sorting it, as long as you explain what you need it for.
    Plus the old casing with magnets can be recycled into a makeshift wind turbine.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 94,063 other followers