CentraleSupélecDépartement informatique
Plateau de Moulon
3 rue Joliot-Curie
F-91192 Gif-sur-Yvette cedex
Using tag relations for modeling engine ignition

This small TESL specification models the ignition in a four-stroke petrol engine. It uses 3 time scales:

  • the crankshaft time scale, measuring the rotation of the engine in degrees
  • the camshaft time scale, measuring the rotation of the camshafts in degrees
  • the real time scale, measuring physical time in seconds

(:svg width="400" height="380":)

  <defs>
    <marker id="arrow" markerWidth="6" markerHeight="8" refx="2" refy="5" stroke="red" fill="red" orient="auto">
      <path d="M 2 5 l -2 2 l 5 -2 l -5 -2 l 2 2"/>
    </marker>
  </defs>
  <image x="0" y="30" width="400" height="342" xlink:href="../downloads/TESL/camcrank.png"/>
  <path d="M 78 80 l 0 -60 a 60 60 0 0 0 -43 17" stroke-width="3" stroke="red" fill="none" marker-end="url(#arrow)"/>
  <path d="M 332 84 l 0 -60 a 60 60 0 0 0 -43 17" stroke-width="3" stroke="red" fill="none" marker-end="url(#arrow)"/>
  <path d="M 202 306 l 0 -60 a 60 60 0 0 0 -43 17" stroke-width="3" stroke="red" fill="none" marker-end="url(#arrow)"/>
  <text x="50" y="15" text-anchor="middle" fill="red">2α</text>
  <text x="78" y="100" text-anchor="middle" fill="white">camshaft</text>
  <text x="304" y="19" text-anchor="middle" fill="red">2α</text>
  <text x="332" y="104" text-anchor="middle" fill="white">camshaft</text>
  <text x="180" y="240" text-anchor="middle" fill="red">α</text>
  <text x="202" y="330" text-anchor="middle" fill="white">crankshaft</text>
  <image x="165" y="0" width="88" height="98" xlink:href="../downloads/TESL/sparkplug.png"/>
  <path d="M 230 20 m 20 5 l 0 -10 m -20 5 l 50 0" stroke="red" fill="none" marker-end="url(#arrow)"/>
  <text x="250" y="12" text-anchor="middle" fill="red">ms</text>

(:endsvg:)

The relation between the crankshaft and camshaft time scales is fixed. In a four stroke engine, the camshaft turns twice as fast as the crankshaft because each cylinder produces thrust every other revolution.

The relation between the crankshaft time scale and real time depends on the rotation speed of the engine.

In order for the mix of air and gas to explode just after the piston reaches the top dead center, the ignition spark must be produced in advance. This advance is defined on the real time scale because it corresponds to the physical time it takes for the mix to ignite. However, the information which is available for triggering the ignition is the angular position of the camshaft.

Each piston reaches its top dead center position every turn of the crankshaft. Compression top dead centers, when the mix is compressed and must be ignited, alternate with exhaust top dead centers, when the fumes of the combustion are pushed out to the exhaust pipes. In this example, we create a spark only before compression top dead centers. We assume a symmetric ignition scheme on the other camshaft, which drives the spark plugs of the other cylinders.

Using different time scales and tag relations makes modeling this system quite easy with TESL.

This specification gives the following result, with the camshaft angle as global timeline:

we can see that an ignition advance of 8ms corresponds to an advance of 48° measured on the camshaft when the engine runs at 2000rpm.