Jump to content
Click here if you are having website access problems ×

Three Emerald K3 gotchas and a top tip


Peter Carmichael

Recommended Posts

[Please note some corrections have been made in the detail of this post in light of Dave Andrews (oilyhands) contribution]

 

I've made some mistakes with my K3 implementation by assuming too much that the K3 was generally backwards compatible with the previous Emerald M3DK. My experience with the K3 documentation is that it concentrates so hard on letting you know about the new cool features (wideband lambda, wheel speeds, CANbus, map switching , flat shift) that it completely fails to explain critical issues relating to the boring stuff about fuelling the engine correctly.

 

This is a change for Emerald. Previously their ECU was simple enough to be pretty much self-explanatory; now I feel the K3 is complicated enough to get you into real trouble, really easily. Anyway, I've fallen into the K3 trap and have my scars. The three issues I'm going to describe have:

 

a) taken ages to debug

b) been extremely frustrating with obvious underperformance of the engine

c) come about through a mix of mistaken assumption and nonexistent/poor documentation

 

In the hope of saving others from the wasted time, here are three gotchas that have tripped me up...

 

 

 

1) Grouped injection setup

 

Lots of engines run grouped injection for good reasons. Grouped is better than batched injection and doesn't need extra sensors, unlike sequential injection. The K3 has very specific and different wiring requirements for the injector circuitry in order to run grouped.

 

If you are running grouped, you need to connect up the first four injection outputs (INJ1, INJ2, INJ3 and INJ4) on the ECU and have the wiring loom splice together INJ1 with INJ4 and INJ2 with INJ3. The spliced INJ1+INJ4 output then needs to be wired into both injector 1 and injector 4. The spliced INJ2 and INJ3 output needs to be wired into both injector 2 and injector 3.

 

If you are running grouped, you can use either the normal two injector outputs or you can splice the loom so that INJ1 and INJ3 are paired to injectors 1&4 and INJ2 and INJ4 are paired to injectors 2&3. Pairing the injector drivers eases the load on the individual drivers.

 

Consequences of getting this wrong:

 

Most scenarios where you don't have this wiring will mean the injectors will only fire on half the number of events intended. The injection pulse will therefore need to be twice as long to deliver the same amount of fuel and you will see very large duty cycle numbers reported (over 100%). If the loom is wired for sequential injection (i.e. one injector per driver) the phasing of injection will be massively out on half the cylinders.

 

If you just wire INJ1 to injector 1, INJ2 to injector 2, INJ3 to injector 3 and INJ4 to injector 4, there is no way in software to set the injection to any sensible behaviour. The custom injector timing settings page looks like it should be possible to change the timings to make this work, but that settings page is broken on my installation, reporting an "unable to set focus" error message and the settings then go haywire. Click on the "custom" radio button at your own peril.

 

Symptoms of getting this wrong:

 

a) if you are wired for grouped injection, as per the previous Emerald implementation, you will end up with duty cycle showing in the software as over 100% and the running may be rough at low engine speeds.

 

b) if you are wired for sequential injection, you will end up with the duty cycle showing in the software over 100% and you will definitely have rough running at low engine speeds (poor mixture preparation)

 

 

 

 

 

2) Custom battery voltage compensation is broken

 

As far as I can tell, when you switch on custom battery voltage compensation, it stops doing any battery voltage compensation at all. Leave it on default settings.

 

 

 

3) Wiring the ECU up to the 12V supply

 

Definitely, bridge pin 11 and pin 28 to the same 12V feed and make sure that this feed is also delivered to the injectors. The Emerald documentation is misleading in describing an optional setup with pin 28 fed from the output of the main relay that the ECU operates when it sees 12V on pin 11 - this set up is only described for backwards compatibility reasons (EU2 K-series plug-compatible) but there are significant reasons why it should be avoided.

 

Rationale:

 

