0

Suppose I want to control a portable electric stove in order to bring a big pot of water to, say, 70°C.

The first thing that came to my mind was the simplest: use one of those power plug+termocouple controllers that outputs power when the temperature sensed by the thermocouple is below A°C, and not when the temperature is aboove B>A°C.

However this system seriously overshoots, due to:

  • the heat capacity of the stove
  • the heat capacity of water

So, another idea would be to use a more intelligent controller, say, a PID. Do you think such a controller would be able mantain the target temperature without (drastically) overshooting?

Lilla
  • 109
  • 4
  • 2
    If tuned properly, yes. –  Mar 20 '21 at 22:31
  • What does it mean to "erogate power"? – Hearth Mar 20 '21 at 22:31
  • For proper measurement sensor should be immersed in water. – user263983 Mar 20 '21 at 22:39
  • Another useful control that should likely go on top of the PID is limiting at a rate of water temperature increase. This will effectively limit the power you draw from the stove based on the thermal mass of the water and help take into account that thermal mass. Since it's electric, even a hard shutoff at reaching water temp rate shouldn't be too bad on the stove. Ideally one would target a temperature increase rate based on the temperature difference from target temp. – Abel Mar 20 '21 at 22:52
  • @Abel Perhaps, do you have a specific way of realizing this in mind? – Lilla Mar 20 '21 at 22:59

3 Answers3

2

A P-only (proportional-only) controller will back off the power as the setpoint is approached but, generally, will settle down a little below setpoint unless you add an offset.

A PI (proportional-integral) controller's integral action will correct the error over time and regulate to setpoint. With good tuning it also gives the fastest heat-up time.

You might find my answer to Understanding the flow of a PI Controller? useful.


Notes:

The system overshoots because the stove has to be hotter than the water if heat is to be transferred. Once the setpoint has been reached the stored energy of the stove is transferred to the pot until equilibrium temperatures are reached. The heat capacity of water isn't an issue other than its value relative to that of the stove determines the final temperature as the excess energy will be shared between them.

Transistor
  • 168,990
  • 12
  • 186
  • 385
1

All you need is full power and a proportional PWM for the amount of %overshoot a bit below setpoint with the desired hysteresis if you want to go on/off after that. Any low R thermistor will do with a reference R ( or variable) to a comparator. for On/Off or a diff. amp for linear gain over the temp. that includes over/undershoot. Stirring reduces the thermal gradient and your resulting overshoot.

Tony Stewart EE75
  • 1
  • 3
  • 54
  • 182
  • 3
    Wouldn't this have the same issue? For example imagine a situation with a desired temp of 80F, the pot goes to 200F while the water reaches the set point of maybe 70F. Then when cooling, the 200F pot heats the water to 100F causing the overshoot. Tweak the set point to lower and maybe it works, but use a different amount of water and again you have to figure out a different set point. – Abel Mar 21 '21 at 02:25
1

Thought I'd expand a bit from my comment on targeting a temperature rate. A programmable digital controller can likely handle the algorithm. It's a two step system:

temp = [sensor reading]
tempRate = [sensor reading] - [previous sensor reading]

targetTemp = [temp I want]

targetTempRate = P × (targetTemp - temp) + I × [integral approx of (targetTemp - temp)]

if (targetTempRate > [Stove Limiting Value]) targetTempRate = [Stove Limiting Value]

Output = P2 × (targetTempRate - tempRate) + I2 × [integral approx of (targetTempRate - tempRate)]

if (Output < 0) Output = 0 //well it's a stove not a heat pump or TEC

You would have to tune P, I, P2, I2, and [Stove Limiting Value]

To start with, I and I2 could be 0. But I suspect the end result will have a meaningful I2 term so the stove stabilizes a rate nicely. The I term in turn has a meaningful impact on the ability to reach and hold at the targetTemp.

Note that Stove Limiting Value and tempRate values are in units of sensor reading per execution frame since I don't divide by a time quantity.

Abel
  • 456
  • 2
  • 7