2
\$\begingroup\$

I am developing a DIY reflow oven using a 10L common electric oven with quartz heating elements. Below is a graph that represents the oven's step response (open loop response):

enter image description here

In blue: oven's step response in open-loop.
In orange: theorical model using a first order with dead time (approximation). The transfer function of this orange curve is H:

$$H=e^{-20s}\cdot\frac{1020}{150s+1}$$

Note the Simulink PID graph as a response to the plant:

enter image description here

enter image description here

PID constants are (taken from Simulink tuner):

enter image description here

The problem:
In theory, the oven tuned with these PID values should converge the plant to follow the setpoint, which doesn't occur in reality.

The main reason this method doesn't work efficiently is probably because my plant has no other action to reduce the temperature than wait it to go below the setpoint (the oven is composed of heating elements only, with nothing to cool it down).

So, when the temperature overshoots the control enters in a state of "no return", because it's expected to have a correction, but it doesn't take place.

About the above, I have some questions for all of you guys who understand much more about control thechniques:

  1. What method of control should be more suitable for this kind of problem (it seems a simple PID is not the best solution)?
  2. How should I treat the overshooting in my PID (if it's the best technique to use). Should I zero the integration and zero the proportional terms when it overshoots?
  3. As shown above, my plant has a delay between the moment the heating elements are turned on and the moment the thermocouple feels the heat. Is the modeling of a "first order with dead time" suitable for this application? If so, is the delay already accounted for in the MATLAB PID solution?
\$\endgroup\$

1 Answer 1

1
\$\begingroup\$

What method of control should be more suitable for this kind of problem (it seems a simple PID is not the best solution)?

Speaking from one who looked for better options than PID for a commercial temperature control solution for a few years. The best thing that is better than PID is MPC (model predictive control), because you can build in control goals right into the model and also things like saturation and it handles it well. Temperature 'plants' are not always linear, depend on ambient in some way (usually small but it depends on the accuracy), and usually have two time constants, a big one and a small one. With things like ovens/baths there are also non-linear fluid effects like convection that can really hamper control. A first order PID is one of the best temperature controllers, no need for a time delay.

PID's have issues with multiple time constants, one problem is where you place the temperature sensor, if it is close then you have a shorter time constant and the air/fluid will change quickly. But then you have this really big time constant from the rest of the elements in the oven/bath that pull this small time constant around. So if you set the PID for the slow/big time constant, it will take a long time and that is usually unacceptable. So you set it fast and tune it into the smaller time constant.

MPC's can overcome these issues give you better rise times, because the model can predict what the plant model is going to do and estimate what the control should be before it happens. They are hard to implement versus a PID, PID's are fairly simple and don't require a lot of resources.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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