BSL Stubby and Multiplus-II: BMS bug(s) on 1.07 firmware

Hi,

It seems there is at least one known bug present in version 1.07 of the BSL “Stubby” battery firmware, possibly specifically when used with a Victron. I might have discovered another one (or at least another symptom of the same bug), and would like to find out if anyone else has a similar experience.

I made a detailed post about this over on the Victron Community - but only the one known symptom was confirmed, not the possibly additional one I’m experiencing. I’ll summarise the issue below.

The system:

The system was running without a hiccup for almost a week, when the inverter suddenly restarted. I had a look at the alarm logs and found:

The strange thing is, the BMS was reporting about 99% SoC when this occurred, and there was very little load on the system at the time (max 500W, no apparent spikes).

An hour later it happened again. I then noticed the a “High DC ripple” warning that coincided with both of the low battery alarms:

Furthermore, after digging around I saw that the MPPT daily history showed an abnormally low minimum voltage:
25743-screenshot-from-2021-11-17-20-00-56

At this point I contacted the installer and the did they following:

  • Checked all firmware versions: the Multiplus-II was on v481 and was upgraded to v490. All the rest was up to date.
  • Confirmed that the VE Configure settings are in line with the BSL guide.

Although I haven’t experienced a “Low battery voltage” alarm since, I noticed the SoC bug that was confirmed on the Victron Community, and now also confirmed with the BSL manufacturer (they indicated a fix is currently being worked on). The SoC jumps erratically when charging:

Has anyone here had similar issues with the BSL Stubby BMS? Specifically, has anyone experienced unexplained “Low battery voltage” alarms and inverter restarts? I’m trying to figure out if this is related to the SoC bug, or if something else is wrong.

Thanks!

Hi anrich, can you plot the battery voltage and charge rate along with SOC? If possible also max/min cell voltage.

To me it looks like the BMS has SOC voltage set points, that were calibrated with different cells, or the impedance of the cells are not as expected (also possibly due to different cells used for calibration).

Are the 160Ah available in SA yet, I thought they were just testing them?

Interesting, that would be quite concerning as I bought the battery as working and compatible with Victron, not as something that is still being tested. There is an end-user BSL manual (for Victron specifically) for this battery, which does make it seem that it is no longer supposed to be in the testing phase. The installer did mention that it is a new model and was only recently made available in SA.

Below are the requested plots - I added the dotted lines to indicate exactly where both low voltage alarms occurred.

In terms of the sudden jump in SoC (which occurred a day after the low voltage alarms), here are the same plots for that event:

I must say, I can’t really see anything that proves my hypotheses. I think best would be to contact the distributors. I have seen some glitches in the comms - perhaps that would be a place for the manufacturer/distributor to start debugging).

If you got one then I’m sure they have finished testing, I just have not really seen them for sale anywhere.

From what I’ve read here, it sounds like the BMS disconnected the battery from the DC bus (probably to protect something).

When that happens, it is quite common for the voltage to drop out and cause a low-voltage condition (because you have no battery connected).

It is also common to have a high DC ripple. A 100Hz ripple on top of the DC is perfectly normal, this is a result of the way in which the AC waveform is shaped by the inverter (as the AC current ramps up and down, the DC voltage shows a similar rise and fall due to the cyclic current). But with the battery disconnected, there isn’t anything to really hold the voltage steady, so the DC ripple shows up.

So both these are explained by a BMS disconnecting.

The BSL battery has directional switching. It can disable charge while still leaving discharge enabled, and vice versa. A low battery voltage would suggest that it opened the discharge FET… it wanted to prevent further discharge. Normally I would look for a low cell in this case, but I don’t see one in the min/max cell voltage chart.

The sudden jump in SOC… that can also be normal. The BMS has a hard time estimating SOC when the battery is between 20% and 80% SOC (because LiFePO4 has a really flat voltage curve, and I thumbsucked these numbers, it’s not exactly 20-80), so it tends to have waypoints that activate outside this area, to correct the SOC should the voltage be higher than you’d expect at <80% SOC. The battery could have made precisely such a correction. If it did this once, I would not be concerned. If it frequencly suffers from severe SOC drift (that is what you call it, when the SOC estimate gets way out of wack with the real state) and frequently has to reset, then I’d be worried.

One final thing, which can be observed with one of the competitors’ batteries: The hall effect sensor they use to measure the DC current cannot measure very well low down. Discharging the battery at low levels of power (under around 250W) causes severe SOC drift on that particular battery. I don’t know how the BSL does it, but I am mentioning this for completeness: Sometimes SOC drift is because of low discharge currents.

So… the question would be why the BMS decided to block discharge… at 99% SOC.

