While there are many BMS PCBs available to the DIY hobbyist, there are few that address the needs for communication and very high current handling that often come with the batteries used in EVs. This BMS will serve as a platform to allow people to re-use batteries from scrapped EVs as well as new sources, with the aim of being safe as well as flexible. The goal will be to release different flavors of PCB to address common pack configurations of 8S (~28V) 14S (~48V) and 4S (~14V) Lithium NMC and LiFePo4 battery chemistry, with initial development targeting the 8S configuration. Other cell configurations will be possible by jumpering the PCB appropriately.
Lots and Lots of progress on the BMS... Version 0.3 has shown up and been assembled and I am actively testing with it. Unfortunately there were a few mistakes, including the switch FETs being backwards... awkward... so I have started work on V0.4 but will probably wait a while before letting it loose to the fab. I conducted high current (50A) testing on both the sense resistor on the low side as well as the MOSFETs on the high side (long story short with the backwards FETs is they still act as a switch, but a stuck on one) and had fair thermal results with the new thicker 3Oz copper in all 4 PCB layers. Here is one of the first PCBs hot off the hot plate after being pick and placed by a new machine I got called "Boarditto":
After doing some testing with V0.2, i have made some decisions about communications protocols and decided to move towards using Modbus/R2485 as a communications method. this will involve changing some of the connectors and circuits. I’ve also been ordering components in bulk in order to build more units with the hope to eventually sell them on Tindie.
I managed to shrink the size of this PCB down a lot to 80x80mm at the expense of 2 of the 10 series cells possible with the BQ76930 IC. Eventually, I am hoping to make a few other variants that will open this project up to 12V and 48V applications, these versions will probably keep the 80mm length but grow up or down in width to accommodate differing numbers of cells. I have almost all of the parts ordered and on hand and once I get everything all assembled this week and I am looking forward to getting set back up to do more code development and testing with the new boards. My target for PCB V0.3 is to adjust a few minor things (V0.1 to V0.2 was a huge re-design by comparison) and finalize some of the more mechanical and thermal aspects of the design like how to mount heatsinks, what kinds of terminals to use, the enclosure, etc. and take care of that and any V0.2 mistakes on V0.3 late December. I will hopefully be doing thermal testing soon in order to understand more about how hard it is going to be to manage the heat from the MOSFETs and the sense resistor, which will be somewhere between 1-4W under full load depending on the configuration of the board. I will be posting some photos soon, stay tuned...
I have successfully written an OK I2C driver that allows me to access all of the registers on the chip and started building a framework in software for collecting all that data. It has taken me a while but I have brushed up on my software skills and I am pretty confident with getting a basic working program to manage all protections and store important information on the BMS's microcontroller. I have also started work on the next board, which has a more thoroughly thought out port compliment and is about 30% smaller thanks to dropping some unneeded features and tightening up the layout. Looking forward to programming and actually getting the next revision into testing with a real battery pack.
I’ve been able to successfully read back cell voltages from the BQ76930 IC and have begun organizing that code into a more concise I2C driver. Once i have finished that I will begin work in deciding what queries to typically capture from the chip and what sort of a less frequency check in procedure to make sure all setting in the chip are correct will be.
I have gotten PCBs delivered and begun building them up. The design is a bit different now than it was in my initial posts, with all components combined into one PCB. I really wanted to allow interchangeability between the current handling part of the system and the logic and instrumentation part in two separate boards, but in studying the pricing structure of getting PCBs populated at a fabrication company, I realized there is a pretty large fixed run cost and that doubling that cost wasn't that great an idea. So now the board is in hand and I have begun work on test code for the MSP430, with the main challenge now being writing a diver to handle I2C communications.
I have started layout of two boards that will work together as a BMS platform. One board contains the switch and current sense FET, which sets the overall voltage and current of the system and has large surface areas dedicated to heat dissipation. The other PCB is the control board with sense and balance network, the actual control/analog front end IC, microcontroller and communication interfaces. I am hoping to get the "Swtich" board out within the next week or so to begin experimentation with it.