diy solar

diy solar

SW4048: Anybody AC Coupled able to charge batteries?

Not sure. I got what I hope was more bad info:


The AC Coupled Smart Charge will only operate when AC Support features are disabled. This is by design so that the inverter bridge is available to assist the loads with battery power. When AC Support features are not enabled the inverter bridge is then available for charging instead of inverting.

When the grid is present the inverter will be in AC Passthrough, allowing the PV inverter to send it's power through the SW and out to the grid. You will only see the SW in "AC Coupling" when no AC input is present, and when the SW is absorbing surplus PV generation into the battery.”

It looks like they designed the system to choose between inverting (i.e. AC Support) and charging (i.e. AC Coupling) based on static (i.e. config) rather than dynamic (i.e. run-time) conditions. Given that it's an LF inverter the choice can easily be made at run time and changing the FET drive between inverting and charging could be done within microseconds if necessary. Indeed a stupid/lazy design decision but they should be able to fix via new firmware.
 
Thought I would post an update.
I discovered that the InsightHome bug was that it writes the inverter status “1034” for example into the AC Coupling enable address. Typically 0=False or disable and anything else is true/enabled. They would have gotten lucky if they followed typical Boolean logic but the idgits messed this up anyway.

I was able to write 1 into the address and AC Coupling is really is enabled now.

The glimmer of good news is that the “Smart charge” feature charges with about 95% of AC coupled power instead of around 50% (50% set to grid unnecessarily). I have no idea why and only cringe at the possible reasons.

Unfortunately the smart feature is still woefully stoooopid. It will charge the battery only when AC Support is turned off. At sundown I need to enable this to actually use my battery. Then in the morning when sun hits my array, turn AC Support off.

So hard to fathom how this feature was named “smart” let alone got implemented and released like this.

I see a RPi in my future with node-red handling the smarts.
 
There is no hardware reason why it cannot take some of AC coupled back feed power and direct to battery charging

There may be firmware reasons it is not chargng from PV AC coupling.

When they created lithium-ion battery type charging they always adjust inverter to not produce any charging current when in float mode and AC input grid is present.

Second thing I can think off is most inverters running with AC coupling will not allow battery to be fully charged to hold a backfeed absorption reserve on battery to ensure there is a low impedance from battery during a back push from excess PV power. They do it all the time regardless of grid being connected alive or not since you can never tell when grid might drop out leaving any PV overproduction to be handled by battery until freq shifting can reduce GT inverter AC coupled power. If battery is too full, a sudden strong charging backfeed push will quickly push up DC input voltage exceeding maximum DC voltage input on inverter will no other choice but to shutdown inverter to prevent damage.

It may take SoC of battery to be less than 75-80% and AC supplied bulk or absorb charging phase is in process for PV AC coupled backfeed power to be used to charge battery.
 
4 weeks ago, I created a thread on the Schneider discussion area to document the issues i have had, the settings that my system uses and steps that have been taken with Schneider support. This served as an easy way to get all the information to different support folk as i tried to get this bug fixed.

They've stopped approving my posts a couple weeks ago when i had written proof from Schneider support of this bug. Repeated attempts to find out why my latest posts with additional info are blocked, are also ignored.

I wonder if there was an outpouring of "discussion and feedback" we could facilitate and encourage software and firmware fixes and improvement.

Please feel free to add to this thread. Requests to add this "smart charge" functionality to the XW inverters would be reasonable too; any effort in this area will likely make it better on the SW too.

 
I will look through the other thread as well and see what input I can provide.
I am trying to do the firmware update on my system today.
I hope I don't have an issue skipping versions as I am going to jump from 1.03 to 2.04 on the XW-Pro and from 1.08 to 1.18 on the Gateway.

Any chance you know the grid code password off hand?
I know it was something like "XWproGridCodes" but not sure about spaces or caps.
 
XWproGridCodes
Thats it.

There is a feature to backup your settings before doing a firmware upgrade. I have not restored from it but it might be comforting to have, especially with an SCP. My confidence is low it would actually work with InsightHome.

Good luck!
 
I found another bug and so of course was on the phone with Schneider for quite a while. Hopelessly "escalated" into the abyss.

The new bug:
I set AC Coupling enabled with node-red and completely powered down the system (and house in the middle of the night). It booted up with AC Coupling still enabled, had inverter status correct (first time!)
1039=AC Coupling, had charger status correct (first time!) 792=AC Coupled Bulk

