help with my grabber bot

hi guys I need help with my graber bot im making 1rst problem: you know how a servo only turns 90 degrees from its starting point well I have a servo controling the gripper and when I close the gripper the gripper closes but the servo doesnt turn a whole 90 degrees because of how I set up the mechanism to close the gripper . Is there a way to stop the servo say like at60 degrees for example I mean I dont know how far it needs to stop but I was hoping I could fix this because when the servo doesnt turn all the way it gets really hot heres some pictures of my grabber and servo https://vexforum.com/gallery/showimage.php?i=501&c=8 https://vexforum.com/gallery/showimage.php?i=503&c=8 https://vexforum.com/gallery/showimage.php?i=502&c=8 https://vexforum.com/gallery/showimage.php?i=500&c=8

note there is nothing wrong with the servo and I do have a programming kit

also is there a way to have the servo stay in its position when I let go of the butten like channel 5 up button= gripper close and stay with out me holding it. bottom button opens gripper

ok one more thing I am using a program because i needed to use 2 motors to lift the arm my code is

tank mode with 2 motors

one motor on channel 1

2 motors on channel 4

1 servo on channel 5

I want to use some limit swithes to stop my arm from going to far but since im using a program I cant use the set up thats in the defalt program I want to have a limit switch so when the arm goes to high it will stop it from going higher but still bieng able to move down not just stop the arm from moving both ways basicly I need a code that is the same as the one for limit switches in the defalt

Ok:
A) A servo only has a range of 120 degrees, 60 in either direction.
B) To make a servo only turn a certain number of degrees, when placing the servo block in your code don’t select 0 127 or 255 but instead insert your own value. If it’s between 127 and 255 it will go in the direction of 255 but not all the way there. Experiment with values until it does what you want it to.
C) See Blake.
D) With limit switches and easyC during user code I’ve found that what you have to do is have an if statement that executes when the limit switch has been pressed(or released depending on how you use it) and have it move the arm until the limit switch is no longer pressed.

Until you change the PWM signal going to a servo (by executing a new pwmOutput command - or something similar) the servo microcontroller will dutifully send out the PWM signal you most recently told it to emit; and the servo will dutifully attempt to obey that command (by rotating to the corresponding angle).

Limit switches are useful, but they are certainly not required for controlling a servo’s rotation. Carefully think through what you want to happen when your arm is in each important region of its range of motion, and write down those thoughts. Then, massage those written statements into EasyC instructions. If necessary/desired, use limit switches as a way for the executing software to detect the location of the arm as it enters or leaves each important region of its range of motion.

Blake

Fixed my post. Looks like I need to play around with easyC some more.

I have a program for my VEX robot which uses RC control and limit switches. The limit switches prevent the arm from moving up or down past the limits even if someone is trying to with the remote. It keeps the arm from hitting on the robot’s frame and bending or breaking something.

I am using Arcade mode though on the RC transmitter so that I can use the second joystick to control the arm, but I don’t think that should be a problem. You can easily change the channel and add your second motor. At least it would give you something to start with.

I can try to post it if you think it would help.