Manifold Absolute Pressure Sensors – Early Mopar MPI

There are lots of stories an old Jeep can tell. Ours is no exception. Given that it lives in urban AZ today, getting it past the required IM147 smog inspection (required every 2 years) can be a challenge, despite careful upkeep. That’s certainly the case this cycle, and I’ll have more to discuss later, when I work out a few things. This post describes one sensor check.

This XJ has an OBD-I Mopar MPI setup, some call this an “H.O.” injection setup, as opposed to the Bendix-Renault setup that Jeep had as part of their AMC legacy, before Chrysler bought AMC. Not certain, but I think the HO OBD-I MPI setup ran from 1991-1995, after which it went to OBD-II. Ours is 1994.

In any case, there’s a lot less information available for troubleshooting an OBD-I system than for later OBD-II systems. Therefore, checking sensors is a common problem, without a lot of supporting information to help. That’s something I want to try to fix.

The (M)anifold (A)bsolute (P)ressure Sensor

Fuel control for electronic fuel injection requires a number of sensor inputs. A key sensor input is the MAP sensor, telling the ECU how much air pressure exists in the intake manifold (We think of this as a vacuum, and in a non-boosted engine, it is. Strictly speaking, it is a pressure, just one that is less that the external air pressure unless air is pumped in somehow). The ECU reads manifold pressure from the MAP sensor, combines this throttle position and load in order to compute a mass airflow, corrected for density with information from the IAT sensor. That allows it to compute an appropriate fuel flow, which can be fine-tuned with the oxygen sensor whenever the ECU is running closed-loop (idle, steady cruise).

If the MAP sensor misbehaves, or gets a false pressure indication (e.g. Vacuum leak), then it’s going to report an incorrect pressure, and the fuel delivery will be “off”…garbage in, garbage out. Knowing what it’s telling the ECU then becomes important.

But, there’s not a lot of data to support diagnosis. The Mopar FSM says that the MAP sensor should report 1.5-2V on the “B” pin at hot idle. Without their scan tool, it’s hard to know more.

The Delphi 1-Bar MAP Sensor

…is what I think is used here. It was once common for non-boosted engines, and I’m reasonably sure it’s what Chrysler used in this application.

Inside, it uses a small silicon diaphragm balanced against a sealed vacuum on one side. Air pressure distorts the diaphragm; this can be measured. The sensor is supplied 5V plus a ground, and the measured pressure is output as a voltage on the center pin. This voltage feeds manifold pressure to the ECU.

Information on them is scattered around the internet, but the most useful data I found came from here. Notice that he references the 2 and 3 bar sensors, but there is still useful data on the 1-Bar sensor here, reproduced in this table:


The second and third columns are what we really care about, showing the output voltage for a given pressure. If our sensor doesn’t match this curve, then we can suspect a problem. (Also note that error band data for the 1-Bar sensor is missing, this would be useful to know). It appears to be basically linear.

So, we can just hook up a vacuum source and meter and test it, right?

Basically, yes, but there are a few things to watch for.

  1. Pressures here are given in Kilopascals. A gauge may be marked in inches of mercury, if so, you’ll have to apply a conversion factor.
  2. The sensor measures against near-vacuum. You may have difficulty pumping this low. Also, you’re not likely to have 105kPa surrounding air pressure at your test location. Unless you’re at sea level, it is likely to be less than this, and this has to be factored into your measurement.
  3. The ground connection at the sensor is “sensor ground”; it may not be exactly the same as the other grounds in the system. You may be able to ground to the engine block and get away with it, but the ground at the sensor is the correct one to measure against.
  4. A cheap gauge is likely to have some error. Just be aware of this.

With this, I collected and interspersed some data from my own sensor just to see if it was relatively close to what was published. Here’s what I came up with:

Pressure Pressure Delphi Sensor
kPa inHg Reference Under Test
105.0 31.01 5.00
100.0 29.53 4.75
97.4 28.76 4.68
96.0 28.35 4.50
91.0 26.87 4.25
88.9 26.26 4.06
86.0 25.40 4.00
81.0 23.92 3.75
80.5 23.76 3.72
77.1 22.76 3.60
77.0 22.74 3.50
73.7 21.76 3.36
72.0 21.26 3.25
70.3 20.76 3.19
67.0 19.79 3.00
66.9 19.76 3.05
63.5 18.76 2.86
62.0 18.31 2.75
60.1 17.76 2.70
58.0 17.13 2.50
56.8 16.76 2.50
53.4 15.76 2.40
53.0 15.65 2.25
50.0 14.76 2.10
48.0 14.17 2.00
46.6 13.76 1.90
43.2 12.76 1.76
43.0 12.70 1.75
39.8 11.76 1.55
39.0 11.52 1.50
36.4 10.76 1.28
34.0 10.04 1.25
33.1 9.76 1.15
29.7 8.76 1.02
29.0 8.56 1.00
26.3 7.76 0.85
24.0 7.09 0.75
22.9 6.76 0.74
20.0 5.91 0.50
19.5 5.76 0.42
16.1 4.76 0.30
15.0 4.43 0.25
12.7 3.76 0.10
10.0 2.95 0.00

Which, looks as if it lines up pretty well, really. Depicted graphically:


Which looks reasonable to me. Error band information would be useful, but I don’t see any glaring exceptions here.

“Redneck Test Methodology”

Note that my data starts at 97.4 kPa, not 105. Why?

Effectively, that was the local air pressure in my shop that day. Remember, the sensor is comparing the air pressure at the sense port against an ideal internal vacuum. That translates into a voltage that’s representative of the sensed pressure. Without any applied vacuum, it’s just a voltage that corresponds to the local air pressure. 105kPa would have to be very near sea level pressure (maybe even slightly below).

Two factors will affect the local air pressure:

  1. Altitude
  2. Weather

If you know both, you can compute the correction factor for your local elevation.

First, check your local weather for a nearby barometric pressure. As published, this pressure is relative to sea level, the actual pressure will be less than this at your elevation. We need to know this to start. In the U.S., this is likely to be expressed in inches of mercury, other nations will likely use a metric measure.

Once we know this weather-specific value, we can reduce it to the local pressure by subtracting the difference for altitude. This change in pressure is a slight curve, but at low altitudes, we can use a simple linear rule-of-thumb and get away with the approximation in most cases. That rule of thumb is: 1″ of mercury reduction for each 1000′ of altitude.

At the time of my test, the pressure was reported at 30.15″. My shop is approximately 1390′ above sea level. Using this rule of thumb, the pressure decrease for my altitude is 1.39″, so 30.15 – 1.39 = 28.76″ of mercury at my location. This is the highest pressure I could read that day, and each inch of vacuum I applied to the sensor with my hand pump (which is calibrated in inches of mercury of vacuum) would reduce the pressure on the sensor by that amount.

(Keep in mind that the vacuum gauge on your pump is comparing the difference between the pumped pressure and the external air pressure, or zero if not connected to anything.)

Using the same process, you should be able to use a small hand pump yourself and confirm if your MAP sensor is telling the truth, or if it has degraded for some reason.

By the way, ours appears to idle at around 16-18″ of vacuum under these conditions, with no identified vacuum leaks. That calculated to a MP of 12.76-10.76, or right around 1.5V at the sensor. (Hooked to an oscilliscope, you can even see the intake pulses in the sensor output).

Mine looks to be reasonably close to spec, using this test method. That suggests my problem is elsewhere, and that will be the basis for another post…

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s