Basically below 5 degrees Celsius it defrosts every 45 minutes of accumulated compressor run time on my system, not considering if it needs to defrost at all. I have seen it defrost when it is nice,dry and sunny outside and the heat exchanger is as dry as it gets, temperature in the 3-5 degrees range. Quite a waste I’d say. I have calculated that on a cold day when the compressor is running all the time, I can have up to 32 defrosts per 24hrs and those eat up to 2.5kWh, not counting the energy needed to recover from the defrost. During a defrost, cycle is reversed, heat is pushed to the outside heat exchanger and cold is moved inside. My fan coils have “smart control” that watches out for fluid temperature and react by stopping their fans, thus preventing room cooling, but that means a gap in heating of 10 minutes until defrosting is complete and cycles reverse. I understand the importance of defrosting, but only when it is necessary. These unnecessary defrosts drive me nuts.. so here is a project idea: hack the heat pump to defrost only when necessary.
The project steps that I outlined are
1) Determine reasonable defrost algorithm
2) Determine when the heat pump is about to defrost, so I can intervene
3) Determine how to prevent the heat pump from entering defrost
4) Make a program to control all this
Determine reasonable defrost algorithm
For my research, I used several articles on the Internet, most impressive was this one http://www.esru.strath.ac.uk/EandE/Web_sites/10-11/ASHP_CO2/modelling_defrost.html
So basically, as expected, it turns out that the major factors for ice formation on the external heat exchanger are air humidity and temperature.
The below graph shows the relation between relative air humidity in % and time to form ice. Obviously the critical area is 85-98%, time to form ice is ~30 minutes. Values below 80% mean ice formation gets less likely and takes much much longer. Good to know.
Next, I look into the relation of temperature to frost formation. Again, obviously critical area is obvious, -4 to +4 degrees C. Good news is that above 5 C we don’t need defrosting. Also, there is a notable drop in ice formation below -7 simply because colder air carries less humidity.
So I identify the critical areas for humidity and temperature. But do these two interrelate? Lets take a look at the below diagram that illustrates the relation between temperature, humidity and defrosting frequency of Sanyo air source heat pump with decent defrost algorithm. Defrosting takes place when the blue line drops suddenly.
Clearly, even at high humidity levels but low air temperatures defrosting can be delayed.
So here is the rought algorithm that I came up with.
No defrost above +5 degrees C
Default time between defrosts (Td) is 45 minutes of accumulated heat pump work time.
If air humidity is <65% then increase time between defrosts by 135 min
If air humidity is between 65% and 75% then increase time between defrosts by 90 min
If air humidity is between 75% and 87% then increase time between defrosts by 45 min
If air humidity is between 87% and 99% then increase time between defrosts by 0 min and BREAK further processing (humidity too high to risk defrost delays)
If outside temperature is between 6 and -4 then increase time between defrosts by 0 min
If outside temperature is between -4 and -7 then increase time between defrosts by 45 min
If outside temperature is between -7 and -99 ,increase time between defrosts by 90 min
Next step is to determine when the heat pump is about to defrost, so I can intervene.
I scratched my head a lot on this. Some heat pumps have an indicator light up when defrosting, mine has none. So I had to figure alternative way. I have noticed that during defrosts, the motor on the internal body fan stops. This is to prevent it from blowing cold inside during defrost. I have a energy consumption monitoring on the heat pump (I will be describing that sometime soon), so I know if it is running or not. The heat pump can only enter defrost after it has been running for at least 6 minutes. So, if I have a running heat pump and the fan has stopped, that is a sure indication of a defrost about to happen. The easiest way to check if the fan is running is by using a hall effect sensor attached to the fan motor. If readings jump a lot, it is rotating. If reading are quite stable, it is stopped.
My next challenge was how to intervene? How can I postpone a defrost? I thought a lot and the simplest, least invasive way was .. to use my Daikin remote control project
to effectively switch off the heat pump for 10 seconds and then turn it back on. That resets the runtime counters. The side effect is that it also enters a 3 minutes standby protection mode, but that is way better than performing unnecessary defrost.
So finally to put the block together, I wrote a small PHP script that my hvac monitoring system calls when it determines that the heat pump is about to enter defrost. The script considers air humidity, outside temperature, last time when the system was allowed to defrost and based on the algorithm described above decides weather to restart the heat pump, or let it proceed with the defrost.. neat.
I have this running for couple days now and seems working quite neatly.