P0123 - Throttle/Pedal Position Sensor/Switch A Circuit High Input
P0158 - Oxygen Sensor Circuit High Voltage (Bank 2 Sensor 2)
If you have access to a scanner, the first thing to do is see what voltage is shown for the throttle position sensor. That type of sensor is fed with 5.0 volts and ground, (which is actually at 0.2 volts, not 0.0 volts). The movable wiper inside has mechanical stops that limit its travel to between 0.5 and 4.5 volts. (Those are approximate and are used for explaining theory of operation. In actual practice you might find.72 to 4.2 volts, for example). The point is, you'll never be able to get to 0.0 volts at idle or 5.0 volts at wide-open-throttle. The only way to reach either of those voltages is to have a break in one of the three circuits. Normally we would perform one or three voltages tests first, then replace the sensor once everything else is ruled out, but since you already replaced it, we know that isn't where the break is. It has to be in one of the wires or a corroded terminal in the connector.
When the scanner shows 5.0 volts for the TPS signal voltage, which is what triggers this fault code, the next test is to measure the actual voltage at the sensor to see if it agrees with what the Engine Computer and scanner are seeing. This voltage test is only valid when the sensor is plugged in so you'll have to back-probe through the rubber weather-pack seal to take the reading. A stretched-out paper clip makes a nice probe. It's the center wire you're after. If you find between 0.5 and 4.5 volts, depending on throttle position, it's a waste of time to measure on the other two wires. That acceptable range of voltage can only occur if the 5.0 volt feed circuit, the ground circuit, and the sensor are okay.
Now, that's not to say there can't be an intermittent problem that isn't acting up during your test, but we can discuss that more later if it becomes necessary.
There's two ways to get 5.0 volts on the signal wire. One is if there's a break in the ground circuit. If the break is in the wire, you'll measure 5.0 volts when back-probing the sensor's connector. If the break is inside the sensor, you'll have the proper 0.2 volts at the connector. The signal wire is a different story. With a break in the wire or inside the sensor, the voltage seen by the computer can "float" to some random value due to all the other interconnected circuitry inside the computer. To prevent that, they use a "pull-up" resistor to force the voltage to go to 5.0 volts which is a the defective state that tells the computer to set this fault code. That pull-up resistor is so huge electrically that it has no effect on the circuit when it's working properly. This is where, if the break is in the signal wire, you'll measure the normal range of voltage at the sensor's connector, 0.5 to 4.5 volts, while the scanner will show that the computer is seeing 5.0 volts. Without a scanner, it's impossible to know what the computer is seeing.
The oxygen sensor code is unrelated to the TPS code, so lets solve this one first.
Monday, October 5th, 2015 AT 9:46 PM