MPL3115A2 stability measurement

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MPL3115A2 stability measurement

1,046 Views
tomekkob
Contributor I

I try use MPL3115A2 in primary application polling and get data 1 sek. I getting data pressure or altitude but very not precision, for example

995,23 hPa
995,00 hPa
995,17hPa
994,95hPa

100,00m
100,55m
100,85m
101.05m
99,82m

etc

How I can get more stability?
In specyfication is "precision 0.3m", how I can get it?

Labels (1)
0 Kudos
7 Replies

860 Views
reyes
NXP TechSupport
NXP TechSupport

Hi,

Oversample (OSR) modes internally combine and average samples to reduce noise and the 0.3m of pressure resolution is obtained with 128x oversample ratio.

 

How are you protecting the sensor from direct exposure of light over the vent hole on top of the device? I have only see this kind of variations when the sensor is in direct contact with light variations. The sensor die is sensitive to light exposure. Direct light exposure through the port hole can lead to varied accuracy of pressure measurement. Avoid such exposure to the port during normal operation.


Have a great day,
Jose

0 Kudos

860 Views
tomekkob
Contributor I

Hello Jose
Thank you for your answer.

I know that the sensor I have to protect from light. MPL3115A2 is inside black plastic box with small holes. Data of temperature are very stable only altitude and pressure aren't stable. I used OSR= 128.
This is my initilization code (I use AVR and code C).

void MPL3115A2_Init (void) { IIC_RegWrite(MPL3115A2_I2C_ADDRESS, CTRL_REG1, 0x04); // Reset all registers to POR values _delay_ms(1); IIC_RegWrite(MPL3115A2_I2C_ADDRESS, PT_DATA_CFG_REG, 0x07); // Enable data flags IIC_RegWrite(MPL3115A2_I2C_ADDRESS, CTRL_REG3, 0x11); // Open drain, active low interrupts IIC_RegWrite(MPL3115A2_I2C_ADDRESS, CTRL_REG4, 0x80); // Enable DRDY interrupt IIC_RegWrite(MPL3115A2_I2C_ADDRESS, CTRL_REG5, 0x00); // DRDY interrupt routed to INT2 - PTD3 IIC_RegWrite(MPL3115A2_I2C_ADDRESS, CTRL_REG1, 0x39); // Active barometer mode, OSR = 128 }

Greetings

Tomasz

0 Kudos

860 Views
reyes
NXP TechSupport
NXP TechSupport

Hi Tomasz,

 

Initialization code is correct.

 

Other thing where I have seen similar variation is when using the MPL3115A in noisy environments, I’m assuming that you are power supplying your system with a power supply, you can perform a test using a battery to eliminate the noise that can come from the power source.

 

Other test that you can perform is to check if the same behavior is seen when swapping the MPL3115A of your system (testing with a new MPL3115A on the board or testing using a different board). So we can check if the problem is caused by the sensor.


Have a great day,
Jose

-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 Kudos

860 Views
tomekkob
Contributor I

Hi Jose

According to your advice I used battery for supply. Unfortunately, isn't not improved.
I also tried 3 other pieces but every times is the same.
I don't know what it is?
I think that I try collect max samples (100Hz) and I will average in microcontroller.
I'm trying to build variometer for the paragliding and I have to have change altitude for a second with good accuracy.

Have a great day

Tomek

0 Kudos

860 Views
reyes
NXP TechSupport
NXP TechSupport

Hi Tomek,

 

It seem like a good solution for your application to collect samples and average the output value using a microcontroller.

 

I think that the MPL3115A is a good solution for your application, and speed and accuracy of measurement should not a problem, but is for your application you need a more stable output, you can use the average technique with your microcontroller.


Have a great day,
Jose

860 Views
tomekkob
Contributor I

Thank you Jose
I will be try collect samples and average.

I will see what be.

Greetings from Poland
Tomek
0 Kudos

860 Views
tomekkob
Contributor I

I add only, that I use code with https://community.nxp.com/docs/DOC-95590 , OSR = 128 and protected the sensor  from light,

0 Kudos