Close

Tuning the PID controller

A project log for OpenTherm interface

Hardware to interface with an OpenTherm enabled boiler

ivan-stepaniukIvan Stepaniuk 04/16/2020 at 22:200 Comments

Looking at the OpenTherm 2.2 spec, the only one I can find online, there is two ways to get a gas boiler to modulate it' s power output.

The first one, and the one I thought I was going to use, consists of setting the target water temperature to the maximum, and then using OpenTherm message id 14, "maximum relative modulation level setting" to limit the boiler's burn.

Unfortunately, my boiler responds with "invalid message id" for that one, so it's apparently not supported in the firmware. This leaves me with the second option which should be also fine; dynamically controlling the water temperature set point.

Some more experimentation will be needed, I am using Node-RED for the PID and the graphs. I am not sure if I am going to trust it with the PID loop permanently, but this is an excellent way to get insights and tune the PID loop.

Some experiments
Some experiments

The boiler uses it's own PID to throttle back when it's about to reach the target water temperature. |n on-off mode, that target does not change (it's the temperature dialed in on the boiler's front panel).

My goal is to reduce the target temperature so the boiler works at lower water return temperature, which boosts the condensation improving efficiency.

Discussions