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):
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:
PID constants are (taken from Simulink tuner):
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:
- What method of control should be more suitable for this kind of problem (it seems a simple PID is not the best solution)?
- 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?
- 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?