We are a rookie team.
We have a linear shooter with a vertical magazine behind it. We are mounting a rod to a windshield wiper motor (DC motor), and controlling it with a Talon. This will hit the bottom frisbee in the magazine out to the shooter.
We are looking for the best way to control the motion of the wiper.
The obvious issue is that we control the DC motor with a rate between -1 and 1.
We’ve come up with a few ideas, and we are looking for feedback on what might work the best, or even if some of these won’t work at all.
Put an absolute encoder on the wiper motor shaft, and have it give us the angle that the wiper is at. We would calculate the final desired angle, which would be a constant. We could use the current angle from the encoder and the desired angle in a PID Subsystem to get the wiper where we want and back to it’s original position.
Do the same thing as the first one, but use a potentiometer to get the angle we need instead of an absolute encoder.
We could calculate the time we need to run the motors for to get the desired angle. We would figure out the distance that we need to cover, and possibly use an incremental encoder to get the velocity of the wiper.
Use a limit switch to detect when the wiper has reached it’s final destination. It may be difficult to position this in a way that doesn’t interfere with the shooter, and we are worried about hitting the switch with the wiper too hard.
Those are all the ideas we’ve got so far, good and bad.
Any input is sorely needed, since we are short on time. Thanks in advance!
When placing a limit switch, one must not use it as a hard stop; that is, it shouldn’t be in the way of the arm and get damaged if the motor spins too much.
Instead, you position the lever of the switch so that it gets touched by the side of the arm as the arm passes by. That way, if the arm goes too far, the switch is not damaged at all.
Another comment: Idea #3, using just time to set a position, will lose accuracy significantly over the course of a match. Variables (such as system voltage) will make this a very inaccurate method.
If I were doing this, I’d use 2 limit switches - one for "frisbee launched, return to starting position’ and one for ‘arm in starting position’. Easy to program, inexpensive, and more than accurate enough.
Thanks Don.
I appreciate the input.
I hadn’t thought of positioning the switches in a different way.
We still have the issue of positioning the switches in a way that won’t interfere with the shooter.
In case we can’t do the switch idea because of those design limitations, what would you suggest as an alternate plan?
We made our ‘whacker’ able to make full rotations so you never have to stop the motor and reverse. To detect position we are using an infrared photosensor that detects when it passes by and counts how many times is passes.
I mentioned this in the other thread on this topic, but there are no FRC-legal windshield wiper motors (R32). Unless you’ve got the window motors confused with windshield wiper motors somehow, I think you may need to look at your motion system here.
I wouldn’t suggest using a talon to control a device like this. You’re much better off with a spike because you only need to travel at full power, negative full power, or not moving.