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 at the machine shop being built, 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
- BMW E46 330i
Engine
M54B30:
- Inline 6, 2979cc, double VANOS, Al block & head
- Bored to 84.50 mm for CP forged pistons 8.5:1
- SP components con rods
- raceware main and head stud kits, block timeserted
- Cometic stock thickness HG
- GT35R 0.63 turbine with 50mm BOV, 38mm WG, 600x300x76 mm IC
- 2.5" before IC, 3" after, custom piping
VEMS V3.6
- IGBT: 8
- LCD: Y
- Knock sesors: 2
- EGT: 2
- Flyback: 30 v
- MAP: 400 kPa
- No SD card, no 1-wire, no PS2
- Trigger
- primary trigger: HALL sensor 60-2 mounted on the block
- secondary trigger: HALL sensor (intake cam)
- third trigger: HALL sensor (exhaust cam)
- 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.
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.
- Confirmed: modern digital TEMIC or Bosch fans can be controlled by a simple ground-switching PWM signal in the ~100Hz frequency range. Virtually no load on this wire, it is logical signal, any VEMS output can be used. Some fans even have an RPM feedback signal on a 4th wire. On supply wires the load can be ~40A for 600W fans, so soft start/stop is a must here, but it is partially implemented in the fan's eletronic control box
- PWM wire (thin black x yellow) hooked to EC36-16 (P259 ch1), configured in secondary PWM boost control, abosulte & relative modes work, tried 94Hz & 125Hz they both work, 125Hz looks more linear, I noticed on 94Hz the fan tends to turn off then again on when changine the DC, on 125Hz it doesn't, I will use the absolute & 125Hz
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?
- one idea I have, seems to me not practical though, is fixing fan speed over each RPM point regardless of coolant fan, I don't really like the idea, any more possibilities?
Firmware support for the E-Fan function is being implemented, expect support for this in the next upcoming firmware release - 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:
- the ABS wheel speed in sensor is VR, it goes to the ABS control module
- this control outputs a processed square wave that I think varies from 0-~10V. Can I take this input directly to 18-8 or do I take the input from the ABS sensor directly?
- 0-10V is good for the wheelspeed input (which has resistor and diode protection).
- Tapping the ABS sensor signals is NOT recommended, and that would require VR-to-HALL adapter anyway
IAC
BMW's IAC is a double solenoid that is PWMed @ 100Hz.
- IAC open -> 36-17 Injector H
- IAC close -> 36-6 Injector G
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:
- TPS signal 1 to 36-1, signal 2 to analog channel 6(18-6)
- Pedal signal (driver's wish) to analog CH 1&2 (18-16&3)
- 2 power signals to EDK & 2 to PWG, are these confirmed +5v so should I have them all from TPS Supply (36-29) or +5v (36-28)? Or do I take the throttle body power from TPS supply & the pedal from +5v?
- 3 GND to 36-26
- Throttle body motor drive:
- Must order ECU with order comment: "H-bridge output stage for throttle (DC motor resistance=...)" (uses an internal signal OC0, not available normally... if injector-H is not configured in any injgroup, then ETC available on that if configured: but still need H-bridge output stage...)
- Is that why the output from the PPS is reading reversed? I tried hooking the PPS yesterday and it gave me a linear voltage output that decrease when pressing the pedal, although it is normal when measured with the voltmeter:)
- My box was ordered without the H-bridge, any possibilities to update it??? Injgroup G&H were used for IAC
- Must order ECU with order comment: "H-bridge output stage for throttle (DC motor resistance=...)" (uses an internal signal OC0, not available normally... if injector-H is not configured in any injgroup, then ETC available on that if configured: but still need H-bridge output stage...)
NOTE
- S259, I259, P259 are NOT configurable for ETC
- Using ETC will use the three analog in channels left, so now I have no in for any additions I might need (like oil T or P)