XGZP6847A Pressure Sensor Module

Thread Starter

ihebz

Joined May 17, 2022
10
heyyy guys i got a question about this sensor.. i need to measure negative pressure around -95KPA and i was reading the converting voltage to pressure part and i didn't understand the yellow line down here




sensorz.PNG
 

Reloadron

Joined Jan 15, 2015
7,523
All they are telling you as an example you can have 0 to 101 kilopascals = 0.5 to 4.5 volts or you can have 101 kilopascals to 0.0 kilopascals = 0.0 to 4.5 volts.

Note on the chart the reference is atmosphere. There is no such thing as negative pressure. It's about a point of reference. So what we get is:
Standard sea-level pressure, by definition, equals 760 mm (29.92 inches) of mercury, 14.70 pounds per square inch, 1,013.25 × 103 dynes per square centimeter, 1,013.25 millibars, one standard atmosphere, or 101.325 kilopascals.

So is we figure atmospheric pressure = 101.325 kilopascals and anything below that is below atmospheric pressure. We could say a vacuum but it is still above zero. Atmospheric pressure is constantly changing along with the weather or altitude above mean sea level. There is no negative pressure since we start with 101 kilopascals. Once we get down to 0.0 there is no lower.

All the highlighted line is telling you is the sensor can be scaled in either direction with an output either proportional or inversely proportional to pressure.

Ron
 
Last edited:

Thread Starter

ihebz

Joined May 17, 2022
10
All they are telling you as an example you can have 0 to 101 kilopascals = 0.5 to 4.5 volts or you can have 101 kilopascals to 0.0 kilopascals = 0.0 to 4.5 volts.

Note on the chart the reference is atmosphere. There is no such thing as negative pressure. It's about a point of reference. So what we get is:
Standard sea-level pressure, by definition, equals 760 mm (29.92 inches) of mercury, 14.70 pounds per square inch, 1,013.25 × 103 dynes per square centimeter, 1,013.25 millibars, one standard atmosphere, or 101.325 kilopascals.

So is we figure atmospheric pressure = 101.325 kilopascals and anything below that is below atmospheric pressure. We could say a vacuum but it is still above zero. Atmospheric pressure is constantly changing along with the weather or altitude above mean sea level. There is no negative pressure since we start with 101 kilopascals. Once we get down to 0.0 there is no lower.

All the highlighted line is telling you is the sensor can be scaled in either direction with an output either proportional or inversely proportional to pressure.

Ron
All they are telling you as an example you can have 0 to 101 kilopascals = 0.5 to 4.5 volts or you can have 101 kilopascals to 0.0 kilopascals = 0.0 to 4.5 volts.

Note on the chart the reference is atmosphere. There is no such thing as negative pressure. It's about a point of reference. So what we get is:
Standard sea-level pressure, by definition, equals 760 mm (29.92 inches) of mercury, 14.70 pounds per square inch, 1,013.25 × 103 dynes per square centimeter, 1,013.25 millibars, one standard atmosphere, or 101.325 kilopascals.

So is we figure atmospheric pressure = 101.325 kilopascals and anything below that is below atmospheric pressure. We could say a vacuum but it is still above zero. Atmospheric pressure is constantly changing along with the weather or altitude above mean sea level. There is no negative pressure since we start with 101 kilopascals. Once we get down to 0.0 there is no lower.

All the highlighted line is telling you is the sensor can be scaled in either direction with an output either proportional or inversely proportional to pressure.

Ron
What is the part number for the sensor? We want to read the entire data.
i'am trying to read -95kpa
 

Thread Starter

ihebz

Joined May 17, 2022
10
All they are telling you as an example you can have 0 to 101 kilopascals = 0.5 to 4.5 volts or you can have 101 kilopascals to 0.0 kilopascals = 0.0 to 4.5 volts.

Note on the chart the reference is atmosphere. There is no such thing as negative pressure. It's about a point of reference. So what we get is:
Standard sea-level pressure, by definition, equals 760 mm (29.92 inches) of mercury, 14.70 pounds per square inch, 1,013.25 × 103 dynes per square centimeter, 1,013.25 millibars, one standard atmosphere, or 101.325 kilopascals.

So is we figure atmospheric pressure = 101.325 kilopascals and anything below that is below atmospheric pressure. We could say a vacuum but it is still above zero. Atmospheric pressure is constantly changing along with the weather or altitude above mean sea level. There is no negative pressure since we start with 101 kilopascals. Once we get down to 0.0 there is no lower.

All the highlighted line is telling you is the sensor can be scaled in either direction with an output either proportional or inversely proportional to pressure.

Ron
i mean the reverse thing is it customized by the manufacture
 

Reloadron

