Last spring was my first introduction to FRC and with my 17 years of Automation controls background I help a team figure out how to use some of their feedback devices I.E. pot, Ultrasonic, encoders. They had a lifting arm that fit itself well to a pot and PID subsystem. They where using Iterative type coding and with a little research and video tutorial on Command Base programming I quickly became a fan special with the test mode and how easily it was to test code bits and PID systems. The past few weeks during pre-launch I was teaching a new bunch of programmers the command base system and how the different parts work. We have only a robot drive train sub system currently with four wheels and encoders on each. Diving with joysticks and selecting different modes on the smartdashboard has been successful. Today I thought why don’t we try a PID subsystem. We created a new project with only a PID subsystem with a motor and associated encoder. With 360 pulses per one rev of the output wheel verified by manually spinning the motor in test mode. When I enable the PID the motor shacks rapidly. It seems real hot but with turning down the P and leaving the I,D at 0 dose not seem to help.
Is using an encoder not a good idea for PID?
Is there a way to set the max output so if the error is large the motor output can not raise above 50%?
Maybe its because the resolution is to course?
Maybe we should try setting the units per pulse to .1 and set point to 3600?