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?