Driving soon???

I took part of the summer off, going on vacation and spending time with my family so not much work being done on the 320i for the past three months.  I was able finish the dashboard and all the 12V wiring.  I installed the AVC2, which is a module for controlling the J1772 connection to the charger.  Back at the beginning of June when I was getting ready to go on vacation I had charged the batteries up to 30AH and 375V which is half capacity and a cell voltage of 3.2V.  I assumed with nothing connected and even the manual disconnect switches open that the battery pack would just sit there and stay charged and be ready for me to drive it when I got back.  Just a couple of weeks ago I wanted to test out the AVC2 connection and turned on the car.  I always check the JLD404 to verify the voltage and state of charge.  To  my horror instead of reading 370V the pack was only reading 77V!!.  That meant the batteries had been discharged to less than 1V!  Not a good practice for lithium batteries of this type.  Over discharge can cause large losses in capacity because the lithium gets tied up in the cathode material.  I do not know what caused the discharge.  The only thing connected to the batteries was the BMS.  The current leakage in the switches used in the BMS is only a few microamps at 800V.  At the voltages the BMS switches see the current leakage should be sub-microamp so it would take a long, long time to drain down 30AH ( more than 30,000,000 hours!).  Something else must be going on.  My biggest concern was the state of the batteries. I measured the voltage of every battery.  They were all around 0.6V and the lowest was 0.25V and the highest was 0.85V.  No battery was at 0V so the bottom balancing I did earlier might have saved all the batteries.  I removed one of the batteries from the front battery box and connected to my lab bench supply and charged it at 1A until the voltage was 2.7V. That did not take very long - about 60 min. I then could put the battery on my Powerlab charger - that charger will not work on batteries discharged to a low level.  I charged the battery at 10A to 3.65V and the battery looked just fine.  The charge curve was normal and the battery charge capacity was 64AH.  As received from CALIB the average capacity of all the batteries was 66AH so a very small loss in capacity.  The problem I had was with the Bursa charger for the main pack because it would not work on a low pack voltage so I had to charge groups of batteries up to 2.7V using the Keithley 2420 source meter I have.  Earlier this year I had used that power supply for bottom balancing some of the batteries. I have a program I wrote for doing the bottom balancing, which is essentially what I would be doing again.  I charged batteries in groups of 10 to 18 up to an average voltage of 2.7V at a 1A charge rate.  I carefully checked the voltage of all the batteries during this initial charge.  After all the batteries were bottom balanced I could charge at the Level2 rate with the Brusa charger.  Once again I charged the pack to 375V and 30AH and carefully monitored all the battery voltages during the charge.  Nothing looked out of the ordinary. I then finished fully charging the pack to 60AH and 413V.  Everything still looked ok, except one battery went to 3.65V when the average charge voltage as just 3.45V. I stopped the charge because that battery went to full voltage and I did not want to overcharge that battery, even though I will probably replace it. The question now is how did the pack become discharged in just a couple of months.  I know earlier from making measurements there is no leakage path to the car ground. I only measure capacitive voltage when I test from the battery peak voltage to car ground.  However, recently when I was changing out that battery in the front battery box that went to 3.65V during the charge I got a shock when I brushed against the battery box.  The battery box is grounded, but the batteries should have no reference to that ground.  When I measured from the last battery in the front box to ground I measured 53V, which should not be there.  I started disconnecting things and found the ground reference was in the Delphi DC/DC converter connection.  When I removed the high voltage cable the voltage reference to car ground went away.  So either the DC/DC converter is the issue or the cable is.  It might explain how the pack could be fully discharged in such a short time.  Using a 33k ohm resistor I measured the leakage to car ground from the high voltage point of the battery pack.  I got a 2.5V drop on the resistor indicating a 0.076mA current flow.  That is well inside the spec for the Delphi DC/DC converter. The voltage that appears to car ground is disconcerting and is probably what gave me a shock.   But that small amount of current leakage should not have discharged the pack in just a couple of months.  Something else must be going on.  The BMS was the only other component that was connected. I still need to connect that and measure any current leakage.  When I first started testing the BMS I found that the 3.3V DC/DC converter on the board was not working.  That explains why the BMS was not sending any CAN messages when the USB was disconnected.  I need to repair that board so I can do some more testing.

