Topics:
- Crankshaft Position Sensor (CPS)
- Oxygen Sensor
- Coolant Temperature Sensor (CLT)
- Intake Air Temperature Sensor
- Throttle Position Sensor (TPS)
Crankshaft Position Sensor (CPS):
The crankshaft position sensor is mounted at the front of the engine above the toothed ring of the crankshaft pulley in the BMW engine. The ECU can determine the following from the signal of this sensor:
- the crankshaft speed: determined by the speed at which the teeth move past the sensor.
- the crankshaft position, which is determined based on the reference point of the toothed ring. One or more ground-off teeth serve as the reference point.
The crankshaft pulley is of type “60-2”. The disc contains 60 teeth, two of which are ground off. The ground-off teeth serve as a reference point. The actual TDC of the cylinder 1 piston occurs 16 teeth later.
The number of degrees between the reference point and the actual TDC can be established with a simple calculation:
Every time a tooth moves past the sensor, the crankshaft rotates (360 / 60) = 6 degrees.
If the reference point and the actual TDC are 18 teeth apart, that is (6 * 16) = 96 degrees.
This information is very important for the engine management system. After the reference point is registered, the ECU can determine when to inject or ignite by counting the teeth. In the situation where the ignition needs to be advanced by 30 degrees, the ECU must ensure that 5 teeth before the actual TDC (5 teeth * 6 degrees = 30), so 13 teeth after the reference point, the spark plug fires. This does not yet take into account the charging time of the primary coil in the ignition coil, which also takes time, so in reality, the ECU begins charging the primary coil a few crankshaft degrees earlier. We will return to this in the section on the ignition coil in the chapter on actuators.

Oxygen Sensor:
The standard oxygen sensor has been replaced with a Bosch LSU 4.2 5-wire wideband sensor. The sensor is connected to the Innovate LC-2 digital lambda controller. This controller converts the signal from the oxygen sensor into a digital signal and sends it to the MegaSquirt ECU.


Specifications Innovate LC-2 O2-controller:
Power | |
| Operating Voltage | 9.8V to 16V DC |
| Input Current, O8; heater initial warm-up | 2.0A nominal, 3A max |
| Input Current, O8; normal operation | 0.8A nominal, 1.1A max |
Environmental | |
| Operating ambient temperature | 06; to 1406; F (8;17.786; to 606; C) |
| Storage ambient temperature | 8;406; to 1856; F (8;406; to 856; C) |
| Water resistance | Splash resistant, non-submersible |
Sensors | |
| Compatible Types | Bosch16; LSU4.2 & Bosch16; LSU4.9 |
| Bosch16; Heater Control | Digital PID via pump-cell impedance |
Measurements | |
| Lambda | .5 to 8.0 |
| Air/Fuel Ratio | 7.35 to 117 (gasoline), Fuel Type Programmable |
Accuracy | |
| For Lambda | Accurate to +/- .007 (.1 AFR) |
Response Time | |
| Free Air to Lambda | < 100 mS ( < 25 mS typical) |
Inputs | |
| Serial | 1, Innovate MTS Compatible |
Outputs | |
| Analog | 2, 0-5VDC, 10 bit resolution, programmable |
| Serial | 1, Innovate MTS Compatible |
Communication | |
| Serial | MTS (Innovate Modular Tuning System) compatible |
Coolant Temperature Sensor (CLT):
The engine originally comes with two sensors that both measure the coolant temperature. The image below shows the thermostat housing with two coolant temperature sensors and a thermo switch for the cooling fan. We do not use the left sensor. The middle one is connected to the MegaSquirt ECU. The reason we use only one sensor is explained below. We also do not use the thermo switch; we currently switch the cooling fan on or off with a manual switch. Later, the control will also be handled by the MegaSquirt.

Why two coolant temperature sensors? And why do we use only one?
An NTC sensor has a logarithmic curve. The resistance decreases with increasing temperature. The blue characteristic in the image shows the largest change in resistance between 0 and 40 degrees Celsius. As the temperature increases, the resistance decreases less quickly.
The red characteristic also decreases with increasing temperature, but the largest change is seen between 40 and 80 degrees.
We are mainly interested in the temperature up to 60 degrees Celsius concerning the settings for the cold start. Consider fuel enrichment and airflow via the idle air control motor. Above 60 degrees Celsius, enriching is no longer necessary.

Intake Air Temperature Sensor:
The original sensor is built into the airflow meter. However, this airflow meter has been removed. This means that a temperature sensor must be installed elsewhere.
We use a universal NTC sensor. The brand and origin are unknown. The important thing is that we measure the resistance values with a temperature change and then enter it into the TunerStudio program.
The temperature sensor is mounted in the air intake tube near the idle control motor. The sensor is clicked into the hose. The measuring element is located in the air intake tube and measures the temperature of the passing air.
Since there was no connector with the sensor, the wires are soldered to the contacts and protected with shrink tubing.

Throttle Position Sensor (TPS):
Information to follow…