Instrument Cluster Spoofing

Because I plan to make the 320i a restored car as much as possible I am not planning to add any electronic gauges or meters, at least none that are usually visible in the dashboard.  My plan is to use the analog gauges in the instrument cluster like the fuel gauge, tachometer and temperature gauge to give information like battery capacity, voltage, current and battery temperature.  The tachometer will also be used to show the motor speed.  All of the signals that drive these analog gauges will have be generated by some other circuit or processor that gets the battery information from other sensors.  My first test of the instrument cluster was the fuel gauge, because I had access to the input wires from the fuel level sensor. Those wires were underneath the area I cut out of the back seat for the battery boxes.  Many old cars used a bi-metallic strip that the fuel sensor would regulate current through, based on the level of the fuel.  The heating of the bi-metallic strip would move the gauge. That type of fuel gauge is very slow and very non-repeatable.  To my surprise I found the fuel gauge in the 320i to not be a bi-metallic but rather a true galvanometric gauge.  I found it only took 10mA at 400mV to get a full displacement of the gauge.  Setting up a MOSFET with a voltage divider circuit I was able to drive the gauge from 0 to full by varying the duty cycle of a PWM gate signal into the MOSFET. I used a Microchip PIC processor to generate the PWM signal at 1k Hz. To access the other gauges I needed to remove the instrument cluster.  It took a couple of tries but I finally was able to remove the complete instrument cluster from the dashboard. I took note of all the wire colors and positions on the connectors because I have a wiring diagram for the 320i that has the wire color coding.  I removed the tachometer first.  In BMWs the tachometer was driven by the coil signal to the distributor cap.  I did not want to make a high voltage signal to drive the tach so I took the tachometer circuit apart.  Again to my surprise the circuit driving the tachometer was more advanced.  There was an integrated circuit called a "pulse shaper for revolution counters".  It is a frequency to current converter.  That meant this gauge is also a galvanometric gauge and it should take a PMW signal to move it. Connecting directly to the gauge, I was able to move the tachometer meter over the full range by varying the duty cycle of a PWM signal, using the MOSFET/Microchip PIC driving circuit and a voltage divider to give 5V.  I  found that if I took the PMW signal directly from the PIC I could also move the tachometer, because the PIC is running at 5V.
The temperature gauge proved to be the most difficult to spoof.  The gauge is a three terminal device, where one connection was ground, one was +12V and one was the temperature sensor in the engine. The schematic for the temperature sensor circuit showed the other side of the temp sensor was grounded.  I found that by using resistors from 22 to 100 ohms I could get the temperature gauge to move the full range. Because this gauge was also galvanometric, the resistors were varying the amount of current to move the gauge. Programming a resistance is possible but I wanted a simpler method and one that would be continuously variable.  I found that if I varied the voltage on +12V input side of the gauge I could move the gauge.  The gauge moved from low to high by adjusting the voltage from 0.6 to 3.8V with a 10 ohm resistor on the sensor leg. The voltage adjustment changed the current from 6ma to 30ma.  By controlling the +12V voltage with PMW on the MOSFET I could control the gauge movement.
Having all the gauges move by varying the duty cycle of a PWM signal is a great result as the GEVCU or the BMS could be programmed to have these gauges display battery info, once the movement vs PWM duty cycle is calibrated.  The 320i instrument cluster has one more gauge.  In the bottom center of the tachometer there is a 4-digit red LED display which was a clock.  I plan to replace this 4-digit display with another 4-digit display that is the same size that will be programmable through a serial interface.  The display will be programmed to show the time as well as all the battery info - the only visible digital readout.  I plan to use some other digital gauges, but those will be hidden from normal view.  For instance I plan to put a JLD 404 amp-hour meter in the area behind where the ashtray is on the center console.  With the ashtray closed, no meter visible.
Video of the instrument spoofing is here.

Images of the calibration curves for the PWM are here.

Add a comment

Battery Box Designs

