PID loop help

@mkinh,

Turning Point’s balls have almost the same weight as the NbN balls and it was possible to build a flywheel powered by a single 393 motor even though you had to launch a lot of balls one after another. The trick was to align everything well to minimize friction.

We also found that having two motors on ports 1 and 10 would give you the best accuracy, because those ports react very quickly to the power change commands.

And with 3 motors you could launch the balls almost as fast as two humans could load them into a robot. However, when we added one more motor for the total of 4, it degraded both accuracy and speed, because it was way harder to tune PID to be stable.

This season you don’t need to send a lot of balls in the rapid sequence. You just need short bursts of one or two balls (if you have double-shot) and then you could take time to spin-up the flywheel while you hunt for more balls. The best strategy for Turning Point would be to make flywheel slightly heavier to store enough energy for launching two balls. Many teams add extra wheels on the flywheel axle to increase its moment of inertia.

If you still have time to do physical modifications, I would recommend you to investigate reducing the friction, increasing flywheel’s moment of inertia, and try to get it working with just two motors.

However, if you need to make it work with 4 motors, then the easiest thing would be to connect all motors through MC29 controllers and use ports 1 and 10 for other functions, like intake and indexing. It is best not to mix port types within one subsystem.

If you really, really, need to mix and match the ports then you need to send different power levels to the different ports. This a diagram of the power level that you need to send to the motor ports (y-axis) depending on the desired motor RPM (x-axis):

More details available in this post: Trial And Error PID