So for our linear punch robot, we are using a basic skip gear track system dependent on tensioned rubber bands. We have tried using motor encoders to make sure that the motors run for long enough to clear the track for the shot. After a couple different tires, we concluded that the system with the encoders will never work because the rubber bands lose tension and the gear is not starting at the same place every time. Anyone have any fixes or tips?
It seems you have 2 issues: the puncher not moving back a consistent amount, and the rubber bands wearing out. If you have the right amount of teeth cut off on the slip gear, all you need to do to fire is run the motor at full speed. However, you really need to make sure that the arm has a solid stop when it hits, so it is always at the same spot, this makes sure that with the next rotation of the slip gear it engages at the same spot and pulls back the same amount each time.
In terms of the rubber bands, I have found they will lose a good bit of tension when they are brand new and after the first few shots, but after that they stay pretty consistent. What rubber bands are you using? I would recommend getting some high quality #32 or #64 ones at any local stores (Walmart, Staples, Office Depot, etc), we also have some various ones at Robosource.net.
Lastly, if you could post some pictures it would help with giving some specific advice.
A little bit of context might be good. Are you planning to use this system in autonomous so that you can fire off the same number of cycles every time? Or do you only plan on using this in drive control to make it easier for your driver to shoot off loads?
For the first scenario, try turning your slip gear to the same position before every run and then just run the motor. I recommend setting it to where the gear first “notches” onto the track. Makes the code consistent and doesn’t have to factor in all those tiny movements made by the elastics and gear over time.
For the second scenario, you could just make a toggle button so your driver doesn’t have to hold down the button. This probably isn’t your problem so just a random idea here.