FlexiBMS Lite - Flexible Configuration BMS w/ CAN-bus

Let’s see how long it takes and fingers crossed that it makes it!

Received the board yesterday. Soldered balancer JST XH 13pin, charge wires and discharge wires on for testing.
Connecting via USB worked fine. Would be good to know if the BMS can be powered for setup with only USB connected or a battery connection is necessary. I connected my lab supply (set to 16V 50mA) to the battery wires and only connected USB afterwards which worked fine. Not sure about only connecting USB. Maybe that can be added to documentation.

I used Coolterm as a terminal to communicate with the FlexiBMS. Baudrate should be set to 9600. Would be great if that could also be added to the configuration guide.
Following the guide setting up the BMS configuration worked as expected. Looks like I have some trouble with the shown battery voltage, but I will write a PM to @SimosMCmuffin about that.

5 Likes

the MCU can be powered with just the USB, so you can configure settings without a pack connected, some things seen in the State printout might be jibberish as other circuitry need to be powered via the pack terminals, for example the LTC6803 stack monitor IC and external NTC probe biasing.

Just tested on Hterm and the arduino serial terminal and they work regardless of set baudrate, as the COM port is virtual and uses USB communications to move the data, but I can see the possibility that some terminal programs might be pickier. I’ll add this possibility to the serial termination use guide.

I took a peek in the charging algorithm to see when the battery voltage measurement is enabled and it’s currently only enabled if your ($0) packCellCount is set to 0 AND charging, as the BMS then operates with the pack voltage instead of the cell voltages. So seems to be working correctly.


Had a cool 19:30 hour work day yesterday/today. At the office at 8:40 AM and stopped at 5:00 AM next day at a customer’s assembly plant.

We found a critical time system 32-bit variable overflow bug that caused the devices to 100% crash after ~50 days of being powered. We troubleshooted the problem in 5 hours and the next day deployed a fix after 28 hours from the initial problem report from the customer.

We then went to the customer’s assembly plant to hand flash their current inventory boards, which started 8:00 PM and we finished at 5:00 AM next day.

I also knew that I was using the same tick system in the BMS firmware and I checked today and I had already corrected the overflow possibility from the time I had decided to use the tick system, so should be no problem.

5 Likes

Hi guys, any space left for a new joiner? Hope so, this project is amazing.

1 Like

I might start their own thread on the general section of the forum. Doesn’t seem to be anything else there about DIY audio projects.

1 Like

Hey, project question.

What do you guys think of always allowing balancing, even when not charging?

Personally I don’t see a lot of point to it, but rather downsides.

For example;
If you have un-matching series cell packs in your battery pack, then some of them will have more or less capacity relatively. Assuming that you balance the pack during charging, your pack will be “top-balanced”, so all your cell voltages are near each other at top-of-charge.

Now as you start to discharge the pack, your cell voltages start to drop. The weaker series cell packs will drop faster than the stronger ones. You (should) stop discharging when your weakest/lowest cell hits your lower cut-off voltage. Now if you have been balancing during discharge, it means you have burned extra energy off of the stronger cells. Once you start charging your pack back up what happens is that the weakest cell hits the top charge first, because it’s the only one that hasn’t had any extra energy burnt out of it and now it in turn needs to be balanced to bring it back down to the stronger cells voltage.

The limiting factor in the packs total capacity are the weak cells, not the strong ones. Once a weak cell reaches bottom-of-charge, you can’t discharge the pack further even if you still have strong cells with voltage/capacity available, as they will start to reverse polarize the weak cell with further discharging, killing it. Therefore always allowing balancing doesn’t help get any more capacity out of the pack, but rather just burns energy away unnecessarily and might even make charging times longer instead, due to almost certainly needing to balance.

You want to either run the battery pack “top-balanced” or “bottom-balanced”.

image

5 Likes

Agreed entirely :+1:

1 Like

Been devils advocate there is a argument the other way

The benefit is that the battry % is a lot more accurate and drops more Consistently that I can think of.

I’m in the camp of balance charging but I know there are people out there for balance discharging

Some smart BMS have it as a option when setting up this could increase you target market to include them.

As for no real gain unless there is a way to move the excess energy from the highest pgroup to the lowest. (I’m presuming that would involve a large redesign increase in cost and size with I guess is outside the scope for this project)

Only time I can think of it been helpful is if it’s some thing I could activate to prepare for storage. Would be nice to balance all cells at 3.6v with out having to fully charge the battry and then discharge. Unsure the best way that could be implemented mabe a butting is possible in the MetroPro. Just food for thought

