diy solar

diy solar

BMS for Schneider Conext

Thanks @400bird . I am going to be using a Seplos BMS which allegedly talks pylontech over CANbus, so I only hope I'll have the same successes you've had with Batrium :)
 
I'm not sure this is much of a contribution here, but...

Historically, Schneider has taken what appears from the outside as a pretty arrogant "don't call us, we'll call you" approach to interfacing to batteries / BMS's, or virtually anything else for that matter.

They have a list of LFP batteries that they provide a "closed loop" connection to, where the BMS can somewhat manage the discharge and charge current. If your system is not on the list, they are not interested. From everything I've heard, there is absolutely nothing "open source" about the interface to Schneider inverters to allow any other BMS to communicate with it.

If you guys have managed to get an SoC out of the CAN interface, you should feel good. That may be all you can ever expect with a Schneider.

I say this as a Schneider customer. In fact, I'm a relatively happy Schneider customer. They build rock-solid, high quality equipment. I'm glad it is working well and may work fine for quite a while. My issue is that as the world advances more towards open interfaces, Schneider seems to sit in their castle and admire their moat. I also figure that there will be no upgrade path or evolution for Schneider. Stuff I bought brand new in 2016 was declared no longer supported in 2019. So my assumption is that when things do start to fail, I have no reason to stay with Schneider.
 
The manual says MPPT not supported in the footnote as already mentioned. It also says it in the main doc:

"Currently BMS communication is supported for systems
with a single XW Pro inverter and optional AC coupled PV inverters. Systems with multiple
XW Pro inverters and DC coupled systems with Conext MPPT solar charge controller not
currently available with BMS communication (future release)"

I'm not sure if the Gateway needs a CAN terminator or not. In the doc's Material List, the CAN terminator is listed as not shown. No telling what that means. I don't recall there being a resistor in the box. Maybe there is one internal.


I think some of these docs are probably stale. Schneider has had undocumented features before.

What I'm looking for is graceful power down on a critical alert or on a threshold. I'm off-grid and have a Schneider battery monitor. Limiting charge at the inverter doesn't get me anything since the generator is configured to shutoff at 60% SoC and the inverter doesn't have enough charge capability to hit C limits.

Throttling HTTP at high SoC might be good. But I do that already to some extent. I have two large arrays on an MPPT 100 and two smaller arrays on two Midnite Solar 150s. I have the MPPT 100 absorb voltage set lower than the Midnite equipment which means the MPPT 100 drops to float before the Midnite and the Midnite equipment finishes the charge at lower overall amperage. Seems to work well.

On the flip side with 1120AH battery, I see no reason to limit discharge. Cell C limits can't be reached by one inverter, but maybe if there was equipment failure and a short developed. Inverter high and low cutoff voltages are set between the Batrium critical thresholds, so the inverter should cut out before Batrium disconnects the battery based on bank voltage. It's really just low/high cell voltage and temperature that aren't handled by the Schneider equipment. So far, I haven't found any documentation that states a battery disconnect is to be avoided. I've done it while inverting with no problems. It might be a different situation during charging.
 
What I'm looking for is graceful power down on a critical alert or on a threshold.
That does work on the XW. Maybe I shouldn't call it graceful. But as soon as the fault cleared, the XW came back to life and resumed what it was doing.
I'm off-grid and have a Schneider battery monitor. Limiting charge at the inverter doesn't get me anything since the generator is configured to shutoff at 60% SoC and the inverter doesn't have enough charge capability to hit C limits.

Throttling HTTP at high SoC might be good.
I'm not sure I understand the typo there. But if you mean throttling current for example using Batrium's limit feature works. I have mine set to limit if cells get too warm or cold.

But, I'd believe the Schneider docs, I've only tested on the XW. It probably doesn't work yet on the charge controllers. It definitely won't help with your midnight SCC's
 
@shorawitz are you still active here? Or anyone who knows if there is a modbus map for Seplos BMS?

