Barometer i mobila enheter: vad är det, typer och hur fungerar det

Författare: IT Sectr Publicerad: 2026-03-22 Lästid: 9 min

Barometern i en smartphone är en MEMS-sensor som mäter atmosfärtryck för att bestämma höjd och väderprognos. Moderna barometrar registrerar tryck i intervallet 300 till 1100 hPa med en noggrannhet på 1 hPa, vilket motsvarar ett höjdbestämningsfel på mindre än 1 meter. Enligt uppgifter från Bosch Sensortec BMP580, 2024 är den absoluta noggrannheten hos moderna trycksensorer ±0,5 hPa, vilket gör det möjligt att bestämma höjd med en noggrannhet på 0,4 meter.

Huvudpunkter

  • Barometer — MEMS-sensor för absolut tryck som mäter atmosfärtryck från 300 till 1100 hPa.
  • Höjdmätare använder barometrisk formel: varje 8 meters stigning minskar trycket med cirka 1 hPa.
  • Android API tillhandahåller Sensor.TYPE_PRESSURE för att få aktuellt tryck i hPa (millibar).
  • Kalibrering av barometern sker automatiskt — sensorn kräver inga gester eller användaråtgärder.
  • FCC-krav i USA tvingar tillverkare att installera barometer i smartphones för exakt positionsbestämning vid nödsamtal.

Vad är en barometer i en smartphone

Barometer i en mobiltelefon är en miniatyrsensor för absolut tryck baserad på MEMS-teknik (Micro-Electro-Mechanical Systems). Den mäter atmosfärtryck i hektopascal (hPa), vilket är likvärdigt med millibar. Den första massproducerade smartphonen med barometer — Samsung Galaxy Note 2 (2012) — startade trenden att integrera sensorn i flaggskeppsenheter.

Tekniska specifikationer för moderna barometrar

Marknadsledarna är Bosch Sensortec (serie BMP) och STMicroelectronics (serie LPS). En typisk BMP580-sensor har måtten 2,0×2,0×0,7 mm, en strömförbrukning på 1,3 µA i lågeffektsläge och ett område på 300–1250 hPa. Relativ noggrannhet är ±0,08 hPa, vilket gör det möjligt att registrera en höjdförändring på 0,7 meter. Enligt Datasheet BMP580 (2024) överstiger inte brusnivån 0,2 Pa.

ParameterVärde
Område300–1250 hPa
Absolut noggrannhet±0,5 hPa
Relativ noggrannhet±0,08 hPa
Strömförbrukning1,3 µA (låg effekt)
Mått2,0×2,0×0,7 mm
GränssnittI²C / SPI

Varför barometer i telefonen

Huvudfunktionen — precisering av höjd i navigering. I USA rekommenderar Federal Communications Commission (FCC) sedan 2015 att smartphones utrustas med barometrar för att förbättra noggrannheten vid positionsbestämning vid nödsamtal 911 — vertikal noggrannhet räddar liv i flervåningsbyggnader.

Hur en MEMS-barometer fungerar

I hjärtat av en MEMS-barometer finns ett kiselmembran med en tjocklek på 1–3 mikrometer som böjs under påverkan av atmosfärtryck. Membranet är integrerat med en vakuumkavitet — referenstrycket. För att mäta avböjningen används en kapacitiv eller piezoresistiv metod.

Kapacitiv mätprincip

I kapacitiva sensorer (Bosch BMP) fungerar membranet som en rörlig elektrod i en kondensator. När trycket ändras förändras gapet mellan membranet och den fasta elektroden med 0,1–1 nm, vilket orsakar en kapacitansförändring på 5–50 fF. En C/V-omvandlare (capacitance-to-voltage) förstärker signalen till en nivå som är tillräcklig för en 24-bitars ADC.

Temperaturkompensation

MEMS-barometrar innehåller en inbyggd temperatursensor, eftersom gastrycket direkt beror på temperaturen enligt lagen P = ρRT. Utan kompensation orsakar en temperaturförändring på 1 °C ett fel på 0,1 hPa — motsvarande 0,8 meter höjd. Moderna sensorer använder kalibreringskoefficienter lagrade i OTP-minne (One-Time Programmable) för digital korrigering i intervallet -40 till +85 °C.

