View unanswered posts | View active topics It is currently Sat Aug 23, 2014 12:20 pm






Reply to topic  [ 4 posts ] 
Full Servo Range 
Author Message
Rookie

Joined: Wed Oct 24, 2012 9:08 pm
Posts: 1
Post Full Servo Range
When I program the servos to move from the range of -127--+127 the servos only move about 165-170 degrees, as appose to the 180-degrees they're suppose to, and when you unplug the servos and turn off the lock it shows that the servos are capable of moving the 180-degree, which makes me think it's a programming thing. Is there a way to program the servos to move the full 180-degrees?
-SuperSammy!!!


Wed Oct 24, 2012 11:28 pm
Profile
Site Admin
Site Admin

Joined: Thu May 24, 2012 12:15 pm
Posts: 565
Post Re: Full Servo Range
Unfortunately, ROBOTC is only able to send a command to the Cortex telling it what the desired position should be; the Cortex then converts that into the pulse train that is used to actually control and move the servo. In some cases, the physical range of the servo (in this case, 180 degrees) falls outside of the standard pulse waves (1.0 ms to 2.0 ms, with 1.5 ms being dead center). This varies from servo to servo and is unfortunately difficult to compensate for before hand.

In this case, since the Cortex (and not ROBOTC) controls the pulse wave output, any range values outside of the standard will not be reachable. The best thing I can recommend in this case is to use physical gearing ratios to access the full 180 degrees of movement (at the cost of servo accuracy).

12/10/12: To clarify; the VEX servos have a listed range of 100 degrees of movement. This is an electrical limit; when ROBOTC sends the Cortex a value of -127, it will move the servo to -50 degrees, and when ROBOTC sends it a value of 127, it will move the servo to +50 degrees. This limit cannot be overcome on the servo itself. The only way to change the range of movement from a servo is to gear the output of the servo appropriately. The servo will still have the electronic limit on how far it can move in one direction or the other, but the output's gearing will help to compensate for this. Hope this helps clarify, and I apologize for any confusion this may have caused.

_________________
Check out our Blog! And our Facebook page!
Need help? Take a look at our Wiki and our Forums.

I just met you,
And this is crazy,
But here's my code now,
So fix it, maybe?
~ Carly Rae Jepsen parody


Thu Oct 25, 2012 9:47 am
Profile
Rookie

Joined: Mon Oct 21, 2013 12:22 pm
Posts: 2
Post Re: Full Servo Range
Actually, many servos travel 180 degrees easily, when sent a pulse width range from 500us to 2300us. I have a servo tester that allows that range and the ones we use work very well with that range.

Problem is, how can we adjust the PWM range in RobotC? Surely there is a way.


Mon Oct 21, 2013 1:09 pm
Profile
Rookie

Joined: Thu Dec 01, 2011 12:07 am
Posts: 33
Post Re: Full Servo Range
Another way is to add a circuit that expands and/or shifts the PWM signal between the Cortex and the servo. This only works if the servo electrically and mechanically supports the additional range. I have used the Servo City device on a couple projects for this purpose and as a PWM driver for a weak amplitude signal as well. The 'Servo Stretcher' comes in different formats:
http://www.servocity.com/html/180o_servo_stretcher.html
http://www.rcdude.com/servlet/the-1301/Dionysus-Servo-Stretcher-V2/Detail


Wed Oct 30, 2013 12:55 pm
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 4 posts ] 

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  



Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.