Compass in smartphones — essentie, werkingsprincipe en toepassing

Auteur: IT Sectr Gepubliceerd: 2026-03-25 Leestijd: 8 min

Compass (kompas) in een smartphone is een digitale sensor op basis van een magnetometer die de richting naar de magnetische polen van de aarde bepaalt. De technologie stelt navigatie-, kaart- en augmented reality-toepassingen in staat om de oriëntatie van het apparaat in de ruimte nauwkeurig te bepalen. Volgens gegevens van STMicroelectronics, 2025 bieden moderne MEMS-magnetometers nauwkeurigheid bij het bepalen van de richting tot 1–2 graden.

Belangrijkste punten

  • Compass in een smartphone — een digitaal kompas op basis van een MEMS-magnetometer die het magnetisch veld van de aarde meet.
  • Moderne magnetometers gebruiken het Hall-effect of magnetoresistief effect om de richting van het magnetisch veld te bepalen.
  • Voor nauwkeurige werking van het digitale kompas is kalibratie vereist — compensatie van parasitaire magnetische velden van luidsprekers en andere componenten.
  • De magnetometer in een smartphone meet het magnetisch veld langs drie assen (X, Y, Z), waardoor de richting in elke positie van het apparaat kan worden bepaald.
  • Het digitale kompas wordt gebruikt in navigatie-toepassingen, augmented reality, geolocatiediensten en astronomische programma's.

Wat is een digitaal kompas in een smartphone?

Digitaal kompas (compass) in een smartphone is een sensor op basis van een magnetometer die de sterkte van het magnetisch veld van de aarde meet en het azimut (hoek ten opzichte van het magnetisch noorden) bepaalt. In tegenstelling tot een mechanisch kompas maakt een digitaal kompas gebruik van micro-elektromechanische systemen (MEMS) om het magnetisch veld te registreren. De magnetometer meet het veld langs drie assen, waardoor de richting bij elke helling van de smartphone correct kan worden bepaald.

Hoe de sensor is opgebouwd

Een moderne MEMS-magnetometer is een microchip van 2×2×1 mm, geïntegreerd in de behuizing van de smartphone samen met de accelerometer en gyroscoop (als onderdeel van een 9-assige IMU). De sensor meet niet alleen de richting, maar ook de intensiteit van het magnetisch veld van de aarde (25–65 µT afhankelijk van de breedtegraad). De aanwezigheid van metalen voorwerpen en parasitaire magnetische velden van luidsprekers, de trilmotor en de camera veroorzaakt vervormingen, daarom is softwarematige correctie van de metingen nodig voor nauwkeurige werking.

De eerste digitale kompassen in mobiele telefoons verschenen in 2009 met de introductie van de iPhone 3GS — de eerste smartphone met een ingebouwde magnetometer. Tegenwoordig wordt de magnetometer in de overgrote meerderheid van smartphones geïnstalleerd, inclusief budgetmodellen. Volgens Yole Group overschrijdt de markt voor MEMS-magnetometers voor mobiele apparaten 1,5 miljard eenheden per jaar, wat de vraag naar deze technologie bevestigt.

Werkingsprincipe van de magnetometer

De basis van de MEMS-magnetometer wordt gevormd door een gevoelig element dat zijn elektrische kenmerken verandert onder invloed van een extern magnetisch veld. In moderne smartphones wordt het Hall-effect of het magnetoresistieve effect (AMR — Anisotropic Magneto-Resistance) gebruikt. Het principe is gebaseerd op het feit dat een stroomvoerend materiaal zijn weerstand verandert onder invloed van een magnetisch veld, en door de spanningsverandering wordt de vector van het magnetisch veld berekend.

Hall-effect en AMR

Sensoren op basis van het Hall-effect registreren de spanningsverandering aan de randen van een halfgeleiderplaat, die ontstaat onder invloed van de Lorentzkracht op bewegende ladingen. Magnetoresistieve sensoren (AMR) gebruiken een laag permalloy (NiFe), waarvan de weerstand afhangt van de richting van het magnetisch veld. AMR-sensoren bieden een kleinere afmeting en een hogere gevoeligheid in vergelijking met Hall-sensoren, daarom domineren ze in moderne smartphones.

TypeGevoeligheidEnergieverbruikAfmeting
HallGemiddeldLaagGemiddeld
AMRHoogLaagKlein
GMRZeer hoogGemiddeldKlein

Gegevens van de magnetometer worden gecombineerd met metingen van de accelerometer voor correctie van de helling en bepaling van de noordrichting in het horizontale vlak. Het sensor fusion-algoritme gebruikt het Madgwick-filter of het Kalman-filter om gegevens van de magnetometer, gyroscoop en accelerometer te combineren. Dit maakt het mogelijk om een stabiel en nauwkeurig azimut te verkrijgen, zelfs bij snelle rotaties en schudden van het apparaat.

