Jump to content

Novel buffering scheme for UFH


Radian

Recommended Posts

Let me start by saying that I'm posting this in Boffin's Corner because it's about an experiment that curiosity has driven me to try out. But it's probably not something the professional plumbers around here would endorse. Nevertheless, this is what I'm trying:

 

The issue I'm addressing is running a small, single zone UFH loop using a 30kW system boiler that only has a 3:1 modulation capability. The UFH loop only requires around 2 kW so, in the absence of any other loads, the boiler inevitably short cycles. A classic case for using a buffer... that I never managed to get round to installing. However, due to an accidental failure of my HW cylinder zone valve (stuck in the open position) I noticed an interesting behaviour...

 

With demand coming from the UFH room thermostat, both the HW and UFH loop were being heated - with HW reaching an uncontrolled maximum - while the boiler demand was being controlled solely by the UFH. What was interesting was how, when the UFH demand was satisfied, the UFH circulating pump continued circulating through the HW cylinder coil and the room temperature continued to rise while the HW cylinder fell. Only when the HW temperature fell below the automatic UFH pump threshold did it stop circulating. The HW cylinder was acting as a buffer.

 

So thinks me: I have thermostatic mixer valves and taps so a fluctuating HW cylinder temperature will not be noticed, so why not deliberately ping-pong the HW in and out of the cylinder when the UFH was required? Given that I have full control of every central heating component in a Python script running on a Raspberry Pi, I have just set this up with a minimum buffer temperature of 42oC and maximum of 52oC and it seems to work like a charm. In a typical cycle, the boiler now runs continuously for 15 minutes while raising the temperature in the HW cylinder and then shuts off for 60 minutes while the HW is depleted in the UFH loop. This gives a final ratio of 1/3x4 or 2.5kW

 

Can anyone see a hidden problem?

Link to comment
Share on other sites

I'm doing basically this in our thermalstore/ ASHP/ UFH + rads scheme; ALL heating flow passes through the TS bottom coil so the bottom of the tank is at least at low-temp rads temperature. I then bypass the heating loops to switch to DHW production when necessary.

Link to comment
Share on other sites

8 hours ago, PeterW said:

What type of hot water cylinder are we talking here ..?

 

It's a 160 Litre stainless-steel vented type with a single indirect heating coil.

 

7 hours ago, markocosic said:

Fine for boilers as fast as I can see; if you don't need the full possible stored volume of the cylinder.

 

 

The minimum HW temperature setpoint is adjusted to meet our needs from the various mixer taps. Early days yet but no complaints so far.

 

1 hour ago, JohnMo said:

Working similar to mine also.  You may be able to trim the boiler firing temperature so the boiler is condensing all the time, to a couple more percent efficency.

 

I wish. Anything I shave off the boiler flow temperature also has to come off the maximum HW cylinder set-point. I've found empirically that there has to be a 10oC difference between HW set-point and flow temperature to ensure that the boiler doesn't go from its lowest modulating power level into bang-bang control as the temperature nears the set-point. I think this is potentially just as wasteful as having a boiler return in the mid 50's but I can't say why exactly...

 

...I started out this experiment because the boiler was short cycling and I kept reading people saying this was bad. It certainly puts an additional strain on the boiler.

 

Link to comment
Share on other sites

Well, this one's a keeper. Saved an awful lot of extra plumbing and finding somewhere for the buffer tank. Data:

 

1569446859_Screenshot2022-12-0116_32_03.thumb.png.77b6d3e71f83bda08af791606a06c6c2.png

 

At 4AM when the night set-back for the UFH ends, the boiler starts heating the UFH loop to 45oC  (via a TMV) and also brings the HW cylinder temperature up to 55oC as per this schematic:

 

charge.thumb.png.f364623c438bcba5aabb3f8d6d7f7356.png

 

Then the boiler goes off and the HW is circulated around the cylinder coil and UFH loop until the HW drops below 45oC. it will continue to cycle up and down while the UFH demand is present:

 

discharge.thumb.png.70c421859f86c8cfd4ca9ab6405386fb.png

 

When the floor is cold, the on/of ratio is between 1/3 and 1/5 when warm which, with a 10kW min boiler input, is effectively further modulating down to between 3.3kW and 2kW respectively. The only downside I can think of is that the flow through the boiler, when off, is only restricted by the de-energised system pump. If I find that this is too lossy, I suppose I could replace ZV2 with a three-way valve. All the losses in pipework are within the house so I don't see it as a big issue.

Link to comment
Share on other sites

  • 3 weeks later...

Looking at how much energy is going in now, I've been monitoring the gas consumption while the buffered UFH is the only load, which generally happens in the early hours of the night when the air temperature in the room cools to below 18oC Unfortunately the actual consumption seems a bit excessive when I do some (very) rough calculations:

2121242065_Screenshot2022-12-2209_58_31.thumb.png.9cda615cf7b6fa25accb6291bdb8f69d.png

 

In the above example, yesterday morning saw almost three full buffer cycles from 3AM to 7AM. So ignoring the rest of the day's heating, gas use for each early morning buffer cycle was 6.23kWh, 4.0kWh and 3.61kWh respectively.

 

