Alternative to limit switches?


Our team has been using limit switches for our past two years to see if our arm is fully extended, so if it is, then the software doesn’t let the arm extend more. However, we’ve had some problems with the limit switches breaking, so is there an alternative to limit switches? Have any other teams tried something else? What about reed switches?

Control Systems Leader

A good alternative is opto couplers. You can find them in the Digikey catalog under optoelectronics. Effectively they are an LED and a phototransistor. When the the light from the LED reaches the phototransitor a current flows. When the light path is blocked, no current flows. There are a variety of single package devices that work on reflective or direct light paths. I recommend an IR type so that regular light sources don’t interfere with the device you are trying to sense. It then becomes a simple matter of mounting the device where it will be sensed by something moving on the arm and connect it to power and an RC sensor input. You can use the Banner sensors but they are an expensive alternative. If you have extras laying around the robot shop you can easily use them if you want.

Team 662 used reed switches last year. We made hard stops put of HDPE and imbedded a reed switch and magnet into the two pieces of HDPE. The magnetic field was strong enough to trigger the reed switch before the hard stops made contact.

I have a great story for this. My team used a limit switch to stop the arm when it it’s fully retracted (we used an extruded aluminum extending arm). so during one match I tried to retract the arm after we got back for those extra 10 points it wouldn’t retract!!. we tried everything at the pits to get it to retract. we could extend it but not retract it. So we formulated a plan so we weren’t totally useless to our alliance. About 20 seconds before the next match started the Driver ken Yells out to our mentor “It’s the limit switch!!” so our mentor runs from the driving station to the robot and rips out one of the wires on the limit switch. then of course it worked. They blame me for it, but then again i successfully turned an electronic stop, to a mechanical stop :smiley: . so it’s all good. I think you should go with the idea from Al Skierkiewicz. But another alternative is to use those sensors from house alarm systems, the kind you put on doors.

i personally am a big fan of encoders. if you put an encoder on the motor driving the arm, or any other rotating shaft in the system; you can figure out the set number of rotations from start to your limit. I think this works well because at any given time you can change the location of your stop just by changing the number of rotations. You will still need a limit switch at the bottom of your arm movement to act as a “zero switch” so that the system re-calibrates itself when it comes in. Another advantage to this is you can make buttons that go to exact positions on the arm. since you know the number of rotations at any given height you could make a “center goal” button and not have to drive the arm manually to get there.

The thing is, encoders only tell you where the system is supposed to be, not where it is. A limit switch (or the like) will tell you when the system is at its limit and should stop. If you only have an encoder you know that you’re supposed to be somewhere, but if you have a loose cable or chain, you’ll actually be somewhere else.

I’m wondering about the use of pots. I know that they can be a degree or two off occasionally, and all the teams I’ve seen using them have a limit switch backup. Does anyone use pots exclusively? another option, the infrared beam breaking integrated into one piece, on the cheap. Its at the bottom of the page.

This year team 114 only used pots for our bot… Seemed to work perfectly on the arm (after a little tuning), and worked quite well on the wheels (we had one on the rotator chain of our swerve drive.

If your limit switches are breaking then its probably a design issue or you need some beefier limit switches. Do you have a pic of the assembly the keeps breaking. I have never once broken a limit switch and we always have limit switches everywhere on everything. If used properly they will not break.

We had problems with the limit switch breaking all year. We made it as simple as possible to replace it(not that easy). And then we put a limit switch override button in programming. That way in competition if it did not work the operator could use his/her judgement and decide how far up/down the arm should go. The button came in really handy, especially at palmetto where we took finalist.

There are many different grades of limit switches. If you look in a Mcmaster-Carr or Grainger catalog you will find some real beefy limit switches.

while this is true that they tell you in a theoretical world what your position is, if the system is decently designed and tested you should be abel to have them calibrated with little error. This is the reason for the calibration limit switch at the bottom, so each time you go to zero the calibration gets checked.

The main reason we use limit switches is to prevent damage. Despite my many warnings, people have, on occasion, decided to forego the implimentation of limit switches to save themselves some time. Needless to say, it usually ends badly. The limit sensor tells you when it’s time to stop. Maybe something got jammed. Maybe something broke. Maybe there was a design oversight. It doesn’t matter how the system got into that position, but going further could damage it.

there is absolutely no reason why a Cherry or SwitchCraft limit switch should ever break on your bot.

Im going to chance a guess here and bet you had the switch mounted so it was acting as a physical stop to the motion. A limit switch is suppose to actuate as a mechanical tripper slides PAST the switch lever, not INTO the lever from 90 degrees.

maybe I should sketch this out - thousand words and all that!

the red/black square is the moving arm tab that will engage the switch level. Note that it moves/ slides into the level and the lever closes the switch.

With the switch mounted like this there is no way its going to break, no matter what your SW does.



Last year our team used only pots to determine the angle of our arm. However, we found that because of the inherent error, if we wanted the middle joint to bend as close to 360º as was safe, we would often slightly overshoot, pushing together two of our arm segments, bending the metal slightly and putting a huge amount of strain on the chain/motors. This was obviously a big problem, so we ended up retrofitting a limit switch to our arm halfway through the regional. The moral of this story: don’t try to cut weight/save time by skipping the limit switch, you’ll always regret it in the end.

I agree with Ken here. There should be no reason to break a limit switch. You must remember that the mechanism it is designed to protect has momentum and will not come to a stop immediately. The microswitches shipped in our kits have long actuating arms that can be bent and/or cut to any form that is useful for you application. Design mechanical stops accordingly, backup the backup.
As for reed switches, I do not recommend them for this application. They have a bad habit of disengaging with vibration and magnets get knocked off leaving you defenseless. Additionally, the contacts don’t always meet properly and high resistance occurs. With very little current being supplied by the RC, there is a source of error there. Microswitches are designed to “wipe” the contacts when they make contact, minimizing this effect.
If you are at an event where I am present please ask me to look at problems on your robot. I love to see other robots and what other teams have done to solve problems.

They are properly mounted, they usually break from battle damage. Either a direct result or something else gets misaligned and snags it. Although, I do admit that there are some that could be positioned better to prevent snags.

The problem is that they’re usually the last thing to go on. Last year, they weren’t on until our second match. By this time, they hadn’t been tested yet. Needless to say, whoever made the decision to run the arm anyway made a pretty bad call. Although, the damage was a testament to how powerful our arm actually was.

if you are not protecting your microswitches, then anything else you put on thats unprotected will get smashed as well.

You might consider a lever or spring that actuates the microswitch from a distance, so the switch doesnt need to be exposed to the parts of the bot that get bashed during a match.

An example is the power switch in most PCs. The switch is back by the power supply, but the on/off button is on the front panel, connected by a long push rod.

Ken, I think you’re trapped back in the days of the AT form factor (or before)! Modern PCs (i.e. nearly anything within the last eight years) use an electrical connection directly to the motherboard, with a momentary switch. Cross two pins (one is connected to 5VSB, if I remember correctly), and the motherboard instructs the power supply to turn fully on.

There is a second switch on the back of most power supplies, but I don’t think that that’s the one to which you were referring; it just interrupts the power completely (preventing the motherboard from receiving standby power).