Crank Sensor

Overview

The crank sensor is used to determine the position of the crankshaft and the speed of the engine. The crank sensor is usually mounted on the engine block and reads a toothed wheel mounted on the crankshaft. It may be used in conjunction with a camshaft sensor to determine the position of the engine cycle.

Sensor Type

The crank sensor is usually a Hall effect sensor or a VR (Variable Reluctance) sensor. The sensor is connected to ECU timer T1 which has a software selectable pull-up resistor.

Sensor Type option iconT1 Pull-up
Hall Effect / Optical Yes
VR / Inductive No

Edge Selection

The ECU man be configured to select which edge of the signal is used to interrupt the ECU for engine position related processing, these options may be named differently on some ECUs:

  • option iconCrank Rising Edge or option iconT1 Rising Edge
  • option iconCrank Falling Edge or option iconT1 Falling Edge

VR sensors have one direction edge that is sharply defined. In the other direction, there are 2 edges and they are slower. Selecting the correct edge here is crucial to ensure accurate engine position detection.

    xychart-beta
    title "VR Sensor Pulse"
    x-axis [0, 1, 2, 3, 4, 5, 6, 7, 8]
    y-axis "Voltage" -5 --> 5
    line [0, 0, -0.3, -3, 3, 0.3, 0, 0, 0]

An oscilloscope can be used to determine the best edge to use. The sensor output should be monitored while running / turning over the engine to determine which edge is the most sharply defined.

To verify that the correct edge has been selected, it is recommended to record an ECU internal data log with the crankshaft moving at a constant rate. It is expected that the synchronization strategy and table iconTooth Control table have been configured before this test.

Channel Description
channel iconA Tooth Actual teeth feed into to Tooth Control table.
channel iconWheel Tooth Decoded internal tooth number, increments up to the value of option iconWheel Teeth.
channel iconFuel Tooth No Decoded internal teeth for engine cycle, decoded by Tooth Control table used for fuelling, increments up to the value of option iconFuel Teeth..
channel iconIgn Tooth No Decoded internal teeth for engine cycle, decoded by Tooth Control table used for sparking, increments up to the value of option iconSpark Teeth..
channel iconMX Tooth Time Time interval between actual teeth; i.e. time separation between crank interrupts.
channel iconTooth Time Time interval between internal teeth decoded by Tooth Control table. The most important measurement in ECU.

The following images show the difference between the correct and incorrect edges for a VR sensor:

Incorrect Edge

Incorrect Edge Incorrect Edge

See the long tooth interval detected in channel iconMX Tooth Time when channel iconA Tooth = 0

The long tooth appears to be in 2 parts of 3.296 and 1.482 ms, with the regular teeth spaced at 1.185 ms.

This is from a 30-2 wheel so the missing tooth interval should be approximately 3x the regular teeth interval.

Notice that the channel iconTooth Time channel has major discontinuities; it is expected that the internal teeth (decoded by the tooth control table) are regularly spaced and so a more constant value is expected here.

Correct Edge

With the option iconCrank Rising Edge and option iconCrank Falling Edge swapped we get just a single long channel iconMX Tooth Time 3.754 ms, equal to 3 regular teeth (on a 30-2 wheel) as expected. The regular teeth are spaced at ~1.243 ms:

Correct Edge Correct Edge

3.754ms / 1.243ms = 3.02 teeth

Also notice that the channel iconTooth Time and channel iconA Tooth channels are smoother, meaning that the edges are interrupting the ECU more reliably.

If you are unable to start the engine and idle, it is possible to get the timing wheel running at a steady speed by removing the spark plugs (to avoid compression) and using the starter motor to turn the engine over. This will allow the ECU to log the crankshaft position data without the engine running. For safety, any injection and spark outputs can be disabled in the ECU calibration for this test.

Crankshaft Position Sensor Filtering

Hardware Filtering

  • option iconT1 Filter Below - RPM value below which the T1 filter is active.
  • option iconT1 Low Sens Above - Reduces the sensitivity of the T1 input above this RPM value, can be useful for VR sensors.
  • option iconCrank Filter - Time window, in microseconds, for filtering edges on the crank sensor input.

Software Filtering

  • option iconTooth Short Ignore - Enables software filtering of short tooth intervals. This is useful for filtering out noise on the crank sensor input.
  • option iconTooth Short Running - This is a percentage of the last valid actual tooth interval, edges detected that are less than this percentage are rejected.
  • option iconTooth Short Start - When cranking (starting) the engine, before synchronization is achieved, channel iconStat Sync'd == OFF, software filtering uses a fixed time interval for rejecting edges - edges detected that are less than this interval will be rejected.

When running, channel iconTooth Time x channel iconTooth Short running is used to determine the minimum tooth interval that will be considered a valid tooth event.

The calculated value for the short tooth test is stored in A Tooth Short Test.

If a short tooth is detected, it will record this information in:

  • channel iconA Tooth Short [ms] - captures captures channel iconMX Tooth Time
  • channel iconA Tooth Short No - captures channel iconA Tooth
  • channel iconA Tooth Short Rev - captures channel iconCam count MX

This information will be recorded regardless of whether option iconTooth Short Ignore is set.