BMS Future Concepts

This page is for documenting things that are cool but are reserved for the future.

Distributed Topology

It would be neat if we had a board on each module that could report its voltage, temperature, and SOC. If we wanted to, we could also support passive balancing.

This idea originally started off with the goal of SOC history-based balancing, where my idea was to put a fuel gauge on each module. Since it seems like we're going to need a connector per module for voltage sense and thermistors, we might as well build a board, and if we're doing that, we might as well put some chips on it. In that case, it makes sense to read the voltage and temperature from the fuel gauge as well, so we don't need the AFEs anymore. Then, to ensure that we don't have signal integrity issues, we could use CAN to communicate between the boards, so we'd have a controller on each board running some simple firmware to read data from the fuel gauge and respond to a master controller that would actually interface with the main system bus.

So it's a distributed topology that has a CAN interface which collates the cell data and responds to questions from the system CAN bus.

Mesh Network

Linear Tech acquired a company called Dust Networks in 2011, whose technology produces a wireless full-mesh network that supports redundant edge routing. This would allow for us to form clusters of BMS nodes, and then simplify wiring and design (and thereby the manufacturing process) and dealing with the persistent reliability issues associated with automotive wiring harnesses and connections in electric vehicles.

Redundant AFE Communications

Linear Tech released the LTC6813-1, which is likely the same chip that is used in the Tesla Model 3 (if not very similar). This provides a bidirectional isoSPI interface, allowing for a break in the isoSPI chain in one direction. The idea would be that the driver would alternate the direction of reads for every read, such that if one pair of lines broke, it would still be possible to receive data, albeit at half the rate.

Redundant Sensors/Quorum

In the name of safety (and cool things we can build), one of the things that would be interesting is setting up redundant sense lines for the battery pack.

Depending on what failure methods we are protecting against, we could choose to do different things. We could just aim for N-level redundancy on sensor inputs, which would mean running N separate sets of voltage taps and thermistors to another microcontroller, and then ensuring that the variance between the two is within a specified threshold. I guess it's not truly N-level redundancy, since you don't have a way of determining which sensor reading is the accurate one—this just allows you to detect that there is a bad reading.

If we really wanted to be ambitious and do quorum-based voting, we would need (n / 2) + 1 members in order to be tolerant of n failures. In the past, we have run into issues with AFE sense reading incorrectly (due to bad solder joints), so performing consensus via a quorum of (n / 2) + 1 members would help mitigate that.