I made the most intrusive modification of the 320i yet - cutting big rectangular holes in the rear seat platform to make room for battery boxes.  The old duel gas tanks were located under the rear seat and the area left after their removal is an ideal place for battery placement.  It is low and near the rear axle.  I cut two 9.5"x20" holes in each side of the rear seat platform that will make room for 24 batteries on each side. Cutting the metal proved to be challenging. I used a saber saw that has a 1/4" blade.  It is very controllable and precise, but the blades for cutting this thickness of metal just do not last.  I think I went through 5 or 6 blades cutting the two areas.  I also used a saws-all that I have and that cut through the metal like butter, but it was very hard to make a precise cut. I wanted to make the rectangular holes for the boxes to be cut precisely so I would have less material to fill in later.  The joint between the boxes and the rear seat platform will have to be sealed on the inside.  I also had to be careful with the cutting because the rear brake lines run around the inside of the gas tank space.  Unfortunately the batteries are so tall that the battery box extends 1 inch in the front and 4 inches in the back, because the rear seat platform slopes to the back of the car.  The battery box has to stick out of the rear seat platform because the bottom of the boxes cannot extend beyond the level of the rear cross-member. The boxes will have to be supported below and I am thinking of putting a thick aluminum plate under each box to protect it.  The rear seat cushion will have to be modified to fit over the battery boxes.  From the thickness of the seat cushion it will be possible to cut the springs out of the cushion and the seat should fit over the battery boxes with that modification.
 I also made progress on the drive train.  As noted in my last blog, when spinning the rear wheels there was considerable vibration in the drive train.  My friend Tim Catellier emailed me and said from the video of the driveshaft installation he could see that I installed the carrier bearing upside down.  Tim has converted a BMW Z3 (http://evz3.blogspot.com/) and knows all about this two piece BMW driveshaft.  I flipped the carrier bearing over and voila the drive train has no vibration!!  I tested up to 65MPH.  The only detectable vibration was right around 25MPH.  It is possible the car always had that vibration - it would not be noticed as that is right around the shift point of 1st gear.  I spun the wheels up in 4th gear.  The video of this progress can be seen here.

Images of the drawings for the battery boxes are here.

Add a comment

Wheels-a-spinning!

I put the Siemens-adapter-transmission back into the 320 with the intention to spin the rear wheels by connecting everything including a 330V battery pack.  Before I could do that there were several components that had to be assembled.  The one that took me the most time was the gear shift.  I had to try several iterations of connecting various things until I found the right combination.  That took me several hours to complete.  Next I had to attach the driveshaft again.  But since I had marked it the last time I put the motor and transmission in the driveshaft went in with little trouble.  I used some 2" angle aluminum to make a temporary motor mount to hold the Siemens motor. To power the motor spinning I had to strap up three crates of batteries.  I used the crates the batteries came in as battery boxes. I used 33 batteries in each box to give 111 volts per crate.  These were a little harrowing to strap up as this was the first time I strapped this many batteries together.  With the batteries all wired in series the strapping goes up one side and then down the other side. So when you get to the second row the next row is 11 x 3.2 volt higher potential and then the last row is 33 x 3.2V higher potential.  I manage to spark a couple of times by fumbling the screws for the strapping.  I measured all the batteries before connecting the straps and they were very uniform in voltage, all around 3.26V +/-0.02.  When all strapped up each box was exactly 111V. I  also built up a cart with all the electronic controls needed for spinning the wheels, which is the same components that will go into a contol box for the conversion.  On the cart was a main disconnect switch, fuse, contactor, precharge circuit, throttle control, power supply, GEVCU and two current shunts.  The second shunt was for a Sendyne SFP100 EVAL module that I am planning to use for a Battery Monitoring System. I wanted to see how well the Sendyne unit worked. It is designed to provide extremely accurate measurements of current and voltage.  After a couple of tries at getting all the electronics to work I was able to spin the motor and then by putting the transmission into gear I could spin the rear wheels.  There was some noticeable vibration in the drivetrain above 20MPH.  The transmission and driveshaft are probably not in just the right position. I had setup the GEVCU throttle control so that it had steep regenerative braking at the bottom of the throttle position.  This was done to slow the motor down quickly when the throttle is reduced.  A large banging noise could be heard when the motor was slowed down.  The noise is due the backlash in the spline connection in the Rebirth Adapter.  The motor will continue to make this noise until the spline finally fails.  The only solution is to replace the spline connector.  But for now I plan to work on getting the motor mount and battery boxes fabricated.  This is a great milestone for the conversion process!  A video that shows the process to spinning the wheels can be found in the video gallery here.

Add a comment

DriveTrain Assembly

Now that I have resolved (or compromised) the issue with the RebirthAuto adapter I worked on assembling the whole drivetrain.  When I put the drivetrain together before (see Motor placement for measurement below) I did not torque any of the bolts and the flywheel and clutch were not installed.  The drivetrain was put together before to get a measure of where the motor mounts had to be for the Siemens motor, when it was placed in the car.  For this assembly the first thing I did was put some anti-seize compound on the spline output of the Siemens.  The spline on the Siemens looks like it has been heat treated so I have a concern about the spline adapter in the RebirthAuto adapter.  That spline adapter is made of tool steel which is probably much softer the heat treated spline of the Siemens.  Next I bolted the RebirthAuto adapter to the Siemens using some grade 8 bolts, blue thread-lock and some nord lock washers.  The flywheel was next to be assembled.  Using new flywheel bolts and some red thread-lock I bolted the flywheel to the adapter and torqued the bolts to 80 ft/lbs.  The pilot bearing was tapped into place and then the clutch and pressure plate were assembled.  These were previously spun balanced with the flywheel and were attached to the flywheel were the alignment mark was.  The transmission had a new pivot pin and throwout bearing installed.  The transmission and Siemens/adapter/flywheel/clutch assembly were aligned and bolted together.  New grade 8 bolts and blue thread-lock was used to attach the transmission to the adapter.  A new video that reviews the conversion process and this assembly can be seen here.

Add a comment

DMOC Cable Swap

I had to modify the cabling output from the DMOC 645 inverter because of the way it will now sit on top of the Siemens motor.  Because the motor is rotated 180 degrees from where it was originally designed by Azure Dynamics, two of the output cables that came on the DMOC are the wrong length. (See the Adapter Revelation below).  They need to be swapped. I thought it would be easier to swap them than to make new cables.  I took the cover off the DMOC and found the connections to the cables were covered in a thick heatshrink.  It took me more than 10 min to cut though one connector's heatshrink. I could not tell how far the heatshrink went so I was trying to minimize how much I cut.  Once I removed most of the heatshrink I found the bolt holding the wire connector was through the side of the capacitor mount.  That meant it could not be removed without loosening the capacitor mount first.  I finally got the bolt out. The rest of the heatshrink came off too - it was just a piece long enough to cover the cable connetion. Once I loosened the gland-nut on the cable feed through the cable came out very easily.  I repeated the cable removal procedure for the other cable and then swapped the cable positions. I put the bolts in from the opposite side to make it easier to position the bolts and then tightened the gland nuts on the cables.  Unfortunately I did not have any heatshrink big enough to cover the cable connections so I had to order some. Hopefully I will get that in a day or two so I can finish the job.  Photos of the process are here.

Add a comment