diy solar

diy solar

Forcing Sunny Island on grid?

Ai4px

New Member
Joined
Feb 20, 2021
Messages
228
I'm running a home brew ESP32 that's sending the necessary SoC and battery voltage to the sunny islands to make them operate. The unit operates perfectly playing well with Sunny boys and frequency shifting. Problem arises when the battery is full. The SI would rather go into frequency shifting than connecting to the grid. Once my batteries are full, I'd like to sell power to the grid. So far the only way I've been able to make it go on grid is to fake the SoC below GdSocTm1Str . Then it connects to the grid after the 300 second timeout. But is there a setting in the inverter, or even something I can do over CANBUS to make it join the grid? I'd love it if there was just a setting to connect to the grid when the batteries were above xx %.

It also occurs to me that I could simply use a contractor to switch AC IN on and off but that makes the lights blink in the house. I'd rather the SI silently departed the grid and rejoined gracefully.
 
Do you have gdmod set to "gridfeed"?
 

Attachments

  • Screenshot_20231204-011318.png
    Screenshot_20231204-011318.png
    119.3 KB · Views: 8
yes I do. and that parmeter will absolutlely make it go on and off grid... but I have to change it manually from the menu, not over can bus (that I know of).
 
yes I do. and that parmeter will absolutlely make it go on and off grid... but I have to change it manually from the menu, not over can bus (that I know of).
Oh I didn't see the canbus requirement. So it sounds like you want to have it grid feed sometimes but not all the time?
 
Maybe if you tell it a generator is connected and you don't want to send power to grid. But tell it to limit generator charging to 1A, so it doesn't draw much from grid.
Tell it grid is connected when you want to backfeed grid.
Use a signaling relay "surplus power available" as source for signal "grid" vs. "generator"

"ExtPwrDer External power reduction
The Sunny Island controls additional loads in order to put excess energy to practical use. When excessive energy can be used, the multifunction relay is activated."

Mine is normally on grid. I take it there is a reason you want grid disconnected some hours - is that to draw from battery during times of peak rates? But if battery gets charged not discharged, then you want to backfeed grid? In that scenario, you would probably want to put all PV to backfeed, not charge battery at all.

Maybe the thing to do is command different target SoC/voltage, to cause charging and discharging, all while remaining on-grid.
 
Thanks for the suggestions guys.... my goal is stingy solar... top off my batteries and if they are full, rather that dumping to a diversion load, I want to dump any excess to the grid.

Here are some limits.... Grid SOC limits top out at 95%... so if the battery is over 95% this thing will never willingly connect to the grid. Switching the DIGIN to tell it to go to generator mode is interesting.... but I'm not sure that buys me anything in the direction I'm trying to go.

Today I did an experiment... I changed the GRID CURRENT NOMINAL 232.03 to something stupid low while my sunny boy was exporting power. My hope was that the SI would be ignorant of the export and therefore wouldn't charge my battery.... but grid current nom actually mesures what's going in or out and if it exceeds the limit, the unit will separate from the grid within a few seconds. So that's a bust.

I think I've run this rabbit as far as I can.... I'm back to the original plan which is lie to the inverters about what the real SoC is. The truth is the inverters don't care what the SoC from the battery is as long as it's above the low cut off point (223.05, 06, 07). It will just keep running and checking limits on things it needs to do for connecting the grid (233.01, 02, 03, 04), starting the generator (235.03, 04, 05, 06). There are also relay functions for load shedding based on SOC (242.01 02 03 04). So in a nutshell as long as you don't tell the inverter the SOC is some stupid low number, you can use it as a way to cause things to happen like switching relays on and off. Since I'm using a Victron smart shunt and a separate display, I don't care *what* the SI thinks SoC is... But I was hoping there was a better way. Maybe if we knew which packets on can bus set the menu parms we could do this..... but I can't find docs for it.

Thanks for reading this far if you are still with me.

Next question is why don't I want my batteries to charge to 100%. When I'm disconnected from the grid I need to know that my ac coupled inverters are making excess power. One way is to see if the SoC "very high" and is climbing. That means I should connect to the grid and sell some power. But if my battery is already at 100%, how would I know? Certainly I could look at the inverter frequency and if it's over 60hz, that too is a sign we should connect to the grid. So I think I'll write something in node red that will cause the inverters to connect to the grid if the frequency is >61hz. As long as my battery is >95%, I can also tell the inverter to limit the charge current to 0amps. With those conditions set, the sun may come and go and I could stop making excess....so if I am connected to the grid and have charge current set to 0, if my SoC is dropping that means I'm not selling power.... give it a little hysteresis to count for passing clouds and then if my battery becomes lower than 90%, drop the grid and allow battery charge current to 200amps. The reason for this is to prevent buying power at on peak rates between sundown and 9pm. I'd rather run from batteries until 9pm. And in truth, I don't mind the batteries getting pretty low thru the night because I want to refill them for free tomorrow when the sun is up.