I'm trying to figure out if there is some way to "hack" support for Conext MPPT80 charge controllers, by reading the Max Charge Current value (see below) from the BMS and programming it as the max charge current in the MPPT80's. It seems like this should be possible if I can figure out how to get that value?

1654047520065.png
 
@shorawitz are you still active here? Or anyone who knows if there is a modbus map for Seplos BMS?

I'm trying to figure out if there is some way to "hack" support for Conext MPPT80 charge controllers, by reading the Max Charge Current value (see below) from the BMS and programming it as the max charge current in the MPPT80's. It seems like this should be possible if I can figure out how to get that value?

View attachment 96669

This is a timely post. I've just ordered 8 SEPLOS MASON DIY kits. Does your screen shot imply that the Conext Gateway can talk to the Seplos BMS?

I just looked thru the docs and I don't see a Read/Write address to set "Maximum Charge Current" for the MPPT80. I have a MPPT100 in route, so I'll be integrating that with my system soon. I also looked at the Conext Gateway for my current MPPT60's config setup and they don't have that setting. So that's probably why I don't see it as a Modbus option in the docs.
 
This is a timely post. I've just ordered 8 SEPLOS MASON DIY kits. Does your screen shot imply that the Conext Gateway can talk to the Seplos BMS?
Yeah, if you set the InsightHome/Gateway to Pylontech like.....ugh ok, so I just ugpraded my InsightHome this morning and the BMS setup section is.....gone? Not sure if they moved, it used to look like this on the previous version (see attached image). Maybe they just detect it automatically with the new firmware release.

Anyway once that happens it shows up as a device and can be clicked on to examine details such as that max charge current i outlined previously.

For the MPPT80/100 charge controller, you can set max charge current as a percentage of output power. I *assume* if i set max power of 10% on a charge controller, that would limit it to 8amps out. Given that, I believe a suitable translation can be computed.
 

Attachments

  • insighthome-bms-seplos-setup.png
    insighthome-bms-seplos-setup.png
    56.3 KB · Views: 12
So basically I need to figure out two things at this point:
  1. how to read the max charge current the seplos BMS says it wants
  2. how to write to the max charge rate field of the mppt80.
#2 seems like it's in your wheelhouse already since you wrote the query.py - maybe it's not so hard.
#1 I am not sure how we can figure out without a modbus map which i'm not sure seplos has/will readily provide? maybe its the same as a pylontech modbus map, if we can find such?

The problem with the MPPT80/100 charge controllers is they do not support lithium like the new XW. On the new XW you can tell it to get the charge parameters from the BMS and it will respect them, but the charge controllers do not support that feature.
 
Ah. I see it now. Now that you mention it, I seem to recall my MPPT60's used to do something like that (I have the Schneider BatMon) and I changed something a while back and now they don't.

Hum. The other thing missing from the MPPT's is the ability to flip to Absorb. I have my setup currently using a battery cell monitor and I flip the MPPT's to Float if a cell starts to run away using my program that's integrated w/Home Assistant. Home Assistant monitors the system and communicates thru my custom integration to monitor/control the Schneider equipment. It's not too much of a problem for me atm, since my cells have been top-balanced. But I could see a day coming that I would need to do something like what you're wanting - albeit way into the future if my batteries stay healthy.

When I get my MPPT100 and the Seplos units, I'll write an update.

What are you using to monitor/control the system? Do you think there needs to be some logic to set various charge amp levels?
 
The other thing missing from the MPPT's is the ability to flip to Absorb.
As far as I know you can only force them to switch to Bulk or Float. If you are in Float and you switch it back to Bulk that should be fine, it will just drop into Absorb soon enough?
What are you using to monitor/control the system? Do you think there needs to be some logic to set various charge amp levels?
I'll have a pi or one of my other machines here do the monitoring, i assume as long as there is python and python-modbus lib then it should be ok. I dont use home assistant but if python is used under the hood for the operations that works for me, seems like it should be ok to do this.

