0
\$\begingroup\$

I want to implement a PID-based temperature control system using an Arduino. I plan to use a fan for cooling (decreasing temperature) and a lamp/heater for heating (increasing temperature). I am confused about how the process flow should be.

The fan and heater should simultaneously run together (not at full values but some partial values).

or

Fan and heater should not simultaneously run together.

For example, if our setpoint temperature is 25°C and current temperature is 23°C, apparently in this case only the heater should be on since we need a temperature rise, but what if the fan is also running at slow speed?

Another example: if our setpoint temperature is 25°C and current temperature is 27°C, apparently in this case only the fan should be on since we need a temperature decrease, but what if the heater/lamp is also running at slow intensity?

In my understanding, if the fan and the heater should not simultaneously run together, it will be purely on/off control, and that can't be termed/labelled as PID.

\$\endgroup\$
1
  • \$\begingroup\$ These are all decisions you need to make. Apart from anything else they are not EE questions as far as I can tell. \$\endgroup\$
    – Andy aka
    Commented Jan 12, 2023 at 10:32

2 Answers 2

0
\$\begingroup\$

PID is based on the principle of being analogue or continuous - even if it is implemented with a micro controller. You want to have a measure of temperature above your set point, that is negative for temperature below the set point, and a control on the temperature that can push it up or down depending on a control signal that can be positive or negative. A reversible heat pump could do that.

But, the heater can only go down to no heating. And the fan can only go up to no cooling. One thing you can do is, if the control signal says heat - then turn the heater on proportional to the control and if it says cool - then turn the fan on proportional to the control. But, one way or other you want to turn the heater-fan into a single device that can heat or cool in response to a single signal that might be negative or positive. In principle, you could have an overlap where both the fan and heater are on.

And you might find that you can control temperature and humidity, say, in combination, if you go to a two dimensional control process.

\$\endgroup\$
0
\$\begingroup\$

So I've had to implement this for a bootleg heat chamber when I was a test engineer. Knowing nothing about your system what Ponder has said is a fine approach, when the PID output is negative it should run the fan, positive it should run the heater. You are going to find that the system response to the heater is very different to the fan. What this may translate to is tuning your gains well for one thing heating or cooling, will lead to crappy performance for the other cooling or heating. To get around that I used different gains for when I was cooling than when I was heating and that did the trick.

Thinking of it like a generic control system your "actuator" is the heater and fan together, they supply or remove heat power. The heater supplies some known watts which is relatively easy to model. The fan "supplies" negative power in the form of some flow rate of air that absorbs some heat energy from your system. That flow rate and the efficiency of heat transfer from system to the air gives the effective heat power flow the fan contributes. What that value is at any given time is difficult to model and calculate. If you can your best bet is to build a system you can tune readily. Run some tests and you should be able to get your system running well enough for whatever it is you're doing.

\$\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.