The idle speed problems are a result of those vacuum leaks and disconnecting the battery. When the battery is disconnected or run dead the Engine Computer loses its memory and has to relearn "minimum throttle" before it will know when it must be in control of idle speed. The engine will be hard to start unless you hold the gas pedal down 1/4". It also might not give you the normal "idle flare-up" to 1500 rpm when you start the engine, and the engine will want to stall when coming to a stop. To meet the conditions for the relearn to take place, drive at highway speed with the engine warmed up, then coast for at least seven seconds without touching the brake or gas pedals. If you don't have these symptoms, it's because there's still another vacuum leak.
Code 12 was also set from disconnecting the battery. That one can be ignored. It will erase automatically after 50 engine starts.
Are you sure the timing is supposed to be after top dead center? That is going to produce very little power. The Engine Computer can't advance ignition timing. It can't get a trigger signal, then fire the ignition coil ten or fifteen degrees before that. It can only delay the spark a calculated amount after that trigger pulse is received. For that reason, base timing is generally specified at quite a bit before top dead center. As I recall, 12 degrees before top dead center was common, but I can't remember if that was base timing or computer-controlled timing. To get it into base timing mode, you have to disable the computer-controlled adjustment. You can do that with the DRB2 scanner if you have one, but the fastest way is to just unplug the two-wire coolant temperature sensor. The radiator fan will turn on and the Check Engine light will turn on. Those will go off when the sensor is plugged back in. Set the timing to what's specified on the sticker under the hood while it's in base timing mode.
Oxygen sensor codes weren't real specific back in the '80s so you really need a scanner to see what they're reporting. As a general rule, if you erase any fault codes, start the engine, and the code sets again right away, it's usually due to a wiring problem. Look for wires melted together or laying on hot exhaust parts. If the code sets after running the engine for a while, it's usually due to a performance problem. A vacuum leak will introduce extra unburned oxygen which will be detected by the O2 sensor. The Engine Computer will command more fuel in an attempt to correct the fuel / air mixture. No matter how much fuel it adds, there will still be that unburned oxygen being detected. O2 sensors don't detect unburned fuel. The result is you'll see black smoke out the tail pipe from too much fuel, but the computer will think the mixture is too lean. On a scanner you would see that as a continuous lean reading. Normal is bouncing between rich and lean a couple of times per second.
SPONSORED LINKS
Sunday, November 17th, 2013 AT 12:48 PM