Let's Make Robots!

Continuous Rotation Servo & Picaxe

Ok, so I finally got all my gear set up to build robot numero uno, but Im goin friggin nuts trying to control my continuous rotation servos from parallax. Im using a picaxe 18x to produce the code, but no matter what pulsout or servo commands I use, my servo's only go clockwise.I NEED them to be able to go counterclockwise  for my differential drive train to work right. I have read every post on LMR about servos and have tried a lot. I have read their parallax data sheet and that they should respond based upon the pulse width, but no go. I have attempted calibrating with the potentiometer when set to the suppos'd center point at 15 mili seconds, but adjusting it NEVER reverses direction, rotating the potentiometer either way only changes my servo's speed.

code Ive used


servo 4,90

pause 500

servo 4,200

pause 500

goto main


and when trying to find the center, where the servo SHOULD stop Ive used ( I also adjusted the pot during every trial to see a change, but still, I only get them to change speed)


pulsout 4, (I've tried basically every value from 135 to 165)

pause 20

goto main


any help would be much appreciated!

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

I am quite sure this is a HW problem; if the servo will only go in one direction no matter what, well then it is the servo.

The modification of it really is not supposed to be much other than removing the stopping block, and letting the potmeter stay still. So it should basically be a normal servo, that just does not stop. It it behaves like a servo that can only go in one direction, something is wrong with it. My guess is that the potmeter is .. something wrong..

it's in the servo, I tell you. Hook up another, will it go in both directions? Will a non-modified go where it should? Well then, it was / is the modified one that is having a problem :)

As ’ignoblegnome’ pointed out, -the question is almost 2 years old. So if Hadrian_X still hasn’t figured this one out… then maybe robotics is not for him.


As Hadrian_X posted this almost two years ago and hasn't posted anything since, I expect he is no longer interested in an answer.

Sydney-Floyd, did jinx's response give you what you needed to know?

:D Just noticed the date )))

Have you tried the servopos statement instead of servo (that is only used for servo initialization) 

Could you give us more detailes on your setup? circuit diagram? connections?  Power sources, etc. ? And do you experience this problem with one single servo or with all servos you have (you've mentioned differential train, so I suspect you have at least 2 of them)?

 this is how i set my servo up


symbol  r_ off = 150

symbol r_forward_slow = 100

symbol r_forward_fast  = 75

symbol r_back _slow  = 200

symbol r_back_fast =225

'do the same for the lft drive  you  may hve to  tweak the values slightly


          servopos r, r_forward_fast

        servopos l,l_forward_fast

goto main


 hope this will be a helpful start






This thread is of great interest to me, I'd hate to see it go unanswered.