De barometer in een smartphone is een MEMS-sensor die atmosferische druk meet voor hoogtebepaling en weersverwachting. Moderne barometers registreren druk in het bereik van 300 tot 1100 hPa met een nauwkeurigheid van 1 hPa, wat overeenkomt met een fout in hoogtebepaling van minder dan 1 meter. Volgens gegevens van Bosch Sensortec BMP580, 2024 bedraagt de absolute nauwkeurigheid van moderne druksensoren ±0,5 hPa, waarmee de hoogte kan worden bepaald met een nauwkeurigheid van 0,4 meter.
Belangrijkste punten
Barometer in een mobiele telefoon is een miniatuursensor voor absolute druk, gebaseerd op MEMS-technologie (Micro-Electro-Mechanical Systems). Het meet atmosferische druk in hectopascal (hPa), wat equivalent is aan millibar. De eerste massaal geproduceerde smartphone met barometer — Samsung Galaxy Note 2 (2012) — lanceerde de trend om de sensor in flagshipapparaten te integreren.
Marktleiders zijn Bosch Sensortec (serie BMP) en STMicroelectronics (serie LPS). Een typische BMP580-sensor heeft afmetingen van 2,0×2,0×0,7 mm, een stroomverbruik van 1,3 µA in de energiezuinige modus en een bereik van 300–1250 hPa. De relatieve nauwkeurigheid is ±0,08 hPa, waarmee een hoogteverandering van 0,7 meter kan worden geregistreerd. Volgens het Datasheet BMP580 (2024) overschrijdt het ruisniveau 0,2 Pa niet.
| Parameter | Waarde |
|---|---|
| Bereik | 300–1250 hPa |
| Absolute nauwkeurigheid | ±0,5 hPa |
| Relatieve nauwkeurigheid | ±0,08 hPa |
| Stroomverbruik | 1,3 µA (laag vermogen) |
| Afmetingen | 2,0×2,0×0,7 mm |
| Interface | I²C / SPI |
De belangrijkste functie — nauwkeurigere hoogtebepaling in navigatie. In de VS beveelt de Federal Communications Commission (FCC) sinds 2015 aan om smartphones van barometers te voorzien om de nauwkeurigheid van locatiebepaling bij noodoproepen 911 te verbeteren — verticale nauwkeurigheid redt levens in gebouwen met meerdere verdiepingen.
Aan de basis van een MEMS-barometer ligt een silicium membraan met een dikte van 1–3 micron dat buigt onder invloed van atmosferische druk. Het membraan is geïntegreerd met een vacuümholte — de referentiedruk. Voor het meten van de doorbuiging wordt gebruik gemaakt van een capacitieve of piëzoresistieve methode.
In capacitieve sensoren (Bosch BMP) fungeert het membraan als bewegende elektrode van een condensator. Bij drukverandering verandert de afstand tussen het membraan en de vaste elektrode met 0,1–1 nm, wat een capaciteitsverandering van 5–50 fF veroorzaakt. Een C/V-omzetter (capacitance-to-voltage) versterkt het signaal tot een niveau dat voldoende is voor een 24-bits ADC.
MEMS-barometers bevatten een ingebouwde temperatuursensor, omdat de gasdruk rechtstreeks afhankelijk is van de temperatuur volgens de wet P = ρRT. Zonder compensatie veroorzaakt een temperatuurverandering van 1 °C een fout van 0,1 hPa — equivalent aan 0,8 meter hoogte. Moderne sensoren gebruiken kalibratiecoëfficiënten die zijn opgeslagen in OTP-geheugen (One-Time Programmable) voor digitale correctie in het bereik van -40 tot +85 °C.
GPS bepaalt de hoogte op basis van trilateratie van satellietsignalen — de verticale fout is 10–30 meter vanwege de geometrie van satellieten en ionosferische vertragingen. Barometer geeft hoogte met een nauwkeurigheid van 0,5–1 meter volgens de barometrische formule. In scenario’s met beperkt zicht op de hemel (stadsravijnen, binnenruimtes) kan GPS onbeschikbaar zijn — de barometer werkt altijd.
Hoogte wordt berekend met de formule: h = (T₀ / L) × (1 − (P / P₀)^(R×L / g)), waarbij T₀ — temperatuur op zeeniveau, L — temperatuurgradiënt, P — gemeten druk, P₀ — druk op zeeniveau. Vereenvoudigd: een drukverandering van 1 hPa komt overeen met ongeveer 8,4 meter op lage hoogtes. Voor een nauwkeurige berekening zijn gegevens van weerstations over P₀ nodig.
Moderne navigatiesystemen (Google Maps, Yandex Maps) gebruiken een hybride algoritme: GPS geeft absolute hoogte met een fout van 15 meter, barometer — relatieve verandering met een nauwkeurigheid van 0,5 meter. Het Kalman-filter combineert beide signalen en levert in realtime hoogte met een nauwkeurigheid van 1–3 meter.
data class BaroReading(
val pressure: Float,
val altitude: Float
)
private val P0_SEA_LEVEL = 1013.25f
fun calculateAltitude(pressure: Float): Float {
return SensorManager.getAltitude(
P0_SEA_LEVEL, pressure
)
}
fun calibratePressure(
gpsAltitude: Float, baroPressure: Float
): Float {
// P0-kalibratie op basis van GPS-hoogte
val expectedPressure = P0_SEA_LEVEL *
Math.pow(1f - (0.0065f * gpsAltitude) / 288.15f, 5.255f)
.toFloat()
return P0_SEA_LEVEL * baroPressure / expectedPressure
}
Android biedt toegang tot de barometer via Sensor.TYPE_PRESSURE. Gegevens worden geretourneerd in hectopascal (hPa), wat equivalent is aan millibar. De typische waarde op zeeniveau is ongeveer 1013,25 hPa. De sensor behoort tot de categorie Environmental Sensors — hij vereist geen kalibratie door de gebruiker en werkt direct na initialisatie.
De barometer vereist geen hoge pollingsfrequentie — SENSOR_DELAY_UI (67 ms) of SENSOR_DELAY_NORMAL (200 ms) zijn volledig voldoende. Atmosferische druk verandert langzaam, maximaal 0,5–1 hPa per uur bij weersverandering of 1–2 hPa per minuut bij beweging in een lift. Overmatige frequentie verspilt alleen batterij.
class BarometerActivity : AppCompatActivity() {
private val sensorManager by lazy {
getSystemService(SENSOR_SERVICE) as SensorManager
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val barometer = sensorManager
.getDefaultSensor(Sensor.TYPE_PRESSURE)
barometer?.let { sensor ->
sensorManager.registerListener(
this, sensor,
SensorManager.SENSOR_DELAY_NORMAL
)
}
}
override fun onSensorChanged(event: SensorEvent) {
val pressure = event.values[0]
val altitude = SensorManager
.getAltitude(1013.25f, pressure)
updateUI(pressure, altitude)
}
}
Niet alle Android-apparaten hebben een barometer — de sensor ontbreekt in budgetmodellen en veel apparaten uit het middensegment. Voor gebruik moet de aanwezigheid worden gecontroleerd via PackageManager.hasSystemFeature(PackageManager.FEATURE_SENSOR_BAROMETER) of via sensorManager.getDefaultSensor(Sensor.TYPE_PRESSURE) — terugkeer van null betekent dat de sensor ontbreekt.
De barometer wordt gebruikt in een breed scala aan toepassingen — van meteorologie tot sporttrackers en navigatie binnenshuis. De app WeatherPro gebruikt barometergegevens om een 24-uurs drukgraphiek te maken, waarmee weersveranderingen 6–12 uur van tevoren kunnen worden voorspeld met een nauwkeurigheid tot 80%.
Bij weersverandering verandert de atmosferische druk met 1–3 hPa in 6–12 uur. Een anticycloon (hogedrukgebied) geeft waarden van 1020–1040 hPa, een cycloon (lagedrukgebied) — 970–1010 hPa. Deze veranderingen moeten worden meegenomen bij het berekenen van de hoogte: als gisteren de druk op zeeniveau 1013 hPa was en vandaag 1025 hPa, bedraagt de fout in hoogtebepaling zonder correctie van P₀ ongeveer min 100 meter. Moderne navigatie-apps halen de referentiedruk P₀ via internet van het dichtstbijzijnde weerstation.
In winkelcentra en luchthavens wordt de barometer gebruikt om de verdieping te bepalen waarop de gebruiker zich bevindt. Het drukverschil tussen verdiepingen van een typisch gebouw (verdiepingshoogte 3–4 meter) bedraagt 0,35–0,5 hPa — voldoende voor een betrouwbare bepaling. Door de barometer te combineren met Wi-Fi-trilateratie kan navigatie binnenshuis de locatie bepalen met een nauwkeurigheid tot 5 meter.
De nieuwe generatie waterdichte barometers (Infineon DPS368, 2024) is bestand tegen onderdompeling tot 10 meter en heeft een nauwkeurigheid van ±0,05 hPa. De ontwikkeling van MEMS-technologie brengt barometers dichter bij de nauwkeurigheid van kwartsstandaarden — naar verwachting zal de typische fout tegen 2027 dalen tot ±0,2 hPa.
Veelgestelde vragen
Je kunt dit controleren met de Sensor Test-app uit Google Play. Een barometer zit in alle flagship smartphones Samsung Galaxy S en Note (vanaf S3), Google Pixel (alle modellen), iPhone 6 en nieuwer. In budgetmodellen ontbreekt de sensor meestal.
Volgens de barometrische formule: atmosferische druk neemt af met de hoogte. Op zeeniveau is de druk 1013,25 hPa, op 500 meter hoogte — ongeveer 955 hPa. Elke 8,4 meter stijging verlaagt de druk met ongeveer 1 hPa. Voor nauwkeurigheid is kalibratie op basis van het dichtstbijzijnde weerstation nodig.
Ja, in weerstation-apps. Een plotselinge drukval van 3–5 hPa in 3 uur wijst op een naderende cycloon en verslechterend weer. Stijgende druk is een teken van verbetering. Voor een nauwkeurige voorspelling zijn echter gegevens van meteorologische diensten nodig.
Nee — kalibratie gebeurt automatisch. Fabrikanten programmeren de kalibratiecoëfficiënten in de fabriek. Als u echter op 1000+ meter boven zeeniveau woont, is het de moeite waard om de referentiedruk in de navigatie-app in te stellen voor een hogere nauwkeurigheid.
SENSOR_DELAY_NORMAL (200 ms) is optimaal — atmosferische druk verandert langzaam. Voor het volgen van beweging in een lift is 200 ms voldoende. Overmatige frequentie (FASTEST) biedt geen voordeel, maar verhoogt het energieverbruik met 20–30%.
Samenvatting
We ontwikkelen een mobiele applicatie turnkey
IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.
Lees ook