Pololu Robotics & Electronics
Menu
My account Comments or questions? About Pololu Contact Ordering information Distributors

Pololu Forum

Getting the servo to turn more than 90 degrees


#1

I am connecting a parallax servo to the six-channel Micro Maestro. Using the controll center, I have the servo set on “0” the target is 992 and position is 2000. That makes the servo turn 90 degrees, it works. The range of the servo is 180 degrees. How can I get a larger turn? Also is it possible to use a continuous rotation servo? Thanks

Steve


#2

ok, second question: I have attached the pot and as I turn it, the servo only take two positions, about 45 and then 90 degrees. is there a way to make the servo mirror the pot in rotations? I saw another post with kind of the same question but the sample program does not do this. thanks

steve


#3

Hello,

Be careful when going past the normal 90 degree range to avoid damaging your servo.

To find the settings that make your servo rotate as much as it can, first set the min and max values on the channel settings tab in the Maestro control center to a wider range. Then, use the lowest possible supply voltage at which your servo moves, and gradually move the slider on the status tab until the servo does not move any further or you hear the servo straining. Once you reach the limit, immediately move away from it to avoid damaging the servo. Finally, return to the channel settings tab and configure the min and max settings to never go past the limit.

Normal continuous rotation servos will probably work with the Maestro.

In response to your second post, could you please provide more information? What pot? What post? What program?


Noob question: why is servo angle <180deg?
#4

EmilyH, you are my new hero! Thanks that worked perfectly. Now my next problem, I am using a pot to control the servo:

###############################################################

Sets servo 0 to a position based on an analog input.

begin
1 get_position # get the value of the pot, 0-1023
4 times 4000 plus # scale it to 4000-8092, approximately 1-2 ms
0 servo # set servo 0 based to the value
repeat

################################################################

I am not really sure of the programming but it works to control the servo through 90 degrees of movement. But I want more! Somewhere near 180 would be nice but I don’t know how this program really works and what numbers to change. Any help would be great. Thanks

Steve


#5

Hello,

This program takes a value from 0-1023, multiplies it by 4, and adds 4000. The result is a value from 4000-8092, which is approximately the 90-degree range.

You can double the range by multiplying by 8 instead of 4; you will probably also want to change the 4000 to a 2000 so that the range becomes 2000-10184.

If you want to understand it more, try reading the User’s Guide and also stepping through the program one command at a time to see what it is doing!

Good luck,
-Paul


#6

Thanks Paul, that works perfectly.

Steve