Ignition input delay limited precision

Hi!

Here are results from some ignition measurements that I performed. 3.062 client and firmware.

The EMU Black V3 has settings to compensate for delays in the ECU and ignition system. The input delay compensation is entered in microseconds. This is important since if left uncompensated the ignition timing will drift and retard more and more at higher RPMs.

image

Doing some measuring with the ECU on bench with signal generators simulating the crank and cam position sensors I see that the input delay of the EMU black is 20 us regardless of RPM.
I.e the delay from the crank position sensor falling trigger edge to that a spark is generated is 20 us.

The spark should be generated exactly at the 7th zero based index teeth with the trigger settings above and locked ignition at zero degrees BTDC.
24-2 trigger wheel → 360/24 = 15 degrees per tooth.
First trigger tooth 3 + (60 Degrees trigger angle offset / 15 = 4 teeth) = 7

Spark is generated close to the 7th index tooth falling edge as illustrated below.

Here we can see that there is an input delay of 20 us. The delay is the same and does not change regardless of RPM. I suppose that an input delay is expected since the ECU needs some processing time to do calculations.

This delay is entirely in the EMU Black and not in the ignition system components as can be seen below where no ignition coil is connected and I am probing only at the ignition coil driver output.

Setting the Input delay parameter to 20 us does compensate for this delay, but only at RPMs above 4200 RPM.

2000 RPM. 20 us input delay compensation setting. Still 20 us ignition delay.

4000 RPM. 20 us input delay compensation setting. Still 20 us ignition delay.

4200 RPM. 20 us input delay compensation setting. Now the input delay of the EMU Black is completely compensated.

For all higher RPMs the input delay is completely compensated :slight_smile: .

I suspect that the cause for this is that the EMU Black actually uses the entered input delay value in microseconds to calculate a compensation value in multiples of 1/2 degrees which is the stated ignition precision.
At 4200 RPM one 1/2 crank degree takes just under 20 usec and the compensation therefore seems to be applied.

I realize that the ignition drift not is significant at lower RPMs for a delay of 20 us. It is less than 0.5 degrees up to 4200 RPM.

I still think that it would be nice if the input delay setting actually compensated the delay also for lower RPMs. I.e that the ignition event could be shifted with integer usec precision as indicated by the actual setting.

Another improvement could be if the internal 20 us processing delay in the EMU Black was completely compensated in the firmware without needing to calibrate the input delay value for this. The input delay setting would then only be used if there is any signal delay in the ignition coils.

As you discoverd it is based on the angle and the resolution is 0.5deg. So up to 4000 rpm it does nothing.

I’m pretty sure it is posible to “cancel” this 20us delay in the software.