Plutus: The Battery Management System
The Battery Management System (BMS), "Plutus", manages the Li-ion battery pack and is responsible for monitoring, controlling, and balancing its state.
Hardware
- TI MSP430F5438A
- Analog Devices Lithium Ion Battery Monitoring System AD7280A
- NTCLE100E3103HB0 Thermistor (10k Ohm thermistors)
Responsibilities
- Ensure battery health (by monitoring for fault conditions)
- Over-voltage
- Under-voltage
- Over-temperature
- Under-temperature
- Over-current
- Monitor voltage of the two rails
- 5.0 V rail
- 3.3 V rail
- Cell balancing
- Strobe light
- Determine system state (charging or discharging from the pack)
High-level Operating Details
Once Plutus is powered-on, it begins its initialisation sequence, after which it begins continuously monitoring for the various fault conditions. When it detects a fault condition, it immediately brings its heartbeat low (which notifies Chaos that something is wrong with the battery). In addition, it activates the strobe light (affectionately nicknamed "party-mode"), which essentially serves as a visual indicator that something is wrong. Chaos will then detect that there was an issue, and act to shut off the appropriate relays to cut off all power—this incidentally means that Plutus shuts off (since it now isn't powered), and once someone verifies that everything is safe, is manually powered on again.
In addition, Plutus transmits CAN data to the Telemetry board, logging the voltage, temperature and current that it observes. Details regarding the CAN message structure can be found in the CAN Git repository.
Post-Mortem
- Plutus probably should not be responsible for the strobe light
- Cell-balancing is basically a "nice-to-have" that isn't necessary
- Adds a lot of complexity to implement
- We only need a pack to survive enough charge cycles to last for an entire race, since the entire pack is replaced every single race