An app to review heat pump experiments

Hi,

Looking at the graphs, you seem to have some single data points for COP that are way out of range, hence the graph is basically flat, hiding the detail. These are surely anomalies and are maybe artefacts of the way the data is stored and processed? They only seem to occur when the pump is turning on or off. Would it be possible to remove these from the data, either as they are being stored (with some log warning) or before the data is displayed. That way, you’d be able to see much more detail from the COP graph.

Also, it looks as though you circulate your hot water, it gradually loses heat between operations of the HP. This seems to be a standard method for new builds with HPs. We are about to commission a new build and we’ve designed things so that all the bathrooms are close to the plant room, minimising any hot water runs. The kitchen sink is the only place hot water would be used that is some way from the plant room and we intend to put in a Quooker (instantaneous boiling/hot water) on the premise that with Solar PV and a battery system, this should be more cost effective than circulating the hot water to all points where it is needed with the inherent heat losses.

Not sure if anyone has experience of this with HP systems?

Having said all that, this looks like a great addition to the Open Energy arsenal. Thanks for posting.

Simon

1 Like

Thanks for your comments Simon.

single data points for COP that are way out of range

It does look that way, but they are correct - the amount of useful heat generated can sometimes be way higher than you’d expect. It’s a feature of the way I’m controlling the heat pump and helps me get a good average CoP. Of course it doesn’t help with the graphing which is why on my home-grown web-app I smooth it over five minutes. I haven’t done that in Emoncms yet.

it looks as though you circulate your hot water

Actually, one of the features of my new control algorithm is to not circulate the water because it wastes 200W driving the pump and sending heat outside. I actually turn everything off and let the radiators slowly emit the heat they’ve built up. After something like an hour I start everything back up. My control algorithm is working out when it’s a good time to do that. Notably I recently enhanced it to work out the “effective” outdoor temperature rather the actual one which is why Emoncms is interesting because I’ll be able to implement that more flexibly by consuming feeds for the weather station data rather than hard-coding the lookup that I have at the moment.

Your comment about the kitchen sink temp are quite valid. We’re having to wait a little longer for hot water to come through since we stopped using oil (temp=70C). However, our un-lagged DHW piping is helping to heat the house so I don’t mind those losses. In the Summer it will be pure waste, but by then we’ll have excess solar PV so it won’t bother me much.

1 Like

I suggest the sensors are close to the tank so the figure you are seeing ‘at rest’ is the temp of the tank - this is what I see on my boiler flow/return sensors. Mine are also a few degrees out - I’ll plumb in proper sensor pockets next time :grin:

I’ll open some more topics to chat about what’s actually happening with the heat pump.

I’m not ignoring you all but I’d like to keep this topic to be about adding the new app rather than what I’ve been doing with the heat pump.

Hope you don’t mind.

1 Like

Good point, I have the same on my heat bank - should have thought of that one! :expressionless:

1 Like

I’ll bite on this topic. Too juicy not to :grin:

I am impressed with the level of experimentation and monitoring that David has carried out so far. I personally don’t think enough work is carried out exploring heat pump control strategies but I know the reasons why though.

  1. Most people only care about heating if it’s not working, or if it’s costing them a fortune to run.
  2. Manufacturers’ want their ASHP box of tricks that performs as reliably as possible for as many types of installation as possible. It might not be the most efficient strategy they use, but it is often the most reliable.

With that in mind, and based on my day job as a tech support guy for a heating manufacturer, I’ll throw in my 5p worth :smiley: (All opinions my own). Whilst this may come across as negative, it is not meant to be. I just want to remind anyone wanting to experiment, to bear some important things in mind.

Now I did speak to @TrystanLea about this last year at the Fully Charged show where OEM had a stall. He mentioned how good it would be to be able to adjust the compressor running frequency / speed based on available excess solar PV energy, or to have an influence over the defrost cycle of an ASHP.

Whilst that would be great to be able to do this as an experimenter, no manufacturer would be happy doing this from a warranty point of view. Priority 1 of the software on a heat pump is to look after the heat pump. Priority 2 is to provide heat to the customer!

