Limit Switch Tripping

Our team is currently using a catapult arm driven by two cim motors with a similar configuration to Boom Done’s catapult. Currently, we have a wire attached to the large gear at the top to trigger a limit switch that stops the throwing arm. However, the wire keeps bending out of shape. We are looking for something strong enough to trigger the switch but flexible enough to bend around the switch and the frame while returning to the same position. Do you guys have any ideas?

actual pics can be posted later if you need to see the current config.

So, you have a throwing arm rotating at a high speed (?) and stopping once a limit switch gets tripped?
I would recommend trying to program your “launch” command to only power the motor for a set amount of time. I’m not a programmer though so I don’t know how to implement that exactly.

If you can post what language you’re using, I could help you with the programming of the timing operation mentioned above.

Instead of metal, maybe you can try a strip of lexan? It’ll flex but return to its original shape (unless you overstress it).

We used small strips of plastic taken from a plastic bottle (I think it was a liquid Tide container) to do something similar last year.

Yes, we need to see what you’re talking about. Pictures are always very helpful.

See if you can make it so that the switch will be triggered as the arm approaches the end of it’s travel, not when it reaches it. And so that the switch is activated as the thing touching it goes by, not as it runs into it. Hard to explain, but make it so that it works sort of like a cam, pushing the switch from the side, not directly in it’s face.

We’ve had lots of trouble with limit switches in applications like this…so this year we have pneumatics doing all of the arm moving stuff, and the only motors on the robot turn stuff that can keep spinning as long as it wants to

We are using java. The current code runs the throwing arm at full until the top switch is hit and them slowly reverses it back into place. It stops when a second limit switch is hit at the bottom

Alright. I’m not too good with Java, but I think the pseudocode for such an operation would look something like this:

if(stick.getRawButton(Trigger) == true){
else {

where the variable Time is equal to how long your arm needs to be run, Speed is the power you are applying to your arm, and Trigger is the appropriate button on your joystick. Sorry if this is incorrect, I use LabVIEW and just started learning Java this weekend, but I think with some tweaking, this should be what you want.

EDIT: This is for a strictly timing-based solution like SenorZ suggested. I am as yet unsure of how to get the values from limit switches.

A limit switch is a DigitalInput, and its ‘get()’ may return true or false when pressed depending upon the switch.

It sounds as if you have the code figured out to me. It sounds like you are looking for the mechanical solution to hitting the switch; of which I have none.
But if you need help with code; feel free to PM me and we can work it out some more.

Like other people have said, you’ll want to trip the limit switch as it passes right before the endpoint, but not at the end point. Momentum should carry it over a bit if you have your motor controllers set to coast, and you can set a timer of some sort to count before it goes backwards. As for what material to use to trip it, try a decently thick zip tie/ wire tie.

Code-wise, it could look something like this in a CommandGroup:

addSequential(new MoveArmForwardUntilLimit());
addSequential(new WaitCommand(0.5));
addSequential(new MoveArmBackwardsUntilLimit());

Thanks for the coding help. To trip the switch we are going to go with the plastic idea. We cut apart the bottom of a plastic bin and its tripping the switches just fine.

Thanks guys!