Other fun I have been having before the first drive is installing the carpeting and front seats.  The carpeting I got from a company called Stock Interiors. When I received it I checked it against the old carpeting.  It seemed to have the right shape and contours in the right place.  Aftermarket new carpets never have any of the holes cut so I had to cut the holes for the gear shift, e-brake, throttle pedal and the seat mounting points.  I did not realize at the time that the contours for the seats areas were not quite right.  I struggled to get the carpet in the correct position before I started cutting.  It seemed like the carpet was too small in some areas and too big in others. The carpet over the transmission tunnel is loose, but under the seats it is tight. The info on the company's website says it should take 3 hours to install the carpet.  I don't know what universe that got that number from but it took me two days to install most of it.  I still don't have the kick panels or the rear seat section installed.  That number is probably for a late model car that does not have as many contours as the 320i.  I got the driver's seat installed, the steering wheel and center console.  Everything I need to make the first test drive.

A video of all this fun is avialable here.

Add a comment

Wheels-a-spinning II

Hard to believe that it has been almost exactly 2 years since the wheels spun under electric drive. In my blog and video of May 2014 I described and showed how I connected the Siemens and DMOC to the car and had strapped up all the batteries in the wooden crates they were received in.  Using a bench-top contactor system, a throttle body and a GEVCU I was able with the to get the wheels spinning,  just to prove all the hardware worked.  Now 2 years later I finally have all the components assembled in the car and all of the assembly has been completed in the engine compartment.  I got the DMOC bolted in and connected to the buss bar and Siemens.  I installed the GEVCU on top of the DMOC.  In my last video I had made a measurement to test that the GEVCU would fit there.  It really was the best place to mount it considering all the wiring connections.  All those connections are now complete.  I also came up with a mount for the throttle body.  Using some angle aluminum pieces I fabricated a mount that would bolt to the side of the DMOC, using the screws that hold the DMOC cover as fastening points. I also came up with a fixture to hold the throttle cable.  That throttle body from NetGain is real piece of bling. Very nicely anodized and is a dual Hall effect sensor. The only issue I have with the wiring is with the  fabricated wiring harness I got for the GEVCU from EVTV.  It is very nicely made, all the wires are color coded and labeled.  The issue is that I only need about 2/3 of the wires in my build.  There are 35 wires on that harness so I have about 20 wires that have no place to go.  I might just coil them up and put them in an enclosure so I could use them in the future if I need any of the unused signals.
I finally got all the wiring and battery connections done so that I could start charging the full battery pack.  Of course that did not go as planned.  When I installed the new Siemens EVSE and turned it on for the first time it came up in failure mode.  I called Siemens and they had me try all kinds of resets but nothing worked.  So they are going to replace the unit.  I did not really need the unit to charge the car.  I really wanted it so I could test out the J1772 interface to the Brusa to make sure that would work with public charging.  To charge the battery pack what I did was removed the J1772 cable and plug from my old EVSE and put a plug on the other end so it could plug into the 240V outlet I had installed for the Siemens.  The Brusa charger did not start at first.  I found through the monitor program for the Brusa that I had forgot to connect a thermisitor for the battery temperature measurement.  Once I added that the Bursa started right up and I was able to set the parameters in the ChargeStar program.  The batteries only had about 7 AH of energy so for the pack that corresponds to about 2.5KW.  The pack is 25KW so at 3.3KW charge rate per hour that means it will take just over 6 hours to charge the pack.
Before fully charging the pack I wanted to make sure all the subsystems worked, from the DC/DC converter, DMOC, Siemens, GEVCU, BMS and instrument cluster and LEVID driver.  When I first connected the high voltage through the contactor box that was controlled by the GEVCU the DC/DC converter did not initialize.  The Delphi requires a CAN message to be sent with the target charge voltage before the unit will output any current.  I thought that was in the GEVCU code, but apparently it is not.  To get the DC/DC converter running I programmed another GEVCU board with the Delphi program.  That worked to get the Delphi running and charging the 12V battery.  The next test was to spin the Siemens motor. That would test the motor, DMOC, high voltage wiring and GEVCU.  I calibrated the throttle and connected the gas pedal to the throttle cable.  Pressing down on the pedal I expected to hear the nice sweet sound of the Siemens spinning up.  Unfortunately all I heard was a rough sound and felt a lot of vibration.  Even with full throttle the DMOC only drew 10 Amps.  At that torque request it should have put out 100 or more amps.   Something was definitely wrong.  I brought up the embedded website on the GEVCU. The overview page showed all green indicators.  Next I brought up the dashboard page.  When I pressed the throttle, the throttle indicator ramped, the requested torque gauge ramped but the tachometer showed no rotation, even though the motor was making sounds.  I next brought up the ccShell program that is used to program the DMOC.  It has a viewer screen on which any parameter of the DMOC can be displayed.  The one of interest was the IR2Hertz parameter, which is the motor RPM value. When I pressed on the throttle pedal the IR2Hertz value jumped around, first showing 22 rpm and then -24 rpm.  To further check the system I mounted a tire on one of the rear wheels.  Just powering the DMOC with 12V I brought up the ccShell program and watched the IR2Hertz value as I manually rotated the wheel.  The IR2Hertz value showed the same wrong values from before. Unfortunately this is an indication the motor encoder signal is corrupted in some way or the DMOC has failed.  I can't believe the DMOC could have failed, it has only be used a half dozen times and not really for very long or for high power output.  The encoder hardware in the Siemens motor is most likely not bad either.  Both the motor and DMOC have been tested together several time, the last time just a few months ago to test the GEVCU in the CINCH enclosure with the new wiring harness.  Everything worked well then.  The only thing linking them is the encoder cable.  I removed the cable to test the continuity, but first I examined the connector shells and jacks on the cable and the DMOC and Siemens. What I found was on the Siemens jack one of the pins was bent over and pushed in.   It turns out the bent pin is one of the encoder pins.  I had to remove the connector jack from the Siemens to access the pin to push in back in and straighten enough so it would go into the connector.  I was able to straighten the pin enough for the cable connector to go on.  After remounting the connector jack and connecting the cable I tested the RPM reading by manually rotating the rear wheel again.  Now I get a good reading of RPM.  The bent pin was causing one of the encoder signals to be lost.  Once I put the DMOC back together and got all the other connections reinstalled I started up the system and connected the high voltage.  Finally a nice smooth spinning of the Siemens!  I put the transmission in gear and spun the rear wheels!  Now all that's left is to assemble the dashboard and install the new carpeting and seats and it will be ready for a test drive.

