Pressure altitude from barometric sensors
Posted: Sun 15 Mar 15 2009 2:11 pm
The formula for calculating pressure altitude in meters, from atmospheric pressure in kPa is given as:-
altitude = (1 - (P/101.325)^0.190263) * 44330.32172
So, a pressure of 1010 mbar, which is also written as 101.0 kPa works out as:-
(1 - (101/101.325)^0.190263) * 44330.32172 = 27.09m (rounded to 2-decimal places)
So, taking an SCP1000 sensor, for example, which has a pressure resolution of 1.5Pa in high-resolution mode, and 3Pa in standard mode, we can see that this works out an altitude resolution of 0.125m for the high-resolution mode and 0.25m for standard mode. Note that high-resolution mode only allows for 1.8Hz sampling rate with this processor and about 9Hz in standard mode. High-resolution mode for the SCP1000 uses 17-bits, while standard mode uses 15-bits.
What this tells us, basically, is that in order to get any kind of decent readings out of barometric pressure sensors, we should be looking at really high resolution ADCs, of the order of 14-bits and higher.
Now, if we take a sensor like the ADSX015A24R which give a pressure range of 0-15psi (0-103.42kPa) and feed this into a 12-bit ADC, we end up with a pressure resolution of:-
103.42kPa/4096 = 25.2Pa
which is nearly an order of a magnitude greater than what we were getting from the SCP1000. This is equivalent to a 2.1m altitude resolution, which is, quite frankly useless. There are several ways around this - either increase the dynamic range by raising the floor off 0kPa to a window that will still work, or use a higher resolution ADC.
Let us look at a cheaper sensor - the MPX4115A. This puts out 4.8V at 115kPa. Assuming a 5V full-scale ADC, this works out to:-
115kPa/4.8*5/ 4096 = 29.2Pa (2.44m) for a 12-bit ADC, and
115kPa/4.8*5/ 16384 = 7.3Pa (0.61m) for a 14-bit ADC, and
115kPa/4.8*5/ 65536 = 1.8Pa (0.15m) for a 16-bit ADC
Clearly then, our options for barometric pressure sensing lies with either sensors with integrated high-resolution ADCs or with external high-resolution ADCs such as the Microchip and TI parts - MCP3425A0T and ADS1100A1IDBVT. These are relatively affordable parts and offer 16-bit resolution on an I2C interface in an SOT-23-6 package (ADS1112 for 2-channels).
Daniel
altitude = (1 - (P/101.325)^0.190263) * 44330.32172
So, a pressure of 1010 mbar, which is also written as 101.0 kPa works out as:-
(1 - (101/101.325)^0.190263) * 44330.32172 = 27.09m (rounded to 2-decimal places)
So, taking an SCP1000 sensor, for example, which has a pressure resolution of 1.5Pa in high-resolution mode, and 3Pa in standard mode, we can see that this works out an altitude resolution of 0.125m for the high-resolution mode and 0.25m for standard mode. Note that high-resolution mode only allows for 1.8Hz sampling rate with this processor and about 9Hz in standard mode. High-resolution mode for the SCP1000 uses 17-bits, while standard mode uses 15-bits.
What this tells us, basically, is that in order to get any kind of decent readings out of barometric pressure sensors, we should be looking at really high resolution ADCs, of the order of 14-bits and higher.
Now, if we take a sensor like the ADSX015A24R which give a pressure range of 0-15psi (0-103.42kPa) and feed this into a 12-bit ADC, we end up with a pressure resolution of:-
103.42kPa/4096 = 25.2Pa
which is nearly an order of a magnitude greater than what we were getting from the SCP1000. This is equivalent to a 2.1m altitude resolution, which is, quite frankly useless. There are several ways around this - either increase the dynamic range by raising the floor off 0kPa to a window that will still work, or use a higher resolution ADC.
Let us look at a cheaper sensor - the MPX4115A. This puts out 4.8V at 115kPa. Assuming a 5V full-scale ADC, this works out to:-
115kPa/4.8*5/ 4096 = 29.2Pa (2.44m) for a 12-bit ADC, and
115kPa/4.8*5/ 16384 = 7.3Pa (0.61m) for a 14-bit ADC, and
115kPa/4.8*5/ 65536 = 1.8Pa (0.15m) for a 16-bit ADC
Clearly then, our options for barometric pressure sensing lies with either sensors with integrated high-resolution ADCs or with external high-resolution ADCs such as the Microchip and TI parts - MCP3425A0T and ADS1100A1IDBVT. These are relatively affordable parts and offer 16-bit resolution on an I2C interface in an SOT-23-6 package (ADS1112 for 2-channels).
Daniel