I'll be taking Controls Engineering in college next term, but true to my form I'm already reading up on the subject matter. Whenever I use a PID control loop I either guess and check my values or, more recently, I've used the Ziegler-Nichols method of calculating Kp, Ki, and Kd.
Here's some questions I've been wondering about of late:
What's the best way to perform a step-response on your system for accurate results? So far I've literally just ran the motor and recorded its positional response while in the arm it'll be running (since most of the time I'm doing PID position control), but it is difficult when you're working on such a small range of movement.
What other methods do you use when calculating your PID constants?