Lately I’ve been building some custom battery packs and I’ve been unlucky with the cheap BMS boards.
That’s why I’ve decided to build my own – something that could work stand alone and provide basic protection.
For that I chose the BQ77904 and BQ77905 from TI.
They have all the functionality that I need and they can be chained to create up to 20S packs.
The 2 chips in that series have a similar pin-out but different voltage ranges and functionality:
The BQ77905 series allows better control of the battery voltage and current ranges.
The boards I’ve built are based on BQ7790522 and BQ7790503 versions, but any of those will be a drop-in replacement.
I’ve used an 8mΩ sense resistor to limit the normal current to 10A for both chips.
The mosfets can handle that without any temperature increase. Their Rdson is 8.5mΩ and that would dissipate 0.8W worst case. I’ve never seen that amount of heat in my normal use cases.
The short circuit protection is very fast, nominally 400µs – not even enough time to produce sparks.
The schematic follows the datasheet: https://github.com/ealex/protection_BQ7790522PWR/blob/main/BQ7790522PWR/BQ7790522PWR.pdf
The PCB is relatively small – 40x35mm:It’s using a JST-PH connector for the voltage sense leads and 3.2mm holes for the negative battery terminal.
All the signals required for tail-chaining modules are left exposed and labeled:
The back contains some summary connection instructions: how to connect the voltage sense wires for different number of cells, how to set R21 and R22 for the number of cells and what are the input / output and thermistor pins:
This is how an assembled board looks like:
All the documentation is publicly available on GitHub: https://github.com/ealex/protection_BQ7790522PWR