Continuous rotation servo

clockwork

Member
I am considering using a continuos rotation servo in a project I am planning..

I have used normal servos in previous projects without a problem as they are easy to control.
In a previous version of the project I used a standard servo and a couple of levers to
create a form of linear actuator. However space constraints prevent using this approach again.

The question is what is the best way to control a continuous rotation servo?
What code would you use to say make the servo rotate clockwise for say 2 or 3 seconds?
Also how to reverse the rotation. The servo will be used to make a simple linear actuator
using a drum and pulley, (controlling speed, distance travelled and direction).

I have some ideas about how to proceed but would welcome forum members views.

Clockwork
 
Continuous servo uses much the same PWM signals as an ordinary servo. Typically a high pulse of 1000 to 2000 microseconds with 1500us as centre pulse width value. Repeat the pulse every 20 milliseconds (frequency of 50Hz)

The big difference is that adjusting pulse width determines speed, not angle.

Every servo is different, so calibration will be required (just as with normal servo)

My servo has the following characteristics - yours will be a little different, but similar principle.

all values are microseconds pulse width (high time)
1100 and below - maximum speed anticlockwise
1499 - very slow anticlockwise
1500 to 1501 - indeterminate
1502 to 1549 - stopped - dead zone
1550 - very slow clockwise
1800 to 2000 - maximum speed clockwise

"best way to control" is very subjective and would be implementation dependant, but I recommend start simple.

1 Choose PWM values for the desired speed.
2 Delay for x seconds. Choose value of x by trial and error to give desired linear distance
3 set PWM for the middle of the dead zone (to stop the servo)

When you have perfected the simple method, you might want to find fancy ways to calibrate each individual servo.
You may want to find non-blocking ways to set delay time x

Then again, you may find the simplest way to be good enough for your purposes

Unlike my angular servos, my continuous servo stops with a permanent low signal - no idea if yours will work the same
 
Last edited:
Many thanks to Hex, Bill.B and Erco for your input.
I am now happy that I can control a CR Servo. My main problem now is how to get 3 servos, the control circuitry,
a PIR board plus two battery holders in a space approx A4 size by 18mm deep. I am using minature servos but they have to be laid on there sides in order to fit, so some form of gears or levers will be required to get the movement in the correct orientation.
The project is an art exhibit that has moving parts.

Clockwork
 
Standard servos come in many different sizes, many can be modified into CR servos if that suits you.


Or if you can relocate the control circuitry somewhere else and just install any dc motors you need in your limited space, there are boards that let you do just that.

 
Thanks for the info Erco.
I am using SG90 "Tower Pro" Micro servo's because of there physical size (and they are cheap which is a bonus).
I found it easy to take them apart and to modify to continuous rotation. However it appears that being used in the traditional way of restricted rotation and using levers and push/pull rods is proving easier to build than my original idea of using pulleys and rollers.

Clockwork
 
Good to hear that. Servos are fascinating. The best of both worlds are the newer CR servos with a rotary encoder. I only see them in standard size though. I keep asking Feetech to make a 9-gram version.

 
Hi Dartmoor,
Thank you for your interest in my question.

I previously researched the use of linear actuators of various types. For my purposes I needed a 70mm - 80mm movement, very small size
and to run on battery power. Whilst there are a few actuators available that fit these parameters they are expensive. I found that I could make a reciprocating linear actuator ( using servo actuated levers to move a shaft up and down ) using very small and very cheap servo motors. This system works because the load being moved is very light and really high speed movement is not required. The result is slightly complex linkages to move objects, but with the advantages of cheapness and having all the materials required to hand.

Servo motors can be made to move all kinds of objects in many different ways and be easily controlled via PicAxe microcontrollers.
I dropped my original idea of using continual rotation servos to drive rollers and belts due to the difficulty of implementation and possible reliability issues, levers and linkages are easier to make compared to pulleys and belts.

Clockwork
 
Back
Top