View unanswered posts | View active topics It is currently Thu Oct 23, 2014 4:37 am






Reply to topic  [ 6 posts ] 
servo programming limits vs actual mechanical limit 
Author Message
Rookie

Joined: Wed Dec 10, 2008 9:48 pm
Posts: 2
Post servo programming limits vs actual mechanical limit
hi all
the hitec servos have a mechanical limit of around 180 degrees, but however, it has a preprogrammed limit of around 120 degrees. I know for a fact that the servos can be configured to their max mechanical limit (as this can be done through my rc controller for my radio controlled helicopter). is there any way to change that in robotc?

so summary of the problem would be, servo moving from 0 to 255 does not equal servo moving from one end of its mechanical limit to another.


Wed Dec 10, 2008 9:54 pm
Profile
Rookie

Joined: Thu Nov 06, 2008 4:35 pm
Posts: 12
Post Re: servo programming limits vs actual mechanical limit
robot c will not let you go past 255 or below 0. if in fact it did do this it could damage the servo, my team broke a servo by pushing it past its programing limits in a match ( it was not programed to do this it pushed in by another bot ) .

_________________
Palm Harbor University High School, Robotics team Pandara #506


Wed Dec 10, 2008 10:39 pm
Profile
Rookie

Joined: Wed Dec 10, 2008 9:48 pm
Posts: 2
Post Re: servo programming limits vs actual mechanical limit
thx, but what i'm trying to say is, that 0~255 in the program will not give you the full mechanical range of the servo (around 120 degrees, when the mechanical range is 180). and i know for a fact that given the right equipment, that you can program the servo to its max mechanical range.

ie. right now the difference from 0 to 255 is around 120 degress, but ie in my RC's, there is a way so that from 0~255 will equal per say 180 degrees, or 60 degrees, or w/e, this is setting the servo's programming limit, i'm trying to find out if there's a way to do that in robotc. if not, we're quite screwed actually.

and also, your damaged servo was probably due to overload and stripping gears (holding it's position too well while being forced in another direction), or being pushed past it's mechanical limits.

cuz one thing i noticed is that 0~255 does not represent it's full mechanical range possible


Thu Dec 11, 2008 1:15 am
Profile
Professor

Joined: Fri Sep 19, 2008 1:22 am
Posts: 200
Post Re: servo programming limits vs actual mechanical limit
Interesting. In our experiance we are getting about 200 degrees out of the servos (in actual use). We have noticed that no two servos are identical however. I believe that they are supposed to be guaranteed to provide a minimum of 180 degrees of motion. Have you compared all of your servos?

_________________
Jeff McBride
Benson Robotics Club


Thu Dec 11, 2008 1:34 am
Profile
Site Admin
Site Admin

Joined: Wed Jan 24, 2007 10:42 am
Posts: 613
Post Re: servo programming limits vs actual mechanical limit
0 to 255 is a PWM signal sent to the servo. Any programming language and controller you use will give you the same range of motion on that servo.

Sounds like a defective servo. Contact PITSCO for a replacement.

_________________
Timothy Friez
ROBOTC Developer - SW Engineer
tfriez@robotc.net


Thu Dec 11, 2008 10:47 am
Profile
Creator
Creator

Joined: Fri Feb 09, 2007 9:21 am
Posts: 615
Post Re: servo programming limits vs actual mechanical limit
Servos are controlled by sending a pulse every 20 milliseconds or so on one of the three servos wires. The other two wires are power and ground. The pulse is nominally 1.0 to 2.0 milliseconds long with 1.5 milliseconds indicating that the servo should move to the center position. Servo controllers typically have an operating pulse range of 0.8 to 2.2 milliseconds to account for variations in an individual servo. For the FTC, the period of the pulses and the min and max pulse duration are managed within the HiTechnic Servo Controller and the values are fixed and not programmable.

The more sophisticated R/C RF equipment usually have "trim" adjustments that will allow you to adjust the center point and the min/max values. There is no direct equivalent for this with the FTC equipment.

If your servo is only moving 120 degrees then it is defective and you should get a replacement.

Given all of the above, the values of 0 and 255 should give you the full range of movement control over your servos.What you max find is that the minimum and maximum values are reached at somewhat lower/higher values than 0/255. You may also find that your robot does not utilize the full range of servo movement -- say it may only need 150 degrees of movement. This might equate to servo settings of 40 to 220. If you want the maximum range for your joysticks you may want to scale them so that the joystick range of -127 to +127 is mapped to 40 to 220 and not 0 to 255. Finally, a use for high school linear algebra. :).

As someone has mentioned, it is possible to break (usually strip the gears) within a servo if you try to move it beyond the mechanical limits which can be either the internal mechanincal stops in the servo or the mechanical constraints in your robot. In the conventional R/C world they have a device called a "servo saver" for this which is typically a flexible connection that will bend instead of stripping gears. However, I suspect in the FTC type of robot you'd not want to use servo savers-- if you end up in a pushing contest with a competitor you probably want maximum torque and not have a bendable piece in your robot.


Mon Dec 22, 2008 3:09 pm
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 6 posts ] 

Who is online

Users browsing this forum: No registered users and 2 guests


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.