Joined Jan 15, 2015
7,523
i mean the reverse thing is it customized by the manufacture
You posted a chart and that's all. Less a part number specific data sheet I doubt anyone will be able to tell you much about the sensor. I can tell you that the output can apparently be scaled to be proportional or inversely proportional to sensed pressure. That is what the line on top tells you.

You can't just say -95 kilopascals. You need a point of reference. I assume -95 kilopascals referenced to atmosphere since you don't mention absolute pressure. Note on the chart where they mention atmospheric pressure? The charts cover several gauges, you likely want the 0 to 100 kilopascal one or referenced to atmosphere 0 to -100. Less a data sheet I have no idea as to how the output can be scaled. Less a link to manufacturer and data sheet nothing else can be said.

I also cannot find the part?

Ron
 

Thread Starter

ihebz

Joined May 17, 2022
10
You posted a chart and that's all. Less a part number specific data sheet I doubt anyone will be able to tell you much about the sensor. I can tell you that the output can apparently be scaled to be proportional or inversely proportional to sensed pressure. That is what the line on top tells you.

You can't just say -95 kilopascals. You need a point of reference. I assume -95 kilopascals referenced to atmosphere since you don't mention absolute pressure. Note on the chart where they mention atmospheric pressure? The charts cover several gauges, you likely want the 0 to 100 kilopascal one or referenced to atmosphere 0 to -100. Less a data sheet I have no idea as to how the output can be scaled. Less a link to manufacturer and data sheet nothing else can be said.

I also cannot find the part?

Ron
https://www.micros.com.pl/mediaserver/CZ_XGZP6867a010kpg_0001.pdf
 

Reloadron

Joined Jan 15, 2015
7,523
Well alright now we have a data sheet. The way this is worded:
" (Output can be calibrated to reverse line with pressure, e.g.-100~0kPa correspond with 4.5~0.5V) "

What I believe since there is no mention of it is that if reading the output with a uC (Micro-Controller) the display can be calibrated using a software solution.

You want to read -95 kilopascals based on atmospheric pressure so you want the part number XGZP6867A100KPGN which measures from atmosphere 0 down to -100 kilopascals. That would be my choice since you are not interested in pressure above atmosphere. The data sheet mentions " Output Signal(A: Analog(0.5-4.5V) D:I2C) " but I see no information for the I2C output version? Matters not if you just want the analog output. It's an 8 pin package but only 3 pins are used. WE have Vcc, GND and Signal out. The data sheet is pretty basic.

How were you planning to measure the output and convert the analog signal to units of measure in kilopascals?

Ron
 

Thread Starter

ihebz

Joined May 17, 2022
10
Well alright now we have a datasheet. The way this is worded:
" (Output can be calibrated to reverse line with pressure, e.g.-100~0kPa correspond with 4.5~0.5V) "

What I believe since there is no mention of it is that if reading the output with a uC (Micro-Controller) the display can be calibrated using a software solution.

You want to read -95 kilopascals based on atmospheric pressure so you want the part number XGZP6867A100KPGN which measures from atmosphere 0 down to -100 kilopascals. That would be my choice since you are not interested in pressure above the atmosphere. The datasheet mentions " Output Signal(A: Analog(0.5-4.5V) D: I2C) " but I see no information for the I2C output version? Matters not if you just want the analog output. It's an 8-pin package but only 3 pins are used. WE have Vcc, GND, and Signal out. The datasheet is pretty basic.

How were you planning to measure the output and convert the analog signal to units of measure in kilopascals?

Ron
sorry for the late response I'm trying to measure that pressure (-95kpa) using an Arduino card and the software LabVIEW m going to use the convert equation y=xm+b
y is the pressure
x voltage
but I don't know if it is available to read that from the sensor or it gotta be customized
 

Reloadron

Joined Jan 15, 2015
7,523
I can't speak for using LabView as it's been years.

However using an Arduino is easy enough. You want to use a map function in your code. OK, lets look at things a few ways. The sensor has a pressure range. The unit I suggest has a range of -100 kpa = 0.5 volts out and 0.0 kpa = 4.5 volts out. Using for example an Arduino Uno Rev 3 and using an analog input channel the uC is a 10 bit analog to digital conversion. Therefore with a nominal 5.0 volt A/D reference using for example input A0 we will see 0 to 5.0 volts in becomes 0 to 1023 bits. Since 5.0 volts = 1024 bits (0 is a bit so we get 1024 counts) we can figure 5/1024 = 4.88 mV steps. So you have 0.5 volts / 0.00488 = 102.45 bits for 0.5 volts and 4.5 / 0.00488 = 922.13 bits so lets just say 102 bits to 922 bits is your 0.5 to 4.5 volt input or -100 to 0.0 kpa. If you want to reverse things use the MAP function in your code. This is what Y=MX+B is all about, it's a straight line equation. If you want an Arduino code sample for what you want to do I'll write one.

