I think it’s important to start at the beginning. There is about 100kPa of atmospheric pressure resting on us all the time. I think this is why I find it difficult to get out of bed in the morning. Due to this constant pressure any MAP sensor has to be able to read at least that much absolute pressure. Oh hello MPX4115AP, this is one of NXP’s 4000 series pressure sensors. The A means it measures absolute pressure, the P tells us that it has a port on it so we can attach a hose. Now for the really important part, 115 tells us that it can measure 115kPa, hmm that would be perfect for a non-boosted engine. Actually it reads from 15-115kPa and over that range outputs a linear analog signal from almost 0v to almost 5v. This is important as that means that it has a sensitivity of 46mV/kPa and it’s the sort of signal an Arduino can read.
So you have boost or think you’ll have boost in the future? No problem the most commonly used sensor is the MPX4250AP. It can read 20-250kPa of absolute pressure, and if you figure the atmosphere’s pressure maxes out at 110kPa, you are left with 140kPa of boost. That translates into 20PSI, in case you don’t feel like Googling that. Have even more boost?? Guess what? There is also an MPX4400AP that measures 20-400kPa that would allow 290kPa or 42PSI of boost!
So why not just use the 400kPa sensor all the time? Well three reasons come to mind. The first is availability, they are nearing the end of their lifecycle and are only stocked by a few distributors. Second, that first issue makes them cost more. Third an possibly most important is sensitivity. Because all the sensors work over a similar voltage range, whenever you widen the pressure range you decrease the sensitivity. Sensitivity for the 3 sensors are as follows: 115kPa=46mV/kPa, 250kPa=20mV/kPa, 400kPa=12mV/kPa.
Now with all that said it appears that the Arduino MEGA can handle 5mV increments. However if the sensitivity was 5mV/kPa then you would only be able to sense pressure in whole numbers, no fractions. Is that a problem? ¯\_(ツ)_/¯ The MPX4250AP offers the best compromise though. It’s the cheapest, most available variant, has decent sensitivity, and can handle a fair amount of boost.
3 thoughts on “A Few Words About MAP”
So it has been some time since this was written, and while the theory here still holds weight, there are some important details that were overlooked. Firstly the ADC (analog digital converter) on the Arduino MEGA is precise enough to see differences of less than 0.5kPa even with the 400kPa sensor. Secondly the firmware only uses whole number MAP readings. For example it is either 195kPa or 196kPa no 195.5kPa. So for these reasons the UA4C is now sold only with the 400kPa sensor. Some other boards the 400kPA is still optional. This is because they use a larger through hole sensor that cost more and the 400kPa version of that sensor series costs even more, and is nearing the end of its lifecycle. Soon they will probably not be available at all. (At the time of this writing none of the major distributors had any stock)
Sensitivity for the 3 sensors are as follows: 115kPa=46mV/kPa, 250kPa=20mV/kPa, 400kPa=12mV/kPa.
Isn’t it the other way around, bigger steps more mV with a wider sensor range.
Maybe i’m wrong.
Anyway just tell me if i’m wrong.
Best regards, Hasse.
Those values were taken directly from data sheets. Because the voltage range is fixed at 0-5v and the pressure range varies from 0-115, 250, 400kPa, as the kPa range increases the range of voltage that applies to each kPa value must decrease. At some point the micro controller cannot detect the variation in voltage well enough to tell the difference between 355kPa and 356kPa for example. I hope that helps clear it up.