Every manufacturer has a different strategy around defrost cycles - it is their “secret sauce”, whether it be a time calculation around the time it took to complete the previous defrost, or based on ambient temp, evaporator temp and suction pressure or perhaps around CoP.

One thing for sure with a reverse cycle Air to Water heat pump, is that when the heat pump needs to do a defrost, it needs 2 things. Good water flow rates & sufficient thermal energy from the heating circuit & buffer tank. A lack of flow or insufficient thermal energy during a defrost cycle can cause water freezing & crystalisation in the condenser. Freezing water expands, potentially splitting the plate heat exchanger condenser. The software built into the machine will do everything it can to prevent this from happening. That might be faulting out with an error code if needed, or switching on a flow boiler / buffer tank immersion element to assist the defrost. Just be mindful of this if you are controlling a circulation pump controlling flow through the heat pump with your own on/off durations and pump speed. If the heat pump was expecting to control that pump, but in reality you are, it could cause trouble. A split condenser = a water filled refrigerant system. Not fun is an understatement!

Now I can see David has been experimenting by switching the heat pump demand on/off and slowly ramping up the water return set temperature rather than allowing the heat pump to do this quickly. I would imagine this results in the heat pump running the compressor at a lower RPM speed for longer and having a reduced cooling effect to the evaporator, potentially prolonging times inbetween defrosts & increasing CoP. What effect toggling demand on/off signals or altering the return temp set point on the fly to the heat pump makes to the defrost algorithm I don’t know (Never worked on Mitsi). One to perhaps think about.

On the topic of compressor running speeds and run times. The compressor manufacturer will specify a minimum and maximum running speed for inverter driven compressors as well as minumum run times. This is to ensure compressor longevity. Compressors contain oil and the compressor RPM and run time makes all the difference in making sure that oil gets to where it needs to go within the compressor. Generally speaking, compressor longevity is increased by reducing the number of starts per hour they have to perform. There is also a rule in the UK that should be followed to prevent upsetting the local DNO - no more than 3 compressor starts per hour. Most heat pumps have this inbuilt. Trying to override this may shorten the compressor lifespan and upset the DNO if they catch you (unlikely but still!)

Nevertheless, my inner heating geek rather likes seeing stuff like this. Would the gains in CoP efficiency be worth the time & effort spent seeking them? I would question it, but if you’re enjoying it and it doesn’t leave you with a broken heat pump, then I will enjoy seeing the fruits of your labour. :smiley:

2 Likes

Thanks for the kind words @moojuiceuk

There’s a lot of important points you mention there. You’ll see I’ve expanded on most of them over in the heat pump category:

For control I’m exclusively using commands their phone app can send. That way I can’t do anything they didn’t design for (and continue to support in the future). As a result my program just looks like a very very involved app user.

It would be nice to have finer-grain control, but (as someone who also supports other tech) I’m fine just using what they feel comfortable with.

Thanks again for taking time to think about these things and for sharing.

1 Like

I never realised you were using an API which is part of their app. Fair play :grinning:

For DHW prep, have you looked at taking an external weather forecast dataset for your area, then adjusting when DHW can be performed based on anticipated peak ambient temperatures that day? That might increase CoP figures a little bit for DHW prep. Of course this depends on when you have a demand for hot water, tank and pipe losses etc.

Also, are you heating your DHW tank to 60C every so often (say once a week)? I know of two different heating engineers who caught legionnaires and they wouldn’t wish it on their worst enemy. That hygiene cycle could be scheduled around the next highest forecast air temperature to aid efficiency perhaps?

I also wonder, from a CO2 national grid point of view what the merits would be to using a much larger thermal store and to heat that up based on when electricity is greener, by taking data from https://carbonintensity.org.uk/ or charging the thermal store during periods of off-peak electricity. Yes, the air temperatures will likely be lower overnight when prices are lower = lower CoP, but would the CO2 output be reduced by using electricity that was greener to produce at those times? Just a thought :slight_smile:

