# What is the purpose of the ground in this diagram?

I'm trying to read a throttle position sensor with my Arduino Mega. This is the schematic for a normal TPS. It's a basic potentiometer.

(source: autolabscopediagnostics.com)

However, this particular TPS only has 2 pins coming out. There's no ground, there's just the 5 volt reference and the signal return. I have one pin hooked up to the 5Volts on my Arduino and the other hooked up to an analog pin, which I am reading with analogRead. I'm getting strange readings at different positions. At position zero, it jumps around at around 300. As soon as I turn the sensor at all, it automatically jumps to 1023 and stays there.

What is the point of the ground in that diagram? What am I missing here, and how does that tie in to the odd TPS readings?

• Datasheet says? Oct 18, 2016 at 0:09
• Which datasheet? @IgnacioVazquez-Abrams Oct 18, 2016 at 0:12
• @IgnacioVazquezAbrams I doubt that a public datasheet is available for some random car part.
– jms
Oct 18, 2016 at 0:17
• Are you sure that the case isn't the ground for this sensor?
– user39382
Oct 18, 2016 at 0:22
• The ground connection provides a zero volt reference for one end of the sensor potentiometer. With the ends of the sensor pot connected to zero/ground and +5 volts, the sensor can output a voltage between 0 and 5 volts proportional to the throttle position. Oct 18, 2016 at 0:23

A proper 3-terminal TPS is a potentiometer. It produces some proportional voltage between ground and the reference voltage at the top (5V or whatever) A linear pot will output a voltage proportional to the distance between ground and the top.

But if you have only two terminals, then you only have a variable resistance (or you could call it a rheostat). You could kludge a way to read your rheostat by first measuring the total resistance of the rheostat, and then selecting a "pull-down" resistor to "work against" the variable resistance in your rheostat TPS. You must know the TPS resistance in order to select an appropriate value for a pull-down resistor.

As @duskwuff comments, it is possible that it is a 3-terminal part, with the three terminals being the 2 pins and the case. Some metal component of the case may have a screw hole with an ground marking nearby.

Simple resistance measurements will tell you if this is true : if there is a fixed resistance from the "+V" terminal to this ground point, and a variable resistance between the wiper and gnd, then you just need a wire from the Gnd terminal to your Arduino's 0V.

It could be a 3 pin TPS or more likely a mistaken logic diagram for a 2 pin TPS unless case grounded.

My educated guess is a 2 pin TPS will have a fixed load R to ground so that a bridge voltage can be measured relative to some stable Vref. But there is NO STD.

I believe loss of contact is zero throttle and internal short is full throttle !!

Take a look at some defective TPS waveforms here and notice the 0 throttle voltage above ground. http://autolabscopediagnostics.com/tps.html

simulate this circuit – Schematic created using CircuitLab

• Either that or whatever box the TPS connects to has a current source which feeds a constant current to the TPS, and the voltage drop over the (variable) resistance is then sensed.
– jms
Oct 18, 2016 at 0:48
• there may be many ways to do it, but the real examples shown are not very linear or consistent. Oct 18, 2016 at 2:07