Battery Monitoring System

I finally built up the Battery Monitoring System, or BMS that I had designed more than a month ago.  This is the second rev of the board and I got almost everything right this time. It is a complete departure from the Sendyne unit that I previously designed.  Instead using the Sendyne unit to make measurements two 16-bit ADCs are used to measure the voltages. The voltage readings are sent via an isolated 12C communication to the processor. This system is designed to measure four segments of the pack battery voltage and temperature.  The idea of this BMS design is that by tracking those four segments over time and during peak acceleration it might be possible to see a failing battery. It is a tricky circuit to isolate the high voltage of the battery and the low voltage of the termistor.  For the battery segment voltage, a precision 50K ohm resistor is used at each battery connection point so that most of the battery voltage is dropped across that resistor.  In testing the board I could not use actual battery segments (mine are not built yet) but simulated the voltage.  The board makes use of the same microprocessor as the GEVCU and the same DC hardening for the 12V power input.  I had worked out the isolation on the battery voltage measurement in a previous circuit design so I knew that was going to work.  What I tried on this board was to make a Wheatstone bridge to measure the thermistor resistance (voltage).  A Wheatstone bridge is designed to give a null voltage when the unknown resistance of one of the legs is matched to the bridge.  It is a very precise way to measure resistance of a 10K thermistor. Unfortunately I made a mistake in the design of the bridge so I get a increase in measured voltage with resistance. A proper bridge would measure zero volts at 10K (25C) and positive voltage above 10K (colder) and negative voltage below 10K (hotter).  With the design flaw the board still has over 13-bits of resolution around 10K ohms which should be enough to provide an accurate measurement.
Besides the BMS I was also able to build and test the contractor box for my conversion.  It has three contactors so that the pack voltage can be completely isolated when the contactors are open.  The box also contains the 250ohm, 250W resistor that is used to precharge the DMOC and a set of 12V relays that are used to close the contactors, via signals from the GEVCU. A diagram of the layout for the contactor box and cabling can be found here.
I also recently discovered something I did not know about my Nissan Leaf.  The Leaf had been sitting in my garage for over three weeks after it had been fully charged.  But when I went to move the car it was completely dead.  The reason is that is that the Leaf makes use of a 12V lead-acid and that battery was dead.  The 12V battery is for all of the car functions not driven by the battery pack voltage.  Things like the wireless door locks, interior lights and the wireless connection.  The Leaf is always connected to the cellular network because it is possible to connect to it with a Iphone app to get the status, or turn on or off the charging and or environmental controls.  I have looked into a cellular connection for my ElectricBMW320i  because it would be easy to provide that kind of connection.  Maybe not a Iphone app but certainly text messaging would be possible.   I found there are several cellular shields available for the Ardunio.  One thing they had in common is that they used a tremendous amount of current - not milliamps but several amps!  I suspect what discharged the 12V battery in the Leaf was the cellular connection.  After charging the 12V battery the car is functional.  Using a 12V battery to control everything is not a bad idea for a conversion.  It is a lot easier to charge a discharged 12V battery than a 400V battery pack that gets discharged down to 1V per cell
A video of the bottom balancing system and spline adapter mounting can be found here.

Add comment


Security code
Refresh