So all this complexity is me trying to sell power instead of using a diversion load and not buy power unless my battery will be critically low before sunrise.

Sorry for the long post, I felt it necessary... thanks for reading.
 
Ok I think I see what's going on. Please tell me if I'm wrong. If you have gdmod to gridfeed it will sell to the grid no problem BUT it will also charge the battery at inopportune times?

But if

Gdmod is set to charge only then it won't charge from the grid BUT it also won't export to the grid when the batteries are full?

So the ideal situation would be don't charge from grid but sell to grid when batteries are full? And it seems like the sunny island can't do this?
 
Ok I think I see what's going on. Please tell me if I'm wrong. If you have gdmod to gridfeed it will sell to the grid no problem BUT it will also charge the battery at inopportune times?

But if

Gdmod is set to charge only then it won't charge from the grid BUT it also won't export to the grid when the batteries are full?

So the ideal situation would be don't charge from grid but sell to grid when batteries are full? And it seems like the sunny island can't do this?
Yup. You got it!!!

The more I think about this I think I will start each day forcing sunny island off grid and as soon as I see frequency spike above 61hz I’ll know batteries are full. At that point I can connect to the grid. The next problem is recognizing when I’m not selling power and dropping the grid. If my battery is full and I’m not selling power I’d rether be off grid anyway. I’ve thought watching the inverte external current on a slow average and if it’s consistently positive (drawing from grid) I’ll disconnect. When disconnected watch for grid frequency to blip >61hz and rinse lather repeat.
 
Yup. You got it!!!

The more I think about this I think I will start each day forcing sunny island off grid and as soon as I see frequency spike above 61hz I’ll know batteries are full. At that point I can connect to the grid. The next problem is recognizing when I’m not selling power and dropping the grid. If my battery is full and I’m not selling power I’d rether be off grid anyway. I’ve thought watching the inverte external current on a slow average and if it’s consistently positive (drawing from grid) I’ll disconnect. When disconnected watch for grid frequency to blip >61hz and rinse lather repeat.
Wait, I'm confused:

If the sunny island is connected to the grid then it shouldn't frequency shift the pv inverter-it just follows the grid frequency, so you'll never see 61hz if the sunny island is grid connected.

You should only see frequency shifting if there is no grid feed or no grid.
 
Today I did an experiment... I changed the GRID CURRENT NOMINAL 232.03 to something stupid low while my sunny boy was exporting power. My hope was that the SI would be ignorant of the export and therefore wouldn't charge my battery.... but grid current nom actually mesures what's going in or out and if it exceeds the limit, the unit will separate from the grid within a few seconds. So that's a bust.

That was not my experience. I couldn't get SI to stop export above set current.

I have SI 5048 US (configured as 3-phase, only master connected to split-phase grid.) Sunny Tripower connected to it.
I set Grid current to 8A, and watched as 15A flowed to grid without disconnecting.

Maybe I could measure grid current and command the GT PV inverter. I'd like to have large PV for loads and battery charger, but not burn up relay when on grid.
 
Wait, I'm confused:

If the sunny island is connected to the grid then it shouldn't frequency shift the pv inverter-it just follows the grid frequency, so you'll never see 61hz if the sunny island is grid connected.

You should only see frequency shifting if there is no grid feed or no grid.
Ahhhh sorry.... I'll explain better.... first thing in the morning, I'll start off grid with a battery that is not 100%.... PV AC coupled inverters will charge my battery. As soon as battery is full, the frequency will blip to 61hz. When that happens I'll command the grid connection. From then for the rest of the day (or until consistency cloudy), I'll stay locked to 60hz. The trick will be recognizing when I'm buying power and dropping the grid.... but the initial connection to the grid will probably be based on 61hz. Hope this makes more sense!
 
