You found the problem in your second sentence. 4.56 volts represents wide-open-throttle. As I mentioned in my previous reply, you must find around half a volt on the signal wire at idle.
The throttle position sensor is a "potentiometer" just like those used for volume controls in older tvs. The volume could be adjusted anywhere between "0" and maximum. The TPS works the same way but the range is 0.0 volts to 5.0 volts. The difference here is there are mechanical stops in the sensor that prevent it from going below 0.5 volts or above 4.5 volts. (Those two values are the standard values used when discussing electrical theory of operation. In actual practice no two sensors will be exactly alike and they'll reach different minimum and maximum voltages, but they'll be close). The point is the signal voltage will never reach 0.0 or 5.0 volts due to throttle position. It CAN reach those values due to a wiring problem, and that is what sets a fault code.
The easier one to understand is if there's a break in the 5.0 volt supply. That can be a cut wire, a stretched terminal in the connector, or a break inside the sensor. With no 5.0 volts, you'll only see 0.0 volts everywhere along the carbon strip inside the sensor, so you'll always see 0.0 volts on the signal wire, regardless of its position. Less obvious is when you're missing the ground wire due to the same three potential causes. You'll have 5.0 volts at every point on the carbon strip so you'll have 5.0 volts on the signal wire, regardless of throttle position. 0.0 volts will set the code "TPS voltage too low". 5.0 volts will set the code "TPS voltage too high".
Not to confuse the issue, but even harder to understand is a break in the signal wire. The same three things can happen, but for the sake of this sad story, lets say the wire is cut. You'll still read the correct signal voltage at the sensor and on that wire all the way up to the break, but after the break, on the wire leading to the computer, you'll see 5.0 volts. If you'd connect a scanner to view live data, it would also show 5.0 volts for the TPS, regardless of how much you pressed the accelerator pedal. This will throw most people, even those who understand electrical theory very well.
Inside the computer that signal wire feeds a lot of circuitry before the computer sees it and acts on it. Due to all that circuitry, the voltage coming back out on that cut signal wire could "float" to some random value and it would bounce around all over. As long as those random voltages stayed between 0.5 and 4.5 volts, the computer would accept it as normal, and it would interpret it as how much the throttle is opened. If the throttle was at idle, with 0.5 volts on the sensor's signal wire, and the voltage in the computer floated to, ... Lets say 3.2 volts, the computer would think more fuel is needed.
Besides throttle position, the computer also knows direction of throttle change and rate of change. Snapping the throttle open causes an instant increase in air flow, but it takes a bigger change in momentum to get gas flow to speed up, so older cars used an accelerator pump on the carburetors. Here, based on the rate of signal voltage change, the computer simply requests more fuel by holding the injectors open for longer pulses.
The computer is also firing ignition coils and injectors, and those currents can cause voltage spikes. All of these circuits are tied together, so all those pulses, along with turning on a radiator fan relay, looking at cruise control switch settings, and dozens of other things, all of those changing voltages can influence what the TPS voltage floats to.
This is a case of when someone says their engine runs better when they disconnect a sensor. If the TPS voltage was allowed to float to some random value and the computer tried to run the engine on those values, the amount of fuel commanded would constantly be wrong. By unplugging the sensor, or when the ground or 5.0 volt feed wire are broken, the voltage WILL go to 0.0 or 5.0 volts which are unacceptable conditions. The computer will set the appropriate fault code, and it will know it can't rely on that sensor's readings. Instead, it will inject an approximate value that it has calculated by looking at all the other operating conditions and sensor values. For example, it knows engine speed, and at 2000 rpm, it expects the throttle to be open about one third of the way so it might inject 1.5 volts.
All of this is background for this next item. To prevent the signal voltage from floating to some random value, there is a "pull-up" resistor in the computer. That resistor is so big electrically that it has no effect on the circuit whatsoever, that is until the signal wire is cut. The pull-up resistor is connected to the 5.0 volt supply in the computer. When the signal wire is broken, (or the TPS is disconnected), voltage appears on the computer's TPS terminal through that resistor. The computer sees 5.0 volts and recognizes that as an unacceptable condition so it sets the code "TPS voltage too high", but it doesn't know why it's too high. That's why fault codes never say to replace parts. They only indicate the circuit that needs further diagnosis.
Also, as a point of interest, a "pull-down" resistor can be used the same way. It is connected to ground, so if the signal wire is broken, the computer will see 0.0 volts which is also an unacceptable condition and will trigger a fault code.
All of this brings me to the next problem. I'm not sure I followed exactly what you found on the signal wire as far as it going down to 4.1 volts. You never found it near 0.5 volts which it should have been at idle. A break in the ground circuit would send 5.0 volts down the signal wire. A break in the signal wire would result in 5.0 volts at the computer but you would see the correct 0.5 to 4.5 volts at the sensor. You found excessive voltage but not the full 5.0 volts. I can see how that could happen inside a TPS but that would not be a common failure.
Instead, what I'd like you to do is turn on the ignition switch, remeasure the voltage on the signal wire, then unplug the sensor and measure that signal wire again. With it unplugged, if you find anything other than 5.0 volts, we have to think on it. Next, look at those three terminals to see if they're corroded or stretched. I have a feeling the ground terminal or the signal terminal is not making good contact with the pin in the sensor.
If you look at code 601, it doesn't say the TPS voltage is too high or low, it just says "malfunction". That might be because the signal voltage is still below 4.5 volts but the computer knows it can't be right. Even 4.1 volts represents close to wide-open-throttle. If the engine really was running that fast, the rpm signals would be a lot higher and the MAP sensor, which measures intake manifold vacuum, would be a lot lower. Those don't agree with throttle position signal voltage, and that is likely why this code set.
Tuesday, November 13th, 2018 AT 6:06 PM