1
$\begingroup$

I am trying to optimize the heat control of a test bench at our facility. The test bench is basically a pipe with an air flow that can be heated up to desired temperature. To heat the air flow up three heat zones are available as shown in this sketch:

Sketch of test bench

Measurements of the temperature are available for T1, T2, T3 and T4. The three zones are each equipped with there own PID controller, so it is possible to set target temperatures for each zone.

However obviously the single temperatures affect each other, especially in flow direction, but also slightly in upstream direction through conduction in the pipe material. The ultimate goal is to set a target temperature for T4 and control the three heat zones accordingly.

Right now basically only the PID controller of the second heating zone is used for the temperature control. Ideally I would like to use all three heating zones. The PID controllers of the heating zones could either be used to do so or just set to a static gain and building a control on top of this.

What is the general strategy to get such a MISO control set up?

$\endgroup$
  • 1
    $\begingroup$ You probably first need to get a dynamical model for the system. Preferably as a state space model. Then you have to ask yourself what are your design requirements, such as disturbance rejection, minimize power usage or temperature tracking error. $\endgroup$ – fibonatic Jul 25 '18 at 18:07
  • 1
    $\begingroup$ Why not slave T1 and T3 to T2? Then all you have to do is calibrate T2 vs. T4 . Add a little hysteresis so the three controllers don't fight over milliKelvins. $\endgroup$ – Carl Witthoft Jul 25 '18 at 18:32
  • $\begingroup$ Hi @CarlWitthoft! How would this "enslavement" of T1 and T3 look like in practice? Would I not use the controllers for U1 and U3 but just use the output of the controller of U2 for all three voltages? $\endgroup$ – Axel Jul 25 '18 at 22:15
  • $\begingroup$ Hi @fibonatic. Although I am sure that this would be much closer to an ideal solution, I must admit that we will probably not have the resources and the know-how to properly set up a dynamical model of the system. So I am more looking for practical advise how to cleverly adjust the PID controllers or connect them to a combined control. $\endgroup$ – Axel Jul 25 '18 at 22:21
  • $\begingroup$ @Axel Yes, that was my thought. Very simple, but perhaps not terribly accurate. Arash's MPC answer looks good. $\endgroup$ – Carl Witthoft Jul 27 '18 at 11:18
2
$\begingroup$

There might be so many methods to perform that. But, the premium method is to use a nonlinear Model Predictive Control (MPC).

This is a multi-input/multi-output control method which predicts the future based on the available model. Then it optimizes a series of control inputs to minimize a forecast cost function with respect to the constraints.

A nonlinear MPC is like this

\begin{cases} J(\Delta \boldsymbol U|t)=\sum_{k=1}^{N_p} ||T_4(t+kT_s|t)-T_4^{\text{ref}}||^2+\sum_{k=0}^{N_c-1}||\Delta\boldsymbol U||^2 \\ \Delta \boldsymbol U^{\star}(t) =\text{argmin}_{\Delta \boldsymbol U} ~~J(\Delta \boldsymbol U|t) \\ \text{Optional constraints} \end{cases}

where $x(t'|t)$ means $x$ predicted of time $t'$ at the current time of $t$.

The first term in the cost function is penalizing the error. The second term minimizes the control actions. The constraints could be maximum or minimum temperatures. $N_p$ is called the prediction horizon and $N_c$ is the control horizon and $T_s$ is the sample time.

$\boldsymbol U$ is the series of control actions such as

$$ \boldsymbol U=\begin{bmatrix} T_1(t)\\ T_2(t)\\ T_3(t)\\ \dots\\ T_1(t+(N_c-1)T_s)\\ T_2(t+(N_c-1)T_s)\\ T_3(t+(N_c-1)T_s)\\ \end{bmatrix} $$

$\Delta \boldsymbol U$ is the difference of control input $$\Delta \boldsymbol U(t)=\boldsymbol U(t)-\boldsymbol U(t-T_s)$$

The control input is updated at each sample time.

If there is no constraint and if the problem is convex the problem becomes far easier to solve. You can use gradient descent method. If it is even linear, it will reduce to Linear Quadratic Regulator (LQR) problem.

For more information about MPC, have a look at my papers in Researchgate.

BTW, MATLAB has MPC toolbox as well as system identification. You can easily use them.

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.