Ahhhh sorry.... I'll explain better.... first thing in the morning, I'll start off grid with a battery that is not 100%.... PV AC coupled inverters will charge my battery. As soon as battery is full, the frequency will blip to 61hz. When that happens I'll command the grid connection. From then for the rest of the day (or until consistency cloudy), I'll stay locked to 60hz. The trick will be recognizing when I'm buying power and dropping the grid.... but the initial connection to the grid will probably be based on 61hz. Hope this makes more sense!
Ok got it now. If you find a solution please post it if you don't mind
 
Ahhhh sorry.... I'll explain better.... first thing in the morning, I'll start off grid with a battery that is not 100%.... PV AC coupled inverters will charge my battery. As soon as battery is full, the frequency will blip to 61hz. When that happens I'll command the grid connection. From then for the rest of the day (or until consistency cloudy), I'll stay locked to 60hz. The trick will be recognizing when I'm buying power and dropping the grid.... but the initial connection to the grid will probably be based on 61hz. Hope this makes more sense!
Have you seen this?

Post in thread 'Sunny Island setup to delay battery charging from grid' https://diysolarforum.com/threads/s...-battery-charging-from-grid.62857/post-818756
 
Have you seen this?

Post in thread 'Sunny Island setup to delay battery charging from grid' https://diysolarforum.com/threads/s...-battery-charging-from-grid.62857/post-818756
thanks for that.... but not what I'm looking for. That one allows the batteries to run down to 5% during day. That post mentioned allowing battery to get to 5% during day and setting reverse power to 0.... While I could use GRIDSOC to prevent charging batteries, what I'm really after is trying to not buy power during the day to run the house from grid. Certainly batteries are part of what could come from the grid.

Here's the 40,000 foot view....
I'm trying to SELL power during the day. If I use more than I'm making, I want to sever the grid connection and self consume. Later in the day if my battery gets back to 100% again, I'd like to reconnect to the grid for the opportunity to sell more power. If my battery is critically low during the day, then I'll connect to the grid if I have to.... and at night if I calculate I do't have enough to get to the morning, then certainly I'll connect to the grid at off peak rates.

BTW, the TTG parameter in viltron smart shunt is awesome.....

and also thank you for your suggestions. The effort and interest is appreciated!! :) Explaining all of this "aloud" is helping me develop what I must do in node red. It is apparent that sunny island can't do it on it's own.
 
I posted over in diy batteries about this device my neighbor and I have created to interface between any batteries and any inverter which uses can bus. I'm surprised there was no interest. This little device does four main things..... 1)primarily it listens to serial data from smart shunt and conveys SoC to the SI inverter. 2)it forwards this decoded data as a JSON packet to Mqtt broker. 3)it listens for can bus packets from SI inverter and forwards things like relay stats, inverter voltage power and frequency to MQTT. 4)it subscribes to a topic on mqtt that will instruct it to limit charging current or fake the SoC that gets passed along to the SI. So we can override the SoC from the Victron and substitute any SoC we want. It's using a watchdog and can reboot much faster than the max interval that the SI needs to hear SoC messages. Also in the event of loss of wifi or mqtt, it defaults to sending the proper SoC from the smart shunt. If it can't see the smart shunt, it sends an SoC of 20%. Seems pretty bullet proof. My neighbor has been running his for 6 months, I've been running mine for 6 weeks. Never had the inverter quit for lack of a can bus packet every 60 seconds.

BTW, SI will start immediately once it sees can bus message with SoC, voltage and charge current..... and if it doesn't see one for 60 seconds, It'll shut off. So you've got 59 seconds between can bus messages if you feel lucky.
 
thanks for that.... but not what I'm looking for. That one allows the batteries to run down to 5% during day. That post mentioned allowing battery to get to 5% during day and setting reverse power to 0.... While I could use GRIDSOC to prevent charging batteries, what I'm really after is trying to not buy power during the day to run the house from grid. Certainly batteries are part of what could come from the grid.

Here's the 40,000 foot view....
I'm trying to SELL power during the day. If I use more than I'm making, I want to sever the grid connection and self consume. Later in the day if my battery gets back to 100% again, I'd like to reconnect to the grid for the opportunity to sell more power. If my battery is critically low during the day, then I'll connect to the grid if I have to.... and at night if I calculate I do't have enough to get to the morning, then certainly I'll connect to the grid at off peak rates.

BTW, the TTG parameter in viltron smart shunt is awesome.....

