Gyroskop i smartphones: vad det är, typer och funktionsprincip

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

Ett gyroskop är en sensor som mäter vinkelhastigheten för en enhets rotation i förhållande till tre axlar. Till skillnad från en accelerometer, som registrerar linjär acceleration, bestämmer ett gyroskop rotation och orientering i rymden. Enligt data från STMicroelectronics, 2024, ger moderna MEMS-gyroskop en noggrannhet på upp till 0,01 grader per sekund, vilket gör att de kan användas inom navigering, bildstabilisering och AR-applikationer.

Huvudpunkter

  • Gyroskop — MEMS-sensor som mäter vinkelhastigheten runt tre axlar (X, Y, Z) i grader per sekund.
  • MEMS-teknik gör det möjligt att skapa miniatyrgyroskop med storleken 2×2 mm och en strömförbrukning på mindre än 5 mA.
  • Android Sensor Framework tillhandahåller API TYPE_GYROSCOPE och TYPE_GYROSCOPE_UNCALIBRATED för dataåtkomst.
  • Kalibrering av gyroskopet kompenserar nolldrift — det huvudsakliga felet hos MEMS-sensorer.
  • 6-axliga system (gyroskop + accelerometer) används i ARKit, ARCore och spelkontroller.

Vad är ett gyroskop i telefonen

Gyroskop i en smartphone är en mikroelektromekanisk sensor (MEMS) som mäter vinkelhastigheten för enhetens rotation. Till skillnad från mekaniska gyroskop inom flyget är MEMS-gyroskopet ett kiselchip med storleken 2×2×1 mm monterat på telefonens moderkort.

Typer av gyroskop i mobila enheter

I moderna smartphones används endast MEMS-gyroskop av vibrationstyp — tuning-fork och ring-design. De har inga roterande delar, vilket garanterar en livslängd på upp till 10 år av kontinuerlig drift. Ledande tillverkare — Bosch Sensortec (BMI-serie), STMicroelectronics (L3G, A3G-serier) och InvenSense (ICM-serie).

Huvudegenskaper

Ett typiskt MEMS-gyroskop har ett mätområde från ±125 till ±2000 °/s, samplingsfrekvens upp till 32 kHz och strömförbrukning på 3–6 mA. Enligt Bosch Sensortec BMI160 (2023) är brusnivån 0,007 °/s/√Hz vid området ±125 °/s — tillräckligt för noggrann spårning av rotationer.

ParameterVärde
TeknikMEMS (vibration)
Område±125 — ±2000 °/s
Strömförbrukning3–6 mA
Storlek2×2×1 mm
Brus0,007 °/s/√Hz

Hur fungerar MEMS-gyroskopet

Funktionsprincipen för MEMS-gyroskopet är baserad på Coriolis-effekten. Inuti chipet finns en kiselmassa som oscillerar med en viss frekvens (15–30 kHz). När enheten roterar verkar Corioliskraften proportionell mot vinkelhastigheten på den oscillerande massan.

Konstruktion av vibrationsgyroskopet

Nyckelelementen i MEMS-gyroskopet är driftelektroderna som skapar oscillationer och de känsliga elektroderna som registrerar avvikelsen. Enligt forskningen “MEMS Gyroscopes for Consumer Electronics” (IEEE, 2023) omfattar en typisk konstruktion 4–8 kamstrukturer symmetriskt placerade runt den centrala massan.

Digitalt gränssnitt

Moderna gyroskop överför data via I²C- eller SPI-bussen. Smartphonestyrenheten tar emot treaxliga vinkelhastighetsvärden — för X-axeln (Pitch), Y-axeln (Roll) och Z-axeln (Yaw). Den inbyggda ADC omvandlar den kapacitiva signalen till digitala värden med en upplösning på 16–24 bitar. Uppdateringsfrekvensen i spelläge når 400 Hz.

Skillnad mellan gyroskop och accelerometer

Accelerometer mäter linjär acceleration — förändring av hastigheten hos ett objekt längs axlarna. Gyroskop mäter rotation — hastigheten för vinkelförändring. Dessa sensorer är komplementära: accelerometern ger orientering i förhållande till gravitationsvektorn men skiljer inte lutning från linjär rörelse. Gyroskopet spårar rotationer oberoende av gravitationen men är utsatt för drift.

Sensor Fusion — sammanslagning av data

