While I was the electrical lead for the Missouri S&T Solar Car Team team, I had the opportunity to lead the design of a new multi-cell battery monitoring and management system for lithium-ion batteries.
Throughout development of this system, I have been the primary electrical designer, as well as the primary software architect. When we began, we set out a simple set of requirements:
The system was planned to be controlled by a TI MSP430-based processor, due to their extremely low power consumption and excellent development ecosystem and onboard peripherals. To allow easy debugging and programming, and MSP430 Launchpad development board header is used to allow swapping out the microcontroller onboard easily and quickly.
Measurement of the battery stack quickly became a challenge. We had to investigate the use of differential analog-to-digital conversion in order deal with the high common mode voltages of nearly 110V across the pack. In the end we settled upon a 12-cell, differential battery stack monitoring IC from Linear Technologies that has worked incredibly well.
Temperature sensing at 26 different nodes in the pack also becomes a challenge quickly, as using standard thermistors or other resistive-thermal devices leads to a large number of analog-to-digital conversions required. I chose and developed drivers for our application stack to interface with one-wire serial temperature sensors from Dallas, which provided a one-wire bus topology allowing easy digital measurement of all the cells in the stack.
I led the design and requirements phase, and did all of the schematic design in Eagle CAD. Myself and one of my teammates did the hardware design together. When we progressed to software development phase, I wrote the entire application stack from the ground up. It isn't quite an RTOS, but it implements basic task queuing and process management.
The BMS completed its first race in the 2016 American Solar Challenge, helping the team win the Electrical Design Award amongst the 21 teams present.