In-Cylinder Pressure

So one of the aims of my project is to use in-cylinder pressure as a means of providing a measurement of what is going on with the engine, and hence use this to in some way control my ignition and fuelling.

Kistler spark plug in-cylinder pressure sensor

You may wonder what in-cylinder pressure is, it’s not something that you’d normally find as available data even on the very latest engines. Well, basically it’s just a pressure transducer inside the combustion chamber. This allows us to see the pressure generated from compression and combustion (and measure pressure anywhere else in the cycle). This pressure data can provide us with a vast amount of information about many of the processes that are occurring within the engine, and is probably one of the most useful possible sensors for analysing combustion. Using in-cylinder pressure, we can analyse a number of things

  • Peak pressure
  • Knock
  • Inlet pressure
  • Combustion stability
  • Indicated torque
  • Heat release rate

And many more parameters can be calculated. The sensor that I am using is built into a custom spark plug by Kistler, and is of the piezo capacitive type, which means that its capacitance changes with pressure. In order to interface this type of sensor with any data acquisition units, a charge amplifier is required to convert this changing charge into a varying voltage. I’m using an AVL IndiSet 620 high speed data acquisition unit to capture the changing pressure data from the pressure sensor (although I have now built my own interface for this instead). The IndiSet box interfaces with a PC through a parallel port interface, and operates in conjunction with AVL IndiCom software in order to configure the IndiSet box and begin to capture high speed data. Below is an animation of 50 engine cycles captured by this equipment.

50 full engine cycles with ignition timing, fuel injection timing, in-cylinder pressure trace and Lambda ratio

50 full engine cycles with ignition timing, fuel injection timing, in-cylinder pressure trace and Lambda ratio

As you can see, it allows us to see exactly when the ignition, fuel injection and combustion has occurred. In this case, the fuel injection timing is extremely stable, but the ignition timing is a little jittery. I think that this is more to do variations caused by the analogue input I am using to control the ignition advance, and vibrations on the potentiometer used for setting the advance angle. We can see that this is what’s known as a wasted spark ignition system – there are two ignition (and fuel) events per one full engine cycle. This is because the ECU doesn’t have a reference for which of the 4 strokes is compression and power and which is exhaust and inlet (we would need a cam shaft sensor for this).

For my project, I am aiming to use in-cylinder pressure information as a means of controlling ignition timing in a closed loop manner, and also as a ‘virtual’ lambda sensor. As you may know, most engines will adjust the ignition timing according to engine speed and other parameters. On a distributor ignition system, this is done with a vacuum advance. The general idea is that as engine speed increases, the spark needs to happen earlier, because the fuel takes a fixed amount of time to burn. Adjustment of ignition timing is usually done in an open loop manner, with pre defined values for a given load and speed coming from an ignition map. The engine may then try to advance the ignition up to the point at which it detects knock, it will then retard the ignition again.

I am aiming to avoid this trial and error type of control, and instead be able to control the angle at which peak pressure occurs. This is generally a fixed angle for all engine operating conditions, some time around 20 degrees after TDC. I will be able to detect this point from the cylinder pressure, and alter the ignition timing to effectively move the angle of peak pressure.

17 thoughts on “In-Cylinder Pressure

  1. Afdhal Atiff Tan

    You made a statement: “fuel takes a fixed amount of time to burn”.
    Are you certain about this?
    I though the air/fuel mixture (AFM) needs more time to combust at WOT as there’s more mass to oxidize.
    In other words, volume of AFM is also another factor that affects time taken for complete combustion.
    I could be wrong though. 🙂

    1. Scott Snowden Post author

      Yes, you are right, there are other factors that effect the fuel burn time, although I can’t quite remember the exact mechanics. There is, however a consideration that although having more fuel takes more time, the reason for a greater fuel amount is usually due to a greater air amount. This would suggest that the throttle is more widely open, and this therefore increases turbulence. Turbulence, conveniently increases the burn rate, and so negates the effect of the added mass burn time somewhat. This is also the reason that the burn time does not become a greater and greater proportion of the crank rotation as speed increases.

      1. akira

        I’m japanese student.
        I can’t speak English well.

        I’m a member of eco-marathon club. And developing a Arduino ECU.So I want spark plug(kistler).
        But price is not shown on the kistler website.

        So, could you tell me the ballpark price?

        1. Scott Snowden Post author

          Hi, that sounds interesting! That kistler spark plug one was around £6000, they may do cheaper ones. You can also buy pressure sensor which are not built into the spark plug. These may be less than £1000. Kistler are very high quality and therefore relatively expensive. You may find other companies which sell in cylinder pressure transducers for less. I believe there is one which does them for Knock detection.

          What do you want to use it for?

          1. akira

            Thank you for your reply!

            It is more expensive than I expected.
            I want to use it for analysing indicated torque and indicated thermal efficiency.
            So, I will find cheaper sensor that made by other companies.

            Thank you.

  2. Andrew Fenwick

    Hello Scott, I have a 1.2 turbo petrol DI engine with a design peak pressure of 1890 psi (130 bar).

    Optimum pressure at cranking speed is 15 bar

    I need to prove that the poor pressure at cranking speed of 7.3 bar is translated into poor peak pressure for a warranty claim.

    I am in Wiltshire – where are you. Might your Kistler spark plug work in my engine?

    Do you know anyone else in the UK with this type of kit – TFX etc


  3. Ram Niwas

    hello sir
    i want to measure combustion pressure and crank angle with the help of arduino mega 2560.
    i have engle encoder 360ppr. and pcb make pressure sensor 5mv/psi output
    can u help me arduino code and hardware for this

  4. Yves Thaens

    You did quite a job on this.

    I was looking into the subject of in cylinder pressure measurements for tuning purposes, but of all the systems available cost is prohibitive, unfortunately.

    Well done.


    1. Scott Snowden Post author

      I do know someome aiming to decelop a system for this use. What level of tuning are you doing? So you have a feel for what it would be worth to you?

      1. Yves Thaens

        Sorry, for the late response. I haven’t really thought about the cost, but in view of what a dyno session costs and repeated returns to account for engine updates/changes, I guess somewhere in the neighborhood of 2000 €.
        There is quite a market for it. A lot of guys at the EFI tuning forums are looking for a way to determine ppp.

        Thanks again.

          1. Scott Snowden Post author

            Yes – a good point – this was going to be one of the further stages of this project but didn’t quite get to it.

Leave a Reply

Your email address will not be published. Required fields are marked *