Did You Know that Time Constants May Not Be Constant?

Peter Nachtwey

November 17, 2014

5 Min Read
Did You Know that Time Constants May Not Be Constant?

People usually think of a time constant as the time it takes a first order system to change 63% of the way to the steady state value in response to a step change in the input -- it's basically a measure of the responsiveness of the system. This is true, but in reality, time constants are often not constant. They can change just like system gains change as the environment or the geometry of the system changes.

The instantaneous value of a time constant is really the instantaneous process variable divided by the instantaneous rate of change of the process variable. Note that the resulting unit is time.

As an example, assume there is a tank of liquid with the liquid flowing out of the bottom of the tank through a valve or orifice. If the fluid flowed out proportionally to the level the time constant would be constant. But fluid flows through valves or orifices proportionally to the square root of the level or pressure drop across the valve. To make matters even more difficult, the surface area of the fluid in the tank may change with the level of the fluid, so again the time constant will not be constant. The level divided by the rate of change in the level is always changing.

Controlling the level in a tank may be trivial and may not require fancy control algorithms but that isn't the point. The point is that one is aware that time constants often are not constant and that one can compensate with just a little effort, using a motion controller and the right control algorithm.

When time constants aren't, you must understand the system

Consider a control application where one tunes a closed loop by adjusting proportional, integral, and derivative (PID) gain terms. Most PIDs are simply set up by trial and error until an acceptable response is found. Auto tuning programs are not able to tune systems with changing gains or time constants unless they have a model for the particular system that is being tuned. Finding a useable model may take some work, but for system designers it should be mandatory.

A simple tank level control is a good example system to learn the basics. The first step is to write a basic differential equation for the rate of change in level. Assume there is a fixed valve on the outflow at the bottom of the tank and a pump to add fluid at the inflow.

y'=(Qp(t)-Cv*y)/A

or

A/Cv*y'-y=Qp(t)/Cv

Where:

Y is the level and y' is the rate of change in the level with respect to time.

Qp(t) is the pump flow into the tank

Cv is the flow constant for the outflow valve. I combined some terms here so the units are flow per depth of fluid and A is the surface area of the tank.

If A and Cv are constant then A/Cv would be a time constant τ. However, if the surface area of the fluid in the tank changes as a function of level or the flow through the valve is not linear with level then the time constant isn't constant. One can also see that if the flow through the valve is not linear then the overall PID gain is not constant either. How does one provide for changing system characteristics? Use a programmable motion controller that allows for gains to be changed on the fly.

When time constants aren't how to control

Even though the control system gain and time constants vary it is easy to tune the system. Tank level control typically only requires a simple PI controller. One can find formulas on the Internet for the controller gain and integrator time constant.

Kc = τp/(Kp*τc)τi=τp

Where:

Kc is the controller gain

τi is the integrator time constant

τp is the plant time constant

Kp is the plant gain

τc is the desired closed loop time constant

The closed-loop time constant is usually set to about the same as the plant time constant but in cases where there is no dead time, as in this case, it is possible to set the closed-loop time constant to a much shorter time to get faster response. The closed-loop system will reach steady state in five closed-loop time constants.

From my previous article recall that:

Kc=Qp/Cv

τp=A/Cv

So now make substitutions for Kp and τp

Kc= (A/Cv )/(( Qp/Cv )*τc)=A/(Qp* τc)

τi= A/Cv

Now it is possible with some motion controllers to change the PI gains on-the-fly to adapt to changes in both the plant gain and plant time. By changing the controller gains in real time, the closed-loop time constant can remain constant regardless of the level in the tank. The level will reach the set point in five loop times with no overshoot. However, the designers need to know how the tank surface area changes with level and how the flow through the fixed outflow valve will change with level. This information should be provided by the designers in order for the control engineer to calculate gains and develop a model for simulation and ultimately for controlling the fluid flow.

Peter Nachtwey is president of Delta Computer Systems Inc.

Peter Nachtwey has more than 30 years of experience developing hydraulic, pneumatic, electronic and vision systems for industrial applications. He graduated from Oregon State University in 1975 with a BSEE and served in the US Navy until 1980. He became president of Delta Computer Systems, Inc. in 1992. In addition to leading Delta's engineering and R&D programs, he has presented technical papers for IFPE, NFPA, FPDA and various technical conferences.

Related posts:

Sign up for the Design News Daily newsletter.

You May Also Like