Phase controlled power switch for 'excess' solar power

Hi All

Finally got round to documenting some of my recent design for a power controller. It is based on JeeNode hardware and uses an RFM12B radio link to communicate with a gateway node.

I still need to write up the software. I hope to do that shortly, but in the meantime, comments welcome.


robinsmh's picture

Re: Phase controlled power switch for 'excess' solar power


I've just done something similar to this, but chickened out of building my own phase angle controller. Instead I opted for an EVR25 (

This is connected to an emonTx though a length of CAT5 cable running between by airing cupboard (where the EVR25 is) and the fuse box (where emontx lives). I considered doing this link wirelessly like you, but as I had to get an electrician in anyway to run a feed for the immersion heater, I had him also run the cat5 at the same time while he had the floor up.

I use a spare DIO signal on the emontx, fed through an op-amp low-pass filter with x2 gain to convert the 0 - 3.3V PWM output into about 0-6.5V DC to control the EVR25.

The control software on the emontx turned out to be very simple, and worked almost first time! The wired connection allows me update the power output rather quickly - about once per second - thus tracking changes in load and / or PV output rather nicely.

With a wireless link, you would not want to send an update more than perhaps once every 10 seconds, otherwise you may clobber any other 433Mhz remote controls in the area (e.g. car keys, garage doors, remote thermomoters).

My system only 'went live' a couple of days ago, and since then we've had enough hot water for two showers each morning with the gas boiler turned off.

However, the system is not without its problems. The immersion heater only really heats the top half of the tank, since the thermostat is rather high up. This means that the botton half of the tank remains cold, and there will be a layer in the middle at just the right temperature for leogionella to thrive. I'm not sure how worried I should be about this!

One solution would be to install a destratification pump to circulate water from the top to the bottom of the tank. Sounds simple, but what is the logic required for controlling a destrat pump? Also, what is the best way to ensure that the gas boiler comes on to top-up the solar heating when required, but ONLY if really needed?

So I'm pondering whether to add a tank temp sensor to the emon TX, and perhaps two relay outputs to control a destrat pump and the boiler (in place of the tank thermostat), but the control logic needs some careful thought... any ideas anyone?


richmc's picture

Re: Phase controlled power switch for 'excess' solar power

Martin Get a longer heater

I'm working on Robins (Calypso_rae) circuit and had the option of fitting an economy 7 tank with a low level heater and a gas fired coil for back up, until my plumber came up with a 36" heater to replace mt 27" one this slots nicely throught the existing coil and extends to within a couple of inches of the bottom of the tank, don't worry about legionella the water needs to be static and warm for quite some time for it to develop, think about when you go on holiday leaving a tank of warm water thats no problem, if it were not used for say six months then you would need to flush the tank throughly. As you are using the water dayly you have nothing to fear with the stratification.

As for when you need to top up with the gas boiler, all you need to do is set the timer on for some time in the morning before you shower etc, and chose how far up the tank you need to put the boiler thermostat, oh yes make sure the immersion thermostat is set a few degrees higher than the gas boiler one to make sure that on a good day the gas won't fire up.

From your last two paragraphs it sounds like you are trying to make things a little too complicated, the fewer parts in the system you have the less there is to go wrong, after all the immersion/indirect coil system has been around for donkeys years you just need to get the existing stats to do what you want.

Good luck, Rich.

robinsmh's picture

Re: Phase controlled power switch for 'excess' solar power


You're probably right! The IH I have is a 27" one from B&Q - the longest they had, but a 36" heater would probably work better. It's also important I guess to get a IH with the longest possible thermostat - they seem to be available with 11 and 18inch stats. 

Spending £20 on another IH would be much easier and cheaper than a installing a pump!

Currently, with the 27" IH, when the IH stat turns off (set to 60 degrees), the temp at the level of the boiler stat (at top of heating coil) is barely above ambient, so the boiler will turn on every day when it's not really necessary.  Maybe a longer IH coupled with lifting the boiler stat a few inches higher might be all it needs.

Thanks for your input,



richmc's picture

Re: Phase controlled power switch for 'excess' solar power

This may sound daft but I've just drawn a heater on paper10cm long with a stat 6cm long and measured the heater length down to the end of the stat so above the end of the stat is 6+6 cm so 12, below the stat 4 + 4 cm plus 1 cm for the bend is 9cm so below the stat is 3/4 of whats above the stat, that water by convection will rise so I guess the temperature will be pretty constant for the whole depth of the heater so you may be able to leave the boiler stat where it is.

Get yourself one of these!

daveb's picture

Re: Phase controlled power switch for 'excess' solar power

Phase control isn't difficult. You just need to sync to the mains cycle and use a timer to offset the phase. The zero crossing detector gives you the start of each cycle. The code I'm using is similar to that I used here


daveb's picture

Re: Phase controlled power switch for 'excess' solar power

I've added library code for triac phase control to the site.

This will allow you to make a phase controlled system just by adding the Triac object to your code, with some simple initialisation.

Comments welcome.

calypso_rae's picture

Re: Phase controlled power switch for 'excess' solar power

You have a lot of interesting material here, Dave.

I'm not sure where you are measuring current/power.  If you measure just at the supply point, then only the net inport or export is detected.  That's all that is needed for a PV diversion facility, but it doesn't convey the entire picture.

Are there any benefits in using phase-control for the triac rather than the zero-crossing approach that I've gone for?

daveb's picture

Re: Phase controlled power switch for 'excess' solar power

Hi Calypso Rae

I'm using my previous projects to measure power. I read the IrDA output of my solar generation meter and post results every 1m. I also monitor the import meter for import / export. This is read every 1s. Each reading generates an event in the broker that can be handled by a control, in this case a kettle controller assigned to the Triac interface. This does proportional control, but just switches on full if the solar generation is less than 300W, so the kettle still works in the gloom.

There are advantages and disadvantages of both. Robert Wall has just pointed out to me that phase switching should be suppressed, as it generates harmonics (ie. radio interference). I'll look into what suppression circuitry I need and amend my design.

With phase control you get much finer control of power. In my case 100 steps of phase. It also averages across a half cycle. I suspect smart meters will start getting wise to people trying to make best use of their spare energy. It would be possible to reduce the averaging period, perhaps down to a cycle, so switching on for 2 successive half cycles might incurr a charge in the future.

Perhaps I should amend my library to also allow half-cycle switching? You would still need the zero crossing detector hardware, but this is simple to build.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.