FlexiBMS Lite - Flexible Configuration BMS w/ CAN-bus

Thanks, will test soon dual chargers in parallel and didn’t want to fry anything

Thanks, i had to do a quick read on floating outputs, and that actually taught me a bunch :nerd_face:.

I was hoping for the nice can-bus and single charger solution.

1 Like

Unfortunately, no.

FlexiBMS Lite doesn’t support series daisy-chaining.

2 Likes

Then it sounds like there is customer demand for a higher cell count FlexiBMS. I’buy one. Or three :slight_smile:

3 Likes

Wow I didn’t know how little it was, nice work

is it just a matter of the not (yet) isolated CAN-Bus?
Or are there other things?
Because otherwise you could just swap the CAN-IC to an isolated one and daisy-chain them on the CAN, but in general still treating them as own packs.

Yes sorry was from back when you were having heat issues with mosfets Over 7 amps before you swoped them my mistake

Yes, there is also the matter of the charging current path control, which uses 60V FETs. AKA, they gon’ /might blow if subjected to a higher voltage then 60 volts (>~14S). Daisy-chaining capability means, that it doesn’t make as much sense to have charge path control on every unit, as it will either need to be over-engineered to be able to handle the possibly higher voltages at the cost of charging current.

AKA, for example, if the FlexiBMS Lite supported daisy-chaining 2 units for a 24S setup, then that means that the charge path control would need to be able to always handle up to that full 24S Voltage (~100V, so 120V FETs) instead of 12S Voltage FETs. This would mean probably bigger and more expensive FETs on every unit, even if you don’t use it in a daisy-chained configuration.

Now it makes more sense to make a distributed system if you were to design a true daisy-chainable BMS that can support essentially up to whatever S-packs (100S+). In a standalone BMS, like the Lite, everything needed to use the system is in an all-in-one unit and doesn’t need anything else (small, cheaper, simpler). A distributed system starts to look more like car EV setups, where you have MASTER BMS controller, which is then connected to SLAVE units, then there is also a charging path control, which can then be made to fit the required system, from low voltage, low amperage (<100V, <25A, solid state technology) to EV car use scale (>400V, >400A, mechanical contactors).

I have already done a concept design and a prototype for a true distributed system some time ago, but the customer at the time backed away and I lost interest in furthering the development, as I didn’t have any personal need for system like it, so I then focused on designing the Lite.

IMO, if you’re operating in the <100V voltage range, it makes more sense to use standalone BMS’ as the physical pack size is still or might be somewhat on the smaller size, but that’s me.

It’s a compromise at the end of the day, and I lean on the standalone solution for the aforementioned reasons.


EDIT: also, all 25 units have been sold and shipped to their respective buyers, so thank you guys for that!

17 Likes

Is there already a fix to read the right battery percentage instead of always 50% in Metr?

It would first need to be decided how the battery percentage should be measured and how it’s configured. There is already a method in the CAN-library for reading the cell voltages, so I would imagine it’s more how the cell voltages should be interpreted in Metr.

This might be a better question for @rpasichnyk in the Metr thread.

4 Likes

Shouldn’t BMS be responsible for this kind of information? (State of charge)

Suggestion:

  1. Guesstimate current battery % based on V (ideally start charging from zero %)
  2. During charge, map % to V based on incoming mAh.

Report % based on V and calculated mapping during ride.

3 Likes

Is the confusion because the DieBieMS has it’s own microcontroller for pack voltage and current. Is @SimosMCmuffin suggesting the metr should calculate the pack% off the cell data. @rpasichnyk suggesting the flexi should do the calculation and report a pack total

From Github

  • ISL28022 -> Pack voltage and current measurement.

Yes, Because the Lite can’t measure discharge current, it can’t report discharged capacity, but only cell voltages. The Metr app already has the battery % indicator which I believe is based on the battery menu in the settings. 10S Li-Ion = 42V (100%) - 28V (0%) roughly. This is a guess how it’s done, @rpasichnyk hope you can clarify the logic behind it, so if a Lite is found, get cell voltages, calculate them together and use that for the battery voltage and then map that to the battery % indicator.

1 Like

You can open Settings -> Battery and select Li-Ion instead of Flexi

Screenshot 2020-09-24 at 14.17.15

This way you should still see cells when charging, but battery % is calculated based on VESC input voltage.

4 Likes

I received the product. Astonishing compact size for 12s BMS.
The BMS next to it is D124. 10s BMS.
After playing with Hterm for a while, I install it in the battery I’m working on.

15 Likes

That’s pretty awesome. Compared to the LTT smart BMS which are larger than the size of both of those combined lol

2 Likes

I’ve soldered 10awg.

1 Like

I tried to connect Flexi BMS.
When Unity is started by the wakeup function, you can see the cell balance in Metr.
This is a great feature!
Is the red LED lighting by wakeup normal?

4 Likes

Sometimes during power-up some fault flags related to charging might come active, but should get reset once charging is attempted.

3 Likes

Little update on the rest of the 100 board batch, I have finished assembling the top sides of all boards and will start assembling the bottom sides this week.

Board bottom sides assembled by day this week was:

  • Monday: 1
  • Tuesday: 11
  • Wednesday: 36
  • Thudsday: 31

The automatic feeders are working great after sorting a couple initial hicups.

34 Likes