Mapping the Emerald K3
This section is not supported in any way by Emerald or is any of the advice or thoughts here the "official line". However hopefully it will be of some use. For "proper" technical advice or enquiries about their range of products, please email emeraldm3d@aol.com directly.
Background
I fitted the Emerald M3DK ECU in my Duratec Caterham 7 about 18 months ago, being out in Dubai, meant I was limited in technical help. The reason I bought the Emerald was that it had the ability to be mapped by an amateur, particularly if you fitted a Wide-band O2 Sensor. I integrated the Innovate LC-1 wideband sensor www.innovatemotorsports.com directly into the ECU. This gave me the required Air Fuel Ratio (AFR) readings to adjust the mixture. At that time before the Emerald had the new self mapping facility, there was some 3rd party software available (from Chris Good) which allowed me to adjust the maps, relatively easily. As a result I ended up with a very drive-able car, however the mapping process was far from perfect and a little geeky to use.
The Emerald like most ECU's has 2 main components, an ignition map

and an injection map

Each map has Load Sites which are based on throttle position (TPS) and Speed Sites, which are based on engine rpm. For each of the possible 480 sites you can program both an ignition setting and how much fuel you want the injectors to squirt.
With the much anticipated firmware update the new Emerald K3 ECU has the facility for adaptive mapping, that adjusts as you drive it. What this means, is that you can fit the K3 ECU to your car and with a supplied base map, get the car started, then adaptively adjust the map to suit the needs of your engine, fuel and environment. The older M3DK ECU I have is update-able to K3 spec with a firmware update, so that is where I am now. The new K3 ECU has the ability to store 3 maps on it and to switch them on the move, at any time. This allows you to have a Dry/Wet/MOT test/Back-up/Safe maps available, depending on your needs. In my case, all I need is a back-up map that I know will get me home if I mess anything up. Full details of the ECU's are available at www.emeraldm3d.com

OK, so here goes with my idiots guide to mapping with the new K3 software. Firstly you need to have a wideband O2 sensor talking to the ECU. In my case I am using the Innovate LC-1. Here is a wiring diagram suggested by Emerald to achieve just that, I have mine wired up like Pic1 (although I am not using the yellow wire at the moment). Make sure you do put in a 100 ohm resistor on the brown (aux 1) input wire, other wise you stand a very real chance of frying the aux circuits on your LC-1 (like I did).

Once the LC-1 is wired up, you need to adjust the settings for the aux outputs on both the emerald K3 and the LC-1, again I have mine exactly as suggested in the Emerald manual. See Pics 3 & 4


OK, so once you have all the hardware set-up and talking, you can set up the Emerald to be ready for adaptive or closed-loop mapping,
I used the following settings, based on the advice of a Phil & Mike from www.blatchat.com

