2
\$\begingroup\$

I'm looking for barometer sensors for use in Arduino projects. One of the items I consider is the HP206C (at Reichelt, Germany). The vendor contradicts himself a little bit when he mentions 0.1 m and 0.01 m accuracy. Therefore I'm trying to look it up in the data sheet.

The original data sheet provided by Reichelt says:

Pressure Relative Accuracy +/- 0.6 mbar

Pressure Resolution of Output Data 0,01 mbar

Altimeter Resolution of Output Data 0,01 m

So, the datasheet contradicts itself, IMHO.

There's a newer data sheet by the Producer available as well. It says:

Pressure Relative Accuracy +/- 0.5 mbar

Pressure/Altitude Resolution in Pressure mode 0.01 mbar

Pressure/Altitude Resolution in Altimeter mode 0.1 m

That's ok so far.

The product is advertised with 0.1 m. Is that a realistic number? IMHO the output resolution is irrelevant, only the accuracy matters.

If my bank account has $1000.00, I can increase the output resolution to $1000.00000 but the values do not get better, right? The accuracy is still 1 cent, even if the output resolution is 1 millicent.

Is my understanding correct?

From the comments of @PlasmaHH, it seems I need to explain the application:

  • I need relative pressure measurement only, not absolute values. That's why I ignore other values in the data sheet.
  • I cannot wait "a few seconds" and take an average of the measured values. Reason is: I need to measure the height of a short flight, which lasts less than 2 seconds.
\$\endgroup\$
  • \$\begingroup\$ Do you have a smartphone with a pressure sensor? Take an app that graphs it, put it on your desk for a few seconds, then put it on the ground for a few seconds, observe the graph. \$\endgroup\$ – PlasmaHH Jun 28 '18 at 7:54
  • \$\begingroup\$ @PlasmaHH: sorry, I don't have one. Even if I had, how do I know what type it is? \$\endgroup\$ – Thomas Weller Jun 28 '18 at 7:57
  • \$\begingroup\$ If the accuracy is better than the precision, you won't much like the results. If you have exactly $1000.00 in the bank, but the bank only reports to you with a precision of $100, then you don't really know if you have $900 or $1100 when they say you have $1000. \$\endgroup\$ – JRE Jun 28 '18 at 7:58
  • \$\begingroup\$ @JRE: I understand that. My question is for the opposite case. \$\endgroup\$ – Thomas Weller Jun 28 '18 at 8:02
  • \$\begingroup\$ @ThomasWeller: That wasn't the point. The point is that on most contemporary smartphones you can see the difference very well, so it is not unreasonable to have a sensor with 100mm accuracy. \$\endgroup\$ – PlasmaHH Jun 28 '18 at 8:05
4
\$\begingroup\$

Accuracy is not resolution !

Accuracy means just that, how accurate is the reading. For this sensor:

Pressure Absolute Accuracy (0 C to 50 C): -1.5 to +1.5 mbar

That means if the actual pressure is say 1000 mbar, then the sensor is guaranteed to report a value between 998.5 mbar and 1001.5 mbar.

Resolution is different, it is about the number of digits you see so

1000 mbar vs 1000.01 mbar

On the 1000 mbar reading the resolution is 1 mbar, a difference of 1 mbar is needed to get to the next lower or higher reading.

On the 1000.01 mbar reading that step is only 0.01 mbar so it has a 100x higher resolution.

That 1000.01 mbar doesn't have to be more accurate.

For example, Sensor A showing a reading of 1000 mbar, it has a resolution of 1 mbar and an accuracy of +/-0.5 mbar

Sensor B showing a reading of 1000.01 mbar, it has a resolution of 0.01 mbar and an accuracy of +/-1 mbar

Obviously sensor A is more accurate, sensor B just suggests that it is more accurate (by showing more numbers) but it isn't.

You will however be able to see smaller changes with sensor B.

\$\endgroup\$
  • \$\begingroup\$ "see smaller changes with sensor B." - So you say that additional resolution is not just noise? \$\endgroup\$ – Thomas Weller Jun 28 '18 at 8:21
  • \$\begingroup\$ It does not have to be, if the reading jumps up and down a lot even though it should not (pressure is constant) then the sensor is likely measuring its own noise. If the reading is fairly constant then noise is low enough. \$\endgroup\$ – Bimpelrekkie Jun 28 '18 at 8:23
  • \$\begingroup\$ @ThomasWeller That is precision, the repeatability. \$\endgroup\$ – Jeroen3 Jun 28 '18 at 8:23
  • \$\begingroup\$ @Jeroen3: ok, thanks. So for a single measurement I can only rely on the accuracy, because I have no way of determining the precision. I could determine the precision and get more out of the sensor when I had multiple measurements. \$\endgroup\$ – Thomas Weller Jun 28 '18 at 8:28
  • 3
    \$\begingroup\$ Since you wrote I need relative pressure measurement only you don't need to rely on accuracy, you want resolution and to make sure that the measurements are repeatable (same value at same pressure). \$\endgroup\$ – Bimpelrekkie Jun 28 '18 at 8:32
1
\$\begingroup\$

In principle, it should work, but there is simply no way to tell.

From the data sheet:

The pressure data is arranged as 20-bit 2’s complement format and the unit is in Pascal. Pressure value is stored in all 24 bits of OUT_T_MSB, OUT_T_CSB and OUT_T_LSB. The 4 most significant bits of the 24-bit data is useless, while the 20 least significant bits represent the pressure value. The user shall convert this 20-bit unsigned binary value into an integer, and then divide the integer by 100 to obtain the final result.

So the span of the data is 20 bits, or 1,048,576 bits. Call it 1 million. Divided by 100 gives 10,000 Pascals. A 1-Pascal pressure difference is equivalent to 0.08 meters at 25 C and sea level. Since the pressure resolution is about 10,000/1,000,000, or .01 Pascals, the intrinsic limit is about .008 meters.

But. What is missing from this is the noise in the signal. If you have 12 counts of noise, a single sample will have an effective resolution of about 12 x .008 Pascal, or about 0.1 meter. If the noise is greater than that, you get less effective resolution. Without a noise spec, there is simply no way to tell. Presumably, increasing the decimation setting will improve the noise (which is why they incorporate the selection) but whether or not that will give you the results you want is entirely unknown.

Further complicating things is that there is no spec for things like vibration resistance and acceleration. You are obviously using this on some sort of airborne platform, probably a model rocket, and these factors may be important.

Finally, there is no linearity spec on the response of this unit. If the linearity were very good, and the noise was acceptable, you could simply look at the pressure/altitude changes from pre-takeoff readings and get your altitude changes. You could assume, for instance, that in a few seconds the temperature of the sensor will not change appreciably. However, you don't know that the response is linear - or rather, you don't know just how non-linear it is. Note that the pressure absolute accuracy is +/- 1.5 mbar, or about +/- 120 meters over 0 to 50 C temperature range. Assuming the temperature compensation is perfect, this means the response is decidedly non-linear, which is to be expected. The question is, are the non-linearities smooth, or are they lumpy? Probably the former, in which case, you'll be all right - but there is simply no way to be sure.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.