code 21 engine light on only when cold

supraian

New Member
Jan 2, 2006
66
0
0
san diego
my engine light comes on when i start the car but turns off once i'm at 180-190 degrees. checked the codes i have a 21 which is oxy sensor. i'm gonna replace it but why does it only come on when cold?
 

88YotaTurbo

New Member
Feb 26, 2006
658
0
0
39
Wolcott, Ct.
Maybe the heater circuit in the oxy sensor is shorted. So when it needs to heat the bimetal switch is on and the oxy sensor is actually shorted but when it gets hot the bimetal switch opens the circuit and it's all happy.
 

jetjock

creepy-ass cracka
Jul 11, 2005
9,439
0
0
Redacted per Title 18 USC Section 798
Shytheed Dumas said:
Regardless of the existence of a "bimetal switch", faulty heater = CEL until things get nice and warm. Ja?


Uh, think about it. If I understand you correctly you're suggesting the ECU is programmed to detect a faulty heater only when the engine is cold and not when hot. Does that make sense?
 

Shytheed Dumas

For Sale
Mar 6, 2006
967
0
0
54
Louisville, KY
I wasn't suggesting anything about the ECU - only the o2 sensor. The fact that the light goes out suggests to me that a change of some kind is occurring in the sensor as it warms up.

Based on the fact that there is a heater circuit, the first logical possibility is that it is not functioning which results in throwing a code, however once it has had a chance to warm up the heater would no longer be necessary anyway and the sensor begins to act as it's supposed to and sends all the right signals the ECU. Voila, no CEL. :)

Now I don't know squat about electronics, so I'm going to admit that this was based only on my thinking it through, and I won't try to push it as gospel truth... so long as a better explanation is given. ;)
 

mkIIIman089

Supramania Contributor
Mar 30, 2005
3,061
0
36
Ohio
Shytheed Dumas said:
I wasn't suggesting anything about the ECU - only the o2 sensor.
Hint... the 02 sensor is not what's telling you the 02 sensor is sending out faulty signals. ;)
 

Shytheed Dumas

For Sale
Mar 6, 2006
967
0
0
54
Louisville, KY
Sigh... Are we picking at words here?

The o2 sensor sends out the signals. If the signals are good/normal then the ECU lets you know by keeping the CEL off, however the ECU reports them via CEL if the signals are not normal. This has been understood from the beginning.

Now, I believe that faulty heater circuit = bad signal to ECU = CEL. Temps get high enough, o2 sensor no longer needs/uses heater = no bad signal to ECU = CEL goes out. This is what I was getting at from the beginning, even if I didn't do a good job of communicating it. If it's wrong, I am very interested in what is right, but if I'm right can I get an attaboy? :)
 

jetjock

creepy-ass cracka
Jul 11, 2005
9,439
0
0
Redacted per Title 18 USC Section 798
I'm afraid it's nowhere near that simple. First there are several preconditions that must be met before the MIL will illuminate. For this code the fault has to exist for two consecutive key cycles among other things. Second, you have a 90 model year right? That means there are multiple causes for code 21, not just the heater. They all involve the lambda sensor though.

When I say sensor I mean signal as the ECU doesn't "know" about anything except signals. That means you need to look at the wiring too. Many a sensor cable has melted on these cars. Beyond that you have two choices: 1) Shotgun the sensor or 2) Test it. Since O2 sensors are one of the most needlessly replaced items on cars and shotgunning parts is a monkey-mechanic approach if it were me I'd test it.

That involves measuring the current through the heater and also the min and max voltages reached during rich and lean conditions. Those are the primary variables used to set code 21 for 1989 and later model years after the prerequisite conditions have been met. Look for around 3 amps (if using the stock sensor with it's larger heater) after about three minutes of operation. Minimum lean signal must be less than 300 millivolts and max rich must be more than 700 millivolts. Switching time must be less than 250 milliseconds.

You can do the testing either on or off the car. On the car requires nothing more than a decent voltmeter and a running engine while off the car requires a propane torch. If the wiring is OK and the sensor tests good then move on. Course, you can also simply replace it and hope you get lucky.

Lastly, there is no bimetal switch on the heater circuit. The ECU controls it through a transistor. Monitoring current is done by sensing voltage drop across a resistor, a very common method used for such purposes. I realize it's not much but now you know more than squat about electronics ;)
 

whudafux

Formerly dcrusupra
Jan 5, 2006
1,034
0
0
37
Cullowhee, NC
www.myspace.com
AKA read what JJ wrote. Anytime you see JJ write a paragraph or 5 that seems to long to read, chances are there's a lot of good info in it. I used to just "shotgun" parts by going to the junkyard and just pulling off what I thought was wrong. That was an incredibly stupid way to go about fixing problems. With my new Supra that I bought, I swore I'd test everything that I think is wrong first and if need be replace it with OEM or something better. Saved me A LOT of headaches so far.