I verkliga tillämpningar används Sensor Fusion — en algoritm som slår samman data från gyroskopet, accelerometern och magnetometern. Mahony-filtret eller det komplementära filtret beräknar orienteringskvaternioner med en noggrannhet på upp till 2 grader i statiskt tillstånd och 5 grader i dynamiskt tillstånd. Android tillhandahåller en virtuell sensor TYPE_ROTATION_VECTOR på ramverksnivå.

kotlin
val rotationVector = sensorManager
    .getDefaultSensor(Sensor.TYPE_ROTATION_VECTOR)
    
val callback = object : SensorEventListener {
    override fun onSensorChanged(event: SensorEvent) {
        val quat = FloatArray(4)
        SensorManager.getQuaternionFromVector(quat, event.values)
        // quat[0..3] — orienteringskvaternion
    }
}

Arbeta med gyroskop via Android API

Android tillhandahåller två typer av gyroskopsensorer: TYPE_GYROSCOPE (kalibrerad, utan drift) och TYPE_GYROSCOPE_UNCALIBRATED (rådata med driftuppskattning). Åtkomst sker via SensorManager.getDefaultSensor(). Data returneras i rad/s — radianer per sekund.

Exempel på gyroskopregistrering

Registrering av lyssnare för gyroskopet kräver angivelse av fördröjning: SENSOR_DELAY_GAME (20 ms) för spel, SENSOR_DELAY_UI (67 ms) för gränssnitt, SENSOR_DELAY_FASTEST (0 ms) för maximal frekvens. Utan annullering av registreringen i onPause() laddas batteriet ur på 2–3 timmar.

kotlin
class GyroActivity : AppCompatActivity() {
    private lateinit var sensorManager: SensorManager
    private var gyroscope: Sensor? = null

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        sensorManager = getSystemService(SENSOR_SERVICE) as SensorManager
        gyroscope = sensorManager.getDefaultSensor(
            Sensor.TYPE_GYROSCOPE
        )
    }

    override fun onResume() {
        super.onResume()
        gyroscope?.let { sensor ->
            sensorManager.registerListener(
                this, sensor, SensorManager.SENSOR_DELAY_GAME
            )
        }
    }
}

Bearbetning av gyroskopdata

Rådata från event.values[0..2] motsvarar vinkelhastigheten för X, Y och Z. För att erhålla rotationsvinkeln måste vinkelhastigheten integreras över tiden. Vid 50 Hz frekvens är integrationsfelet cirka 1 grad per minut — acceptabelt för spel men otillräckligt för navigering utan korrigering.

Kalibrering och drift hos gyroskopet

Nolldrift (bias drift) — det största problemet med MEMS-gyroskop. Även i vila kan sensorn visa en icke-noll vinkelhastighet (0,1–2 °/s). Orsaken är temperaturförändringar och mekaniska spänningar i kiselskrukturen. Tillverkare kompenserar denna effekt på hårdvarunivå.

  • Temperaturdrift — förändring av offset vid uppvärmning av telefonen från 25 till 60 °C. Kompenseras av en inbyggd temperaturmodell.
  • Långtidsdrift — förändring av egenskaper under 1–3 års användning. Kräver periodisk kalibrering.
  • Vinkel slumpmässig gång-brus — ARW (Angle Random Walk). Karakteriserar ackumulering av fel under integration.

Kalibrering i Android

Android-systemet kalibrerar automatiskt gyroskopet vid första påslagning eller vid temperaturförändring. Kalibreringsprocessen tar 10–30 sekunder och kräver ingen användarintervention — lägg bara telefonen på en stillastående yta. Metoden calibrate() är inte tillgänglig på alla enheter. För tvångskalibrering används TYPE_GYROSCOPE_UNCALIBRATED med hämtning av bias offset via event.values[3..5].

kotlin
private fun handleUncalibratedGyro(event: SensorEvent) {
    val rawX = event.values[0]    // rad/s utan kalibrering
    val biasX = event.values[3]     // X-offset
    val calibratedX = rawX - biasX
    
    applyCalibrationToFusion(
        calibratedX,
        event.values[1] - event.values[4],
        event.values[2] - event.values[5]
    )
}

Användning av gyroskop i mobila applikationer

Gyroskopet används i dussintals scenarier — från kamerastabilisering till VR-headset Google Cardboard. ARKit från Apple och ARCore från Google använder gyroskopet som primär sensor för att spåra huvudrotation. Enligt Apple ARKit Technical Specification (2024) ger gyroskopet tillsammans med accelerometern en spårningsnoggrannhet på upp till 0,5 grader.

  • Videostabilisering — EIS (Electronic Image Stabilisation) använder gyroskopet för att kompensera kameraskakning. Algoritmen korrigerar bildrutan baserat på vinkelhastigheten.
  • Spelkontroller — rotation av enheten för att styra en bil eller karaktär. Fördröjningen från gyroskop till skärm är 20–50 ms.
  • Navigering inomhus — Pedestrian Dead Reckoning (PDR) integrerar gyroskopdata för att bestämma rörelseriktningen utan GPS.
  • Fitnesstrackers — räkning av rotationer och vridningar i övningar. Moderna algoritmer bestämmer aktivitetstypen med 93% noggrannhet.

