Wednesday, April 27, 2011

Dual Power Immersion Heater

The automatic load controller for my immersion heater has been working pretty well.  It turns on and off with the varying power of the Sun.  But it left something to be desired when the battery was starting the absorb cycle.

The battery consumed quite a lot of power, but not all of it.  The immersion heater needed 650W to run, so couldn't.  The result was a period of under utilised solar power in the late mornings, with a trace that looks like this:

Click to view bigger
By modifying the step down transformer supply for the heater, I created a dual power heater.  I step down the AC Voltage from the solar inverter with a 4kVA "tool transformer".  It outputs 110V AC from the 230V AC input.  This runs the 3kW heater element at just 650W.
Under software control from the PC load manager, the first relay turns the heater on and off, while a new second relay selects the power level of the heater, depending on the solar power available.

I added a pair of 6A diodes in parallel (for power handling, as the peak current when the heater is on is about 8.4A).  This converts the 110V AC into half-wave rectified DC.  The diodes are rated at 600V so they are pretty bullet proof.  This has the effect of reducing the power consumption of the heater from 650W to just 350W; measured with an AC plug-in power meter at the 230V AC input to the transformer.

The thermostat switch on the heater ordinarily wouldn't like DC power, as it would cause arcing when the contacts open, and this would soon destroy the thermostat.  But as this is half-wave DC, it still has the periods of zero Voltage in each 50Hz cycle, so the thermostat contacts can open and close as normal without arcing.

I then had to modify the control software to take advantage of the new dual power heater.

I decided to ditch the purely light level & system power level threshold system, for one that attempts to estimate the array power available for driving the heater loads (at two power levels).

Click to view bigger

It has a seed value that is the expected array power (the "system size").  It then applies a self tuning modifier to that base value (plus/minus 200W) and then multiplies that by the measured light strength from the new sensor (as a percentage).  This gives me the estimated "array power".  The "system power" is the real measured output power from the Morningstar charge controller log data.  This includes all loads: battery charge load, other loads (e.g. the fridge), as well as the heater load (if it happens to be on).

By comparing the real power output during times when the battery is likely to be fully loading the array with the estimated "array power", the self tuning parameter adjusts the estimate up or down, so that the estimate gets better.  It has some limits set in the routine, so that it does not tune the estimate at very low light levels that would never be enough to drive the heater load.  It also has some fuzziness in the tuning so that if it is within 1% of the real power, it stops hunting.  If the tuning parameter gets bigger than 200W variance, it starts to modify the base assumption about the "system size", saving the change in a config file for next time the program runs.

Most of the estimate tuning happens in the MPPT bulk charge phase, as that is when the battery will absorb all the power the array can muster, and so the "system power" should equal the estimated "array power".  The idea is that the tuning parameter will compensate for the distributed orientation of the panels (some are East-West, some are South, some are at steep angles, some at shallow angles).  The system will also "learn" how dirty the array is (if there has been no rain for a while, and dust has collected on the panels).

The final step is that when the battery enters the absorption phase, the program looks at the estimated array power and subtracts the current "system power", which includes all non-heater loads plus charge demand, and calculates the "available power" for running the heater load.  If the "available power" is greater than the low (350W) heater setting, but less than the high (650W) heater setting, it turns the heater on, and selects "low power" mode (the diode bypass relay is energised and the normally closed contacts change to be open).  If the "available power" is higher than the high power setting, the diode bypass relay is de-energised, the contacts revert to the normally closed position, and the heater receives the full 110 V AC power.

The resulting power utilisation is more even, with the heater able to use low levels of available power and maintain the tank temperature. 350W is enough to very slowly heat the water, or at least compensate for losses through the insulation.  It all helps.  When it's sunny enough, and the other loads are low enough, the heater can run at full power (650W).

Click to view bigger
The above trace also shows the water heater interacting with the cyclic load of the fridge freezer.  While the recorded system power varies considerably, note that the battery is given priority in attaining full charge and holding a steady float Voltage for as long as possible.