The seplos bms charge levels definitely have a range they request.
I have four 16S 280Ah packs (4x 200A Seplos BMS) paralleled and when all packs are low in charge the seplos will request up to 400A for charging but as packs fill that number will reduce to 200A and even lower down to 10A when the packs are getting close to full. Also if you take a pack offline that number changes as well, the master BMS seems to know overall what all packs combined can accept.

I'll prob poke around at this a bit more and maybe ask seplos about a modbus map - maybe its easy to get!

Thanks!
 
As far as I know you can only force them to switch to Bulk or Float. If you are in Float and you switch it back to Bulk that should be fine, it will just drop into Absorb soon enough?

I'll have a pi or one of my other machines here do the monitoring, i assume as long as there is python and python-modbus lib then it should be ok. I dont use home assistant but if python is used under the hood for the operations that works for me, seems like it should be ok to do this.

The seplos bms charge levels definitely have a range they request.
I have four 16S 280Ah packs (4x 200A Seplos BMS) paralleled and when all packs are low in charge the seplos will request up to 400A for charging but as packs fill that number will reduce to 200A and even lower down to 10A when the packs are getting close to full. Also if you take a pack offline that number changes as well, the master BMS seems to know overall what all packs combined can accept.

I'll prob poke around at this a bit more and maybe ask seplos about a modbus map - maybe its easy to get!

Thanks!

Sounds good! Good point about Bulk->Absorb->Float. I have witnessed that behavior.

That's interesting about the charge current. It seems like the SEPLOS BMS's are determining CC/CV. Do you have any data when the SEPLOS start to decrease the charge current? I'm wondering how closely it matches a normal LiFePo4 charge curve.

SEPLOS is supposed to be sending me their docs on their protocol. I'm holding my order until they do. I had originally planned to connect directly to the stack using RS-485 from host running HA, but if I can connect the stack to the Conext GW, then I'll do that and simplify the communication.

Stay tuned.
 
I just upgraded my XW6848 Schneider system from lead acid to lithium and thought I would share notes for anyone else attempting this with Chinese sourced battery systems.

I just received a pair of GSL 14KWh LiFEPO4 batteries last week. Unfortunately, they did not come with any documentation, and I have not received a response from the manufacturer yet on my inquiry. That said, I was able to source together details from manuals from other battery manufacturers, and get the battery BMS to connect to my Schneider InsightLocal Conext Gateway. The only issue so far is that the dashboard is only reporting current from the master BMS, so the current numbers are off. I will experiment with connecting the slave battery to the CANBUS as well to see what the system does with two BMS sources. See the attached PDF for notes, wiring, and pictures.

The batteries were purchased from litheom.com, and ended up only being $.33 per watt hour shipping and taxes included. It took 3 months from the time of purchase for them to arrive. They are over 300lbs each, and as such, difficult to mount on the wall. They are replacing two forklift batteries that are still in the white box below the new batteries.
 

Attachments

  • GSL Lithium Battery Integration Notes.pdf
    7.8 MB · Views: 44
I am new to LifePo4 setups and have older (circa 2014) used schneider 24v equipment I am about to integrate with new 4 x SOK 206ah 12v batteries 2S2P. I have the MMPT 60, XW 3.5kw inverter, the SCP, combox but not the batt mon.

I was under the impression one just had to set the right parameters for the charge voltage and current in the MMPT as per SOK's specs and the low voltage cutoff for the inverter and the rest would fall on the BMS? Meaning, even if one is a little too crude with the settings on the MMPT for example, the BMS in each battery would simply disconnect from the MMPT?

If so, is all this discussion really about the ability to read the info conveniently on your various devices so you can track your usage and charging better? Or is it more sinister and without all these hacks one is running the risk of not properly charging the batteries or even discharging them too much?

Thanks!
 
If so, is all this discussion really about the ability to read the info conveniently on your various devices so you can track your usage and charging better? Or is it more sinister and without all these hacks one is running the risk of not properly charging the batteries or even discharging them too much?
In ideal circumstances the BMS can tell the charge controllers what rate it wants to get charged at. But you are right in that this isn't a hard requirement - you can treat then as a "dumb" battery like lead acid and they will still work ok.
 
Back
Top