I am working on a drive system where I'm using a PID closed loop to control the speed of a drive (AB PF40). I developed my own PID block but am having trouble tuning it. I start by normalizing the target speed (in feet per minute) to a power (max speed = 100 power) and perform the PID calculations in terms of the power. When I start to try tuning the PID loop it always seems to be oscillating +-50 FPM which isn't good.
I was under the impression that the P term gets you roughly to where the setpoint is, the I term keeps you there, and the D term allows for faster adjustments. If this is true I would expect that as I lower the I term the current speed would start to tuck closer to the setpoint and a higher D term would cut down on the overshoot. Am I thinking about this wrong?
Does anyone have any suggestions that could help tune this loop? I have attached my PID code so you guys can take a look.
Thanks and and really appreciate any assistance you can give!
I was under the impression that the P term gets you roughly to where the setpoint is, the I term keeps you there, and the D term allows for faster adjustments. If this is true I would expect that as I lower the I term the current speed would start to tuck closer to the setpoint and a higher D term would cut down on the overshoot. Am I thinking about this wrong?
Does anyone have any suggestions that could help tune this loop? I have attached my PID code so you guys can take a look.
Thanks and and really appreciate any assistance you can give!