Air presure sensor (mpx5700dp)

Thread Starter

28sya

Joined Jun 13, 2020
20
How does air pressure sensor (mpx5700dp) works? How to read the data from the sensor? Using pin 1 (Vout)? Does port 1 give output at pin 4 (V1) and port 2 give output at pin 5 (V2)?
 

Attachments

"They" hid the transfer function of Vout in Figure 2. The other issue is that the transfer function assumes Vs = 5 V. In the real world Vs varies. This sensor is "ratiometric" to the supply voltage at the time of the measurement.
 

ericgibbs

Joined Jan 29, 2010
12,884
hi 28,
The output voltage is between pin #1 Vout and pin #2 Gnd.

You have the the power supply connected to pin #3 +5vin and 0V also on pin #2 Gnd.
OK.?
Pins 4,5,6 are NOT used.
E
 

Thread Starter

28sya

Joined Jun 13, 2020
20
hi 28,
The output voltage is between pin #1 Vout and pin #2 Gnd.

You have the the power supply connected to pin #3 +5vin and 0V also on pin #2 Gnd.
OK.?
Pins 4,5,6 are NOT used.
E
So does it mean my raw data from the sensor at pin 1(Vout) only if i connect to arduino? Why pins 4, 5 & 6 cannot used?
 

ericgibbs

Joined Jan 29, 2010
12,884
hi 28,
Pins 4,5,6 are probably used by the manufacturer in calibrating the device.

The 0v to +5Vout could be connected to an Arduino analog input pin. or if required a OPA amplifier , to give 5V to the Arduino analog pin, if the span of the signal voltage needs to be increased.
E

Correction Edit.
AAA 953 15.42.gif
 
Last edited:
You cant read the ports separately.

Remember that relative pressure is less that ~14.7 PSI at sea level and the actual value depends on altitude. The weather bureau report barometric pressure normalized to sea level in your local unit. In the US mm of mercury. Put mercury in a dish, add a capilary tube and measure how far it went up the tube.

Absolute pressure is where 0 is a perfect vacuum. The air in out tires is referred to as gauge pressure or the difference in the absolute pressure of the air minus the absolute pressure of the tire. It's done, by exposing one side of the sensor to the outside air, not electrically.

Absolute pressure is a wierd concept. KiloPascals is a wierd unit.

I always wondered why there were so many bolts on say an 8" port on a vacuum system. With like 1e-5 torr on one side and atmospheric pressure on the other, your looking at something like 800 lbs of force on that flange. So, don;t check for a vacuum with your finger.
 

Thread Starter

28sya

Joined Jun 13, 2020
20
You cant read the ports separately.

Remember that relative pressure is less that ~14.7 PSI at sea level and the actual value depends on altitude. The weather bureau report barometric pressure normalized to sea level in your local unit. In the US mm of mercury. Put mercury in a dish, add a capilary tube and measure how far it went up the tube.

Absolute pressure is where 0 is a perfect vacuum. The air in out tires is referred to as gauge pressure or the difference in the absolute pressure of the air minus the absolute pressure of the tire. It's done, by exposing one side of the sensor to the outside air, not electrically.

Absolute pressure is a wierd concept. KiloPascals is a wierd unit.

I always wondered why there were so many bolts on say an 8" port on a vacuum system. With like 1e-5 torr on one side and atmospheric pressure on the other, your looking at something like 800 lbs of force on that flange. So, don;t check for a vacuum with your finger.
Can you suggest the best way to test the sensor to ensure it work correctly?
 
You will need:
Actual power supply voltage
Vout
The transfer function.
A source of known pressure from 0 to 100 PSI applied to the correct port. One port (in the datasheet) has to have the higher pressure. 200 mm Hg is 2.87 PSI. That's a quick and dirt calibration source and meter. normal BP is 120/80.

This table and your elevation: https://www.mide.com/air-pressure-at-altitude-calculator would be needed if you had an absolute pressure sensor and were trying to measure barometric pressure.

With nothing connected, it's going to read close to zero. You have zero differential pressure. You could blow into the correct port and see if the value changes. A manual blood pressure (mm of Hg) cuff could give you low pressures.

I don't think you need the altitude numbers, because with the correct port at atmosphere, you will read guage pressure.

This https://www.walgreens.com/store/c/w...table-blood-pressure-kit/ID=300405339-product goes up to 300 mm of Hg.

Another way is to have a compressor constantly running with a bleed or fill a tank with a bleed with an external gauge.

Those are my thoughts.
 

djsfantasi

Joined Apr 11, 2010
7,689
Go to an ocean beach and check the weather report for the air pressure. Measure with the sensor.

Then drive to the top of the highest mountain you can with a weather observatory and stop in at the observatory to find the air pressure. Measure also with your sensor.

Compare the results.

You can do this in New England going from sea level to 6,288.2 ft in about three hours. There’s about 3” difference in the mercury levels.
:rolleyes:
 

Thread Starter

28sya

Joined Jun 13, 2020
20
hi 28,
Pins 4,5,6 are probably used by the manufacturer in calibrating the device.

The 0v to 1Vout could be connected to an Arduino analog input pin. or if required a OPA amplifier of a Gain of 5, to give 5V to the Arduino analog pin.
E
View attachment 226533
I'm trying to connect the sensor to arduino but i don't know whether my coding is correct to do conversion from analogRead to kPa. Can you please check the coding?

air pressure sensor:
int rawADC;
float sensorValue;
float pressureValue;


void setup ()
{
 Serial.begin(9600);
}

void loop()
{
 rawADC = analogRead(A0); // raw data
 sensorValue = (float) rawADC * 5.0 / 1024.0; // raw data convert to volt
 pressureValue = (sensorValue - 0.2) / 4.5 * 700.0; // sensor-offset = 0.2V, voltage range = 4.5V, pressure range = 700kPa, pressure = mV/kPa
 
 
  // print out the value you read:
  Serial.print("Raw value:");
  Serial.println(rawADC);

  Serial.print("Sensor value:");
  Serial.print(sensorValue);
  Serial.println ("V");
 
  Serial.print("Air pressure: "); 
  Serial.print(pressureValue);
  Serial.println(" kPa");
 

  delay (1000);
}
Or i should use the formula from the datasheet Vout = Vs*(0.0012858*P+0.04)?
 

ericgibbs

Joined Jan 29, 2010
12,884
hi 28,
In order to check the current local pressure and the voltage output from the sensor, log into your local weather station.
It will most likely display the local barometric pressure, this is the method I and others use to get local datum point pressure.
Note the the voltage output and that pressure.
Note the value of the Vss supply voltage, it should be close to +5v

Please post what those values are.

Check your project

E

I will set up an Arduino and variable pot for a test, if you get stuck


Added:
My local data for today from the web.
 

Attachments

Last edited:
Solve the transfer function for P.
Use a voltmeter
Measure Vout
Measure Vsupply

Where '5' appears in the transfer function, you will eventually have to substitute (5*Vsupply/5). This is what ratiometric means.

With the A/D's reference = to the power supply voltage, see what you need to do to massage the value into the (5*Vsupply/5) form.

I still suspect that with a differential sensor, ports unconnected, , the answer will always be near zero within the error bars.
 

Thread Starter

28sya

Joined Jun 13, 2020
20
hi 28,
Running your Arduino code , I get this plot.
It is varying because I need to attach a pot to the Analog pin. [ later ]

Is this the data from the sensor by running my codes in the arduino? If yes, why I get a small values for my data, sometimes the kpa reach until negative values & what does pot means?
 
Top