But, as soon as the sun came up, inverter status somehow changed to 1025=AC Pass Through and charger status changed to 769=Bulk

So my system is bjorked again and i don't know what else to try.

I was hoping to see if by some miracle AC Support would work with AC Coupling (definition of insanity, i know) but back to square 1, Dec 13, 2023 when i opened my first Schneider support case.
 
I have not tried doing feature setting through modbus commands. I just do the setup in Insight Local. My PLC only changes a few settings. I send "Bulk" or "No Float" I set the "max charge rate %" and I set "Sell Current". While first experimenting with Modbus control, I did send an invalid data somewhere, it it locked up the XW, I ended up having to re load the firmware to get it back.

I got my Gateway updated to version 1.18 Build 41

Right now, the XW-Pro is installing 2.04 Build 29 It at 82% and the XW is completely dark, it's creepy to see it like that.
 
I just do the setup in Insight Local.
Ya, the bug that prevents InsightLocal from setting AC Coupling is why i used node-red.

While first experimenting with Modbus control, I did send an invalid data somewhere, it it locked up the XW, I ended up having to re load the firmware to get it back.
This was my fear! I experimented with a node-red modbus server until i thought i got reading and writing (mostly) figured out.

Setting the address to 1 didn't seem to do much so i figured this is why they say to put the inverter into standby when "making changes". Though based on my experience, this seems more like a reboot required item because of the amount of functionality affected (well just the inverter and charger).

(note to future self)
Looking ahead if the above 2 bugs get fixed (insanity again), with AC Coupling settings (all 3) correct, put SW4048 into standby and then change AC Support Mode to enabled. Check modbus addresses. Consider complete system reboot vs just going into operating mode (from standby).
 
I am using the older Gateway box. I have nver had an issue with it doing settings.
My firmware update completed, and the grid code password worked, it is all set properly to California Rule 21 now. Under the old firmware, it never got it quite right.

I am not holding my breath for Schneider to ever fix anything. I was happy staying on my old firmware as I made it "work".

There have been enough changes and bug fixes, I figured it was finally time to update. And I did have a bad issue where the frequency went totally stupid last time I was off grid. That was supposedly fixed in 1.11 but I never got around to installing that one.

The "Smart Charge" feature in the SW might only be for the EU 230 volt version. I can't find documentation on it in the 120/240 split phase docs. The SW can't "Grid Sell" so it made it easier for them to make the "Smart Charge" work. It basically just watched it's own AC input CTs and watches for current flowing out. If current is going backwards to the grid, it must be from the AC coupled feed coming in the output. So it turns on charging and adjusts the charge rate to zero the export power. Since the XW-Pro can export on it's own, that simple routine will fail if it is already exporting and the AC coupled solar starts pushing power as well. I still think it is easy to program for, they are just being lazy about it and hoping to sell more charge controllers.
 
would you mind giving more details about how you’re controlling charge and discharge on your XW? I’m presently installing one, and got node red and modbus working.
Here is his monster thread with a LOT of info:

Here is another great thread:
 
My goal is to have AC coupling working, charging batteries first before selling, while maintaining grid support, if at all possible. With Victron ESS, I could just set one single modbus register, and it would target a power level on the AC1.
I wish it was that simple.
I’ve toyed with the EPC registers, but not getting the expected behavior.
What is the does it do and what are you expecting when you send to EPC charge?
If I send 1500 to the EPC charge, mine charges at 1500 watts.
 
@GXMnow , would you mind giving more details about how you’re controlling charge and discharge on your XW? I’m presently installing one, and got node red and modbus working.

My goal is to have AC coupling working, charging batteries first before selling, while maintaining grid support, if at all possible. With Victron ESS, I could just set one single modbus register, and it would target a power level on the AC1.

I’ve toyed with the EPC registers, but not getting the expected behavior. Don’t mind using the battery current registers if they actually work—so if you have a proven config that gives you some amount of manual control via modbus of charging and discharging, it would probably save me more hours of trial and error, lol!
My system is a bit unique here in that I am doing my modbus control on a PLC, so my code won't directly translate to Node Red, but you should be able to do similar math in a flow. And many of my choices are also unique to my power limits and system arrangement. I thought I could write a quick explanation, but this is about as short as I could do it. I am happy to share my basic function code, but again, this s for a Triangle PLC with their own flavor of basic combined with ladder logic.

