Speedy Progress
- Hubert Zhou
- Mar 5, 2024
- 2 min read
With the final launcher assembly mostly complete, proper speed tuning can be done on the flywheel launcher.
A lot of issues were arising during the control design. A major sore point was huge variations in speed from the encoders given how fast ( upwards of 2000 rpm ) that we were running the motors. One count extra per time interval would result in 100s of RPM differences. A running average helped to solve and smooth out this issue.
A second major problem was slowing down the wheels. With very light and low friction wheels in the original design, there was very little natural damping to slow the wheels down. A slightly heavier variation offered significantly better results.
A third problem was the original ramp up from 0 to our desired set point. We did not want to run the motors at too high of a voltage due to current draw and potential mechanical wear, however, the huge error at the beginning of the set point would almost always hit the PWM clamp. Hitting the clamp can result in undesired behaviour as it forces some nonlinearity in the control system. This was solved by introducing a ramping behaviour instead of a step input. If the error is too high, the controller will be set to 200 rpm increments instead to allow for a smoothing ramping without any clamping.
With control nearly complete, it is time to integrate it into the game code. The game code works very simply. At predetermined times, the game code will send speed updates to the flywheel motors.
Below is a test showing 9 different set points.
There are clear, well-defined flat regions for each command.
Finally, a video that was taken during limit testing of the launcher is shown here.
Comentarios