Can PID be tuned to control this process?

matt_sd

Member
Join Date
Jan 2007
Location
Australia
Posts
96
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

pid_1.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)

pid_2.jpg


Any help appreciated to tune this.


Regards


Matt
 
Last edited:
I don't understand

It looks like the valve position is opening for more flow yet the speed is decreasing. This goes on for 90 seconds? It doesn't look like the valve motor is responding to the flow from the valve.

Are you plotting the spool position or the command signal to the spool. I don't see how the spool can change positions like that.

I think you need to graph some open loop moves so we can see the hydraulic response without the PID involved.

This system appears to have serious problems that must be worked out before you consider tuning. Hopefully you aren't the sacrificial control guy that is supposed to cover up hydraulic problems in software.

1000 RPM is high. The pressure drop across the valve is high at these flow rates. There will not be much pressure across the hydraulic motor as speed increases don't expect the acceleration to be the same all the way to 1000 RPM. What you see there is normal but the response to the spool position is not.

This is not going to be fun. Don't assume the hydraulic guys know any more than you do.

edit I add a link to this post at the hydraulic forum
http://forums.hydraulicspneumatics....41063911&m=1901076503&r=1901076503#1901076503
 
Last edited:
Peter wrote:
"Hopefully you aren't the sacrificial control guy that is supposed to cover up hydraulic problems in software."

And Peter is one of the loudest voices against having TRAINED/DEDICATE Fluid Power Engineers and Maintenance Persons.

Go Figure!!!!!!
 
Rant warning.

fluidpower1 said:
Peter wrote:
"Hopefully you aren't the sacrificial control guy that is supposed to cover up hydraulic problems in software."

And Peter is one of the loudest voices against having TRAINED/DEDICATE Fluid Power Engineers and Maintenance Persons.

Go Figure!!!!!!
[RANT]
We only have a disagreement about having a separate hydraulic engineering degree. I have said this before. Hydraulic power is just a way to get power from one place to another just like ball screws, drive shafts, gears and pulleys etc. There are degrees for gears, pulley, ball screws either. This has nothing to do with degrees. This is about hydraulic ignorance and not wanting to learn even if the training is available. "flow makes it go" and that is enough but Matt_sd does not have a controllable system. There appears to be too much interia and too little torque for the turntable to respond quickly. I bet he hydraulic designers don't even know what inertia is let alone how to calculated it. How can a hydraulic person pick the right size motor if he can't calculate the interia? He doesn't. He just picks a motor that will spin at the right RPM after all "flow makes it go" right?

I am still waiting to see a hydraulic system with a transfer function stamped on it. I bet matt_sd would appreciate it too.
[/RANT]
 
OK Peter, Then why did the M.E. get the gears and Mechanical part right and not use his Fluid Power training from College or University to do the Hydraulci Design , it's so simple. Why did he depend on an untrained salesman from a Fluid Power Distributor to design a circuit. A person who probably has a lot less TRAINING/SCHOOLING than he does and never heard of figuring inertia or a lot of other Mechanical Engineering stuff. Maybe even someone who had been through the Two Week Flud Power course at the manufacturer whose products they are selling and a couple of oter company schhols as well. Been there and done that 50 years back. Screwed up several circuits early on but learned from the mistakes in The Old College of Hard Knocks, and got better over time.

I always asked the M.E. how much force/torque they required, how fast they wanted to cycle/run etc., what they wanted for maximum system pressure and any other pertinent questions that had an effect on the Hydraulic Power forces on their machine.

In my thinking that is not the way to implement a system as comp;ex as Fluid Power and should be changed. However, that thinking must be in left field from many of the responses it grts.

Oh well, Someday maybe??????????
 
Hello Pete, Fluidpower1 - thanks for your comments

I am plotting the command signal, I cant see the spool position but should be similar. Yes it is complex with so much lag in the hydraulic circuit.

I think that software guys will always have to cover up mechanical design issues with software once in a while. Software has no material cost - just large labor cost depending on the workaround!