The initial cycle has a loop full of room temperature water to contend with plus the HW cylinder which is no lower than 40oC at this time of day. So in this case we're heating 150l of water from 48oC to 52oC and 15.5l in the UFH loop from 18oC to 45oC, which given that 1 litre of water needs about 1.16 watts to raise it by 1°C in one hour, requires 1.6 * 150 * (52-48) for the cylinder plus 1.6 * 15.5 * (45-18) for the UFH loop. Of course there's a cold heat exchanger in the boiler and about 25m of 28mm copper pipework to add to this so about 1.6 * 13.5 * (65-18) Adding it all up 0.96+0.67+1.01 = 2.64kWh before we've accounted for the energy transferred into the room. Therefore the energy consumed minus the amount used to bring everything up to temperature should give what's actually heating the room i.e. 6.23 - 2.64 = 3.59kWh 

 

The subsequent two cycles are more in line with this (4.0kWh and 3.61kWh) presumably as the losses to overheads are less.

 

Of course the boiler efficiency comes into this so being pessimistic and putting that at 85% might drop each cycle to around 3.0kWh of useful heat input. The pipe spacing and area are actually designed to provide a heat output of 2kW so for the four hour period between 3AM and 7AM and after adjusting for boiler efficiency, I'd expect to see 9.5kWh consumed. What I'm actually being billed for is 13.8kWh meaning 4.3kWh is going AWOL

 

I'm really not sure what to make of this, and whether it means the experiment is successful or not. 🤔

 

Link to comment
Share on other sites

Plot some correlations they usually show what is happening.

 

One problem with modelling a buffer system is that there is a time shift between energy input and a rise in room temperature, this can give odd looking results as yesterday's inputs, yesterday's temperature differences may not correlate to what you see today. Starts to become messy modeling.

Link to comment
Share on other sites

6 hours ago, SteamyTea said:

Plot some correlations they usually show what is happening.

 

 

Between what & what? As a snapshot in time, I'm not looking at the actual temperature rise in the room (although I do measure it) I was simply looking at the gas use and relating it to what I'd expect the input to be given the known temperatures of the buffer and UFH loop during the charge/discharge cycling. During this period it's running open-loop (setpoint not reached).

Link to comment
Share on other sites

2 hours ago, Radian said:

Between what & what?

The base (x-ais) is going to be gas usage.

Then I would plot (separate plots), in no particular order.

Room Temperature

Eternal Temp

Room - External Temp

UFH Flow Temp

UFH Flow - Return Temp

Buffer Temp

Buffer - UFH Flow Temp

Boiler Flow Temp

Boiler Return Temp

Boiler Flow - Boiler Return Temp (probably the most important)

Boiler Flow - UFH Flow temp

 