A video of all this fun can be found here.

Add a comment

Still Not Rolling Yet

You would think over the last four months I would have gotten enough things done to get at least the wheels spinning.  Well the car and electronics are not quite there.  I was able to get the Siemens motor mounted back in the engine bay and connected to the transmission. But that, just as everything else took way longer to complete.  The main problem was that the BMW motor mounts that I planned to use did not work once the motor weight was loaded on them.  They did not work because of the design of the main bracket for the Siemens.  Because the Siemens motor mounts are on the front of the motor the mounting bracket essentially cantilevered off of the motor mount points in the engine bay.  The problem with the BMW motor mounts  is that they are designed for compressive loads, not tensile loads.  When I put the weight of the Siemens on the bracket, the rubber in the BMW mounts stretched and the motor dipped down 2 inches so that the motor was resting on the cross member.  I had to design new hard mounts out of aluminum block.  That took several weeks to get machined, but worked out very well.
I also got all the water cooling lines connected and leak checked.  I connected the Siemens to the Delphi DC/DC converter as one cooling loop.  The DMOC will have its own cooling loop because the inverter is much more susceptible to heat than the motor or the Delphi.  I did have a problem with the water pumps though.  The way I had the pumps mounted the impeller was on the bottom, facing down.  When the pumps were first tested and did not work well is when I discovered that they can be mounted in any orientation, except with the impeller down.  So I had the disconnect the pumps and flip them 180 degrees and remount to the frame of the car.  I guess one of the pumps did not like being inverted and would not pump after remounting in the correct position.  I had to buy another Laing DC5 pump to replace that pump - a costly mistake.
The GEVCU I modified to drive my instrument cluster, which I call LEVID was tested and worked very well. LEVID stands for Legacy Electric Vehicle Instrument Driver.  I modified a GEVCU so I could mount a daughter board that had isolation for serial and I2C communication.  The serial interface is used to drive the 4-digit 7-segment display that is mounted in the middle of the tachometer on my instrument cluster.  That display will be used to show a digital value of the numbers being set on the analog gauges that is selectable.  The I2C interface is for a Real Time Clock (RTC) that is read and used as to display the time as another message on the 7-segment display.  I programmed a 2nd GEVCU with a program that simulates the CAN messages that the DMOC and BMS will send during the operation of the vehicle and tested the LEVID driving the gauges.  I had to build a wiring harness to connect the LEVID to the instrument cluster. Everything looked really good.  Next step is to mount the LEVID in an enclosure and put the instrument cluster back in the dash.  Speaking of which the dashboard is in bad shape.  When I first got the car there was a straightened paper clip stuck in the side of the hazard warning switch.  When I pulled the wire out the hazard flashers turned on.  When I pressed the button it did not stay in and the flashers continued to flash.  The wire was there to keep the switch in the off position.  Unfortunately to replace it required taking the whole dashboard apart which I did.  I also had to drill a 1" hole in the dash to mount the emergency off switch for the electrical drive system.  The dashboard along with the instrument cluster still have to be installed.
 One of the issues I have is where the 320i is located in the garage with respect to where my EVSE (charging station) is located.  I had originally mounted the EVSE near the door leading to the garage as that was the shortest run for a cable conduit to the breaker panel and the Leaf I was leasing had the J1772 charge port on the front of the car.  The problem is with location of the 320i. The charge port for the 320i is diagonally across the garage from the EVSE.   That distance is longer than the cord on the EVSE, so I decided to make a new conduit run to the opposite corner of the garage.  Forty feet of conduit and 50 feet of wire was tough to pull.  I plan to get a new EVSE, a unit from Siemens that EV West sells (click here).  That will be an upgrade over the EVSE that I have now and will also be able to do 7.6KW charging (but not on this build, at least not now, the 320i has a 3.3KW charger).  The Siemens can be set for any charge level and it has a timer for delaying the charging