Edit. Having a think about it been able to blast a quick 90% charge in then setting off on a ride could be nice if you could activate it know you pack will sort it’s self out would be a cool feature I could see me useing that don’t always have time to leave a battry on charge for hours as I don’t like keeping it at 100% if I’m unsure when I use my board next. Would also be interested in a temp timer eg alow discharge balancing 10min countdown timer.

1 Like

Yea, active balancing is it’s whole own can of worms and is not very friendly board size or economical value wise at battery pack sizes of esk8 use case.

I’ve been planning on implementing a storage function that would discharge the cells using the balancing resistors to user specified voltage and user set amount of time of not being charged or discharged. AKA, discharge to 3.7 V if no discharging/charging for 4 weeks.

I think the DJI drone battery packs have a storage mode function that prevents their Li-Po packs from getting puffy from storing them at high voltage for long periods of time. I think they allow the users to select how many days to wait before discharging them to storage voltages.

Can you be a bit more specific in your functional description (grammar). I’m having a bit of a hard time understanding how you would like to use the BMS / how you’d want the BMS to behave exactly.

Indeed continues balancing does not give more capacity! Won’t argue with that.

I don’t want ‘dumb’ balancing all the time but I do want more than balancing when charging. I’ll explain why:
Balancing can take some time at 85mA. When something happend too the pack and there is a rather significant voltage difference I don’t like to keep it connected to the charger until it is fully balanced.

So the way I would like my BMS to behave is to balance when cell levels are higher than 4V, whether it is connected to a charger or not.

Don’t understand me wrong. I would like this functionality but if not available it’s not a dealbreaker.

This is indeed a downside if you would leave balance on all the time but this is not really what I need/want.

Very nice feature! I can definitely see a need for that. Would also be awesome if this could be trigged trough the Metr module, but maybe I’m getting ahead too much now :slight_smile:

2 Likes

So let’s say configurable balancing voltage limit for outside charging balancing and then a flag to enable always balancing. Set balancing voltage to 0, it will always balance through the whole voltage range or if not set to 0 (say 4000, for 4000 mV) then allow balancing still to happen if cell voltages above that limit even if not charging?
Might actually just use the already available balancing voltage parameter ($11) cellBalVolt. for the limit and just create the alwaysBalancing flag to allow for outside charging balancing.

EDIT:
I’ve been actually coding the alwaysBalancing functionality in, but wasn’t 100% how to configure the parameter inputs for it.

3 Likes

This sounds perfect!

I think it’s a good option to have, but we need to have the ability to log to the phone over Metr to determine if it’s worth, probably not

In my experience quality packs doesn’t get out of balance, I’ve been running my pack BMS less for probably 150 or more partial cycles, last time I checked the cells were perfectly matched on my two decimal digits multimeter, so within 0.01 V of each other

How much balance current we have? And is it limited the number of balancing resistors active at the same time to avoid overheating?

1 Like

The storage function would be great for when the board is not used for longer periods like a crappy Swedish winter :sweat_smile:

1 Like

Balance resistors are 47 Ohm and balance P-FET has negligible internal resistance, so you can calculate your balancing current from that, so let’s say 4.15 V cell voltage would give us ~88 mA balancing current.

I just added couple hours ago maximum limit to the amount of simultaneous balance resistor balancing at any point. Due to the board starting to get a bit toasty with 8 resistors balancing and hitting the max board temperature limits of 60 Celsius (configured).

2 Likes

It’s not much better here over the lake…

Spelling and grammar defiantly not my strong point

On a charge the last 20% and balancing often take 1/2 the charge time you can get a 80% charge very quickly the thing is the pack has not had time to balance

It would be nice to do a 80% quick charge and the go in to the metr app and turn on activate balancing for 30 min as your riding. (I’m literally dreaming up features I could see me using can’t think of any other BMS that capable of this)

If there was a app were you could turn on active balancing chose a minimal voltage it auto stop at and/or a max duration. With a feed back of what cells are balancing and a record of how many ma have been drained by balancing out of each p group since last charge It’s a big wish list but it things I could see been useful.

That feature us avalible on the Neptune 15 bms if you need a bms fast that has that :slight_smile:

1 Like

https://www.speedict.com/product-page/neptune-15-1

Not much mentioned about it time for a deeper google search think I came acros it last year but dident fined out much and went with a best tech BMS on a old build

1 Like

Not sure if balancing while riding is useful/reliable. Because cells under load give different voltages.

2 Likes