Barometer kontra GPS för höjdbestämning

GPS bestämmer höjd baserat på trilaterering av satellitsignaler — det vertikala felet är 10–30 meter på grund av satelliternas geometri och jonosfäriska fördröjningar. Barometer ger höjd med en noggrannhet på 0,5–1 meter enligt den barometriska formeln. I scenarier med begränsad sikt mot himlen (stadsraviner, inomhus) kan GPS vara otillgänglig — barometern fungerar alltid.

Barometrisk formel

Höjd beräknas med formeln: h = (T₀ / L) × (1 − (P / P₀)^(R×L / g)), där T₀ — temperatur vid havsytan, L — temperaturgradient, P — uppmätt tryck, P₀ — tryck vid havsytan. Förenklat: en tryckförändring på 1 hPa motsvarar cirka 8,4 meter på låga höjder. För exakt beräkning krävs data från väderstationer om P₀.

Hybridmetod

Moderna navigationssystem (Google Maps, Yandex Maps) använder en hybridalgoritm: GPS ger absolut höjd med ett fel på 15 meter, barometern — relativ förändring med en noggrannhet på 0,5 meter. Kalmanfiltret kombinerar båda signalerna och levererar höjd med en noggrannhet på 1–3 meter i realtid.

kotlin
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 {
    // Kalibrering av P0 baserat på GPS-höjd
    val expectedPressure = P0_SEA_LEVEL *
        Math.pow(1f - (0.0065f * gpsAltitude) / 288.15f, 5.255f)
            .toFloat()
    return P0_SEA_LEVEL * baroPressure / expectedPressure
}

Arbeta med barometern i Android

Android ger tillgång till barometern via Sensor.TYPE_PRESSURE. Data returneras i hektopascal (hPa), vilket är likvärdigt med millibar. Det typiska värdet vid havsytan är cirka 1013,25 hPa. Sensorn tillhör kategorin Environmental Sensors — den kräver ingen kalibrering av användaren och fungerar omedelbart efter initialisering.

Registreringsegenskaper

Barometern kräver inte hög pollningsfrekvens — SENSOR_DELAY_UI (67 ms) eller SENSOR_DELAY_NORMAL (200 ms) är helt tillräckliga. Atmosfärtryck förändras långsamt, maximalt 0,5–1 hPa per timme vid väderförändring eller 1–2 hPa per minut vid rörelse i hiss. Överdriven frekvens slösar bara batteri.

kotlin
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)
    }
}

Kontrollera sensorns tillgänglighet

Alla Android-enheter har inte barometer — sensorn saknas i budgetmodeller och många enheter i mellansegmentet. Före användning måste närvaro kontrolleras via PackageManager.hasSystemFeature(PackageManager.FEATURE_SENSOR_BAROMETER) eller sensorManager.getDefaultSensor(Sensor.TYPE_PRESSURE) — retur av null innebär att sensorn saknas.

Användning av barometern i mobila applikationer

Barometern används inom ett brett spektrum av applikationer — från meteorologi till sporttrackers och inomhusnavigering. Appen WeatherPro använder barometerdata för att skapa en 24-timmars tryckgraf, vilket gör det möjligt att förutsäga väderförändringar 6–12 timmar i förväg med en noggrannhet på upp till 80%.

  • Navigering efter våning — i köpcentrum och flygplatser bestämmer barometern våningsbyte baserat på tryckförändring. Vid en stigning på 3 meter sjunker trycket med 0,35 hPa.
  • Fitness trackers — räkning av våningar (floor counting) och vertikal höjdökning. Appen Strava använder barometern för att beräkna stigningsgradient vid cykling.
  • Väderstationer — barometerappar visar aktuellt tryck och gör en prognos. Ett plötsligt fall på 3–5 hPa på 3 timmar indikerar en annalkande cyklon.
  • Drönare och robotik — stabilisering av flyghöjd för drönare anslutna till smartphonen eller mobila robotar i inomhusmiljöer med höjdskillnader.

Vädrets inverkan på barometeravläsningar

