I'm using the node-red-contrib-pid and that works quite well.
My heating system has long heat up times (20min to 2hr).
During the heating period, the I-contribution gets summed up and while reaching the setpoint the I-contribution is too high for the actual temperature and I get a large overshoot.
I worked with two pid controllers, one P-controller for the heating and one PI-controller for the stabilization period.
But as soon as the 2nd (PI) controller is switched on, the latest (random) I-contribution is still active and gets part of the control process and I get a large overshoot.
I tried different workarounds but it all comes down to the latest stored I-contribution in the pid-controller.
Is there a way to set and/or delete the active I-contribution?
Or is there another way of solving the problem?
That should not happen if the loop is correctly tuned. There is a tuning guide linked from the node's page on the node red flows site. If you have not already worked through that then it is probably worth doing so.
Again, that should not be necessary if the loop is correctly tuned. Get rid of the second pid node, it will not be necessary.
If you believe that it is correctly tuned, but you still get the overshoot then show us a chart showing the output of the pid node and also the current temperature, during the startup and stabilisation. You may have to scale the power output so that it appears correctly on the chart.
If your heating system have long heat up time then I-time can be turned off by putting it to a very high value as you do not really need it for slow moving systems. So you only need your P controller pid and nothing else
If it is for room heating (which i assume) i think he is better off just using P-controller for simplicity. That is atleast what im doing, and that works very well.
P band around 3, and I-time to very high value. Initial integral at 0 of course.
Thanks for your advice. I tuned the PID controller already but at first, I try to do the PID tuning again and keep some records. It will take me a couple of days to do it.