Here you go @moojuiceuk

Notably the demand shaper app in Emoncms should allow me to do that agile tariff/ CO2 bit. That’s part of the reason I’m doing all this work to integrate, such as this app

See

1 Like

For an indirect tank (i.e. the DHW is heated via a coil the potable water flows through within the tank), this is not really necessary as you never come into contact with the water in the tank. It could impact a heating engineer if they come into contact with the water in the tank, but is that not their risk they should take precautions against?

https://www.hse.gov.uk/legionnaires/legionella-landlords-responsibilities.htm

If the HSE state landlords have a responsibility, I would say that any private owner would want the same level of precaution taken. Regardless of the tank being an indirect coil heated tank, Legionella can grow in the tank (ie the stored hot water side), in the outlet pipework to the taps and in dead legs of the system. The primary way legionella infects people is when water droplets containing legionella become airborne (ie via a shower head).

Given legionella bacteria are killed at 60C, it is generally accepted that doing this once a week would cover the risk well. For the sake of a few extra pence of 'leccy, its worth doing IMO.

Agree - in indirect systems this is unnecessary but heating engineers beware!!

Nope, there is no HSE requirements on a private individual.

Never said there was. But, if a regulation forces a landlord to do something - it is generally worth doing yourself too. Bit like making your home has smoke alarms. Not a legal requirement for private owners but mandatory for landlords.

You are conflating two issues. There is no risk to a householder from legionella when using an indirect tank except from dead legs in the DHW supply pipework.

The legislation is an HSE requirement on Landlords to Tennants not heating engineers (or any other trade). It is up to the engineers to make a relevant risk assessment if they are likely to come into contact with such water.

Hi David,

Sorry to keep on about this but I’d like to really understand how the useful heat can be that much higher. Your comment about it being a feature of the way you’re controlling the heat pump makes me think the very high COP reading might be simply be due to the timing of the measurements you are taking.

For example on our gas boiler, the pump keeps running for some time after the boiler has stopped firing to prevent the fluid in the heat exchanger from boiling die to the residual heat, i.e. it runs to cool things down.

So I can imagine that in a HP you have exactly the same problem. Which means that if your temperature reading is just after the pump has turned off it will be very high giving a false COP ratio. Would it be possible to do the readings in a different order, or are you taking this data from the interface with the HP?

I’m not physicist, but surely thermodynamics would tell us that the ratio is impossible. Any physics PhDs out there? If this is the case then the software should be making sure that such an impossible ratio is impossible to generate from the data.

Hi @Bramco

You’re right about all the things you say. It is physically impossible and it is a result of the system measuring things with a bit of a delay.

As you say, I’m getting the values from the vendor’s system so can’t alter how that works. Notably it’s a bog standard MMSP system so you’ll see lots of people with behaviours like this as heat pumps get fitted in more properties.

There is another slightly unusual situation that is occurring as I type this. When the hot water is finished it’s hot and I pump that round the radiators which gives me some space heating in the way this vendor’s system measures it. That gives insanely an high instantaneous CoP because it’s just pump electricity being used. I’ve described it with examples in this post.

I’m not troubled by it because I tend to look at the CoP over the time of an event rather than the instantaneous CoP. That’s partly why I want this type of application in Emoncms, it allows you to look at the experiment’s outcome more easily by reviewing what makes sense to the experimenter.

BTW I should mention that Emoncms’ ability to return data “at intervals” is incredibly useful. My home-grown web-app tries to load all the data from every minute since October. As time goes by it’s getting harder and harder to do that. Of course Emoncms using PHPFINA can show an “all time” view relatively easily which is rather wonderful.

1 Like

I guess from my perspective if it isn’t physically possible, it would be better not to register that reading - if it is a single reading - and to replace it with an average of the one before and the one after. If it’s more, then lose the ‘impossible’ ones and again replace with an average.

Simon

1 Like

@TrystanLea I’ve uploaded the app and a relevant device file to MyForest/mmspheatpump on github so you can take a look.

1 Like