The ECU reads the supply voltage from pin 11, so pin 11 needs to be common with the fuel injector supply voltage, otherwise there is a chance of error in the battery voltage compensation. Pin 11 is described as being the supply from the ignition switch. The wiring from an engine loom to the ignition switch and back is most likely tortuous (definitely in Caterham's wiring); you should avoid putting high current loads across tortuous wiring because you are bound to get an unwanted resistance and voltage drop.

 

My preferred method is to keep all the sensitive wiring together in the engine loom, with pins 11, 28 and the injector feed all common to the output of a relay operated by the ignition switched voltage - the coil feed is not as critical and you can either supply it from the relay or direct from the ignition switch. This would be a complete non issue if the ECU read its voltage from what it sees on pin 28.

 

 

 

 

There you go. Three pretty esoteric Emerald K3 gotchas. I'm putting them up here in the hope that they save somebody else some time. If you are planning an Emerald project, I advise you to be very careful in your presumptions.

 

As for the top tip...

 

I'm going to break the first rule of Emerald implementation by suggesting that the throttle pot calibration should not be used. I prefer to set up the map so that the closed throttle position is halfway between load site 0 and load site 1. It means that when I reset the throttle stop I don't have to rework the entire bottom end of the map. It also gives you more consistent behaviour at and around the closed throttle position. Mapping is no more difficult. The rolling road operator just concentrates on getting the LS1 settings correct and then LS0 can be used to fine tune the idle and progression (which is all achieved at operating values interpolated between LS0 and LS1).

 

Edited by - Peter Carmichael on 12 Aug 2010 21:25:45

 

Edited by - Peter Carmichael on 12 Aug 2010 22:46:47

Link to comment
Share on other sites

To be fair to Emerald, both wiring 'gotchas' are very clearly set out in the wiring schematic that comes with a K3/K6 when installing to an EU3 loom.

 

The specifics of wiring to a particular loom/implementation/existing harness are better supplied in a document that is also specific to that installation type rather than in a generic manual.

 

Oily

Link to comment
Share on other sites

I have spoken with Karl at Emerald who has read the above postings, he was a little surprised that depsite the apparent issues Peter has at no time attepted to contact him to discuss any possible issues.

 

Nonetheless he has sent me this response which I am posting as he is not a member of the BBs.

 

1. Grouped injection setup.

 

The ECU’s are supplied with additional wiring information to suit the application they are ordered for.

 

Injectors should be connected to the numbered drivers according to firing order, e.g. for 1-3-4-2 that would be injector 1 to driver 1, injector 3 to driver 2, injector 4 to driver 3 and injector 2 to driver 4.

 

From that point onwards it should be very simple. By setting the injection output option to “grouped” and the ECU will time injector pairs 1&4 and 2&3 to switch together twice per cycle. If the loom happens to be wired so that injectors 1&4 are connected to driver 1 and injectors 2&3 are connected to driver 2 then the injection system will work exactly the same and no other changes, ECU or otherwise, are needed. By setting the injection output to “sequential” the injector timing table is updated with defaults so the injectors are then switched individually, once per cycle and timed according to firing order.

 

 

2. Battery voltage compensation.

 

Injection compensation does work.

There’s a bug in early firmware versions that limits the usable adjustment range of the custom coil on-time correction.

 

3. Wiring to +12v.

 

The Rover K (MEMS) application is one of the few that makes use of the separate ignition and main relay supplies (ECU pins 11 & 28). Most diagrams and wiring information where ECU operation after key-off is not needed will show pins 11 & 28 wired together.

 

The ECU monitors the voltage at pin 28 but there is a diode link between the two. If the voltage at pin 28 drops below the voltage at pin 11 by ~1v then the voltage correction will be affected – in most applications the main relay is supplying a fused battery +12v connection to the coils/injectors/ECU pin 28 so it is unlikely that the voltage at pin 11 will be higher than pin 28.

 

The K6 is slightly different in that only pin 28 is monitored and there is no internal link between 11 & 28.

 

4. Coil on-time.

 

For the M3DK this is not user programmable and is fixed at 6mS during cranking and 3mS during running.

 

The coil on-time for the K3 is user programmable and there is no “default” setting. The coil on-time setting is determined by the users’ map that is in the ECU.

 

As with the ignition timing or fuel tables it is possible to set the coil on-time table for optimal results but also the reverse is true.

 

Whether the engine runs a single coil, wasted spark or sequential coil-on-plug it makes no difference to the coil on-time settings. The coil on-time setting determines how long the coil is charged for to provide optimal ignition performance and should be adjusted to suit the coil used.

 

The ECU limits the maximum coil on-time to 75% of the available time for each charge/spark cycle regardless of the coil/ignition type so, assuming the 4-cylinder engine has a single coil with distributor, and someone has programmed the ECU with a coil on-time of 6mS at 8,000rpm (3.75mS available for each charge/spark) it will actually result in a coil on-time that is limited to 2.8mS.

 

 

 

I hope this helps clear up a few issues..

 

Oily

Link to comment
Share on other sites

I'm going to break the first rule of Emerald implementation by suggesting that the throttle pot calibration should not be used. I prefer to set up the map so that the closed throttle position is halfway between load site 0 and load site 1. It means that when I reset the throttle stop I don't have to rework the entire bottom end of the map. It also gives you more consistent behaviour at and around the closed throttle position. Mapping is no more difficult. The rolling road operator just concentrates on getting the LS1 settings correct and then LS0 can be used to fine tune the idle and progression (which is all achieved at operating values interpolated between LS0 and LS1).

 

Peter,

 

What if one simply set the throttle stop to some higher RPM, say 1300-1400 or so, then step through the Emerald TPS calibration procedure?

After calibration, the LS0/LS1 horizon would be at a level that would allow twiddling tickover and progression without affecting the map. *cool*

 

 

 

-Bob

94 HPC VX Evo III

 

Link to comment
Share on other sites

Whether the engine runs a single coil, wasted spark or sequential coil-on-plug it makes no difference to the coil on-time settings.

 

A few lines later we read that the coil-on time...

 

...should be adjusted to suit the coil used.

 

A coil bridging two gaps will need more energy than a coil bridging a single gap. That means either more current or more time. In my research there appears to be correlation between wasted spark coil packs being designed to operate on longer coil-on times; as they also enjoy a longer period between spark firing, this doesn't cause any issues with high rev running. Individual coil-on spark plugs have the easiest job of all for high rev running.

Link to comment
Share on other sites

What if one simply set the throttle stop to some higher RPM, say 1300-1400 or so, then step through the Emerald TPS calibration procedure?

After calibration, the LS0/LS1 horizon would be at a level that would allow twiddling tickover and progression without affecting the map.cool smiley


 

Not sure I'm understanding what you're saying. Wouldn't you need to set the position lower?

 

In my setup, the TPS lower calibration is set at a reading of 117. Maximum throttle is 880. Idle/closed throttle is at 139. This means that the engine is idling approximately half way between LS0 and LS1 values. It means I can put in low ignition values for the overrun to give a clean return to idle and I can have a nice steep gradient to the LS1 position giving clean pickup and progression. Generally I don't need to tweak fuelling settings down at the closed throttle position as much.

 

If you change/move the throttle pot for any reason, the recalibration is just a little different. You take a reading from the TPS for the wide open throttle position. You then fine adjust the minimum position until the closed throttle/idle fuelling comes back in line.

 

These two figures are entered in the ECU configuration page, not the main map and they don't immediately apply to a running engine when you send the changes. You can work around this with the engine still running by sending the map to the ECU again - this apparently causes the TPS calibration settings to be re-read.

 

Edited by - Peter Carmichael on 12 Aug 2010 23:06:53

Link to comment
Share on other sites

2. Battery voltage compensation.

 

Injection compensation does work.

There’s a bug in early firmware versions that limits the usable adjustment range of the custom coil on-time correction.


 

It may well have been a firmware issue that caused the complete non-functioning of my custom battery compensation settings. I replicated the standard .16ms per volt below 16v values into the custom settings and the engine would barely run.

 

I will retest on the current firmware version.

Link to comment
Share on other sites

Not sure I'm understanding what you're saying. Wouldn't you need to set the position lower?

 

Peter,

 

You might be right. I'm having trouble wrapping my mind around the whole concept at the moment. (Might have something to do with having wrapped my hand around a glass or two of single malt before reading your last post.) 😬

 

Am I incorrect in imagining that if the lower pot setting is artificially reduced (manually entered), the transition to LS1 would happen at a smaller angular departure from the idle stop? It's so confusing. *confused*

 

As curiosity has the better of me, I'll retire to the shed tomorrow and try some things.

 

After reading up a bit in the emerald manual, I wonder if the "conditions that enable idle control" settings might be adjusted to achieve the same ends?

To be honest, I've not experimented much with idle programing as I happened upon a very well behaved map from the get-go. I've really only fiddled with the fueling and advance maps at more interesting throttle openings.

 

 

 

-Bob

94 HPC VX Evo III

 

Link to comment
Share on other sites

Battery voltage compensation using a customised table was broken on firmware 1.16 and earlier. It wasn't interpolating the values, so I got very weird fuelling behaviour on voltage fluctuations.

 

Firmware 1.16 was installed by Emerald back in April this year. Karl sent me out a 1.17 update that has fixed this.

 

I'm guessing not many people are using the custom voltage compensation table. Unfortunately, I had it enabled when I had my engine mapped, so the map itself contained anomalous values depending on where the voltage was at the time any particular site was being mapped. The voltage was hopping across the 13.9V-14.0V boundary causing an arbitrary 5 unit swing in the fuelling requirement.

 

Am I incorrect in imagining that if the lower pot setting is artificially reduced (manually entered), the transition to LS1 would happen at a smaller angular departure from the idle stop? It's so confusing.

 

Hi Bob,

 

No, you're not incorrect. That's exactly what I mean. When I changed my map, I took the existing fuel and ignition maps and interpolated new values for the revised load site boundaries. It was a lot of fuss to try and end up in the same place I started.

 

The main reason I'm calling it a top tip is because the "recalibrate every time you adjust the idle stop" approach gets you chasing your own tail for the closed throttle fuelling. Following that approach is definitely part of the Emerald way of doing things - because I play around with several other manufacturers' ECUs, some of which have no equivalent calibration process, I noticed that it ends up being less work to make the calibration fit the map rather than keep changing the map to fit the calibration, if you see what I mean.

 

BTW, the idle control settings are independent of this and only determine the operation of the idle stabilisation programs (and exit from the fuel cut-off program, as far as I can tell).

 

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...