Hi. I am designing a pressure control system with 10 MPXV7002GP sensors. In the design of the PCB where the sensors are placed I have followed the instructions on the datasheet (3 On-Chip Temperature Compensation, Calibration and Signal Conditioning). I am converting the analog signal with a controller with 10bits ADC so I have ( 0- 5V --> 0-1023 bits )
Following the datasheet, I have applied this criteria to scale:
0.5 V --> -2000 Pa --> 102.3 bits
2.5 V --> 0 Pa --> 511.5 bits
4.5 V --> 2000 Pa --> 920.7 bits
And finally I have implemented the auto zero, taking atmospheric pressures every second during 60 seconds to find the average. Then I substract this average in every reading.
I know that with 10bits ADC I can only note changes in pressure of 5 Pa.
I am testing the sensors at atmospheric pressure. The steps are:
1- Start and apply auto zero
2- Every 30 seconds take the atmosferic pressure.
3- During 1 hour I save the lowest and highest pressures.
4- Save the difference between the lowest and highest pressures.
My question are:
Is it normal that at atmospheric pressure I have differences between 10 Pa to 30 Pa between the lowest and highest pressures?
Normally the pressures are never 0 Pa but -1, 4, -6.....jumping every 30 seconds normally by 5 Pa.
Some real example:
PRESSURE DIFFERENCE | 10:45 12:15 Diff P | P min | P max | 14:05 17:36 Diff P | P min | P max | 17:45 19:03 Diff P | P min | P max |
SENSOR P00 | 10 | -6 | 4 | 10 | -6 | 4 | 25 | -6 | 19 |
SENSOR P01 | 15 | -6 | 9 | 15 | -7 | 8 | 15 | -1 | 14 |
SENSOR P02 | 10 | -5 | 5 | 20 | -10 | 10 | 24 | -5 | 19 |
SENSOR P03 | 10 | -4 | 6 | 19 | -9 | 10 | 24 | -4 | 20 |
SENSOR P04 | 15 | -5 | 10 | 15 | -7 | 8 | 34 | -8 | 26 |
SENSOR P05 | 10 | -4 | 6 | 15 | -11 | 4 | 24 | -6 | 18 |
SENSOR P06 | 10 | -5 | 5 | 14 | -7 | 7 | 14 | -1 | 13 |
SENSOR P07 | 10 | -4 | 6 | 15 | -11 | 4 | 25 | -6 | 19 |
SENSOR P08 | 20 | -16 | 4 | 39 | -12 | 27 | 14 | -4 | 10 |
SENSOR P09 | 14 | -5 | 9 | 10 | -6 | 4 | 29 | -6 | 23 |
Is this normal?
Have I followed the correct steps?
Thanks
Hi Toni,
Such a drift is most likely related to the noise that is inherent to piezo-resistive pressure sensors.
Could you please post here your complete schematic? Are you using the recommended capacitors as shown in Figure 3 of the MPXV7002 datasheet? I would also recommend taking a closer look at our AN1646 which provides some additional guidelines to filter out the noise.
I hope it helps.
Best regards,
Tomas
PS: If this answer helps to solve your question, please mark it as "Correct". Thank you.
Hi Tomas
Yes. I followed the instructions in the MPXV 7002 datasheet. As I commented. I have 10 MPXV7002GP sensors. The Schematic is this:
The 10 sensors are connected to a master PCB via connectors. The lines are 0.5mm and I haven't a GRD plane in the sensors' PCB. There are a common ground plane for everything in the master PCB.
I have taked a look at AN1646 and now I have doubts if it would have been better to applied for filtering the schema in the figure 2 instead of the one I applied.
What do you think?
If it helps I am using as controller an Arduino YUN.
In this article also speaks about filtering via software and I want to try it, since I have a built prototype and it is easiest than modified the design. But I want to clarify how I must to apply it in my case. The steps I do are:
AUTO ZERO
First I apply auto zero. Save the result so I can subtract it in every reading.
READING
I am reading data every 30 second. At 0 seconds and 30 seconds. Until now I simply read the data recollected at those times. But now following the AN1646 instructions I suppose I have to do:
Am I right?
Another last question. In the AN1646 in the section EFFECTS OF NOISE IN SENSOR SYSTEM It says this:
‘The transducer bridge produces a very small differential voltage in the millivolt range. The on-chip differential amplifier amplifies, level shifts and translates this voltage to a single ended output of typically 0.2 volts to 4.7 volts.’
I have applied an interval of 500 to 4500 mV as working interval for the MPXV7002GP.
Is that correct or I must change this interval?
Any help would be appreciated.
Thanks.