I've been getting BMS experience now for several years with my pack (20P(12S(2P)): 30kwh @ nom. 42v. As noted by canoesailor, a vehicle typically uses one battery management "system" (BMS). Mine needs to manage 20 strings with 12 series pairs of Enerdel cells. Each of those strings has its own remote lithium energy controller (RLEC). On a THINK electric car, a master (MLEC) communicates with and controls 16 RLECs via a CAN bus. As designed, only 16 RLEC addresses can be CAN mapped, so for my boat with 20 RLECs, I use 2 CAN buses and an Arduino DUO microcontroller board with dual CAN port interface. The BMS SW I wrote. And that has been a learning experience. For the longest time I thought it best to simply identify the lowest cell pair out of 240, set a threshold just above that and bypass all the cells in the pack to balance. What I didn't realize though was that these remote sense boards don't all scale the same. And so, even with all the cells across the pack balanced, there could be 20mv difference in reported value between one string and another even though the strings are in parallel!
Then it hit me: The right thing to do (since these 20 strings are all paralleled) is to balance each string by itself relative to its own minimum cell. Better still (ignoring energy lost to power the BMS system), balance just 1 string at a time and let the paralleled strings feed the balancing one as it's balancing. This can be a biggee. Imagine having just 1 of 240 cell pairs in the pack that is low, say 50mv low. A simple BMS that tells all cell pairs to dump power until reaching, say, Vcellmin + 5mv would dump power in 239 cell pairs with the entire pack dropping voltage simultaneously for no reason---and not settling until losing something like 50-60mv of pack voltage. If instead just the 1 string with the widest span between lowest and highest cell voltage bypasses its cells first, the rest of the pack will still drop, but just slightly, and only to feed the bypass current of the string bypassing. In so doing, that lowest cell will instead RISE in voltage. Do this for each of the strings and voila! Balanced strings but without going to the lowest cell voltage simultaneously. This reduces greatly the stress on the power electronics and reduces risk. Though it is much slower.
Anyway, I'm not done experimenting. I do not power up my BMS except once every few months to check status and balance cells. That's about 1 balancing per 3 or 4 charge cycles. Realize that powering a BMS consumes power. In my case, I have 20 RLECs which consume about 1watt each (plus any bypass power), an Arduino DUO and CAN driver (5watts?) and if powered from my pack, a 48v-12v DCDC block, which is not very efficient at these low power levels (another 7w). This amounts to 4w (cell bypass, 11 cells) + 18w (20 RLEC) + 5w (master) + 7w (DCDC) = 34watts. While this might not sound like much, in 1 day this is 0.8kwh and in 1 week, about 6kwh, or about 20% of my pack capacity. So the only way I'd consider powering this BMS full time would be via shore power. But why? No reason to. Best to keep it disconnected unless needed.
Finally, unless your BMS controller is communicating with your charger and motor controller, the BMS will not actively protect you from over-charging or over-discharging a cell except to the extent that you pre-balanced the cells and you only typically have 100-150ma (250ma w/Batrium?) of bypass current available, which may not be fast enough to prevent the condition. If communication with the controller and charger is happening, the BMS can halt or reduce charging or in discharge, reduce the available power for propulsion.
Anyway, there are a lot of options when one looks at the nitty gritty of how best to approach cell balancing. The simplest might be to have independent remote BMS cards that manage each parallel string (like mine). It could be done simply as "top-balancing" (i.e. at the end of full charging --- the default for my RLECs) or by active balancing at whatever voltage the pack is at (what my BMS does) or bottom balancing (who does that?), or all of the above?
-Myles
From: electricboats@groups.io [mailto:electricboats@groups.io] On Behalf Of cpcanoesailor via groups.io
Sent: Tuesday, May 31, 2022 7:18 AM
To: electricboats@groups.io
Subject: Re: [electricboats] Another LifePo4 build question
I think you will only need one BMS, since you have only one battery. A BMS is a battery management system, protecting the cells from over-voltage, under-voltage, and over current situations, whether they are caused by charging or a load. It may or may not also do balancing between the cells. You will probably need some sort of controller for each of your chargers. The shore power charger should have one built in. You will need at least one for your solar panels, but I would suggest one for each panel to get the best output in partial shading. You will probably also want a controller for the diesel generator DC output.