Sunder wrote:BMSes do a lot of functions, but really, if you design well, you only need one, and the others are "acceptable risks" (to me anyway).
1. Pack overcharge - Unless your charger has a catastrophic failure, this should never happen.
2. Pack over discharge - Unless your load has no LVC or an inappropraite LVC, this should never happen.
3. Pack overcurrent draw - May be useful in case you have a short, but a fuse can do the same thing.
4. Cell balance/cell overcharge - This is the key one I'm interested in.
Number 1 and number 2 are not the BMS's actual function. They are the function of the items you list--the charger's HVC, and the load's LVC.
The BMS versions of those functions are *cell-level* HVC and LVC, and are tied in directly with number 4, to help keep the cells balanced. If there's nothing to detect those and shut off pack input and output, it doesn't protect you from a cell problem (or a potential fire).
If a cell (group) has a problem, without those functions, you have no way of knowing it because it'll almost always be a problem where it goes too low during discharge, then too high during charge's higher current stage (and then drop below the balancer voltage when charge current cuts off).
While a BMS that doesn't cut off charge current at all based on cell-HVC might eventually balance the pack, you'll also have to have balancing resistors (or zeners or whatever is used) that can handle the higher bypass current the charger will be putting out at extreme unbalance--otherwise you end up with other cells charge up higher than they should (higher than they would with a regular BMS, probably), even though they get drained down eventually, it's unknown how high they'll actually go.
Say you have a 10s pack, and you end up with a cell group that drops to 2v because of a problem with it, before the load's LVC shuts the load down (because the BMS can't do it as it doesn't have anything to detect the cell problem). Then you recharge with a 41v charger (nominally 4.1v/cell). Say the other cells all charge up normally but the other cell is still down at 3v because it's really bad. 9x 4.1v = 36.9. + 3v = 39.9v.
That leaves 1.1v to spread across the other cells, probably evenly, so they all end up at 4.22222v, not a big deal, but the BMS's shunting resistors have to handle that excess voltage as excess current/heat, so they have to be sized to deal with this (because there's no shutoff to protect against overcurrent). If the shunting resistors can't handle it, they'll overheat and fail, and now there's nothing to balance the cell groups those fail on, so those cell groups can now become overcharged and won't get drained down from it. The problem will get worse and worse as that group absorbs more and more of the overcharge each time (as it'll already be closer to full than the other cells, moreseo each cycle).
Let's say the original problem gets worse and the other cell gets to the point it never goes above 2v anymore, now the excess voltage on the other cells is 2.1v, to spread across 9 cells is .23v overcharge on each cell--but if the other cells aren't all evenly matched anymore then the overcharge is even higher on some, and the risk of fire from either current thru that low cell or the overcharge on other cells keeps increasing.
A BMS with cell-level HVC wouldn't let this situation occur. It'd be turning the charger current off once any cell reached the balancing point. Teh charger would cycle on and off and never "finish" the charge and stop, and this should indicate a problem to the user that the pack isn't balancing and a manual check of voltages would show the actual issue.
Another fire risk is cell reversal, because that low cell could also cause a problem during discharge, where the load LVC is not tripped because the total pack voltage isn't low enough, but the cell itself has no actual content, no capacity, to deliver any current--it's now just a resistor in the pack, heating as current from other cells flow thru it.
A BMS with cell-level LVC wouldn't allow that situation to occur--the pack would not output any current with a cell that low in voltage, so it couldn't be used until the problem was determined and fixed.
The simplest BMS schematics I know of that we have easy access to, that will do all of what you need, is the Fechter/Goodrum BMS, last version of which was the Zephyr, IIRC. I'd recommend looking up that thread to see how it does what it does, and if you want a "cheap" BMS with custom voltages, use that schematic but use the version of voltage detector chips that give you the cell-level HVC/balancing point and LVC that you're after.
note that if your cells are good enough quality, or are sized so large vs your usage that you never run them down much or place much of a load on them, you probably dont' need a BMS at all--I don't run one on the EIG packs because that's how I'm normally using them, and they don't get out of balance enough to worry about (hundredths of a volt, if that).