Functionality in the ideal BMS?

Discuss hardware related to the VESC such as the NRF nunchuk.
arvidb
Posts: 234
Joined: 26 Dec 2015, 14:38
Location: Sweden, Stockholm

Functionality in the ideal BMS?

Postby arvidb » 26 May 2017, 13:05

I've been trying to figure out what I'd want from an ideal BMS (battery management system).

I want to share my thoughts here to get further input - what have I missed? (I'm not that interested in the actual implementation details right now - which chips to use etc - but rather the functionality.)

The use cases I have in mind for this BMS could be anything from an RC car to an electric bicycle. So a BMS for cylindrical cells, not huge prismatic ones. The basic idea of the BMS would be to prevent over- and under-charge (individually for each cell), over-current, and over-temperature.

I think I have it down to the following:

  • It must measure individual cell voltages and pack temperature(s).
  • It should primarily be a battery measurement system - no power components to force low voltage shut-off etc; this is better handled by consumer and charger. Also no measurement of current draw - again, this is probably better done by consumer and charger? This also means no state-of-charge awareness.
  • Communication with consumer/charger via some serial interface. RS422? isoSPI? Probably needs to be isolated or differential (no common ground) since noisy ground differentials are probable between battery pack and consumer.
  • It should know about the pack's maximum charge and discharge currents and maximum and minimum cell voltages, and be able to tell charger and consumers about this. So some kind of small onboard ROM is needed.
  • It must have very low current consumption when inactive, so the pack can be left on a shelf for 6 months without getting destroyed.
  • What about cell balancing? Maybe include a (probably low-current, in the 10s of mA) cell balancing functionality that can be activated by the charger via the serial interface? If I understand correctly, when cell balancing is done thoughout the charging process (not only at the end), not a lot of current is needed.

When used with a VESC (adapted for use with such a BMS) you would simply plug in the battery and the serial interface, and the VESC would get its maximum battery current settings as well as low-voltage-throttle settings automatically.

Same thing with charging - just plug it in and the charger would use the correct settings automatically.

What would YOU like to see in a BMS?

rew
Posts: 940
Joined: 25 Mar 2016, 12:29
Location: Delft, Netherlands.

Re: Functionality in the ideal BMS?

Postby rew » 27 May 2017, 08:06

IMHO, the BMS should keep the battery safe under all circumstances. This means a forced cutoff if things are getting out of hand.

However, an interface that indicates to a consumer: "only 50% of normal load allowed" is something that oldfashioned BMSes don't have, but would be very useful if it is standardized so that more consumers can "consume" such a hint from the BMS.

On my bike with second-hand cells, the internal resistance is so high that even though it has about 930kJ of energy, after only 150kJ I can drive the VESC into lower-performance mode due to sagging voltages. An oldfashioned BMS will cut the VESC off and I don't have any assistance until I get home...

My proposal for such a signal is simply a 0-3.3V voltage where 3.3V indicates "full power allowed", 2.2V is "only 66% allowed" etc.

Similarly, there should be a throttling output for the charger. 3.3V means "you can go as fast as you want", and lower voltages means the charger has to throttle down. So, when you connect a 200W charger to a small battery, the BMS will quickly start to throttle the charger to something that it can handle. But similarly, the balancing circuits will kick in once a cell reaches 4.20V. But above 4.25V the BMS should start indicating that throttling the charge current is the way-to-go.

To achieve this, the BMS will need some inputs. The cell voltages are one. I have a 1P arrangement, so a single bad cell could require me to throttle down. (in practise, I trust the VESC to do the right thing, but in reality I'm probably overstressing the cells that are already the worst.)

Also the cell temperature can be monitored. When things get too hot, time to throttle down.

At this stage, you mentioning "cylindrical" and "not prismatic" cells is IMHO not useful. You could say: Of course we're probably thinking about Lithium cells.

FYI, after NOT balancing my bike-pack for like three months, I checked the balance yesterday. About three (out of ten) cells were above 4.2V when the whole pack was at 41.5. So I took out 20-30 mAh from those cells to make them 4.2V.

So, balancing "every time" means that you occasionally hit say 4.22V, this normally happens in the "current taper, CV" stage, and within 10 minutes the voltage of the cell will be back at 4.2V even when you only balance at 20mA. Most balancing circuits will balance at 150mA and achieve balance even quicker.

I did charge at around 200W yesterday. I forgot to put the battery on the charger, and there was little time left before I had to leave. Although the lab powersupply has a 600W limit, at my batteries voltage it can only produce about 400W.

arvidb
Posts: 234
Joined: 26 Dec 2015, 14:38
Location: Sweden, Stockholm

Re: Functionality in the ideal BMS?

Postby arvidb » 27 May 2017, 12:37

Thanks for your input, rew! This is just the kind of discussion I'm after. :)

Most batteries are used for a single purpose, right? I mean, you probably have one battery for your RC car, one for your electric bike, another for your longboard. I think most BMS:es fail in their design here, in that they see the battery as an isolated unit, and fail to see it as a part of a system. You don't have to add another big, expensive, lossy MOSFET in the current path if the consumer is intelligent enough (and informed enough) to adjust its current draw to the current circumstances.

If the consumer can read registers that says:

  • "lowest allowable cell voltage is 2.5 V"
  • "max current draw is 40 A"
  • "max battery pack temp is 65 °C"
... and also get up-to-date values of actual cell voltages and temperatures, it can do whatever it needs to do to use the remaining battery capacity in an intelligent way. So in your case, when it detects that the voltage sags, it could dynamically lower its maximum current draw, and maybe inform the user as well. (And with the addition of an SD card to the VESC, battery performance could be logged as well.)

Of course, one might want some kind of redundancy, in case the consumer has bugs, that shuts off the battery pack hard. And a fuse. But these should not activate in normal usage, IMO.

What do you think?

BTW, I would also like to include some kind of inrush current limiting in the "system" think. This does of course need another MOSFET. Maybe combine this with the battery pack shut-off protection, and let the current limiting resistor take the hit and burn up in case the consumer misbehaves? I.e., the pack would have this resistor in series by default, and the consumer would need to tell the BMS to bypass it after it has been connected. And the BMS could remove the bypass as a last resort, to protect the pack.

rew wrote:At this stage, you mentioning "cylindrical" and "not prismatic" cells is IMHO not useful. You could say: Of course we're probably thinking about Lithium cells.

Well, this was just with regards to the balancing current (so really has to do with cell capacity rather than cell shape). I'm not sure a few tens of mA would be enough for the maybe ~100 Ah cells used for, say, a home energy photovoltaic storage battery. And I wanted to stress that I'm not designing for that usage. 20 mA at 4.2 V and 12 cells is almost exactly 1 W of heat, which seems reasonable to dissipate within a smallish battery pack. I don't want to end up with power components that would need a lot of cooling, so higher balancing currents would be problematic. Your description of only needing 20-30 mAh to achieve balance gives good hope that higher currents are not needed, which is nice (and fits with what I've heard others say before)!

rew
Posts: 940
Joined: 25 Mar 2016, 12:29
Location: Delft, Netherlands.

Re: Functionality in the ideal BMS?

Postby rew » 28 May 2017, 08:01

arvidb wrote:Of course, one might want some kind of redundancy, in case the consumer has bugs, that shuts off the battery pack hard. And a fuse. But these should not activate in normal usage, IMO.
I would think that a sufficiently large fuse (that won't blow when it shouldn't) has more resistance (loss) than a proper mosfet.

My bike has 4700uF of buffer capactor. That's almost 6J of energy at 50V. That amount of energy will have to be dissipated in the BMS to do a soft-start....

Really, that sort of stuff is better done in the consumer, where some watts of losses are already expected.... Difficult matters! Now I'm arguing putting things in the consumer where previously I was trying you not to do that...

I still think the BMS needs to be a spare safety net. So, when something in the ESC goes wrong, the BMS can prevent the battery from catching fire.

TilmanBaumann
Posts: 15
Joined: 15 Feb 2018, 16:50
Location: Germany

Re: Functionality in the ideal BMS?

Postby TilmanBaumann » 15 Feb 2018, 16:57

While recently reading through the code I also noticed that VESC doesn't seem to have battery protection in mind when it comes to regen braking.

Ideally, it would interact with the BMS for such matters. But since it has voltage sensing for battery voltage, I would say a max cutoff voltage over which no regen should happen would be a very useful thing indeed. (Ideally, it would communicate this issue via CAN and serial to any potential display unit)

Ideally, it would achieve to not drive the brake voltage over a certain maximum to comply with CV charging regime in the top end. (Current limit is effectively already in place)
If that is not easily achievable, the brake could just be deactivated at a certain pack voltage.

Mind you this condition would only exist in the first few minutes of a drive after a full charge. It sucks to live on a hill. :)

TilmanBaumann
Posts: 15
Joined: 15 Feb 2018, 16:50
Location: Germany

Re: Functionality in the ideal BMS?

Postby TilmanBaumann » 15 Feb 2018, 17:03

Ah, I see the issue has been addressed in this topic too. viewtopic.php?f=15&t=586

Perhaps not a bad idea actually. Just dump any over-voltge into a resistor. Easy low tech. Leaves us only with a thermal management issue.


Return to “Related Hardware”

Who is online

Users browsing this forum: No registered users and 1 guest