and also thank you for your suggestions. The effort and interest is appreciated!! :) Explaining all of this "aloud" is helping me develop what I must do in node red. It is apparent that sunny island can't do it on it's own.
so here is my thought process: (Im assuming you are on grid): if you force the SI to not charge the batteries from the grid during the day when the sun is shining, then the si will not pull from the grid to top off the batteries and all the charging will come from PV. THEN, if or when the batteries get full from pv, any excess production after that will automagically sell to the grid.

in my mind this would work but I am very curious to learn why it would not.
 
I posted over in diy batteries about this device my neighbor and I have created to interface between any batteries and any inverter which uses can bus. I'm surprised there was no interest. This little device does four main things..... 1)primarily it listens to serial data from smart shunt and conveys SoC to the SI inverter. 2)it forwards this decoded data as a JSON packet to Mqtt broker. 3)it listens for can bus packets from SI inverter and forwards things like relay stats, inverter voltage power and frequency to MQTT. 4)it subscribes to a topic on mqtt that will instruct it to limit charging current or fake the SoC that gets passed along to the SI. So we can override the SoC from the Victron and substitute any SoC we want. It's using a watchdog and can reboot much faster than the max interval that the SI needs to hear SoC messages. Also in the event of loss of wifi or mqtt, it defaults to sending the proper SoC from the smart shunt. If it can't see the smart shunt, it sends an SoC of 20%. Seems pretty bullet proof. My neighbor has been running his for 6 months, I've been running mine for 6 weeks. Never had the inverter quit for lack of a can bus packet every 60 seconds.

BTW, SI will start immediately once it sees can bus message with SoC, voltage and charge current..... and if it doesn't see one for 60 seconds, It'll shut off. So you've got 59 seconds between can bus messages if you feel lucky.
this looks very much like english yet I find myself unable to understand it :D
 
so here is my thought process: (Im assuming you are on grid): if you force the SI to not charge the batteries from the grid during the day when the sun is shining, then the si will not pull from the grid to top off the batteries and all the charging will come from PV. THEN, if or when the batteries get full from pv, any excess production after that will automagically sell to the grid.

in my mind this would work but I am very curious to learn why it would not.
still chuckling at "looks like English" comment...

yes, you are correct being on grid and making PV power and telling it not to charge batteries will allow me to sell excess PV. The battery charger is ONE load in the house.... but the rest of the house is also a load! The problem arises when my heat pump starts to pull 3kw and the solar is only making 1kw because clouds. At that moment, I'm buying 2kw of power from the grid. That is the moment I want to shut off the grid.

There is a parameter in the SI that is called grid reverse power (232.09) that is intended to keep me from sending power to the grid (same for generator reverse power 234.13). I've tested it and if I set the reverse power limit to something stupid low like 6 amps and my PV inveters are trying to export 15 amps, it'll trip. Now that you mention it, what I need is a IMPORT power limit.

Before you say it, there is a parameter where you set how much current can come from the grid connection GdCurNom (232.03) (for example mine is set to 55amps)... If I set it to 1 amp then I can only push OR pull 1amp. So I have to set this to 55amps. So that won't limit import power without also limiting export power.

It seems the one parm we missing is GdRvPwr's evil twin .... GdFwPwr. or if I could put a negative number in GdRvPwr.
 
still chuckling at "looks like English" comment...

yes, you are correct being on grid and making PV power and telling it not to charge batteries will allow me to sell excess PV. The battery charger is ONE load in the house.... but the rest of the house is also a load! The problem arises when my heat pump starts to pull 3kw and the solar is only making 1kw because clouds. At that moment, I'm buying 2kw of power from the grid. That is the moment I want to shut off the grid.

There is a parameter in the SI that is called grid reverse power (232.09) that is intended to keep me from sending power to the grid (same for generator reverse power 234.13). I've tested it and if I set the reverse power limit to something stupid low like 6 amps and my PV inveters are trying to export 15 amps, it'll trip. Now that you mention it, what I need is a IMPORT power limit.

Before you say it, there is a parameter where you set how much current can come from the grid connection GdCurNom (232.03) (for example mine is set to 55amps)... If I set it to 1 amp then I can only push OR pull 1amp. So I have to set this to 55amps. So that won't limit import power without also limiting export power.

It seems the one parm we missing is GdRvPwr's evil twin .... GdFwPwr. or if I could put a negative number in GdRvPwr.
Why is the extra power coming from the grid and not the battery? I don't understand.

Do you have "GdPwrEna" set to enable or disable?
 
Back
Top