In treadmill applications with DC motor, you can't go from 0.5 mph to 1 mph instantly. The speed should be gradually increasing. If I want to design a PID for speed control, my setpoint should be a ramp instead of steps, right? Or, I can give the setpoint in steps and the P gain adjust the time response of the system? Which one is the right approach? I think that once the final setpoint is reached as ramp, the PID controller should compensate the output for changes in the load. My feedback is a speed sensor that will tell the controller the actual speed. If I said my setpoint is 0.5 mph, the PID doesn't care if gave the setpoint as a ramp or step. Am I right?
Correct. If you use a PID controller with fixed gains and you ramp the command to it, then the loop characteristics will always be the same, and you'll attain your goal of ramping the speed up and down in a way that neither burns up the motor or trips the person on the treadmill.