Hi Chris
I have been using an Arduino Uno since December to divert surplus solar to two 3kW immersion heaters using a 3.3kVA isolation transformer toggling between 55V and 110V and have been looking to upgrade to a triac circuit using PWM from the Arduino.
However, because of the zero cross sensing and triggering of the triac at 100HZ there was no processing time left for the current sensing and calculations needed to provide the trigger levels using a single Arduino. I believe you may need two Arduino's. A good place to look for a PWM circuit is by Googling “Using Hardware Interrupts to Control A.C. Power” it has notes and a Arduino sketch it also works I have built it.
I am still going to replace my transformer, but with an adjustable SSR and instead of the PWM I am going to step through eight different voltage levels to give me eight loads 100W 200W, 300W, 400W, 500W, 750W, 1,000W and 1,500W. I have found that this is all I needed to keep my water hot and the low loads give me lots of flexibility in the winter when spare solar is in short supply.
Let me know how you get on. If you get stuck I have a sketch that calculates PV and load power using two efergy CT's and a sketch for PWM control (as above) and I even have two spare Arduino's and the opto-isolation PCB, so I could get it operational, but it seems overly complicated.
My eight step system will be easier to build, as all the components are readily available and I was hoping to come up with a simple system that anybody could make for less than £100. And this system will meet that criteria.
Regards, Trader9