Hello again. I still haven't solved this problem and was wondering if I could get an opinion. I have tested the resistance from the air sensor and it's giving between 6-7K which seem correct today being about 10degrees. I have tested the voltage provided to pin 31 and 16 and it's around 3.7V. and +5V the signal on pin 14 which is 4.8V so they all seem good. It appears that the ECU is refusing to accept data from the air temp sensor and just tracking the water. When I unplug the water temp the air reading goes to 38 otherwise it just tracks the water and I get intermittent injector driver S/C in STpunto also. Is the ECU faulty?
Very unlikely, though possible.
Here's the Italian comments from the data sheet for the ECU regarding air sensor failure:
Modalità di rilevamento :
Il test della temperatura dell'aria viene eseguito verificando che il valore stia nel range dei valori ammissibili. In caso contrario si prenderà un valore di default od il valore corrente di temperatura dell'acqua se quest'ultimo è inferiore a quello di default e non lo si cambierà più.
- c.c. a Gnd :
TAIRA < MIN.TAIR
- circuito aperto o c.c. a Vbatteria :
TAIRA > MAX.TAIR
Frequenza del test ogni 100 msec.
Lampada di avaria :
- On
errore validato se : ERR-CO-INP = 10 Hex + ERR-VA-INP = 10 Hex
Recovery :
- Se l'errore è provvisorio si utilizza MT.AIR.L = MT.AIR.Lold (ultimo valore valido) ;
- Se l'errore è confermato con TH2O < DEF.TAI e nessun errore sul segnale dell'acqua allora MT.AIR.L = T_H2O, altrimenti MT.AIR.L = DEF.TAIR ;
English translation through Google:
Detection mode:
The test of the air temperature is performed by checking that the value is in the range of permissible values. If Instead you take a default value or current value if the water temperature is below the default and did not change any more.
- Civil Code to Gnd:
TAIRA <MIN.TAIR
- open circuit or d.c. Vbatteria to:
TAIRA> MAX.TAIR
Frequency of testing every 100 msec.
Lamp failure:
- On
error if: ERR-CO-INP = 10 Hex + ERR-VA-INP = 10 Hex
Recovery:
- If the error is temporary is used MT.AIR.L = MT.AIR.Lold (last valid value);
- If the error is confirmed by TH2O <DEF.TAI and no errors on the signal of water then MT.AIR.L = T_H2O,
otherwise MT.AIR.L = DEF.TAIR;
Roughly translated by me (who speaks no Italian!) - if the sensor is below a minimum value or above a maximum, it throws an error. If the error is considered temporary it uses the previous good value; if not, then it uses the water temperature until it gets to a maximum (assuming the water temperature is good).
Which is what's happening with your temperature.
I *still* think you've got damaged cables where they go through the gasket on the throttle body.
Neil