_ _ ( ) ( ) | `\| | | , ` | | |`\ | (_) (_)
###### ## ## ## ## ####
##### ## ## ## ## ##### ## ##
##### ## ## ## ## ##
### ## ## ##### ## ## ## ## ### ##
IMPORTANT: enter the case-INsensitive alphabetic (no numbers) code AND WRITE SOME SHORT summary of changes (below) if you are saving changes. (not required for previewing changes). Wiki-spamming is not tolerated, will be removed, so it does NOT even show up in history. Spammers go away now. Visit Preferences to set your user name Summary of change: '''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// * I would like to thank the moderator of the wiki for his quick, helpful, and precise help :) Keep it up:) ---- '''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) 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. ---- '''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. ---- '''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 * I just wanna add that in BMW, the coolant signal for E-fan activation comes from a sensor on the outlet radiator hose, as there is no point of turning on the fan if the radiator is below the temperature. The CLT temperature used for the ECU calculations is mounted in the cylinder head, so in implementing the feature, it would be nice to have the trigger configurable like in the misc dialogue for ex. ---- '''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. * DISA requires an ON/OFF, RPM triggered switch, which port should I use? I thought about I259 or P259 (pFET populated), would that be ok or should I use a lower output port S259 or normal P259?? 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: * 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 '''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) Optional: Add document to category: Wiki formatting: * is Bullet list ** Bullet list subentry ... '''Bold''', ---- is horizontal ruler, <code> preformatted text... </code> See wiki editing HELP for tables and other formatting tips and tricks.