The temperature is too high. You increase the gain, but the trace hardly changes. Before blaming PI, inspect the actual heater power. If it is already zero, the controller has no more cooling authority. This small example is a useful habit for motors, valves and robots too: inspect what the actuator can actually do.
A lower limit can matter as much as an upper limit
Start at 80 °C and ask for 30 °C with C=1000 J/K and H=5 W/K. While u=0, T=20+60 exp(−t/200). It takes about 358 s to reach 30 °C if the heater remains off. Increasing Kp from 20 to 80 cannot beat this passive curve while both controllers command zero. An ideal negative request is not a negative applied input.
Doubling H halves the passive time constant, but doubles the steady heater power needed for any fixed temperature above ambient. Adding a fan or cooler could introduce another input and change the model. The present lab has no such actuator. Thermal inertia here is energy storage; it does not mean the response waits a fixed delay before starting.
Separate three different problems
Pin comparable runs and inspect the requested and applied power alongside temperature. A target can be reachable but slow, unreachable under the limit, or reachable after an event but delayed by integral windup. Those diagnoses imply different next steps.
| Observation | Check next |
|---|---|
| Zero applied power, still too hot | Passive time constant and cooling actuator availability |
| Maximum applied power, target above equilibrium limit | Required power H(r−Ta), heater rating and losses |
| Target lowered, large I keeps requested power positive | Windup during the earlier cap; compare anti-windup |
Run one controlled comparison
Open A target beyond heater power. The target is 100 °C until 300 s, then 40 °C. Pin anti-windup ON, turn only that switch OFF and pin again. Seek just after 300 s. Explain the heater command using P and I; then follow temperature. Conditional integration prevents increments that worsen saturation, but does not reset I on a target change or add active cooling.
Compare the same duration and starting temperature. Heater energy alone is an incomplete score: one run may finish hotter and therefore retain more energy. Use temperature error and energy balance as well. The simulation is deterministic and replay speed does not change the result, so disagreement should come from a stated setting, not animation timing.
Check actuator limits and the equilibrium first. Then distinguish thermal time scale from windup before choosing a controller change.
CHECK YOUR UNDERSTANDING: Can anti-windup make a 200 W heater maintain 100 °C in this 20 °C, 5 W/K model?
No. That target needs 400 W. Anti-windup changes the integral behavior during clipping; the applied-power range remains 0–200 W.