New Heatpump Just Installed , calibration of heat measurement

Hi There
Just had a Mitsubishi Ecodan 14kw heatpump installed so have been following various threads with interest. Have also set up an Emon Pi monitoring whole house power and a remote arduino with rf shield monitoring heat pump flow/return secondary flow/return and outside temp. Don’t have a heat meter installed so have been playing with the simulated COP function.

Few ideas/questions

  1. What methods if any have been used to calibrate heat meters - or indeed to check the accuracy of the simulated COP figure. I have tried a method whereby I allow the hot water tank to finish a reheat cycle so I know that it has reached a steady 50 Deg C. I then run off a fixed volume of water (I used 14 litres measured with a bucket) This is enough it seems to trigger the heatpump to reheat the water in the tank back to its starting condition. I can monitor energy consumed , and calculate the heat added to the water (by measuring cold water inlet temp) and from this I presume get a pretty good measure of COP. Any views if this is likely to be accurate?

  2. Has anyone had any experience with the Mitsubishi Modbus interface unit (procon A1m) I have in the past messed with Modbus and arduino and know of a library that works well on the arduino - so it would seem to be a good way to get into the internal data of the heatpump - I see others have done same using Melcloud app - but modbus seems a more direct approach.

  3. In lieu of a heat meter I was wondering about calculating the delt T in the arduino and multiplying it by an assumed flow rate and heat capacity - on the assumption that as I have a fixed speed primary pump the flow should be more or less constant - I could compare this with the simulated value and also calibrate using method in point 1 maybe. I guess there is a risk that flow may drop as filters etc clog up - but for a short term it should work I think.

1 Like

I have tried the calibration method mentioned above a couple of times and got different answers each time - I have a feeling a may not have run enough cold water to get a true measure of inlet water temp. I’ll have another go and get an average of three attempts - though each time I am chucking 70 liters of hot water down the drain.

I have developed some input processing that calculates delta T and applies a calibration factor (in lieu of a true flow rate) to calculate a presumed heat output, calibration factor is derived from the hot water dumping method. 1st attempt was giving heat outputs considerably lower than the carnot model would suggest - second attempt is closer but still lower. I also cross checked against the flow rate measured by the Sika flow meter installed with the Ecodan - I suspect this is only an approximate flow rate more to just act as a min flow alarm so not sure how accurate it is.

Having Glycol in the system will also considerably complicate matters - since viscosity of water/glycol mixes varies quite a bit with temperature which will in turn affect head pressure and flow - I guess why not all flow meters can handle Glycol.

I’m wishing I had installed a heat meter - but at this size they are not cheap.

I’m now working on a python script that will take in the power input to the heat pump - and return the heat output based on the massive table of data in the Ecodan data book - which gives outputs at a range of flow temp, ambient temp , power output - so a 3D look up table with linear interpolation between data points. If I get this working it will be interesting to see how it compares with the carnot prediction. I have the basic function working , just have to enter all the data!!

Assuming I get the script to work as a standalone function does anyone know how I would integrate this to EmonCMS? I would need to read the heat pump power input flow temp and ambient temp - feed it through the function and put the result into a data feed for heat output.

Does the Carnot model take into account the lower efficiency of the heat pump at lower loading ?

There is another option, the CN105 connector on the controller board is a direct serial connection. Im actually controlling my ecodan, on/off, flow temp target and reading quite a bit of status information from the unit that way. Here’s my python class for that heatpump_control/ at master · TrystanLea/heatpump_control · GitHub it’s all based on the work of others e.g:

I haven’t documented what I’ve done yet but it’s working well.

The other option is to piggy back on flow meter that is usually already installed with an EcoDan. There should be a Sika VFS (vortex flow sensor) with an analog voltage output. That analog voltage is broken out on a couple of terminal blocks in the ecodan controller and you can read from that with an analog input on an arduino - or emonTx. It’s on my list to document how to do that :slight_smile:


Thanks Trystan

Any idea how accurate the Sika meter is - I took a reading from the FTC5 controller in the installer settings - which gave my flow as 31 litres/min - If I used this flow rate and delta T to calculate heat output I get a value considerably lower than suggested by the simulated heat output in the heatpump app - and rather disapointing COPs - so not sure how well it can be believed. I suspect having Glycol in the system complicates things - don’t know if Mitsi calibrate for it.

would be interesting to know how it compares to a proper heat meter if you have both installed.

I have finished the python script that codifies the ecodan performance data table and will provide a predicted heat output based on any flow temp, ambient temp and power input - I need to do a bit more testing to prove it out. Its possibly a bit clunky - I was hoping to use SCIPY interpolation - but the data in the Mitsubishi tables does not seem to be evenly distributed so not sure if that would work with the standard functions - anyway did my own thing - basically a 1D linear interpolation of the COP values v different power inputs for a given flow and ambient temperature - as the defined points in the ecodan table - followed by a 2 D bilinear interpolation to allow any flow and ambient temperature to be input.

Would be great if someone could give me a pointer how I might integrate this with my Emon Pi so that I can read the temperatures and input power and generate a feed for predicted performance - i.e where would I put this script and how to connect it up.

Could it go in the Emonhub config?

Thanks in advance.