Industriella och vetenskapliga tillämpningar

Utöver konsumentelektronik används gyroskop inom robotik och drönare. Mobila robotar baserade på Android Things och ROS (Robot Operating System) använder MEMS-gyroskop för rörelsestabilisering och odometri. Enligt IEEE-forskningen “MEMS IMU in Robotics” (2024) är positioneringsnoggrannheten för en mobil robot med gyroskop 3–5 gånger högre än med endast hjulodometri, särskilt vid rörelse på hala ytor. I konsumentdrönare håller gyroskopet tillsammans med barometern flyghöjden med en noggrannhet på 0,5 meter vid vind upp till 10 m/s.

AR- och VR-spårning

För AR-applikationer är gyroskopet den primära sensorn som bestämmer positionen för virtuella objekt i förhållande till den verkliga världen. Google ARCore använder gyroskopet för att spåra enhetens rörelse med en frekvens på 1000 Hz (via intern sampling, oberoende av API-frekvensen). ARKit från Apple uppnår en positioneringsnoggrannhet på 0,5 grader under rörelse, tillräckligt för att placera virtuella möbler eller spelkaraktärer på en verklig scen.

Gyroskopens framtid

Den nya generationen 6-axliga IMU (InvenSense ICM-42688, 2024) kombinerar gyroskop och accelerometer i ett enda chip med en förbrukning på 0,45 mA i lågenergiläge. Utvecklingen av gradiometrar och atomgyroskop för mobila enheter förblir i stadiet av laboratorieprototyper. Industriella prover av MEMS-gyroskop med en noggrannhet på 0,001 °/s förväntas till 2028.

Vanliga frågor

Varför behövs ett gyroskop i telefonen?

Gyroskopet bestämmer enhetens rotation och orientering i rymden. Utan det är VR-läge, automatisk skärmrotation vid lutning, videostabilisering och AR-applikationer omöjliga. Moderna telefoner kan inte fungera utan gyroskop.

Vad är skillnaden mellan ett gyroskop och en accelerometer?

Accelerometer mäter linjär acceleration (rörelse och lutning i förhållande till gravitationen). Gyroskop mäter vinkelhastighet (rotation). En accelerometer kan inte skilja enhetens rotation från dess linjära förflyttning — gyroskopet löser detta problem.

Kan gyroskopet kalibreras i telefonen?

I Android används automatisk kalibrering. För manuell kalibrering ladda ner appar som “GPS Status & Toolbox” — de föreslår att lägga telefonen på en plan yta och utföra kalibreringen via TYPE_GYROSCOPE_UNCALIBRATED.

Varför visar gyroskopet icke-noll värden i vila?

Detta är nolldrift — en naturlig egenskap hos MEMS-sensorer. Även dyra gyroskop har en offset på 0,1–2 °/s i vila. Kalibrering subtraherar denna offset. Om driften överstiger 5 °/s — är sensorn defekt.

Hur får jag gyroskopdata på Android?

Använd SensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE) och registrera en SensorEventListener. Data kommer i rad/s längs tre axlar. För spel använd SENSOR_DELAY_GAME (20 ms), för bakgrund — SENSOR_DELAY_UI (67 ms).

Sammanfattning

  • Gyroskop — MEMS-sensor som mäter vinkelhastigheten för en smartphones rotation runt tre axlar.
  • MEMS-teknik använder Corioliseffekten på en oscillerande kiselmassa för att mäta rotation.
  • Gyroskop och accelerometer — komplementära sensorer: den första mäter rotation, den andra — linjär acceleration.
  • Android API tillhandahåller TYPE_GYROSCOPE och TYPE_GYROSCOPE_UNCALIBRATED med data i rad/s.
  • Kalibrering kompenserar nolldrift — det huvudsakliga felet hos MEMS-gyroskop med typisk offset på 0,1–2 °/s.
  • Användning omfattar AR/VR, videostabilisering, spelkontroller och PDR-navigering.
  • Moderna 6-axliga IMU kombinerar gyroskop och accelerometer i ett enda chip med förbrukning från 0,45 mA.

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å