On a good point, the PID controller is responding much better now after a simple change I thought of.
I mentioned that the valve could be open 10-15% before the rotor even spins, so what I done is found the valve position when the rotor starts to spin, this is 13% and set this as the minimum limit on the PID controller. The system is much responsive now and tracking better - far from perfect though with the large hysterisis in the hydraulic components but better :)

Will post some more trends when have time. PS I'm not using D, just P & I

Regards

Matt
 
I think that software guys will always have to cover up mechanical design issues with software once in a while. Software has no material cost - just large labor cost depending on the workaround!
Large labor cost and loss of productivity and quality for the life of the machine. That cost might be much higher than the initial cost.

matt_sd said:
On a good point, the PID controller is responding much better now after a simple change I thought of.
I mentioned that the valve could be open 10-15% before the rotor even spins, so what I done is found the valve position when the rotor starts to spin, this is 13% and set this as the minimum limit on the PID controller.
So you discovered the dead band compensator. Good. Normally one doesn't need to mess with that except when doing position control or velocity control in two directions. In your case you aren't shifting the valve through center are you?

However, since the 'spool position' is really the control signal I can now see how it can change rapidly but it should go from full on to full off like it does. It still seems that the system accelerates or responds very slowly.

The system is much responsive now and tracking better - far from perfect though with the large hysterisis in the hydraulic components but better :)
You should consider using feed forwards.

Will post some more trends when have time. PS I'm not using D, just P & I
A properly designed system will have no hose between the valve and motor. In fact it is best if the valve is mounted a close to the motor as possible with solid piping used between the valve and motor if any is used.

If there is hose between the valve and the motor you will probably need to use the D gain but first implement feed forwards. Hopefully you are using a tachometer instead of an encoder for feed back. One of the BIG factors that makes using the D gain difficult is that you don't have enough resolution on the encoder. You should always get an encoder with the highest PPR possible but doesn't exceed the counting rate of the counter card.

OK Peter, Then why did the M.E. get the gears and Mechanical part right.
You assume they the gear and drive shaft designs are always right. I don't see the mechanical screw ups, just the hydraulic ones. If you ask the people on this forum I am sure you will get many replies. There are quite a few people on this forum the love to complain about engineers in general.

I always asked the M.E. how much force/torque they required, how fast they wanted to cycle/run etc., what they wanted for maximum system pressure and any other pertinent questions that had an effect on the Hydraulic Power forces on their machine.
So did they always get it right?
 
Peter Nachtwey said:
If there is hose between the valve and the motor you will probably need to use the D gain but first implement feed forwards. Hopefully you are using a tachometer instead of an encoder for feed back. One of the BIG factors that makes using the D gain difficult is that you don't have enough resolution on the encoder. You should always get an encoder with the highest PPR possible but doesn't exceed the counting rate of the counter card.

For the speed pickup, we are counting pulses from the gear teeth in the hydraulic motor, these pulses are read by a high speed counter card. 35 pulses a second will be one full revolution = 60RPM, the sensor and counter card work up to 10KHz so can easily read well over 2,000RPM.
therefore at 1000RPM, the resolution is in 2 RPM steps, then at 2000RPM it is in 1RPM steps.
 

Similar Topics

I am planning to write a code for Siemens S7 200 to auto tune pid. Is there some one tried it before maybe with other controlers. Maybe some examples.
Replies
1
Views
6,424
Hello, I have a motor that we are sending a RPM Speed Output from 0-100% to the VFD. However, the Motor HP needs to be limited to 6000 HP and the...
Replies
3
Views
83
I have S7 1512C controler for controlling 48 PID temperature loop, the output is PWM. Please I need the best, most efficient way to write the...
Replies
13
Views
586
Hi all, I'm having trouble solving a problem I've been working on for several months, and thought you might like a stab at it. The machine runs...
Replies
22
Views
920
How can I connect PID Output to a valve. In ladder logic program is there any logic do I want to add between valve and PID? PV=SP What will be the...
Replies
7
Views
406
Back
Top Bottom