Note
Although this was originally written for ECT (Engine Coolant Temp.) sensor, the same boundary readings are valid for IAT (Intake air temp.) sensor as well.
Usually ECU have maps built-in to cover ranges, But I thought about using a linear relationship for the scanner if possible.
Initial data
I logged when the radiator fan turned ON and OFF and what the ECT reading was at that time, which came out to be:
- 221 (ON)
- 212 (OFF)
From FSM, I used the voltage reference for radiator relay and the FSM provided the following detail
- turn ON at 98C or higher
- turn OFF below 93C
This didn’t really help out at first. So I became the thinker.
The thinker
In FSM, there are various diagnostic steps shown for different errors. I became the thinker for a while and a thought came to mind.
“The value which I seek, bound by a most linear accord, shall reveal itself—should I but know the lesser and the greater bounds.”
So if I could figure out what C value is for the raw values 0 and 255, there should be a way to find any value in between. Sure enough, AI increased my knowledge by teaching Point-slope formula.
Only question was, how to know? FSM diagnostics mentioned it which made sense.
ECT high circuit → means ECT is shorted to power, so it shows max value.
ECT low → shorted to ground, so it shows low value
FSM kindly showed me that when diagnosing, I could short the signal pin to either power or ground, and check what the value in their expensive scanner is, which came out to be:
- -40C
- 119C
Nice! This means:
0
→ -40C255
→ 119C
So I can then use the point-slope formula to make
I then tested it with the initial findings of radiator fan and it turned out to be accurate! Radiator fan turning on at 212
came out to 98C
and 212
came out to 92C
. Perfect match.
Although I read this isn’t supposed to be a linear mapping due to how a NTC (Negative Temperature Coefficient) thermister works, or maybe ECU is linearizing it for us before sending the value. Either way, it seemed to work for us in diagnostic purpose.