I got the front battery box installed, the batteries installed and all of the battery cables connected.  All but one.  When I changed the location of the maintenance switch to be on top of the plexiglass isolation, I had to make a new cable run that would go from the switch to the contactor box.  I thought I had measured that correctly but when I went to connect the cable  connector to the stud on the maintenance switch the cable was too short - about 1" short.  This was the last connection to complete the battery circuit and is required to be able to charge the pack.  The two options I have is to make a new cable or make a standoff.  Both will take about the same amount of time because I do not have any cable connectors or heat shrink so I would have to order those supplies.  Having the standoff machined will take at least a week, but I would not have to take the contactor box apart, which is my preference.  Once I get that standoff machined and installed I should be able to charge the battery pack and then get the wheels spinning.
A video of all this fun can be found here.

Add a comment

Last bit of Wiring

I thought I would have everything done now to get the car rolling but things just keep popping up and taking way longer to finish.  The 12V wiring is a good example of that.  I previously showed that I had to install a new fuse box with 12 circuits in it.  That was to accommodate all the pumps, fans and EV electronics.  The fun started when I tried to connect all the circuits.  The only way I could see to make all the connections was to get another contactor box and use it as a wiring cross-over box.  Of course that meant having a way to bring wires into and out of the box.  The Ampseal connectors are the easiest to use and they come in all number of pin counts.  Since the main contactor box had a 14-pin Ampseal I decided to use that size for the wiring cross-over box.  I purchased a box that would fit in the engine compartment where I had room, but unfortunately the sides of the box were not wide enough to accommodate the size of the Ampseal feed through.  I had to get a larger box, which actually made the wiring inside easier but it caused another problem in the engine compartment.   The place I had available for the cross-over box was right near the main disconnect switch.  In my last video I showed that switch being mounted on the side of the plexiglass isolation box I used for the buss bars.  With the new larger box for the wiring connections that switch did not fit in that area anymore.  I really did not like the switch on the side because it was going to be difficult to get to. It also caused the battery cable to make a wide loop.  I really wanted to put the switch right on top, but with the position of the plexiglass enclosure the maintenance switch would interfere with the hood.  That interference was only do to the arbitrary position I mounted the buss bars in.  If the buss bars were moved down 1 inch then the maintenance switch could be mounted on top and clear the hood.  So that is what I did, I moved the buss bars, but unfortunately that meant getting a new plexiglass enclosure machined, which is on order now.


