View Single Post
Old February 22nd, 2003, 02:16 AM   #10
Peter Nachtwey
United States

Peter Nachtwey is offline
Peter Nachtwey's Avatar
Join Date: Apr 2002
Location: Vancouver, WA, US
Posts: 6,574
I depends on what one is controlling or it depends on what the meaning of tuned is..

Heating systems are simple examples because they can be modeled as 1 real pole or time constant. This means that a step jump in the control output (CV) will cause the temperature(PV) to exponentially approach a steady state value with out oscillating or even overshooting like a resistor capacitor filter. Ron and Tom are both right in that slow updates will work ( it depends on your definition of what is OK ). One can see that faster is better. Notice the slow update PID does overshoot where and openloop control would not. If minimizing overshoot is a requirement then one can see that one must update the PID faster. I do not considered example 3 as being 'tuned'.

Two or more pole systems, that have imaginary poles, are much more difficult to control. The imaginary poles mean the system will oscillate in response to step jump in the control output. These systems have elements that can store energy and it is the transfer of energy from one element to another that causes the oscillation. A mass and a spring or capacitor and inductor are examples of two poles systems with imaginary poles. Motion systems also fit in this category. One does need faster PID updates to control these systems.

Think about this.

Would you use a motion controller that overshoots like example 3? Even example 2 is not good.

About step jumps in the Set Point.

Making step jumps in the SP is not a good idea because the system can't possibly instantly respond to a step jump in the SP. The error cause the integrator to windup which must eventually be unwound by overshoot. One should ramp the SP from one setting to another at a rate that the system can follow so that errors and overshoot are minimized. A motion controller do not move from 4 to 10 inches by making a step jump in the SP. A motion controller ramps to SP from one position to another using velocity and acceleration parameters to limit the rate so that the motor can keep up will little following error. I don't understand why process people are so lazy as to not do the same thing with their temperature, pressure or coloer process? I think it would be interesting if Ron would slowly ramp the SP using the 2 PID updates per period.

Since we are talking about heater controls I think Tom should get in a few words about sliding mode control on a different thread. Sliding mode control works well with single pole system such as heater controls. What I am interested in specifically in the algorithm Tom uses to turn the heater(s) off and on. I know that proper sliding mode control involves more than just turning on and off heaters at a fixed set point. This set point must also ramp ( slide ) to the final setpoint.

I have been looking into sliding mode control to turn on and off poppet valves on an pneumatic cylinder to control position, velocity and applied differential force. This is trickier than just turning four valves on and off. Just as in the heater control, one must know when to turn the heater on and off and calculating that point may not be trivial.
  Reply With Quote