I also added two very cheap power meters. It turns out they don't understand direction of flow. So I was not able to use them to directly monitor the grid power. It would not know if power is coming from the grid or exporting to the grid. A Watt-Node would work better, but it is $600 vs just $40 for these two 1 phase meters. So I made an odd choice. These power meters are now measuring all of the loads in my main panel. I did this by passing each L1 wires through one of the CTs and all of the L2 wires through the other CT.

So now I have the data I need. I have the PLC read from the XW-Pro, the Amps, Volts, and Watts, from the output, battery, and AC1 input. And then it also reads the two power meters in the main panel. Then I have a few constants that I set in the PLC registers. This s a little harder to explain, but I will try. I had no idea how accurate the meters are, so I added span and offset values so allow me to calibrate the cheap meters. But they have proven to be within less than 20 watts of the utility meter and my Fluke clamp meter. Then I also added offset and span values to allow me to fudge my power output separately during charging or discharging. This allows me to add or subtract from the power calculation to force it to either allow some grid export, or force it to consume a bit from the grid. A simple add factor can slip it the same amount at any power level, and the spam (multiplier) can allow it to offset more as the power increases, like a percentage. I am currently only using the add offset. I will explain a bit more in the next section.

The first thing I needed to do was decide when to tell the XW-Pro to start charging. My goal was to use as little grid power as possible. The lowest charge rate in the XW-Pro is 5% of 140 amps, or 7 amps. At my maximum 58 volts, 7 amps is 406 watts. So my PLC takes all the data it received, and then looks at the watts going out the AC1 input to my main panel and subtracting the loads watts from the two cheap power meters. Once my Enphase grid tied solar is pushing 420 watts more than my house needs, then I know I can tell it the XW-Pro to charge, and I will still be exporting a few watts to the grid. On clear days, this works perfectly and each morning, once there is enough sun, charging starts.

Adjusting the charge current from there is fairly easy. If the watts going out to the AC1 exceeds the loads by more than 100 watts, I raise the charge current 1%. That is about an 80 watt step. If the power export falls below 20 watts, I lower the charge current by 1%. The average export power ended up floating very close to 60 watts while the sun is shining. Those threshold values can be moved if you want to export more, or keep it importing.

Stopping charging is a little different. I decided I didn't want it to stop every time a cloud passed over, so I only bother stopping the charge if the AC coupled Grid Tied solar falls to where the AC output of the XW-Pro starts consuming power. Heavy loads in the main panel will nd up taking grid power when it is cloudy. I did this mainly because I didn't want my Central A/C compressor discharging the battery while grid power was at the cheapest time of use. As long as the XW-Pro is still charging at just 5%, it can't pull battery power to feed loads.

At 3:50 PM, I have the XW-Pro set to charge block. At that point, the charge "Bulk" and rate% commands no longer do anything, and the XW defaults to powering loads, but it is still quite smart on it's own. As long as the incoming AC coupled solar is covering the loads, the XW sits idle.

It turns out the way I have my power meters measuring the loads made the discharging side much easier. I could just take the power from the 2 meters, add them together, divide it by the total AC1 L1 + L2 voltage, and tell the XW to grid sell that much current. In a perfect world, it would set it to zero grid power every time it ran the loop and updated. But I didn't like it making instant changes. I take the power it is exporting now, and the new setting, and only shift it 80% of that difference. This makes it take about 3 cycles of the loop to match any big current change up or down. And I also added a window about 80 watts wide where it won't change the sell current setting. That way any small load changes don't make it adjust. It also turns out that the XW-Pro sell amps function is not a true sell from battery command as I had originally expected. It just looks at the AC1 current and adjusts the inverter power to get the current you asked for. Why is this different? The BIG difference is due to the AC coupled solar. If my Enphase system is pushing 3,000 watts, and my house is only using 2,000 watts. And I have the XW set to export 500 watts for the loads in the main panel, then the XW still just sits idle because there is already more than enough power going back to the main panel. And if my main panel demands 1,500 watts, the XW will just export 1,000 watts to make up the difference with the 500 watts from the Enphase solar.

How I like to do up a program like this is to start with a flow chart. What are the questions? What data do you need to make the decisions? What does each answer make you do?

Things like my dead band windows and offsets were added when the decisions were not acting how I want it to act. Slowing responses is not needed, but it but I didn't like seeing it jumping around too quickly and certainly didn't like ever seeing it overshoot the desired current.
 
How, exactly do you stop the charge process?
It's the same register used to start the charge "Force Charger State" But now send a "0" for "No Float" and charging stops.

When you start your own thread, just make a comment in my thread and I will go follow yours.
 
Back
Top