BMS Update

This is my new BMS design, based on the reference design of the Analog Devices DC2260A BMS demo board that I have been using to characterize the Bolt battery modules since I got them in 2021. (See the Blog below Battery Maintenance System (BMS) Link). The BMS demo board was great for understanding how the BMS integrated circuit, the LTC6811-2 worked.  The BMS demo boards also helped me to understand more about the Bolt batteries. After using the BMS demo board I decided that I would like to have a BMS system in my car, especially since the Bolt battery module is wired for BMS connections.  But the system would be more like what Tesla does where all the BMS electronics are at the battery and they communicate with a central processor.  In the Chevy Bolt all 100 battery cell connections were brought to a central processing system.  That required a very long and complex battery wiring harness, which I really did not want to deploy in my car.  Even though the individual cells in the Bolt battery would only have a max voltage of 4.1V, the whole pack would be at 370V, which means some part of that battery wiring harness would have that high voltage on it. Running a 90 wire cable to connect my 9 battery modules together though my car is just not feasible.

The DC2260A is a demo of a battery maintenance system. I detailed in the blog below of how the demo board has circuitry to trim the individual cell voltages. I think the greatest information I got using the DC2260A to characterize my Bolt batteries is that after nearly three years of using the batteries, with many charge and discharge cycles and no maintenance of the battery cells, the average cell voltage of 90 cells only varies +/- 1mV! (See Blog below Bolt Batteries Link)).  With that kind of tight distribution and no change with many cycles it appears that the batteries do not need a battery maintenance system but rather a battery monitoring system.  The DC2260A is still a great design and would work great as a battery monitoring systems so I adapted it for my car.  The printed circuit board CAD files were available from Analog Devices for the BMS demo board so I used the same PCB design as the DC2260A but without the Isolated SPI (IsoSPI) circuitry. I am not populating the MOSFETs and support circuitry for the battery cell trimming. That is why there are blank pads on the PCA images below.  I kept that circuit design just to future-proof my design in case I find I need battery maintenance. I detailed in the Battery Maintenance System (BMS) blog below about how the IsoSPI circuit of the DC2260A works.  To use the IsoSPI requires another small PCA in addition to the DC2206A and the Linduino PCA that has to be used with the BMS demo board to measure the battery cell voltages. As I describe in that blog all those boards add up to an expensive system for the 9 battery modules in my car.  That was the motivation for making my own design and building the boards.  To communicate with the boards, once they are deployed on the batteries my circuit design incorporates an isolated CAN BUS circuit, instead of the IsoSPI. I already have a CAN BUS processor in my dashboard for reading the CAN BUS messages from the inverter and controlling the instrument cluster. Adding more CAN BUS frames to process is much easier than adding an IsoSPI circuit to my instrument cluster controller.  The CAN BUS will only require two wires to the BMS board and they all can be connected by the same two wires because all CAN BUS communication is addressable. I also incorporated an Arduino Nano Every as the main processor.  It controls and reads the LTC6811-2 IC using SPI for the cell voltages and then formats the frames and sends the data, also using SPI, to the isolated CAN BUS.

By not installing all the circuits for the battery cell voltage trimming saved money on the build.  The CAN BUS integrated circuits are very inexpensive because they are used in nearly all cars now.  The Arduino Nano Every is much lower cost than other micro controllers because they are very popular. Also the program that ran on the Linduino to communicate to the demo BMS is an Arduino sketch that was very easy to adapt for the different processor on the Nano Every. Most of the programming was already done to access every feature of the LTC6811-2. I was able to get samples of the LTC6811-2 IC so those were essentially free, but that will be the most expensive component if I have to buy them at $22 each. The Isolated DC/DC converter ended up the most expensive component for the first builds (at $9 each) - all total the assembled board is less than $70 each, including the cost of the LTC6811-2 IC.  I built up a couple of boards and they match the commercial BMS demo board for cell measurement with only a 400 microvolt offset, that is 0.0004 V. The measurement error specified for the BMS integrated circuit is 1.2mV which is 3 times larger than what I am measuring so I am happy with my design.

 LTC68111 topLTC6811 bot

The BMS board will be housed in a small CINCH enclosure shown below. The CINCH is a water-tight plastic enclosure with an IP67 rating. The enclosures were designed for automotive systems. It has structures inside the enclosure to support the PCA securely. I have blank front plates that I will machine for the DB25 connector.  The DB25 connector was another improvement that I incorporated in my design.  The original DC2260A has a screw terminal for connecting the battery cell connections. (See the Blog Bolt Batteries below).  I put DB25 connectors on all the batteries because I had attached a DB25 to the DC2260A to make it easy to connect the demo BMS to all my battery modules. Those battery connections will now be used with my new BMS design.

Cinch

Just so there is no confusion because I talk about both, I used the DC2260A and the DC2259A BMS demo boards from Analog Devices to test my batteries and to understand how the BMS IC works.  The only difference in the boards is the DC2260A has the LTC6811-2 and the DC2259A has the LTC6811-1. And the only difference in these two integrated circuit is the IsoSPI, the LTC6811-2 is addressable, the LTC6811-1 is daisy chained.  But since I am not using the IsoSPI it does not matter. The same code is used to control either and they are identical circuits on the battery input side which is all I am using the integrated circuit for. My CAN BUS circuit, just by the nature of CAN BUS makes my BMS boards addressable. The only advantage I can see in that is being able to load different battery trimming parameters in different battery modules.  But again, I am not using that function of the IC. Just like keeping all the trimming circuitry I can use that if needed in the future.  Since my BMS design is working so well I now plan to only use my BMS for the 9 battery modules.  It will be easier to integrate into my car and I will not have to add any additional circuitry to my instrument cluster controller.

 

Add comment


Security code
Refresh