For my teams flywheel we have a 100% flywheel spin up button and a 75% spin up button. (Motors spin at 75% speed). When we do the 75% the flywheel pulses up and down at different speeds. Another team is having a same problem like this. Any suggestions?
There are several other threads that cover this issue, but the gist of the matter is make sure that you limit the friction on your flywheel, and if you aren’t using voltage to control your motors, do everything you can to switch to that. The reason for this is that a voltage control will not overshoot changes to the intended velocity because there is no reading or checking for intended velocity, whereas an rpm control will run closed loop, constantly trying to adjust to match the motor’s read speed to the actual speed. Due to the speed of the sensor and the inertia of the wheel, it is extremely difficult to handle these changes.
Technically, I would expect a voltage command to not exactly hit the intended velocity because the actual velocity is unknown and the battery drains over time, but it will be close enough if you tune it properly. Open loop saves the day!
What you can do is use a PID loop for your flywheel so it is constantly spinning at the correct speed. You can do this by putting it in a forever pid loop and use a global variable so that it can be accesed by your user control.
Thanks, I tried it and it seems to solve the issue completely
Great, glad I could help!