I would also categorise them into a frequency distribution where the x-axis is the delta Temp between the Room Temp and the External Temp (this is your comfort control.

Then to make sure it is making sense, find the times (hourly) between Maximum Temps and Minimum Temp (the Temp Ranges)

Those last two will not always have a very good correlation, but are quite useful visually because you can probably disregard the tails.

Link to comment
Share on other sites

I just bought a spare boiler controller from ebay to practice reading data over ebus as this should give me a neat way extracting the flow and return temps. I could also do with being able to set flow temperature to do weather compensation. It's not very well documented though so I'm not overly confident.

Link to comment
Share on other sites

13 minutes ago, Radian said:

I just bought a spare boiler controller from ebay to practice reading data over ebus

Do most half decent controllers have the ability to gather data?

Being on E7, I have not bothered to keep up with general heating system controls.

If they are like ASHP ones, they all seem to have their own way of doing similar things.

Link to comment
Share on other sites

23 minutes ago, SteamyTea said:

base (x-ais) is going to be gas usage.

Then I would plot (separate plots), in no particular order.

Room Temperature

Eternal Temp

Room - External Temp

UFH Flow Temp

UFH Flow - Return Temp

Buffer Temp

Buffer - UFH Flow Temp

Boiler Flow Temp

Boiler Return Temp

Boiler Flow - Boiler Return Temp (probably the most important)

Boiler Flow - UFH Flow temp

Mine gathers no data, I have to do it manually.

 

10 hours ago, Radian said:

meaning 4.3kWh is going AWOL

That was me last year, on/off thermostats, a buffer not fully engaged, boiler run times too short.

 

But all that's important is gas used, v heat input into the floor (I now a use a heat meter).  House temperature being comfortable, that's a given.

 

Monitoring return temp is really useful as it has a direct correlation to boiler efficiency, when coupled to boiler run time.

 

Was charging my buffer, using a thermostat to 34 degrees, the boiler return temp would slowly ramp up settle out at 40, with a flow temp of around 60.  System efficiency was around 94% (about 40% better than last year).  Taking the thermostat off and leaving the buffer to float without a thermostat and running on WC, the return temp now almost never goes above 30. Boiler run time is about 12 to 14 + mins, efficiency now is around 105%.  Not as good as a heat pump, but good for a gas boiler.  Looking at the flue, you cannot tell the boiler is running even on a cold day.

Link to comment
Share on other sites

On 27/11/2022 at 22:46, Radian said:

Let me start by saying that I'm posting this in Boffin's Corner because it's about an experiment that curiosity has driven me to try out. But it's probably not something the professional plumbers around here would endorse. Nevertheless, this is what I'm trying:

 

The issue I'm addressing is running a small, single zone UFH loop using a 30kW system boiler that only has a 3:1 modulation capability. The UFH loop only requires around 2 kW so, in the absence of any other loads, the boiler inevitably short cycles. A classic case for using a buffer... that I never managed to get round to installing. However, due to an accidental failure of my HW cylinder zone valve (stuck in the open position) I noticed an interesting behaviour...

 

With demand coming from the UFH room thermostat, both the HW and UFH loop were being heated - with HW reaching an uncontrolled maximum - while the boiler demand was being controlled solely by the UFH. What was interesting was how, when the UFH demand was satisfied, the UFH circulating pump continued circulating through the HW cylinder coil and the room temperature continued to rise while the HW cylinder fell. Only when the HW temperature fell below the automatic UFH pump threshold did it stop circulating. The HW cylinder was acting as a buffer.

 

So thinks me: I have thermostatic mixer valves and taps so a fluctuating HW cylinder temperature will not be noticed, so why not deliberately ping-pong the HW in and out of the cylinder when the UFH was required? Given that I have full control of every central heating component in a Python script running on a Raspberry Pi, I have just set this up with a minimum buffer temperature of 42oC and maximum of 52oC and it seems to work like a charm. In a typical cycle, the boiler now runs continuously for 15 minutes while raising the temperature in the HW cylinder and then shuts off for 60 minutes while the HW is depleted in the UFH loop. This gives a final ratio of 1/3x4 or 2.5kW

 

Can anyone see a hidden problem?

I quite like this tbh, but indeed it's "bespoke" to the extreme.

I would have said a bigger UVC would have been advantageous, but you state no issues ( running out of DHW I assume? ) to date, so if the shoe fits....it seems to be a beautiful mistake in fairness!!

Link to comment
Share on other sites

10 hours ago, SteamyTea said:

Do most half decent controllers have the ability to gather data?

 

 

I doubt it but what I'm after is the flow and return temperatures as sensed by the boiler. These are accessible from the display on the front of the boiler by doing a tedious amount of button pushing but I want to log them automatically to a DB. I could just hook up a couple of temperature probes to the pipework but I've already tried that and it's never quite in agreement with the boiler display. I want to see the exact same data that the boiler control loop is using. From what I've read online the ebus interface carries all this data and it should be possible for me to get at it, although documntation is very thin on the ground for glow worm's proprietary use of ebus.

 

9 hours ago, JohnMo said:

But all that's important is gas used, v heat input into the floor (I now a use a heat meter). 

 

Yes, that's what I was hoping to get from my simple analysis. I fully take on board what you say about the significance of the return temperature. I was already coming to the conclusion that it might be a good input to my process control to eek out the last few percentage points for efficiency.

 

9 hours ago, Nickfromwales said:

.it seems to be a beautiful mistake in fairness!!

 

Serendipity indeed!

Link to comment
Share on other sites

On 27/11/2022 at 22:46, Radian said:

So thinks me: I have thermostatic mixer valves and taps so a fluctuating HW cylinder temperature will not be noticed, so why not deliberately ping-pong the HW in and out of the cylinder when the UFH was required? Given that I have full control of every central heating component in a Python script running on a Raspberry Pi, I have just set this up with a minimum buffer temperature of 42oC and maximum of 52oC and it seems to work like a charm. In a typical cycle, the boiler now runs continuously for 15 minutes while raising the temperature in the HW cylinder and then shuts off for 60 minutes while the HW is depleted in the UFH loop. This gives a final ratio of 1/3x4 or 2.5kW

@Radian Interesting, could you tell me what sort of interface modules you use to drive the 240VAC valves and pumps in the system? TIA

Link to comment
Share on other sites

2 hours ago, tuftythesquirrel said:

@Radian Interesting, could you tell me what sort of interface modules you use to drive the 240VAC valves and pumps in the system? TIA

 

Hi, the system is S plan with three zone valve bodies (Drayton IIRC) actuated by geared DC motors. I removed the 240V heads and mounted the DC motors on brackets. These are driven by three DRV8833 dual H-bridge motor driver IC's with current limiting so that the motors can safely run to stall and dissipate less than 1W in the closed position. In the open position, the motors are driven to stall for one second and then both sides are grounded to brake the motor - with no dissipation.

 

IMG_20221224_143845168.thumb.jpg.720047fcf6e8d602cbab039308743a23.jpg

 

The main system circulation pump is switched on by the boiler and the UFH zone pump is automatically switched on when the incoming water is above an adjustable threshold. The Raspberry Pi just interfaces to the motor drivers and one 240V relay to switch the boiler demand.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...