The battery I tested wasn’t a 160Ah one. IIRC it was 100Ah.

If the larger battery has a slightly different BMS, perhaps one without the directional feature, then any disconnect (also a high-cell disconnect) would have the same effect. Regardless… a low voltage drop-out, or a really high voltage spike, or a DC ripple warning/alarm… all symptoms of a BMS that disconnected.

Thanks for the detailed explanation. The SoC correction makes intuitive sense, and the SoC jump on my battery seems to fit the bill by that explanation. I haven’t seen any other SoC correction before or since the occurrence I pointed out. I think the SoC bug that BSL is (apparently) working on relates more to behaviour that “nickdb” pointed out on the Victron Community. His battery (exact same model as mine, also 1.07 firmware) seems to show frequent SoC drift:

Screenshot from 2021-11-21 08-36-10_stroked

It’s interesting that low power discharge can cause SoC drift, it could be that this BSL battery behaves similar to the competitor battery you’re referring to. I say this because I frequently discharge the battery at < 250W:

So the one SoC correction I saw is interesting, but not too concerning.

The more concerning part is the (potentially unrelated) BMS disconnect. The question remains, if it is in fact the case that the BMS disconnected, what was is trying to protect? The options I see are as follows:

  1. There was in fact a massive current spike that doesn’t show up on VRM (since it only logs every minute), and the BMS disconnected because this would’ve exceeded it’s discharge current limit.
    1.1 Would the Victron not have handed this over to AC-in-1 (as the grid was available), or thrown its own overload warning? Maybe it couldn’t act quickly enough?
    1.2. I had no appliances running that I can imagine could cause a sufficient current spike, and if something shorted at such a high current I imagine I would’ve heard/smelt it.
    1.3. Could issues on the grid have caused a massive amount of current to be dumped into the grid? Load shedding was in progress the entire day, maybe related?
  2. There was a cell that had low or high voltage, but for some reason it’s not showing up on VRM.

Is there any way for me to get more detailed information about what happened from the battery itself? I guess the only way would be via RS485, and for that I’d need to decode the serial data (sounds like a whole project on its own).

Did the power actually go out? Usually what happens is as you say. The Multi goes into Sustain mode (because the voltage dipped below the dynamic cut-off cute) and the load moves over to the grid.

Indeed, the inverter restarted in both occurrences (power went out). In the first case, the grid was definitely available, but in the second case the alarm coincided with a grid failure (load shedding).

I should mention that the grid is generally unstable in my area (even more so than SA in general), and the Multiplus has gone into inverter mode quite a few times while the grid is on (I’m assuming due to grid voltage / frequency fluctuation).

In this case however, with the first alarm it seems to have gone off and only after restart it went into inverter mode (while syncing with the grid I assume), before going back into bulk mode:

What’s interesting is that I can see in both cases ESS went into sustain mode:

In both cases the ESS sustain state happened just before the inverter shut down.

These symptoms you describe, I’ve personally experienced.

In my case, it was cells that were out of balance.

1 Like

Interesting, I would’ve hoped the BMS would take care of this without disconnecting itself from the DC bus.

Can the cells be so unbalanced that the BMS physically can’t correct the it fast enough, and to protect the low (or high) voltage cell it just disconnects?

What was the solution?

Yes. Easy. It balances with milliamps.

Had to top balance the cells again.

I see. Since the battery I have is a LFP with a BMS, it doesn’t seem like balancing is something I can initiate myself.

Should I just give the BMS time to do its thing?

Time with a small charge current is what it needs if you cannot access the cells.
Can you see cell details like voltages?

I would ask the supplier to help, unless as Phil asks, can you see each cell’s voltages and can you get to them.

Top balancing requires all the cells to be connected in parallel. So it ca affect the warranty if you tamper too much.

If you look above, he posted the chart from VRM. The highest cell isn’t above 3.55V, and the lowest cell is comfortably above 3.35V. I don’t see any reason here for a BMS to disconnect.

I considered, did not ask how frequently is the data uploaded, every 1 or every 5 minutes, as the default is 5min if memory serves.

From 3.55v to >3.65v can take seconds. To drop again can be relatively “fast” too, depending on circumstances at the time.

In any case, I’m not debating anything, the symptoms as described are to the letter what I’ve personally experienced many times.

Unfortunately I can only see what the BMS communicates. The closest I can come is looking at the minimum and maximum cell voltages, and this doesn’t seem like it’s logged in VRM.

Screenshot from 2021-11-23 06-57-27

I did some research on how to do top balancing, and this is not something I’d be able to do myself without completely voiding warranties on installation and the battery itself.

There was a massive jump in SoC again today. It’s interesting that the BMS is now reporting 100% SoC but still taking the full current that the MPPT can provide to charge…