Soorten magnetometers in mobiele apparaten

In de mobiele industrie worden drie hoofdtypen MEMS-magnetometers gebruikt: op basis van het Hall-effect, anisotrope magnetoresistieve (AMR) en gigantische magnetoresistieve (GMR). AMR-magnetometers zijn het meest verspreid in smartphones dankzij de optimale combinatie van gevoeligheid, energieverbruik en kosten. Toonaangevende fabrikanten — AKM (Asahi Kasei Microdevices), STMicroelectronics en Bosch Sensortec.

De gevoeligheid van een AMR-magnetometer van een typische smartphone is 0,3–1 µT met een dynamisch bereik van ±1000 µT (±8 Gauss), wat voldoende is voor nauwkeurige meting van het aardveld (30–65 µT) en compensatie van parasitaire velden. De uitleesfrequentie van de sensor kan 100–200 Hz bereiken, maar de meeste toepassingen gebruiken 10–50 Hz om energie te besparen. Automatische compensatie van temperatuur en spanningsvervormingen van de behuizing is geïmplementeerd op het niveau van de sensorstuurprogramma.

Kalibratie van het digitale kompas

Kalibratie van het kompas is het proces van compensatie van parasitaire magnetische velden die worden gegenereerd door componenten van de smartphone: luidsprekers, trilmotor, camera en accu. Zonder kalibratie kunnen de metingen van de magnetometer 10–30 graden afwijken van de werkelijke richting. Het kalibratiesysteem bepaalt de verplaatsingsmatrix (hard-iron bias) langs drie assen en past deze toe voor correctie van alle volgende metingen.

Kalibratie-algoritmen en -methoden

De standaardmethode voor kalibratie van het kompas — het tekenen van een „acht": de gebruiker draait de smartphone in een baan die lijkt op het cijfer 8. Tijdens de beweging registreert de sensor het magnetisch veld in alle mogelijke oriëntaties, en het algoritme verzamelt punten en benadert een bol met het centrum verschoven ten opzichte van nul. De straal van de bol komt overeen met de grootte van het magnetisch veld van de aarde, en het centrum — met de vector van parasitaire verplaatsing. Na benadering berekent het systeem correctiecoëfficiënten voor elke as.

Moderne kalibratie-algoritmen van Qualcomm en MediaTek voeren continue achtergrondkalibratie uit zonder tussenkomst van de gebruiker. Ze analyseren veranderingen in het magnetisch veld bij rotatie van het apparaat en werken automatisch de correctieparameters bij. Als de sensor een nieuw parasitair veld detecteert (bijvoorbeeld bij het plaatsen van een magnetische hoes), start het systeem binnen 1–2 seconden continue beweging van het apparaat een herkalibratie.

Toepassing van het kompas in mobiele apps

Digitaal kompas wordt gebruikt in een breed scala aan mobiele toepassingen. De belangrijkste toepassing — navigatie- en kaartdiensten (Google Maps, Yandex.Maps, 2GIS) die de oriëntatie van het apparaat op de kaart bepalen voor correcte weergave van de bewegingsrichting van de gebruiker. In augmented reality (AR)-toepassingen zorgt het kompas voor correcte plaatsing van virtuele objecten ten opzichte van de windstreken.

In astronomische toepassingen (Star Walk, SkySafari) bepaalt het kompas in combinatie met de accelerometer de richting waarin de smartphone wijst en toont het overeenkomstige gebied van de sterrenhemel. Vis- en reistoepassingen gebruiken het kompas om interessegebieden op de kaart te markeren met verwijzing naar het azimut. Fitness-tracking met GPS gebruikt kompasmetingen om de richting van hardlopen of fietsen te bepalen, wat de nauwkeurigheid van de routeweergave verhoogt.

Gebruik van het kompas via Android API

Voor toegang tot het digitale kompas op Android wordt de sensor TYPE_MAGNETIC_FIELD uit de Sensor API gebruikt. Ontwikkelaars registreren een luisteraar voor veranderingen in magnetometermetingen en ontvangen een array van waarden van de magnetische veldsterkte langs drie assen in microTesla. Voor het bepalen van het azimut worden magnetometergegevens gecombineerd met accelerometergegevens via de rotatiematrix sensor fusion.

kotlin
import android.hardware.Sensor
import android.hardware.SensorEvent
import android.hardware.SensorEventListener
import android.hardware.SensorManager

