We had a need for a small BMS system for FlyNano electric airplane. We didn’t find any existing system that would suit for our needs. So we decided to roll our own system.
Design goals were
- Small weight
- Proven measurement technology
- Minimal power draw from cells
- Suitable connectors for 6S and 5S LiPo-packs
Based on these goals we settled on using LTC6803-4 BMS-IC along with Atmega64M1 microprocessor. With these goals in mind Eero Vuorinen designed an PCB and we have build first prototype batch of these boards.
Each board can handle 4-12 cells and has an isolated CAN-interface along with 8 Mbit of eeprom-memory for storing cell-voltages etc. Also power is controlled via isolated DC/DC converter so almost whole board can be powered off when not in use. Here is a picture of almost bare PCB with only LTC and Atmega soldered:
That’s 2-sided PCB with about 150 SMD-components on each side.
Now we have about 5 of these boards up and running with basic software capable of measuring cell voltages and sending them to CAN-bus. First tests have been made to test whether LTC<->ATMEGA SPI bus functions without any level-converter between them and whether it works also in noisy environments. For that we have made an basic test-setup consisting of Dynaload variable 4 kW load, Powerfinn 0-120V charger, an National Instruments USB6251 BNC DAQ card with Measurement Studio along with some custom C# software for making some basic measurements. Here is the current schematic for our bare-bones BMS testing setup:
Temperature measurements are missing from above diagram, those are also planned but not yet implemented. With this setup we are able to test either manual tests or make some more automated tests in the future. For now, we have tested that the SPI bus seems to work with quite big current pulses also.
So far highest peak to peak current values have been about 120A with about 5 kHz frequency and current pulsing between 0 – 120A. We also did about 40A peak-peak with frequencies up to 20 kHz. With this kind of frequencies the A123 M1 test cells seem to warm up very quickly. They might be destroyed if we keep this test going for too long but as this is mainly about wheter or not our new BMS-boards work in noisy bench-environments, it is not so big deal if we destroy a cell or two – provided that we get the results we need to proceed our BMS implementation.
For now, we have 11 pcs PCB’s and parts for 12 boards so we could cover about 132 cells with these boards. But as these are “0-batch” boars there are already some issues to be fixed in “1.0 – batch”.
Here are few shots from latest measurement sessions:
In the picture above we have a oscilloscope connected to a Fluke i310s current-clamp. We are measuring both peak-to-peak, RMS and frequency of our current spikes. Purpose of this test was to see if SPI communication works in noisy environment too. These kind of load-spikes could generate some noise on our measurement circuits and it would be nice to be able to reproduce some of that actual noisy EV-environment with our bench testing before we install these to any actual vehicle.
Here we have actual measurement setup. Small module of A123 M1 cells on the left along with a BMS node and a current clamp connected to a scope. That massive thing below oscilloscope is Dynaload variable load capable of generating 0-600A / 0-400V / 0-4 kW DC-load up to 20 kHz frequencies. And few important safety issues – cells are on the table that has wheels – just in case it needs to be rolled outside quickly. Testing station is located so that is only about 2-3 meters from the large doors for easy emergency “eject” of the cells under test. Under table there are large cutters capable of cutting easily up to 100 mm2 cable for quick disconnecting the cells. Also safety goggles are needed whenever testing these cells – they are easily capable of making very big sparks if accidentaly short-circuited.
Here is a small software running on Atmel ATMEGA64M1 processor and communicating with a normal laptop with just a RS232 port. It continously scans for commucation errors between LTC and Atmel. So far we have not been able to generate any errors while testing different frequencies and currents up to 120A. That current is quite small for any serious EV-use but as our test cells are just 2.3Ah cells they are already screaming “help” with about 50C discharge spikes hitting on them with about 5 kHz frequency 🙂 I don’t know if anyone has connected a scope along with a current clamp to any EV while driving on highway. It would be interesting to know if high frequency peak-to-peak values are above 120A. We will eventually know this for sure but for now, this is all we needed to test from SPI. Now we have moved on to test a battery with 3 nodes with 5/6/6 cells configuration so total 17 cells on that test. As each node can have up to 12 cells and there can be 16 nodes on same bus with this hardware it totals to 192 cells in the largest possible battery with this system.