In the picture above you have all the settings to initiate adaptive or closed loop mapping, as with all changes you make here, you MUST send them back up (program) to the ECU before they will work, seems obvious but it is easy to forget. The settings are based on this information:
Conditions that enable closed loop mode
1. After start engine delay. How many seconds from start-up the ECU waits before closed-loop is allowed.
2. Sensor warm up delay. How many seconds from key-on the ECU waits before closed-loop is allowed.
3. Coolant temp above. Coolant temperature above which the ECU will allow closed-loop mode.
4. TPS decel sensitivity. If the throttle is closed any quicker than this closed-loop operation is suspended. You can view the live accel/decel rate values from the 'Accel fueling' screen.
5. TPS accel sensitivity. If the throttle is opened any quicker than this closed-loop mode is suspended. You can view the live accel/decel rate values from the 'Accel fueling' screen. The ECU will also automatically suspend closed-loop operation if the accel fueling function adds fuel due to throttle movement.
6. Overrun recovery delay. Closed-loop operation is automatically suspended if the 'over run fuel cut off' function is active. This engine turn count delay determines how long the ECU will wait after normal fueling has been restored before allowing closed-loop to function again.
Settings that determine closed loop fueling
1. Max positive correction. The maximum injection correction the closed-loop function is allowed to increase the fueling by.
2. Max negative correction. The maximum injection correction the closed-loop function is allowed to reduce the fueling by.
3. Correction gain. This determines how much of the calculated fueling change (according to target & actual AFR readings) is used update the closed loop fueling trim. This is the error tracking speed. Set too high and the fueling will usually continuously overshoot the target AFR.
4. Update every. This sets how often the closed-loop function is refreshed by the ECU. Set this according to the lambda response time. If the ECU updates the fueling faster than the lambda sensor reads and/or updates the lambda signal the closed-loop function may become unstable and can result in the fueling continuously overshooting the AFR_target.
5. Minimum engine turns. This setting ensures that a minimum number of engine turns occur before the closed-loop function is refreshed regardless of the 'Update rate' setting. This allows the function to operate quickly at higher engine speeds but allows time for the lambda signal to stabilise at low engine speeds.
Conditions that enable update of corrections table (only used for adaptive mode)
1. Speed_int & Load_int. The level of interpolation between load and speed sites must be within these boundaries before the ECU will record anything in the AFR_correction table. Looking at the target in the 'Live adjustments' screen the outer edge of the blue circle (maximum interpolation) has a value of 127. The outer edge of the red circle has a value of 64 and the outer edge of the yellow circle has a value of 32. The Speed_int and Load_int determine how close the cross must be to the centre of the target before a closed-loop fueling trim is recorded into the AFR_corrections table.
2. Lock-on timer. Once the within the Speed_int and Load_int boundary's the ECU will wait for this amount of time before recording a correction.
3. AFR target within. This determines how close the actual lambda AFR signal is to the target AFR before changes are recorded in the AFR_corrections table.
These are the AFR targets I am using, no idea if they are exactly right (please let me know if you have any suggestions on this one), my settings are based on a collation of other peoples settings, they seem to work well...

So once you have all your settings sorted you need to power up your ECU and decide what mode of operation you are going to work in.
The mode of operation (open / closed / adaptive) is set by the 'feedback mode' table. Click the 'feedback mode' tab or just repeatedly press F4 until that screen is displayed. You can set the ECU to run the fueling in open-loop, closed-loop or adaptive mode for any speed and load site. Use the +/- keys to change the mode of any given cell (or a block of cells). The cells are colour coded white for open- loop, dark green for closed-loop and light green for adaptive mode.
The screenshot below shows that for most of the map I have chosen adaptive, with the lower throttle and rev settings being in closed loop

Once you have uploaded all the settings to the ECU, you can (hopefully) start your engine. Before any mapping session always make sure you have saved a copy of the map on the ECU (in case you need to return to it in the future). Once your LC-1 has stabilised, you can go to the Live Adjustments page of the K3 software and tweak your mixture to get a good idle. You do this by pressing the "2 or 3" on your keyboard to reduce or increase fuel trim, listening to the engine revs, until you find a sweet spot. If you hit enter after any adjustments, it writes the adjustments to the map on the ECU. The AFR indication on the live adjustment page will also help you trim the fuel for any load or speed site.

So I had my first mapping session today with the new software, I chose to do most of the map in adaptive mode. Once the ECU is programmed with adaptive mode, you do not need a laptop connected, until you want to permanently update the map. Once I had done about 20km's I read the map on the ECU. Pic1 shows the suggested adjustments to my injection map, based on the AFR targets I had chosen.
I then selected the corrections (doing a whole block as too lazy to do them individually) and then by right clicking on the block (Pic2) I applied the corrections to the Injection table, shown in blue on Pic3.
As always I saved the map as a new name and checked the ECU matched this. Once you save the map all the modified blue fields on the injection page turn black.



The car drives noticeably better already after one session, however I have a bit of a hole at low revs when I hit the throttle hard. The adaptive side seems to work well........
Did another mapping run today, decided on the advice of Phil to change my speed sites from 500 rpm to 250 rpm. Took a little fiddling (software did not interpolate the AFR targets), but got there.

Mapping session went well, above are the results.
email Neil |
|---|