class CompassManager(
    private val sensorManager: SensorManager
) : SensorEventListener {

    private val magnetometer = FloatArray(3)
    private val accelerometer = FloatArray(3)
    private val rotationMatrix = FloatArray(9)
    private val orientation = FloatArray(3)

    override fun onSensorChanged(event: SensorEvent) {
        if (event.sensor.type == Sensor.TYPE_MAGNETIC_FIELD) {
            event.values.copyInto(magnetometer)
        } else if (event.sensor.type == Sensor.TYPE_ACCELEROMETER) {
            event.values.copyInto(accelerometer)
        }
        
        SensorManager.getRotationMatrix(
            rotationMatrix, null,
            accelerometer, magnetometer
        )
        SensorManager.getOrientation(rotationMatrix, orientation)
        
        val azimuth = Math.toDegrees(orientation[0].toDouble())
        // azimut: 0 = noord, 90 = oost, 180 = zuid, 270 = west
    }

    fun start() {
        sensorManager.registerListener(this,
            sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD),
            SensorManager.SENSOR_DELAY_UI)
        sensorManager.registerListener(this,
            sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
            SensorManager.SENSOR_DELAY_UI)
    }

    override fun onAccuracyChanged(sensor: Sensor?, accuracy: Int) {}
}

Het azimut verkregen via getOrientation wordt gemeten in radialen en kan waarden aannemen van -π tot π, waarbij 0 overeenkomt met het magnetisch noorden. Voor weergave op het scherm worden de waarden omgezet naar graden (Math.toDegrees) met normalisatie naar het bereik 0–360. Het is belangrijk om rekening te houden met de magnetische declinatie — de hoek tussen het magnetische en het ware (geografische) noorden, die afhangt van de geografische positie en in de loop van de tijd verandert. Google Maps corrigeert de declinatie automatisch via de GeomagneticField API.

Veelgestelde vragen

Hoe werkt een digitaal kompas in een smartphone?

Digitaal kompas maakt gebruik van een MEMS-magnetometer — een chip van 2×2 mm die het magnetisch veld van de aarde langs drie assen meet. Magnetometergegevens worden gecombineerd met accelerometermetingen om het azimut te bepalen — de hoek tussen de noordrichting en de oriëntatie van het apparaat.

Waarom geeft het kompas op de telefoon onjuist weer?

Onjuiste metingen van het kompas worden meestal veroorzaakt door het ontbreken van kalibratie, magnetische interferentie van luidsprekers of de trilmotor, en ook door magnetische hoesjes. Oplossing — voer een kalibratie uit met een „acht"-beweging of verwijder magnetische accessoires. Bij voortdurende fouten kan controle van de sensor nodig zijn.

Is kalibratie van het kompas nodig en hoe doe je dat?

Ja, kalibratie van het kompas is noodzakelijk voor compensatie van parasitaire magnetische velden in de smartphone. In de meeste moderne apparaten wordt kalibratie automatisch op de achtergrond uitgevoerd. Voor handmatige kalibratie tekent u met de smartphone een „acht" in de lucht — het systeem verzamelt gegevens vanuit alle hoeken en corrigeert de metingen.

Hoe krijg ik toegang tot het kompas in een Android-app?

Op Android wordt toegang tot het kompas verkregen via de Sensor API met de sensor TYPE_MAGNETIC_FIELD. Het azimut wordt berekend via SensorManager.getRotationMatrix() en getOrientation(), die magnetometer- en accelerometergegevens combineren. Het verkregen azimut kan worden aangepast voor weergave op het scherm.

Welke smartphone-modellen hebben het meest nauwkeurige kompas?

De meest nauwkeurige kompassen zijn geïnstalleerd in smartphones met een drievoudige IMU-sensor (magnetometer + gyroscoop + accelerometer) en een actief kalibratiesysteem. De koplopers zijn vlaggenschepen van Google Pixel, Samsung Galaxy S-serie en iPhone Pro — ze gebruiken AKM- en Bosch-magnetometers met een gevoeligheid van 0,3 µT en automatische correctie.

Samenvatting

  • Compass (digitaal kompas) in een smartphone is een MEMS-magnetometer die het magnetisch veld van de aarde meet om het azimut en de oriëntatie van het apparaat te bepalen.
  • Moderne magnetometers gebruiken het AMR-effect (anisotrope magnetoweerstand) en bieden een gevoeligheid van 0,3 µT en een compacte afmeting van 2×2 mm.
  • Nauwkeurige kompasmetingen vereisen kalibratie voor compensatie van magnetische velden van luidsprekers, trilmotor en camera van de smartphone.
  • De noordrichting wordt berekend via sensor fusion — combinatie van magnetometergegevens met accelerometer en gyroscoop voor hellingscorrectie.
  • Digitaal kompas wordt toegepast in navigatie, cartografie, augmented reality, astronomie en fitness-tracking voor bepaling van oriëntatie en bewegingsrichting.
  • Op Android wordt toegang tot het kompas verkregen via TYPE_MAGNETIC_FIELD met berekening van het azimut via getRotationMatrix en getOrientation.
  • Magnetische declinatie (hoek tussen magnetisch en geografisch noorden) wordt automatisch gecorrigeerd in navigatie-API's van Google en Apple.

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.

Bespreek het project

Lees ook