One of the issues I have had with the GEVCU is that the enclosures, even the CINCH are not 100% moisture free.   The residual solder flux on the pcb will corrode if exposed to moisture.  The lead based solder will also corrode and so will any of the non-gold connectors. The corrosion could lead to reliability issues with the control electronics.  In OEM manufacturing the way they get around this problem is to conformal coat all electronics.  Conformal coating is designed to seal the electronics from the environment.  There are lots of conformal coats available and I got one in a spray can from my local electronics dealer.  It is silicon based and makes a very tough and durable coating when fully cured.  The conformal coating material I got also can be removed with a solvent, so if the board ever needs repair the coating can be removed.  It also has the feature that it fluoresces under UV light so it is possible to check the coating coverage.  The spray coating was very easy to apply, one coating dries to the touch in 5 to 7 minutes.  I applied three coats of both sides of the board.  Besides the GEVCU I also conformal coated the BMS board.  I covered all areas with tape that did not need the coating, specifically the CINCH enclosure gasket and the connector for the WiFi antenna on the ConnectOne WiFi module.  The one issue with the silicon conformal coat is that it takes 48hrs to cure at room temperature.  I bought an oven so the next time I do conformal coating I can cure the coating faster (2hrs at 150C).  The other issue with the coating was related to the WiFi.  I was planning to use a patch antenna, because the CINCH enclosure does not have a feed through for an antenna and the Wifi signal would pass though the plastic enclosure .  Patch antennas require a ground plane to work well.  When I initially tested the antenna it worked very well because the top metallization on the GEVCU board was providing the ground plane.  What I found after the conformal coating is that the patch antennas do not work anymore!  I think that the fairly thick (~0.5mm) of dielectric is preventing the patch antenna from working.  I realized that I could drill a hole in the CINCH faceplate that held the Ampseal 35pin connector.  There was just enough room to drill a hole and mount a SMA feed through.  I could now mount a dipole antenna on the outside of the CINCH enclosure so the WiFi connection would work.  I probably will remove the antenna when not using the WiFi.
Lastly I got a new vacuum pump for the power assist brakes.  The first pump I tried to use had a lot of extra wiring - wires for the pressure switch, a relay and wires for the pump itself. I was already struggling with placing all the wires so I was looking for an alternative. I found looking on the EVWest website that they had a vacuum made by CVG that has the pressure switch and relay integrated into the pump, so the only wires that need connecting are just the power wire and ground to the pump.  The CVG pump was considerably larger than the other pump so it required an new bracket to be machined and painted.  I thought I had everything covered now with vacuum pumping but I discovered when connecting the vacuum lines that the connector on the BMW power assist used 12mm hose and I was using 3/8 for all the connections.  That meant getting another hose adapter to accommodate that hose size.


