Font Size Selector

Technology, old cars, & other stuff...


Saturday 28 January

ECU Refinements

Programmed Ignition

Programmed ignition was implemented using the "wasted spark" method. In a wasted spark system, the cylinders are paired - 1/4 and 2/3 - and a spark is generated for each pair via a Coil Pack. 1/4 spark at X degrees before TDC and 2/3 spark at X degrees before TDC + 180 degrees.

Cylinders 1 & 4 power stroke is always at crankshaft and camshaft TDC and 2 & 3 are always at TDC + 180. But the system doesn't know exactly what cylinder is ready to fire - it only knows that one of each pair is on its power stroke. So it fires both 1 & 4 (if approaching TDC) and 2 & 3 (if approaching TDC+180). So one spark will be on a cylinder's power stroke and the other will be be triggered on the cylinder's exhaust stroke, hence it is "wasted".

An ignition map is needed to determine the degree of advance. The ignition map shares the same axis definitions as the fuel map, thus the spark advance is a function of RPM and engine load (i.e. Manifold Absolute Pressure).

One complication, however, was the need for interpolation between map cells. Previously, the fuel calculation used the VE map value directly and this worked fine. But for ignition, the steps between each cell would be too coarse and would lead to rough running particularly at idle. So a 3D interpolation agorithm was developed to interpolate the ignition advance between the cells of the map - in both RPM and Load directions. The following chart shows the interpolated advance angle and the raw map value as RPM is changed:



The interpolation algorithm has also been applied to fuel. Programmed ignition has been bench tested successfully and will soon be tested in a car.


Air Temperature Compensation

The required fuel calculation shown earlier assumes an specific air density value. But, as we all know, air density is inversely proportional to temperature, as shown by the ideal gas law:

ρ = P / ( R . T)

where ρ is density, P is pressure, T is temperature and R is the gas constant.

The density change for the range of temperatures experienced inside a car's engine bay is significant but not huge. From the chart of density vs temperature, we can see in the range 0 to 40 degrees C (probable range of intake air temperature) the density changes by around 3% every 10 degrees.

So, to improve the accuracy and consistency of the air-fuel mixture, we should compensate for air temperature changes. We can measure both the engine temperature and the air temperature as it enters the air intake reasonably accurately. But what we really need to know and is less easy to measure is the temperature as the air exits the intake manifold and enters the cylinders.

Air passing through the intake manifold, is analagous to a fluid passing through a tube with uniformly heated walls, as in a heat exchanger. Using this analogy, we can develop an expression for the temperature change as the air passes through intake manifold. From heat exchanger equations described here, we get:

T2 = T0 - (T0 - T1) . e-B.L


T2 is the fluid temperature at the exit of the tube, T1 is the tube temperature, T0 is the fluid temperature on entry to the tube, L is the length of the tube, and:

B = π . h . D2 / (mdot . cp)


h is the heat transfer coefficient, D is the diameter of the tube, mdot is the fluid velocity, cp is the specific heat of the fluid

We can see that h, L, D and cp are constants, determined by the physical geometry and material properties of the engine design and an additional variable is identified, mdot, the velocity of the fluid. Using arbitrary values for L & D, we can plot the effect:

In the above example, we can see that when the intake air is moving slowly, the air exit temperature tends towards the intake manifold temperature. When the air is moving quickly, its temperature will tend towards the outside air temperature, as there is less heat transferred from the manifold.

The next problem is to determine the temperature of the intake manifold. This is relatively straight forward: From previous measurements of manifold temp vs coolant temp we can see there is a consistent fixed relationship: 

Tm = Fm . Tc

Where Tm is manifold temperature, Tc is the coolant temperature and Fm is the manifold temperature fraction. This is in the range 0.33 for an unheated manifold to TBD for a heated manifold.

In implementation, we've developed a simplified expression that relates coolant temperature, air temperature and air velocity that is currently showing consistent results during winter testing.

Privacy Notice

The elements of this website developed by Just Technology uses cookies to store user settings such as the requested font-size to enhance the usability of the site. For reqistered users, cookies are also used to identify the user's logged-in status.

The elements of this website developed by Just Technology do not attempt to access cookies sent to your computer by other websites you have visited nor will it try to obtain any other information from your computer for use by Just Technology or for passing on to any other party.

This website uses 3rd party software from Disqus, Twitter, and Facebook. The privacy policy of these vendors is therefore applicable to any facilities provided by these 3rd parties. Just Technology cannot provide any statement regarding protection of your privacy with respect to the facilities provided by these 3rd parties and cannot accept any responsibility for the way that any facility provided by them interacts with your computer or uses the information obtained from you or your computer.