Code 12 -Idle Air Bypass motor not controlling idle properly (generally idle too low) - IAB dirty or not working. Take it off and clean it thoroughly with throttle body cleaner. Clean the electrical contacts with non flammable brake parts cleaner at the same time.
Code 22 MAP (vacuum) or BARO signal out of range. The MAP or BARO sensor is pretty much the same sensor for both Mass Air & Speed Density cars. The main difference is where it is connected. Mass Air cars vent it to the atmosphere, while Speed Density cars connect it to the intake manifold vacuum. Its purpose is to help set a baseline for the air/fuel mixture by sensing changes in barometric pressure. The MAP or BAP sensor puts out a 5 volt square wave that changes frequency with variations in atmospheric pressure. The base is 154 HZ at 29.92" of mercury - dry sunny day at sea level, about 68-72 degrees. You need an oscilloscope or frequency meter to measure it.
The MAP/BARO sensor is mounted on the firewall behind the upper manifold.
Baro or MAP test using frequency meter - run the test key on engine off. The noise from the ignition system will likely upset the frequency meter. I used a 10 x oscilloscope probe connected from the frequency meter to the MAP/BAP to reduce the jitter in the meter's readout.
If it is defective, your air/fuel ratio will be off and the car’s performance & emissions will suffer
Code 23 - Throttle sensor out of range or throttle set too high - TPS needs to be reset to below .99 volts at idle. Keep in mind that when you turn the idle screw to set the idle speed, you change the TPS setting.
Try this... Currently there is some dispute about setting it at .99 volts being worth the effort, but anything less is probably OK. All you need is less than 1.0 volt at idle and more than 4.25 at Wide Open Throttle (WOT). You'll need a Digital Voltmeter (DVM) to do the job.
Wire colors & functions:
Orange/white = 5 volt VREF from the computer
Dark Green/lt green = TPS output to computer
Black/white = Signal ground from computer
Always use the Dark Green/lt green & Black/white wires to set the TPS base voltage.
Do the test with the ignition switch in the Run position without the engine running.
Use the Orange/white & Black white wires to verify the TPS has the correct 5 volts source from the computer.
Here’s a TPS tip I got from NoGo50
When you installed the sensor make sure you place it on the peg right and then tighten it down properly. Loosen the back screw a tiny bit so the sensor can pivot and loosen the front screw enough so you can move it just a little in very small increments. I wouldn’t try to adjust it using marks. Set it at .97v-.99v, the closer to .99v the better.
(copied from MustangMax, Glendale AZ)
1. Always adjust the TPS and Idle with the engine at operating temp. Dive it around for a bit if you can and get it nice and warm.
2. When you probe the leads of the TPS, do not use an engine ground, put the ground probe into the lead of the TPS. You should be connecting both meter probes to the TPS and not one to the TPS and the other to ground.
3. Always reset the computer whenever you adjust the TPS or clean/change any sensors. I just pull the battery lead for 10 minutes.
4. Check the procedure for your year, on my 90 I have to turn the idle screw until it just touches the tab, then insert a .010 feeler gauge and give it about one more turn. Then you adjust the TPS voltage to .98v, reset the computer. Start it up, if the idle is to low then turn the screw in until it is just right, then readjust the TPS voltage to .98v and reset the computer and start it up. The key is to adjust the TPS voltage and reset the computer whenever the idle screw is changed.
If setting the TPS doesn’t fix the problem, then you may have wiring problems.
With the power off, measure the resistance between the black/white wire and battery ground. You should see less than 1 ohm. Check the same black /white wire on the TPS and MAP sensor. More than 1 ohm there and the wire is probably broken in the harness between the engine and the computer. The 10 pin connectors pass the black/white wire back to the computer, and can cause problems.
See the following website for some help from Tmoss (diagram designer) & Stang&2Birds (website host)
http://www.veryuseful.com/mustang/tech/engine/images/88-91eecPinout.gif
See
http://fordfuelinjection.com/index.php?p=6 for more wiring help & 10 pin connector diagrams
Code 41 or 91 - O2 indicates system lean. Look for a vacuum leak or failing O2 sensor.
The computer sees a lean mixture signal coming from the O2 sensors and tries to compensate by adding more fuel. Many times the end result is an engine that runs pig rich and stinks of unburned fuel.
The following is a Quote from Charles O. Probst, Ford fuel Injection & Electronic Engine control:
"When the mixture is lean, the exhaust gas has oxygen, about the same amount as the ambient air. So the sensor will generate less than 400 Millivolts. Remember lean = less voltage.
When the mixture is rich, there's less oxygen in the exhaust than in the ambient air , so voltage is generated between the two sides of the tip. The voltage is greater than 600 millivolts. Remember rich = more voltage.
Here's a tip: the newer the sensor, the more the voltage changes, swinging from as low as 0.1 volt to as much as 0.9 volt. As an oxygen sensor ages, the voltage changes get smaller and slower - the voltage change lags behind the change in exhaust gas oxygen.
Because the oxygen sensor generates its own voltage, never apply voltage and never measure resistance of the sensor circuit. To measure voltage signals, use an analog voltmeter with a high input impedance, at least 10 megohms. Remember, a digital voltmeter will average a changing voltage." End Quote
Measuring the O2 sensor voltage at the computer will give you a good idea of how well they are working. You'll have to pull the passenger side kick panel off to gain access to the computer connector. Remove the plastic wiring cover to get to the back side of the wiring. Use a safety pin or paper clip to probe the connections from the rear. The computer pins are 29 (LH O2 with a dark green/pink wire) and 43 (RH O2 with a dark blue/pink wire). Use the ground next to the computer to ground the voltmeter.
Most of the common multimeters have a resistance scale. Be sure the O2 sensors are disconnected and measure the resistance from the O2 sensor body harness to the pins on the computer.
Note that all resistance tests must be done with power off. Measuring resistance with a circuit powered on will give false readings and possibly damage the meter. Do not attempt to measure the resistance of the O2 sensors, it may damage them.
The O2 sensor ground (orange wire with a ring terminal on it) is in the wiring harness for the fuel injection wiring. I grounded mine to one of the intake manifold bolts
If after fixing the above items, you still have idle problems, see the sticky "Help me create the Surging Idle Checklist" at the top of the forum for help with your idle problems. The first most contains all the updates to the fixes. I continue to update it as more people post fixes or ask questions.