![]() |
Re: Flywheels and Shooter Wheels
Thanks for posting code, Baronep. How did you determine the constants for your PID?
|
Re: Flywheels and Shooter Wheels
Quote:
http://www.chiefdelphi.com/forums/sh....php?p=1146353 |
Re: Flywheels and Shooter Wheels
Thanks for the link to that thread, Ether. I especially liked the clear description of feed-forward, including your diagram.
We're heading to our second regional (Buckeye) tomorrow, and will implement some (wish we could do all) of the ideas in this thread. I'll let everyone know how it turns out. Even if we don't have time to implement most of these improvements during competition, I now have more ideas for off-season projects for the team. |
Re: Flywheels and Shooter Wheels
Quote:
The only overshoot is caused by the sample time: since this is not a continuous (analog) but rather a discrete (digital) controller, the power to the motor is updated only once each execution cycle. But if the execution cycle time is 20ms (e.g. TeleOp), then the maximum overshoot in rpm would be 0.020*wheel_acceleration_in_rpm_per_second. At motor speeds typical for a shooter and with sufficient moment of inertia in the wheel, the wheel acceleration is low enough that when multiplied by 0.02 creates a very small maximum overshoot. Once the wheel is at the setpoint speed and the power has been removed, the wheel will of course begin to decelerate (due to friction, windage, etc). But the moment it goes below the setpoint, maximum voltage is again applied* and the cycle repeats. *subject to any voltage ramping that may be in use |
| All times are GMT -5. The time now is 04:32. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi