BMS Respin and Battery Box Mounting

I thought I was done designing the Battery Monitoring System or BMS board.  The last set of boards had a flaw in the circuit for the thermistor measurement, but it was not a fatal flaw and only slightly affected the performance  of the measurement.  I discovered the fatal problem when I went to mount the board, with the CINCH header into the enclosure. To both my surprise and disappointment the header did not fit the enclosure.  Upon checking the MODICE website I discovered I had designed the BMS board with a header for the Mini size enclosure, which has the 18 pins in the center of the header.   The problem is the Mini enclosure does not accept a 4" pcb.  The only enclosure that accepts a 4" pcb is the Small Enclosure or SE.  That is the same enclosure that is used for the GEVCU that has the CINCH enclosure.  So I ordered a new set of headers, with 18 pins that are for the SE enclosure.  When I received them, to my surprise, the 18 pins on the header were not in the middle of the header, but displaced to the left side.  After reviewing the design drawings for the header I realized that CINCH does that so they can have a header for 18 pins, 30 pins, or 48 pins.  Unfortunately the 18 pin header with the displaced position of the pins will not work with the design of the BMS pcb because the holes for the header are in the middle of the board.  I had to order yet another set of pcbs to fix this issue.  I don't think I mentioned it before but I order the pcbs from a Chinese circuit board fabrication house called ITEAD.  What they charge for 10 boards is less than half of what domestic fabs charge.  The only downside is that it can sometimes take up to 2 weeks to get the boards. The other downside is that if there is a fatal flaw in the circuit board design then you have 10 pcbs that serve no other function, except that of a drink coaster. Since I had to order new boards I also fixed the issue with the thermistor Wheatstone bridge circuit.  I received the boards in just over a week and built up a board and everything is working.  Collin Kidder has worked on some code to read the board and a flux gate sensor, a CAB300 that will be used in conjunction with the BMS to make a State of Charge or SOC measurement of the battery pack.


I also worked the mounting system for the battery box that goes in the trunk.  That box is intended to mount up against the rear seat, below the rear window deck.  When the box is in that position it would be impossible to put any batteries in the box or make any electrical connections or measurements.  My plan was to use some type of roller system that would allow the box to move back, towards the rear of the car, so batteries could be loaded and then moved back up against the rear seat for use.  The problem is that the box will weigh over 250lbs with all the batteries in it. What I found when searching for some roller system that could handle that kind of weight is that they are very expensive.  Doing some more research I found a system that does not use roller bearings but rather a linear plastic T-slot and grove system.  On the bottom of the box I attached some bearing material called T-Slot UHMW linear bearing.  Here are some pictures of the material. That material is used  with an extruded aluminum strut that is made by a company called 80/20.  Below is a link to their web site.
http://www.8020.net/
The aluminum strut has a grove in one side that mates with the raised T-slot in the bearing marterial.  The T-slot material is fairly slippery so the 80/20 strut slides easily on it.  The struts and bearing are rated at 100lbs so I used four on the box.  I assembled everything and attached the struts to some angle iron I had bolted to the truck bottom.  The four 80/20 struts span the cavity for the spare tire so with them in place, there will be no way to have a spare tire.  I think for my first conversion that a flat tire is going to be the least of my worries.  That spare tire well however, will make an ideal place to mount the Brusa charger and the DC/DC converter and maybe even the 12V battery.
A video of the BMS respin and the battery box mounting system can be found here.

Add a comment

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 a comment

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.

Add a comment

PTC Heater installation