Ron
 

Reloadron

Joined Jan 15, 2015
7,523
Since I plan to be out of town for the holiday weekend here in the US I will leave you with a basic code sample written using an Arduino Uno Rev 3. Both samples use the map function.

Code:
// number of analog samples to take per reading
#define NUM_SAMPLES 10

int sum = 0;                    // sum of samples taken
unsigned char sample_count = 0; // current sample number
float voltage = 0.0;            // calculated voltage
float pressureValue = 0.0;
void setup()
{
    Serial.begin(9600);
}

void loop()
{
    // take a number of analog samples and add them up
    while (sample_count < NUM_SAMPLES) {
        sum += analogRead(A0);
        sample_count++;
        delay(10);
    }
    // calculate the voltage
    // use 5.0 for a 5.0V ADC reference voltage
    // 4.950V is the calibrated reference voltage
    voltage = ((float)sum / (float)NUM_SAMPLES * 4.950) / 1024.0;
  
    //Map the Analog In Value
    pressureValue = map(voltage, 0.5, 4.5, -100, 0);
    //Serial.print(voltage);
    Serial.print(voltage);
    Serial.println("  Volts");
    Serial.println("");
    Serial.print(pressureValue);
    Serial.println("  Kilopascals");
  
    sample_count = 0;
    sum = 0;
  
    delay(500);
}
The short version I found. :)

Code:
// number of analog samples to take per reading
#define NUM_SAMPLES 10

int sum = 0;                    // sum of samples taken
int sensorPin = A0;  // Select Sensor Input Pin
int sensorValue = 0;
unsigned char sample_count = 0;   // current sample number
//float sensorPin = 0.0;            // Calculated Sensor Value
float pressureValue = 0.0;        // Calculated Sensor Value

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

void loop()
{
    // take a number of analog samples and add them up
    while (sample_count < NUM_SAMPLES) {
        sum += analogRead(A0);
        sample_count++;
        delay(10);
    }
    //Map the Analog In Value
    pressureValue = map(analogRead(0), 102, 922, -100, 0);

    Serial.print (pressureValue);
    Serial.println ("  Kilopascals"); //Line Feed
    Serial.println(); //Blank Line
    
    sample_count = 0;
    sum = 0;
    pressureValue = 0;
    
    delay(500);
}


Ron
 
Last edited:

Thread Starter

ihebz

Joined May 17, 2022
10
Since I plan to be out of town for the holiday weekend here in the US I will leave you with a basic code sample written using an Arduino Uno Rev 3. Both samples use the map function.

Code:
// number of analog samples to take per reading
#define NUM_SAMPLES 10

int sum = 0;                    // sum of samples taken
unsigned char sample_count = 0; // current sample number
float voltage = 0.0;            // calculated voltage
float pressureValue = 0.0;
void setup()
{
    Serial.begin(9600);
}

void loop()
{
    // take a number of analog samples and add them up
    while (sample_count < NUM_SAMPLES) {
        sum += analogRead(A0);
        sample_count++;
        delay(10);
    }
    // calculate the voltage
    // use 5.0 for a 5.0V ADC reference voltage
    // 4.950V is the calibrated reference voltage
    voltage = ((float)sum / (float)NUM_SAMPLES * 4.950) / 1024.0;
 
    //Map the Analog In Value
    pressureValue = map(voltage, 0.5, 4.5, -100, 0);
    //Serial.print(voltage);
    Serial.print(voltage);
    Serial.println("  Volts");
    Serial.println("");
    Serial.print(pressureValue);
    Serial.println("  Kilopascals");
 
    sample_count = 0;
    sum = 0;
 
    delay(500);
}
The short version I found. :)

Code:
// number of analog samples to take per reading
#define NUM_SAMPLES 10

int sum = 0;                    // sum of samples taken
int sensorPin = A0;  // Select Sensor Input Pin
int sensorValue = 0;
unsigned char sample_count = 0;   // current sample number
//float sensorPin = 0.0;            // Calculated Sensor Value
float pressureValue = 0.0;        // Calculated Sensor Value

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

void loop()
{
    // take a number of analog samples and add them up
    while (sample_count < NUM_SAMPLES) {
        sum += analogRead(A0);
        sample_count++;
        delay(10);
    }
    //Map the Analog In Value
    pressureValue = map(analogRead(0), 102, 922, -100, 0);

    Serial.print (pressureValue);
    Serial.println ("  Kilopascals"); //Line Feed
    Serial.println(); //Blank Line
   
    sample_count = 0;
    sum = 0;
    pressureValue = 0;
   
    delay(500);
}


Ron
than you sooo much mr ron god bless you
 
Top