Hello,
I have got the following process I’m trying to control. I have a PID controller module purchased from the manufacture – Beckhoff Twincat, it is working and controlling the output between the limits but can’t seem to tune it 100% as the process is completely un-linear.
I know tuning is complex but do you think this process can be tuned satisfactory with a PID loop and would you suggest that I need ‘D’?
This is the process: -
PROCESS VARIABLE: -
2 ton Rotor with speed sensor to measure the RPM. With this weight, it takes 5 - 10 minutes to get to speed setpoint – say 1000RPM, from the stopped position it would reach 80% of the speed in half the time and the other 20% in the other half of the time.
When the speed setpoint (SP) is lower than the actual speed (PV), the rotor freewheels. Ramping down is a completely non-linear response to ramping up as it freewheels for a time only loosing approx 50 RPM then the speed drops quicker.
SETPOINT: -
The maximum speed is set, say this is 2000RPM, then the operator has the ability to change the speed as a percent of full speed 0 –100%, i.e. 50% will be 1000RPM.
OUTPUT: -
Non-linear proportional hydraulic valve 0 – 100%. The valve has to be open to at least 15% before the rotor will even start spinning.
I originally programmed just a P loop and found that the speed overshot, it reached 130-140% of running speed and then dropped back down – This was expected.
With the PID, I read Control Soft's tuning procedure, by putting the loop into manual, letting it stabilise and making a small 5% step change, when it stabilises calculate the initial PID values based on their calculations of 63% of PV change.
The PID values I got caused the output to the valve to pulse. By setting D to 0, the pulsing stops. You can see this on the attached trend pid1.jpg
Also this PID controller has damping time, I have left this at 0 – not sure if this will help with the application. The task cycle time is set to 20ms
I have altered the PID values and tuned as best as I can, when the system is first started, and SP set to 100% the speed gets there quite quickly and does only over shoot a few % that is acceptable but then when I set the speed SP down to 30%, it drops down to almost 15% and slowly comes back (please see pid2.jpg)
Any help appreciated to tune this.
Regards
Matt
I have got the following process I’m trying to control. I have a PID controller module purchased from the manufacture – Beckhoff Twincat, it is working and controlling the output between the limits but can’t seem to tune it 100% as the process is completely un-linear.
I know tuning is complex but do you think this process can be tuned satisfactory with a PID loop and would you suggest that I need ‘D’?
This is the process: -
PROCESS VARIABLE: -
2 ton Rotor with speed sensor to measure the RPM. With this weight, it takes 5 - 10 minutes to get to speed setpoint – say 1000RPM, from the stopped position it would reach 80% of the speed in half the time and the other 20% in the other half of the time.
When the speed setpoint (SP) is lower than the actual speed (PV), the rotor freewheels. Ramping down is a completely non-linear response to ramping up as it freewheels for a time only loosing approx 50 RPM then the speed drops quicker.
SETPOINT: -
The maximum speed is set, say this is 2000RPM, then the operator has the ability to change the speed as a percent of full speed 0 –100%, i.e. 50% will be 1000RPM.
OUTPUT: -
Non-linear proportional hydraulic valve 0 – 100%. The valve has to be open to at least 15% before the rotor will even start spinning.
I originally programmed just a P loop and found that the speed overshot, it reached 130-140% of running speed and then dropped back down – This was expected.
With the PID, I read Control Soft's tuning procedure, by putting the loop into manual, letting it stabilise and making a small 5% step change, when it stabilises calculate the initial PID values based on their calculations of 63% of PV change.
The PID values I got caused the output to the valve to pulse. By setting D to 0, the pulsing stops. You can see this on the attached trend pid1.jpg
Also this PID controller has damping time, I have left this at 0 – not sure if this will help with the application. The task cycle time is set to 20ms
I have altered the PID values and tuned as best as I can, when the system is first started, and SP set to 100% the speed gets there quite quickly and does only over shoot a few % that is acceptable but then when I set the speed SP down to 30%, it drops down to almost 15% and slowly comes back (please see pid2.jpg)
Any help appreciated to tune this.
Regards
Matt
Last edited: