Battery Bottom Balancing and Siemens Spline Adapter
The final process of preparing the batteries before they are put into the car is to perform what is known as bottom balancing. For this process each battery is first fully charged, then fully discharged, or nearly fully discharged. The balancing part of this process is to discharge each battery to nearly exactly the same voltage, in this case 2.75V +/- 0.005V. Bottom balancing is done to protect the battery pack, in case there is a catastrophic full discharge event. See my blog "Battery Conditioning" below on the initial phase of the bottom balancing process. Bottom balancing is a arduous task and time consuming because when charge is removed from a battery, the battery needs to relax and establish an equilibrium before the open circuit voltage (OCV) is stable. The relaxation period can be from several tens of minutes to many hours, depending on how fast charge is removed from the battery. There are manual and semi-automatic ways of bottom balancing. I decided I needed to balance as many cells as possible in the shortest time. To accomplish that I designed an automatic bottom balancing system. Using a Arduino Due to control four power MOSFETS with pulse width modulation (PWM), I built a system that can balance four batteries at a time. The MOSFETS control the amount of battery current that is dumped into a power resistor. I used a Due because it has a 12-bit ADC which I needed since I am trying to control millivolts. I had originally planned to use MicroChip Pics for each discharge station because I was worried about connecting all the grounds together. I found with the Due not to be an issue for that. Rather I discovered with the Due that the ADC voltage would drop when the PWM would start. The drop is consistent but varies for each ADC channel. I have a 1Mohm resistor across the battery terminals to protect the inputs of the ADC. I developed a program on the Due that logs the battery voltage and controls the PWM based on battery voltage. I found that the 3.3V output of the Due PWM is not enough voltage to turn on the MOSFET fully. In fact it only turns the MOSFET on about 2%. But that is perfect because it gives a wider control over the current. With a 50% DT the MOSFET only turns on 0.5Amps. The DT is reduced as the battery voltage approaches 2.7V. Once the battery voltage drops below 2.7V the MOSFET is turned off and the battery is allowed to rest 30 min. The PWM is turned on again and based on the voltage the battery rises to will run until the voltage drops to 2.7V again. Some batteries do not need any more discharge. Usually I leave a set overnight to stabilize. About a third of the batteries still require some touch up, either more charge removed or added to get the OCV to 2.75V. In the last week I have been able to bottom balance 2/3 of my battery pack.
The most exciting news is that I finally received the spline adapter for the Siemens motor from my friends at EV West. They tested the fit of the adapter and said it only needed heating by a heat gun. I setup a cheap 1500W heat gun to heat the spline adapter. After about 20 min the adapter was at 250F so I decided to put it on the Siemens. I almost screwed up and put it on backward. Fortunately there is a stop on the flywheel side that prevents the spline from engaging. Once I had the adapter oriented correctly it slid right on the Siemens spline with just a couple whacks with my hand. I had to get the RebirthAuto adapter machined since I will not be using the thrust bearings with this adapter because the spline adapter had to go on first. The RebirthAuto adapter will now be just a very expensive motor to bell housing adapter.
A video of the bottom balancing system and spline adapter mounting can be found here.