Time for a quick update”¦!
Unfortunately time has been at a bit of a premium lately with work commitments, but I have managed to squeeze in a few tweeks....
After being very happy at getting the car to start, the realization that I have to achieve 3 major things hit me:
1. I need to get the speedo working
2. I need to get the car to start and idle well and consistently enough to pass an MOT as the car hasn't turned a wheel for over a year...
3. I need to get the car running well enough to drive to get running-in miles done and all the bugs ironed out before full mapping could take place
In terms of the speedo not working, that is the subject of another thread here:
http://www.e30zone.net/modules.php?name ... do+install
Before I start this, you have to know that I don’t work for Emerald and I am not affiliated with them in any way shape or form”¦!
So, to start, I needed to set up the ECU. Emerald has a policy of supplying a base map that should allow the car to start ”“ that we have proven ”“ so far, so good.
To set up the ECU, Emerald also has manuals on their website to help you set up the ECU and engine for first starting and idle by going through a 'quick start' check list. The link to that is here:
http://www.emeraldm3d.com/media/softwar ... 20Rev3.pdf
(If you fancy a bit of bedtime reading - download the full manual - it's actually pretty good and gives a lot of insights to how engines work and are mapped).
This quick start guide goes through the basics of getting the engine running ”“ setting up communications from your laptop to the ECU through the communications lead, setting up the software on your laptop and then getting the ECU configuration right. This is pretty basic stuff, but its also critical to ensure that everything is right and matches your enigne configuration and assumes that you have wired the ECU correctly. So, for example, my engine is configured as follows:
- Aftermarket Crank sensor, 60-2 teeth, triggered90º before TDC
- Grouped injectors (2 injectors squirt at a time, not sequential)
- Coil pack (no distributor), wasted spark
- Standard BMW 3-pin idle speed control valve
- Standard BMW Air and Water temperature sensors
- BMW S54 Throttle position sensor (which is a potentiometer and not a 3 way switch as the standard S14 employs)
- Uprated injectors (from a Ford Focus ST225, approx 15% higher flow compared to standard)
- STACK Lambda gauge and sensor, 0-4volt linear output to ECU
When I ordered the ECU, I had most of this in mind, so provided that information to Emerald. When the ECU arrived, and I plugged it into the laptop for the first time, most of the configuration was done (Crank pick up, injector format, coil pack and idle speed control valve). What wasn’t there and was for me to configure was the following:
- Throttle position sensor settings (this is inputted by getting to the right screen and pressing the throttle from 0% to wide open ”“ easy peasy!)
- Setting up the Lambda sensor ”“ this wasn’t quite as intuitive, and also I was being a bit thick with the software. Because I am using a Stack gauge, you can physically see the Air/Fuel Ratio in the car as it’s running ”“ really useful when the car is coughing and spluttering!! For my car, I have set up the gauge to read from 10.0:1 (Really Rich) to 20:1 (Really Lean), which corresponds to 0 ”“ 4Volts linear. This is important to the ECU so that:
o Real values of Air Fuel Ratio don’t conflict with what the ECU is trying to ”˜see’ (if these functions are enabled)
o The ECU has the ability to run closed loop to allow the engine to run very close to Stoichiometric (14.7:1 Air Fuel Ratio) at idle conditions
o The ECU also has a really clever ”˜adaptive’ function where if the function is enabled, the ECU will adapt the fuelling value in the main fuel table to a desired Air /Fuel Ratio. This speeds up the mapping process significantly and allows the ECU to have a very basic learning function.
o The ECU uses (where possible) Lambda values as a secondary load input ”“ the primary load input is the Throttle position Sensor.
- Air and water temperature sensors ”“ the ECU is capable or reading many different types of sensor for water and air. The ECU has generic values for these sensors, but it is much better to have real values ”“ using one of China’s finest K type thermometers, the sensor and a saucepan full of water, I was able to measure and plot the resistance values:
And in more glorious detail...
- For the air temperature sensor, I probably looked like a nutter getting up early on a frosty morning in my jammies to check the resistance of the air temperature sensor at ~0ºC, then I removed the sensor and took it inside and measured resistances as the temperature of the sensor rose, then a radiator was employed to get air temperatures up to around 35ºC..
All this work now means that the ECU is now better configured, but note that all of this was with the Idle Speed Control Valve switched OFF....
It is also vital to get the basics right and some effort is needed to get the engine idling well before the Idle Speed Control Valve is engaged. This involved balancing the throttles with 4 vacuum gauges and twiddling each throttle screw until each throttle gives an equal value. The other basic check is checking the timing with a timing light to ensure the reference spark advance valve in the ECU matches what the timing light shows ”“ all good in my case. Brilliantly I haven't taken any pictures of this....
Having done all of the above and having an engine that idles pretty well (albeit a bit rich), I switched on the idle speed control valve and sh*t a brick when the idle speed shot up to 3000rpm”¦.!!
Having checked the idle speed control valve itself, it turns out that it was functioning OK in that the resistances were sound between the pins (20 Ohms across pins 1-2, pins 2-3 and 40 Ohms across pins 1 and 3).
There were 2 things wrong ”“ firstly, the valve was pretty dirty and probably sticking so a good clean with carb cleaner did the trick there. Secondly, I had wired the 2 outer pins the wrong way round (the central pin is the 12 volt supply) so the valve was defaulting to 100% open, leading to the high idle speed. Wires swapped around, all was good and a very basic map for idle speed control against engine coolant temperature could be botched in place for now....
So where am I now? Currently, I am carrying out the last tweeks to get the map to get the car idling properly (to pass the MOT emissions test) and to use the closed loop function properly. Sometime soon, I might even get a chance to drive the thing”¦”¦”¦”¦.!!
More updates to come hopefully soon”¦