During the absorption and float stages of battery charge, the heater decision process also includes some "array power" estimate tuning.  If the heater repeatedly has to reduce power to low power, the tuning parameter slowly drifts downwards.  If the heater has to be shut off due to low power, the parameter decreases more quickly.  As a last resort, if the battery Voltage actually drops below the float threshold set in the load controller, then a much more severe adjustment of the parameter occurs.  This behaviour means that on clear sunny days, the heater is given priority and has a tendency to stay on.  On days with very changeable weather, the heater progressively errs on the side of caution, becoming less and less likely to turn on and more likely to turn off or remain in low power mode.  This favours maintaining the battery charge level.

Use of a half-wave rectifier at high power (350W is a significant load) is normally frowned upon, as it presents a very non-linear AC power load (only half the cycle is used).  The plug-in AC meter did show a very bad power factor (PF = 0.5).  This would result in power being wasted in the wiring and generator as reactive power (current out of phase with the Voltage).  But the 3kW inverter is stable into any power factor load (inductive or capacitive), and in the end, the source of the power is a DC battery or solar panel.  With the very large capacitors in the inverter input (for surge delivery), the DC source is not aware of the non-linear AC load, and merely sees a useful reduction in load.  The "bad" AC load does consume more of the available VA capacity of the inverter than a good power factor load would, but provided the total VA load is less than the permissible load, no harm is done.


  1. Very interesting. I have a 2.7kW solar panel system. Rather than "waste" the generated power I also want to use the immersion. It is 3kW. Not having a "spare" 110v transformer, is it possible to use a (pair) diode to reduce the power to about 1500W? I am also looking at a sunlight controlled trigger-tho much less sophisticated than yours as I don't have the knowledge! I will use a current clamp to measure the output from the array to trigger a switch to turn on the immersion.

  2. Hi Michael,

    The short answer is yes, you could do that. The only problem will be finding diodes that can take the power. At 230V AC, the peak reverse Voltage the diode will have to survive is about 325V and peak forward current of around 18 Amps (although the average current will be only 6.3A). The very poor 0.5 power factor that results from chopping half the waveform will heat up the wiring from the immersion heater a bit. It heats up the transformer a little on my set up, but the power level is only 350W, so it's ok.

  3. Hi Outtasight, I will have a look-I found a 600v 20A one from RS but I will check the spec carefully. Effectively this will consume all the power from my 2 inverters ( I have an east and west array). As these are "creating" a sine wave and the diode is removing it, am I likely to upset the inverters? I am still looking for a transformer! Someone also suggested a 13A dimmer-the sort of thing used in a hotel! Michael

  4. That diode should be good enough. If it's a stud type, it will need a heat sink. At 6.3A it will dissipate about 5W in heat. That's one of the reasons I used two diodes (spreads the heat). The bad power factor won't hurt the inverters, as any excess power needed will just come from the grid. It would be a problem if you were running off-grid inverters that close to their limit as 1500W at 0.5PF is still 3000VA. I get away with it because I'm only running a "bad" load of 700VA, and the inverter is rated at 3000W into any power factor.

    I'd also be a bit hesitant of using a diode in series with the mains, as at least I have a transformer for isolation and current limiting.

    I've never seen a 13A solid state "dimmer" sold. As solid state dimmers are just triac choppers, they also have bad power factors, but you can vary the duty cycle over a wide range, unlike just jamming a diode in the mains :P

    But I've seen a 13A variac transformer. You'd have to consider that a variac has a carbon brush contact on it, so might prove a hazard, if used unattended.

  5. Hmm, Looks like it keeps coming back to using a transformer-just as you did!! I will expnad my search for a "redundant" one! Michael

  6. I have found a 1kw immersion at a reasonable price so i think I will try this as a start

  7. A great article, and a lot of things to bear in mind, especially the use of transformers

  8. Always advisable to have a back up immersion heater for emergencies though!