The last system I had to engineer for the car was a heating system.  I had originally planned to use a HotStart water heater and use the original piping and controls in the car.  The HotStart is a 5kW unit and probably would provide great heating capacity.  Unfortunately there is just no room for the unit in the engine compartment. As part of completing the conversion I started placing all the components in the engine compartment to figure out where they would go and how the components would be mounted.  I found there is no room for the HotStart  because I need two cooling loops, one for the DMOC and one for the Siemens.  A cooling loop consists of a water reservoir and a pump that goes to the heat exchanger. The HotStart would also need a water reservoir and a pump to circulate the water through the heater core.  My only other option for heating is to use electrical resistance heating with a PTC heater.  PTC stands for positive temperature coefficient, which for a heater means that the resistance increases as the heat increases so the PTC heater is self limiting.  From doing some research I found that I probably would need at least 3kW of heating.  PTC heaters are great because the heat up fast, but have the downside of not have a great heat capacity.  Searching on EBay I found there are all shapes and sizes of PTC heaters.  The ones I chose are a 1kW unit rated for 120VAC.  Fortunately three of the units side by side is nearly exactly the same size as the old heater core. By using three wired in series I can get 3kW of heating and use the pack voltage to drive the current.  Testing the units I found they started drawing 9 Amps at 120VAC and as they heated up the current dropped to 5 Amps.  The units have a thermostat mounted on the side with a 160C cutoff temperature.  I found the using a thermocouple attached to the heating element the thermostats open around 170C.  Taking apart the old heater core was a bit of a challenge.  The whole unit, heater core, fans and air distribution box come out of the car as a single unit that is held together is clip rings.  Taking apart the unit I found all of the foam insulation and gasket material completely degraded and falling apart.  The inside of the air box was also very dirty.  Back in 1983 they did not use any air filters on the incoming air like they do now. The X1 BMW I have actually has a HEPA air filter for the cabin air.  I will probably look at adding some type of air filtration when I reassembly the unit.  Because it was so dirty I took all the electrical wiring and connections out and washed the whole unit.  During the disassembly I discovered how the fan speed was set.  They used a set of big wire wound series resistors to control the current to the fan.  Two resistors would give four speeds for the fan and that is how many selections there are on the dashboard switch.  I will replace those resistors with a MOSFET circuit to control the fan speed.  I reassembled the air box with the PTC heater inside and mounted a few thermocouples inside to measure the heat.  The PTCs were wired in parallel because I do not have the battery pack available to provide 360V.  Wired in parallel they units drew 25 Amps starting out - fortunately I have a 20Amp circuit in the shop that did not trip during the test.  I also had a limited power supply to power the fans, about 5 Amp at 6VDC.  I figure that probably corresponds to half speed for the fans.  Even at that setting a lot of air was being pumped through the distribution box.  The PTC heated up very quickly just like on the bench and after a minute 65C air was blowing out of the distribution box.  So that corresponds to a 45C heating of the air which should be enough to heat the cabin or defrost the windshield.  All I have left to do is attach the PTC assembly to the distribution box so it does not rattle around when driving the car. I will have to replace all the foam gasket material before the final assembly.  I also need to wire up a contactor and a high voltage fuse to connect the battery pack to the heater.  A video of this PTC testing can be found here.

Add a comment

Battery Box Work III

The fun continues with the battery boxes.  I completed the rubber insulation and installing the custom silicon heating pads in all the boxes.  I found because the size of the batteries were bigger than what I had planned for that the thickness of the rubber insulation had to be adjusted on all the boxes.  Unfortunately I could not adjust the size of the front box so only 17 batteries will be going in that box.  It was planned for 18.  That is not a huge loss in overall battery capacity and actually could not have been avoided, even if I had planned on batteries that were thicker.  That front battery box fits between the two front fenders so the width is fixed.  Now that all the boxes are finished they can be installed in the car and as batteries are bottom balanced they can be installed in the boxes.  I still don't have a solution for mounting the trunk box.  I was thinking I would like it to have it on some type of roller so it could be rolled out for maintenance.

I also did some testing of the silicon heating pads to see how much heat they would produce, inside the battery box, with batteries sitting on the pad.  I used a 120V 250W pad that I had purchased just for this testing.  The result of the testing is that the pad will generate at least 30 degrees C heating.  That should be enough to thaw out cold batteries, if that is ever needed.  I don't plan on leaving the car out in the cold and then try to charge it.  Usually what I do now with my Leaf is drive it into the garage and immediately attach the charging cable.

Still no spline adapter from EV West but I did get some other parts from them.  I got another  large contactor box, some fuses and fuse holders and a maintenance switch.  I got the Gigavac switch that is hermetically sealed.  That will be used in the engine compartment.  I plan to have another disconnect switch inside the passenger compartment.  That will go between the rear seat battery boxes.

A video of the battery box prepartion can be seen here.  There is a short section in this video that was repeated from my last video, because that vidoe was not shown on EVTV.

Add a comment