MembersPage/JosephBmw (2013-12-01 12:17:16)

Introduction

This page has just started, I will be editing and adding a lot of info for the past progress and what I have done so far, the engine was previously turbo'd and tuned on its stock internals & engine management (MS43) by myself, I recently decided to build it completely and go full standalone.

So far: The engine is back from the machine shop :) I took the stock harness out of the car and modifying it to fit the ecu, details soon.

I will remove this introduction once I feel the documentation is complete or I added enough information


Car

Engine

M54B30:


VEMS V3.6

  • primary trigger: HALL sensor 60-2 mounted on the block
  • secondary trigger: HALL sensor (intake cam)
  • third trigger: HALL sensor (exhaust cam)
Actually, commonly the exhaust cam must be used as secondary trigger (if the intake has multiple pulses evenly spaced it's not suitable for secondary trigger, but still suitable for third trigger). No big deal as it can be triggerlogged and than swapped easily. However VERY IMPORTANT: write in the order comment: HALL,HALL,HALL, that is thirdtrigger=HALL so you get the third trigger wired to econoseal pin (not hidden inside).
  • Above info are taken from BMW engine manuals

Note on HALL & VR sensors:

Measure resistance for each sensors (both VR and HALL typically has 3 pin. 2 pin is rare, but that is always VR). If you find 2 pins which measures same resistance in both directions (normally between 300..1400 Ohm) that is VR, otherwise HALL.


triggers

The Crank Position Sensor, Cam I & Cam II in the M54 are hall sensors, wheel is a 60-2.

Several questions arise:

A: Keep stock wiring for trigger sensors.

Double Vanos configlet is not correct, cam triggers are coil type (single pulse per cam rev). You can easily setup your trigger configuration with trigger setup visual. And very timing with timing light.


VANOS

Perhaps the most interesting specific engine application in BMW

The M54 is a double VANOS engine, each cam is controlled by a single solenoid that pushes in & out to varies the time. That's different from the ///M engines that use 2 seloinds/cam for an independent push/pull.

Each solenoid is connected directly to switched ign +12v & is PWMed from the DME to move it in/out.

My box came populated with 4 pFETs on P259s. I used P259 ch6&7; 36-31 & 36-30; to control the intake/exhaust solenoids respectively.

Now comes the problem: when I plug in the two solenoids, ignition doesn't turn off when I turn the key off until I unplug them. I tried with both/intake only/exhaust only with the same result. The only difference that shows is the weaker lights in dash after switching off. It is as if plugging in the sols provides some kind of power to the ecu that both sols add up together or so, am not sure. I have revised the harness & everything is wired as should be.

A: M54 Vanos solenoids need switched GROUND to be activated, not pFET (which is swiched VBAT), please revise your wiring. When suitable GND switched outputs are available switch from pFET to those (leftover INJ/IGN outputs). If not available: Revise wiring on solenoid side: cut switched vbat from dme relay (the wire not going to the Vems and connect to gnd on solenoid side). - DB

  • That's what I actually expected yesterday, however, I felt in doubt because when making the order I was asked in an email if it is switched to ground & based on the positive confirmation I was told I should have the pFETs. Anyway that's not the problem.
  • Q1: What are other uses for these ports???
  • A1: With some rewiring they can be used for DISA and/or Boost control solenoid.
  • Q2: I have two extra IGN ports that I used one already for the DISA, the other was planned for the boost solenoid. If I use them for the VANOS sols, where can I plug the DISA & boost??
  • A2: If you have free injector channel (and you do not want to do rewiring to use pfet outputs) you could use those.

The last resort (&probably the easiest) would be hooking the +ve supply from the harness to the GND instead as you mentioned.


E-Fan

The radiator fan is controlled by a final stage box mounted on the fan shroud, it has three wires coming in:

1. +12v

2. GND

3. PWM signal from the ECU, this one is confirmed to be from 10-100Hz, fan is only on between 10%-90% duty (From BMW catalogues)

Then two wires coming out to the fan motor, +12v & GND from the final stage.

We need extra software support from VEMS firmware to get coolant-temperature dependent PWM signals.

The above sentence is VERY true, and although I can drive the fan (hardware works perfect), software is handicapped, the secondary PWM DC table is a function of kPa & RPM, I've have been thinking of a way to drive the fan based on that, as to be reliable for the time being, how can I do that? Ideas?

Firmware support for the E-Fan function is being implemented, expect support for this in the next upcoming firmware release - DB


DISA

DISA is the variable intake system implemented by BMW. At low speed (up to ~3750-4000 RPM) the solenoid is energized by +12v switched to ground from the DME, at higher speeds it is released (0v) so the flap opens & the itake manifold volume increases.

Since DISA requires switched ground i would recommend using either a free injector or ignition channel, switched using one of the misc output channels to switch in the desired range - DB


Wheelspeed

Concerning the wheel speed input1 (EC18-8) & wheel speed input2 for traction control, I would like to have more info about it, specifically regarding the input signal:


IAC

BMW's IAC is a double solenoid that is PWMed @ 100Hz.


CAN Bus

As I am now preparing to start my engine for the first time (crossing fingers, I am actually too worried, first start on a fresh built engine, with a new controller); I was thinking the last two days about the CAN abilities of VEMS. I've been searching up & down about the topic, especially the AIM protocol which looks to me as CAN protocol with a different taste. I am not sure about this.

The E46 instrument cluster receives the coolant temperature (&possibly RPM signal via CAN, is there a way to implement this? The other solution would be either to live with a coolant gauge in the red, & may be a non working RPM gauge, or trying to get more work done with an Arduino with a CAN shield, & am not that experienced in electronics.

Also the A/C unit powers up the compressor via a CAN msg to the DME which is apparently not there

Can I use the AIM output somehow?

I feel lost about this

In terms of motorsport and current automotive technology CAN is the king of data transports. VEMS should have a CAN interface where signals can be brought in via CAN and sent out via CAN. It would improve every aspect of the ecu as a whole. If anything 2014 should be the year spent implementing CAN to VEMS and letting AIM protocol go.
  • Multiple more analog/digital channels, not reliant on VEMS hardware configuration (MAP over CAN, Wheelspeeds (straight from Bosch ABS modules for instance, ABS modules also contain accelerometers), suspension, steering, strain gauges, pito tubes, Antilag switch over CAN, A/B map switch over CAN the options are endless).
  • Easy stream export of great magnitude to a CAN logger, where Vemstune can then interpret the CAN stream after downloading. VEMS CAN logger could have USB for greater download speeds. a 1MBIT stream can contain a great deal of channels and or high frequencies which is currently lacking at only 25Hz-ish (adjustable frequency for each channel to save bandwith for air temp and such).
  • Electronic dash/device compatibility , not only aftermarket but automotive as well.
  • Making VEMS 3.x more competitive and compatible as it moves forward.
  • CAN does not have to be complicated for the user interface either - Bosch RaceCon software shows that. Manual is available on the Bosch Motorsport website.

Electronic Throttle

I am still not yet done with the build, meanwhile, I was very happy to see the new firmware 1.2.14 implementing ETC. I updated the v3 to 1.2.15 and here is a plan for the ETC:

In BMW the electronic throttle body is called EDK, and the pedal module is PWG

EDK: 6-pin module:

1. TPS signal 1 BR/VI: 0.5v @0% to 4.5v @100%

2. Power BR/WS: +5v??

3. Motor Drive 1 GR/WS

4. TPS singal 2 BR/BL: 4.5v @0% to 0.5v @100%

5. Motor Drive 2 BR/SW

6. GND BR/GR

PWG: 6-pin module:

1. GND

2. GND

3. Power 2 GE/GN: +5v??

4. Signal 1 WS: 0.5v to 4.5v

5. Power 1 GE: +5v??

6. Signal 2 WS/GN: 0.5v to 2v

Plan & questions:

NOTE