A video of all this fun can be found here.

Add a comment

Almost Rolling

This summer there have been a lot of distractions from working on the car although I have been working on the car when I am not doing anything else. And I have been taking a day off of work here and there to work on the car. What I struggled with was finishing the brake job. In the last blog I talked about the upgrade of the braking system. That upgrade took longer than it should because of various problems. What really stalled me was installing the brake pressure transducer. I had a really hard time coming up with the fittings to adapt the brake pressure transducer to the brake system. The pressure transducer is used the tell the GEVCU to apply regen torque when the brakes are engaged. The problem I ran into is that BMW uses a very special flare on the end of the brake tubing. It is called a bubble flare or convex flare. Although many places make adapter fittings I could not find exactly what I needed.   The main problem is the brake transducer came with 1/8" NPT and it has to be mounted on in a tee in the brake line. That meant I had to adapt 1/8"NPT to convex flare. I could not find fittings of the proper sex for the setup I was trying to use. After several tries I finally got all the correct fittings. I had to use a custom made stainless steel braided brake line to accommodate the placement of the transducer and to adapt it to the braking system. Related to the braking system is the clutch slave cylinder. I found I had to replace the slave cylinder and that turned into another big job. The slave cylinder cannot be bled while mounted on the transmission. BMW put the bleed screw on the bottom of the cylinder so the slave cylinder had to be removed and held in a special fixture to be bled. That had to be done first before bleeding the main braking system. I used a pressure bleeder to finish the job.

On the Electrical Vehicle front I now have nearly all the high voltage and low voltage wiring done. The high voltage wiring required the completion of the secondary contactor box that controls high voltage to the PTC heater in the car and the box heaters in the battery boxes. I still have figure out what to do with the thermistor wires coming from the battery box heaters. I don't need precise heating control and the heaters are somewhat self limiting in the amount of heat given off. I also have temperature monitoring in each battery pack via the BMS. The temperature measurement is really only required to determine if the batteries are too cold to charge. That normally will not be an issue for me because my habit with the Leaf is to put it on the charger as soon as I get home. If the batteries were cold from the car sitting in the parking lot all day they will warm up by the time I drive home. But it was a lot easier to add the heaters in the boxes before the batteries were installed, just in case I need to heat the batteries

I also got all the wiring connections completed for the BMS and made up the harness connector for the Cinch enclosure. I really like the Cinch enclosure because of the design and the very strong sealing mechanism. But the harness connectors are harder to assemble than Ampseal. I did not think that was possible. It took me several tries to get all 18 wires inserted into the harness header. Those connectors are supposed to be able to use with 26GA wire. I have 22GA and I really struggled getting those wires in the harness header. That size wire is used for the BMS as a safety feature (no fuses required, if a short occurs the wire will just melt and open the short). I did finally get a completed header assembly and was able to test the BMS. All temperatures and voltages were reading correctly although VBAT2 for the second battery segment had to be negated to read correctly. That means for the ADC the voltage was inverted. I reviewed the layout of the BMS and found there was an issue with the VBAT2 measurement circuit. I came up with a rework on the board that was fairly simple and it worked to fix the measurement problem. I had Collin Kidder send me his board to apply the same rework.

The last major bit of low voltage wiring needed is connecting the GEVCU to the car. I originally thought I would do that connection after I got the engine and DMOC back in the car because I plan to mount the GEVCU to the side of the DMOC. Having the engine out of the engine bay has worked really well to do the wiring because I can climb into the engine bay to work.

Hopefully in the next blog I post I can announce driving the car under electric power. The last time it was on the street as an ICE mobile was November 2013. If I get it rolling soon this conversion will be completed before two years are up.

A video of all this work can be seen here.

Add a comment