Vid väderförändring förändras atmosfärtrycket med 1–3 hPa på 6–12 timmar. En anticyklon (högtrycksområde) ger värden 1020–1040 hPa, en cyklon (lågtryck) — 970–1010 hPa. Dessa förändringar måste beaktas vid beräkning av höjd: om trycket vid havsytan igår var 1013 hPa och idag 1025 hPa, kommer höjdbestämningsfelet utan korrigering av P₀ att vara cirka minus 100 meter. Moderna navigationsappar hämtar referenstrycket P₀ via internet från närmaste väderstation.

Barometer och positionsbestämning inomhus

I köpcentrum och flygplatser används barometern för att bestämma vilken våning användaren befinner sig på. Tryckskillnaden mellan våningarna i en typisk byggnad (våningshöjd 3–4 meter) är 0,35–0,5 hPa — tillräckligt för tillförlitlig bestämning. Genom att kombinera barometern med Wi-Fi-trilaterering kan inomhusnavigering bestämma positionen med en noggrannhet på upp till 5 meter.

Barometerns framtid

Den nya generationen vattenresistenta barometrar (Infineon DPS368, 2024) tål nedsänkning till 10 meter och har en noggrannhet på ±0,05 hPa. Utvecklingen av MEMS-teknik för barometrar närmare noggrannheten hos kvartsstandarder — det förväntas att det typiska felet kommer att minska till ±0,2 hPa till 2027.

Vanliga frågor

Har min telefon en barometer?

Du kan kontrollera med appen Sensor Test från Google Play. Barometer finns i alla flaggskeppssmartphones Samsung Galaxy S och Note (från och med S3), Google Pixel (alla modeller), iPhone 6 och nyare. I budgetmodeller saknas sensorn vanligtvis.

Hur bestämmer barometern höjd?

Enligt den barometriska formeln: atmosfärtrycket minskar med höjden. Vid havsytan är trycket 1013,25 hPa, på 500 meters höjd — cirka 955 hPa. Varje 8,4 meters stigning minskar trycket med cirka 1 hPa. För noggrannhet krävs kalibrering enligt närmaste väderstation.

Kan barometern användas för väderprognos?

Ja, i väderstationsappar. Ett plötsligt tryckfall på 3–5 hPa på 3 timmar indikerar annalkande cyklon och försämrat väder. Stigande tryck är ett tecken på förbättring. För exakt prognos krävs dock data från meteorologiska tjänster.

Måste jag kalibrera barometern i telefonen?

Nej — kalibrering sker automatiskt. Tillverkarna programmerar kalibreringskoefficienterna i fabriken. Om du dock bor på 1000+ meters höjd över havet, är det värt att ställa in referenstrycket i navigationsappen för ökad noggrannhet.

Hur ofta ska jag polla barometern i appen?

SENSOR_DELAY_NORMAL (200 ms) är optimalt — atmosfärtryck förändras långsamt. För att spåra rörelse i hiss räcker 200 ms. Överdriven frekvens (FASTEST) ger ingen fördel men ökar energiförbrukningen med 20–30%.

Sammanfattning

  • Barometer — MEMS-sensor för absolut tryck med en noggrannhet på ±0,5 hPa för höjdbestämning och väderprognos.
  • Kiselmembran med kapacitiv eller piezoresistiv mätning ger känslighet upp till 0,2 Pa.
  • Barometer är noggrannare än GPS för vertikal positionering: 0,5–1 m jämfört med 10–30 m vid satellitnavigering.
  • Android API — Sensor.TYPE_PRESSURE med data i hPa, kalibrering av användaren krävs inte.
  • Hybridnavigering kombinerar GPS och barometer via ett Kalman-filter för höjdnoggrannhet på 1–3 meter.
  • Användning inkluderar navigering efter våning, fitness trackers, väderstationer och drönarstabilisering.
  • Ny generation vattenresistenta barometrar når en noggrannhet på ±0,05 hPa vid en storlek på 2×2 mm.

Vi utvecklar en mobil applikation nyckelfärdigt

IT Sectr skapar iOS- och Android-applikationer för startups och företag sedan 2017. Vi ger dig råd och föreslår den bästa lösningen.

Diskutera projektet

Läs också