diy solar

diy solar

Solar diverter for hot water

What SSR or device would you be using, and what's between the (arduino?) analog output and the SSR input.
I am using a Fotek SSR 40DA with a heat sink from a PC CPU for better heat dissipation. The arduino nano is directly connected to the DC input of the SSR (pin 9 in my case).
 
I am using a Fotek SSR 40DA with a heat sink from a PC CPU for better heat dissipation. The arduino nano is directly connected to the DC input of the SSR (pin 9 in my case).
Does it do a variable amount of load to the element, or is it full on / full off ? How does the nano communicate with the rest of your system?
 
Something like this?

//Map average voltages of 13.2-14.2 to SSR1
if (average < 890){
analogWrite(SSR1, 0);
display.print ("0%");
Serial.println ("0%");
}
else if (average > 930){
analogWrite(SSR1, 255);
display.print ("100%");
Serial.println ("100%");
}
else if(average >=890 && average <=930){
outPut = map(average,890,930,1,254);
analogWrite(SSR1,outPut);
display.print (outPut / 2.56);
Serial.println (outPut / 2.56);

}
}
//display.println (" % ");
delay(10);
So maybe it looks like a pwm analog output is tied to the SSR and it does modulate continuously, not just on/off?
 
I set this up recently and today was the first sunny day to see it working, the hardware is in the box on the right. Works fine so far with the initial control from the system controls in nodered, turning on the 4 relay board which varies resistance to the SCR input. The relay board is powered from 12vdc from nearby. The relays short across 4 resistances to give off and 15 on levels approximately evenly spaced. It was pretty cheap and there was nothing to figure out that I didn't already have under my belt. I do see led light flickers and hear little 60hz noise differences due to the sloppy bad power factor caused by the SCR chopping, but everything works fine so far.

The timer box on the left runs the upper element from grid power, if it's off peak, and if the heatpump controller calls for more heat in the buffer tank (the controller uses outdoor reset to pick a target tank temperature based on outside temp). The heatpump is not installed yet, but the controller is running the upper element as if it's the first HP stage. Once the HP is installed, the top electric element will be the backup and supplement to the HP. The bottom element will put heat in the tank, if there is a sunny winter day with nothing else to do with the electric, like charge the car.


1671564746071.png

In the top plot the BuffSCR line is what step level the control is at. Generally it is trying to keep the main battery current near zero, once there is excess solar available. 12:40 to 12:50, and 12:55 onward, is the oven or stovetop running and cycling full on/off.
1671565376277.png
 
Are you pulsing the triac with PWM. 60 years ago I used to make light shows that way. The two frequencies would beat with each other producing totally random output intensity. Not really proportional.
 
Does it do a variable amount of load to the element, or is it full on / full off ? How does the nano communicate with the rest of your system?
Yes. It varies the load relative to voltage levels. It could be programmed to base function on current draw from the battery bank, but I'm not a coder and the KISS method works for me.
So maybe it looks like a pwm analog output is tied to the SSR and it does modulate continuously, not just on/off?
The analog voltage is converted to a digital output pulse to allow the SSR to ramp up and down as needed. Technically, this gives me 256 levels of power-on between 0-100%, which, IMO, is better than fluttering relays. Your results may vary.
 
Last edited:
Are you pulsing the triac with PWM. 60 years ago I used to make light shows that way. The two frequencies would beat with each other producing totally random output intensity. Not really proportional.
Correct me if I'm wrong, but I think all the DC/AC SSRs are zero crossing.
 
Not all of them. But, once any of them are triggered they stay on till the half cycle of AC reverses polarity. That works if the PWM is sub hertz. Otherwise it is almost random on off and will not be proportional. Non zero crossing relays should be used. These still have the same problem of once they are turned on they stay on. The PTM routines of the micro should not be used. Instead, detect zero crossing with the micro and time the delay to turn on to obtain proportional operation.
 
But, once any of them are triggered they stay on till the half cycle of AC reverses polarity.
This seems to work to my advantage. The relay needs a fresh signal 120 time per second to stay on.
That works if the PWM is sub hertz.
The arduino works at 16mhz, so it's slinging a lot of 1s at the zero point of the relay. Even if most of them miss, it doesn't matter to the water heater element. I wouldn't recommend using this setup to communicate to the mars rover but it works well to heat water and other resistive loads.
 
In response to the OP, I use a simple zero-crossing triac to switch whole cycles using a PDM (Pulse-Density Modulation) algorithm. In other words, this switches the 3kW immersion heating element at full power and skipping cycles as required to regulate the average current drawn. The advantage of this is that the inverter sees the average power draw and the battery doesn't get loaded when there's < 3kW solar.
The circuitry doesn't require any output filtering as switching on/off is all done at zero current state. The only downside to this is that the inverter (Sunsynk 5kW) cannot regulate it's output voltage fast enough and incandescent lights flicker. Other than that it's been working brilliantly for the past year.

On a separate note, I'm kind of annoyed how locked-down the Myenergi Eddi is. If it had provision for an external (e.g. rs485) control mechanism then it could be used for off-grid applications. Guess that's too niche.
 
The only downside to this is that the inverter (Sunsynk 5kW) cannot regulate it's output voltage fast enough and incandescent lights flicker. Other than that it's been working brilliantly for the past year.
Even if it could you'd likely still get some light flicker due to the voltage drop caused by switching the 3000W load on and off. Mine did that, but only served the useful purpose of reminding me to change the last 2 incandescent lights to LED!

Does it do full cycle or half cycle?
I do mine with zero crossing and full cycles, if that is of interest to anyone.
 
Important note: If you're going to try this make sure the TRIAC is properly cooled to mitigate risk of thermal runaway. I didn't do this in the first version and it caught fire :-( Second version is heatsinked to METAL case with fan and cutout at 85 degress C. A TOPTRIAC costs a bit more but probably a good idea.
 
Important note: If you're going to try this make sure the TRIAC is properly cooled to mitigate risk of thermal runaway. I didn't do this in the first version and it caught fire :-( Second version is heatsinked to METAL case with fan and cutout at 85 degress C. A TOPTRIAC costs a bit more but probably a good idea.
(y)

After I built mine, I thought why didn't I just heatsink the triac to the copper hot water tank - good thermal conductivity, no lost energy and it won't get past 100C even if the thermostat failed ♨️? ;)
 
Being in the UK, do you remember Sinclar? They sold an amplifier board with a metal tab you could attach to a heatsink. In their ad, they showed it operating stuck in a glass of water just up to where it met the circuit board. Copper tanks in the US. I wish.
 
Being in the UK, do you remember Sinclar? They sold an amplifier board with a metal tab you could attach to a heatsink. In their ad, they showed it operating stuck in a glass of water just up to where it met the circuit board. Copper tanks in the US. I wish.
:) I'm old enough to remember my Dad having a Sinclair amplifier that blew the top off of one of the chips. Great inventor, but sadly didn't always get the production right.
 
Back
Top