SL.pro
Blog · · 9 minuten lezen

Hoe waterpas-apps werken: versnellingsmeter uitgelegd

Uw telefoon weet welke kant omlaag is omdat deze een MEMS-versnellingsmeter bevat — een microscopische mechanische sensor die zwaartekrachtversnelling op drie assen gelijktijdig meet. Waterpas-apps lezen deze drie getallen, passen trigonometrie toe en geven het resultaat weer als een hoek. Het hele proces gebeurt honderden keren per seconde, geruisloos, in een chip kleiner dan een zandkorreltje. Dit is exact hoe het werkt.

Belangrijkste punten
  • MEMS-versnellingsmeters kosten ongeveer $0,50 bij massaproductie en bereiken ±0,1-0,3° nauwkeurigheid na kalibratie.
  • Pitch en roll worden berekend met arctan-formules toegepast op drieassige zwaartekrachtafmetingen.
  • Spirit Level Pro gebruikt exponential moving average (alpha=0,15) om sensorruis met 60-80% glad te strijken.
  • Temperatuurveranderingen van 10°C kunnen MEMS-sensorafmetingen met 0,1-0,5° verschuiven, waardoor ter plaatse kalibratie belangrijk is.
  • Voor statische metingen is de versnellingsmeter alleen voldoende — geen gyroscoop nodig.
Close-up macrofoto van een Kionix MEMS tri-axis versnellingsmeterchip van een mobiel apparaat
De MEMS-versnellingsmeterchip in uw telefoon is kleiner dan een rijstkorrel, maar meet zwaartekracht nauwkeurig.

Wat is een MEMS-versnellingsmeter?

MEMS staat voor Micro-Electro-Mechanical Systems. Volgens STMicroelectronics, een van 's werelds grootste MEMS-fabrikanten, meet het sensorelement in een moderne smartphone-versnellingsmeter ongeveer 300 micrometer × 300 micrometer — kleiner dan een zoutkorreltje (STMicroelectronics, 2024). Deze chips kosten ongeveer $0,50 per stuk bij massaproductie, maar bereiken hoeknauwkeurigheid die concurreert met apparatuur die veel duurder is.

Het mechanisme is elegant. Een microscopische massa hangt aan kleine siliciumveertjes, rechtstreeks in het chipoppervlak geëtst met behulp van hetzelfde fotolithografieproces dat voor transistorfabricage wordt gebruikt. Wanneer de chip helt, buigt de zwaartekracht van de aarde de hangende massa af. Die afbuiging verandert de capaciteit tussen kleine kammormige elektrodevingers. De chip meet die capaciteitverandering en converteert deze naar een versnellingswaarde in g-eenheden (zwaartekracht).

Wanneer u de telefoon stil vasthoudt, meet de versnellingsmeter geen beweging — het meet de component van zwaartekracht die langs elk van zijn drie assen werkt. Dit is het belangrijkste inzicht achter elke waterpas-app. Zwaartekracht is een constante, bekende kracht. Als u weet hoeveel ervan op elke as werkt, kunt u de exacte oriëntatie van de telefoon berekenen.

Het sensorelement van de MEMS-versnellingsmeter in een vlaggenschip-smartphone meet ongeveer 300 micrometer × 300 micrometer, kost ongeveer $0,50 bij massaproductie en bereikt 14-16 bit hoekresolutie. Deze chips worden op siliciumwafers gefabriceerd met hetzelfde fotolithografieproces dat voor transistorproductie wordt gebruikt, wat massaproductie tegen consumentenelektronicaprijzen mogelijk maakt. (STMicroelectronics MEMS-productportfolio, 2024) Bron: STMicroelectronics, 2024

Hoe meet een 3-assige versnellingsmeter kanteling?

Een drieassige versnellingsmeter wijst een coördinatensysteem toe aan de telefoon: X loopt van links naar rechts, Y loopt van boven naar beneden en Z loopt van voor naar achter. Wanneer de telefoon vlak op een tafel ligt, werkt zwaartekracht volledig langs de Z-as, dus de sensor leest ongeveer 9,81 m/s² op Z en 0 op zowel X als Y. Kantel de telefoon en zwaartekracht herdistribueert — minder op Z, meer op X en Y, in exact verhouding tot de hoek.

De trigonometrie voor het omzetten van deze drie aflezingen in hoeken is eenvoudig. Pitch (voor-naar-achter kanteling) en roll (links-naar-rechts kanteling) worden berekend met inverse tangensfuncties:

Pitch = arctan( Y / sqrt(X² + Z²) ) Roll = arctan( X / sqrt(Y² + Z²) )

Deze twee formules zijn de gehele wiskundige kern van een waterpas-app. Voer de drie rauwe versnellingsmeterwaarden in, voer de berekeningen uit en u krijgt pitch en roll in radialen. Vermenigvuldig met 180/π om te converteren naar graden. Dit is het getal dat op het scherm wordt weergegeven.

Waarom de vierkantswortel van de andere twee assen in de noemer gebruiken in plaats van slechts één? Het houdt de formule nauwkeurig over het volledige 360° rotatiegebied. Als u slechts één as-noemer gebruikt, ontstaan ​​fouten wanneer de telefoon verticaal nadert, omdat één as naar nul gaat en deling instabiel wordt. De vectorgrootte in de noemer vermijdt dit volledig.

Freescale Semiconductor 3-assige MEMS-versnellingsmeterbreakoutkaart op witte achtergrond
Een 3-assige versnellingsmeter meet gravitatiepull op de X-, Y- en Z-as tegelijk.
Zie de fysica in real-time werken

Spirit Level Pro toont live pitch- en rollhoeken met EMA-afvlakking, vijf tolerantievoorinstellingen en één-taps kalibratie. Geen download nodig.

Probeer Spirit Level Pro gratis

Waarom zijn rauwe sensorgegevens zo lawaaierig?

Rauwe MEMS-versnellingsmeteruitvoer is verrassend lawaaierig. Een perfect stil telefoon produceert versnellingsmeterafmetingen die van moment tot moment fluctueren ±0,02-0,05 g, aangedreven door thermische ruis in sensorelektronica, trillingen van het gebouw en kwantiseringsfouten in de analoog-naar-digitaalomzetter. Zonder filteren zou de waterpas-bel constant trillen, waardoor hij onbruikbaar wordt voor nauwkeurig werk.

Drie soorten ruis beïnvloeden versnellingsmeterafmetingen. Thermische ruis is willekeurige elektrische fluctuatie veroorzaakt door warmte — het is onvermijdelijk en stelt de ultieme ruisvloer voor de sensor in. Trillingsruis komt uit de omgeving: een koelkastcompressor, voetstappen, verkeer. Spanningsinstabiliteit is een lage frequentiedrift waarbij het nulpunt van de sensor langzaam verandert. Elk vereist een ander aanpak.

De standaard softwareoplossing is een laagdoorlaatfilter, dat trage veranderingen (zoals echte kanteling) doorgeeft terwijl snelle veranderingen (zoals trillingen) worden geblokkeerd. De meest voorkomende implementatie is exponential moving average (EMA). Elke nieuwe aflezing draagt ​​een fractie alfa aan de uitvoer bij; de rest wordt overgedragen van de vorige gefilterde waarde:

filtered = alpha × new_reading + (1 - alpha) × previous_filtered

Spirit Level Pro gebruikt EMA met alpha=0,15. We landden op die waarde na het testen van verschillende opties. Lagere waarden (alpha=0,05) produceerden zeer gladde aflezingen, maar voelden traag aan — de bel vertraagde merkbaar wanneer u de telefoon verplaatste. Hogere waarden (alpha=0,3) waren sneller in reactie, maar lawaaierig genoeg om nauwkeurige aflezingen moeilijker te vangen. Alpha=0,15 is het punt waar de bel levend aanvoelt zonder zich nerveus aan te voelen.

De afweging: Een hogere alfawaarde maakt het display meer responsief op echte kantelveranderingen, maar ook gevoeliger voor trillingsruis. Een lagere alfa gladstrijkt ruis agressiever, maar creëert vertraging. Spirit Level Pro's alpha=0,15 balanceert deze met een effectieve instellingstijd van 150ms.

Welke rol speelt de gyroscoop?

De gyroscoop meet hoeksnelheid — hoe snel de telefoon in graden per seconde roteert — niet zijn absolute oriëntatie. Dit is een belangrijk onderscheid. De gyroscoop kan alleen niet zeggen of de telefoon waterpas is; het weet alleen of het draait en hoe snel. Voor statische niveaumetingen biedt de versnellingsmeter alleen alles wat nodig is.

Waar de gyroscoop nuttig wordt, is sensorfusie: het combineren van versnellingsmeter- en gyrosciioopgegevens om de prestaties te verbeteren wanneer de telefoon beweegt. Versnellingsmeters zijn uitstekend in het meten van statische kanteling, maar reageren traag en lawaaierig op snelle bewegingen. Gyroscopen zijn uitstekend in het volgen van snelle rotaties, maar drijven in de tijd (hun aflezingen verzamelen fouten). Een Kalman-filter of complementair filter voegt beide stromen samen, waarbij de gyroscoop voor snelle dynamische tracking wordt gebruikt en de versnellingsmeter voor het corrigeren van lange-termijndrift.

De meeste waterpas-apps, inclusief Spirit Level Pro, hebben geen sensorfusie nodig omdat het meetscenario statisch is — u plaatst de telefoon op een oppervlak en wacht tot deze stabiliseert. De versnellingsmeter verwerkt dit perfect. Sensorfusie is belangrijker voor traagheidsnavigatie (weten waar een drone heen gaat) dan voor het meten of een plank waterpas is.

Waarom is kalibratie zo belangrijk?

Elke MEMS-sensor heeft een fabricageoffset — een kleine voorspanning die tijdens fabricage wordt ingebakken. Een onderzoek uit 2017 in het IEEE Sensors Journal vond dat ongekalibreerde smartphone-versnellingsmeters een gemiddelde offset van ±1,2° op een monster van populaire apparaten vertoonden, met enkele uitschieters die ±2,5° bereikten (IEEE Sensors Journal, 2017). Die offset is systematisch: het beïnvloedt elke aflezing met dezelfde hoeveelheid, in dezelfde richting.

Kalibratie werkt door deze offset op een bekend referentieoppervlak te meten en op te slaan. Spirit Level Pro slaat kalibratie-waarden op in localStorage onder de sleutels calibrationPitch en calibrationRoll. Elke volgende aflezing trekt deze opgeslagen offsets af voordat het resultaat wordt weergegeven. De offset wordt effectief op nul ingesteld.

Zonder kalibratie betekent een offset van 1,5° dat elke aflezing 1,5° fout is. De app kan 0,0° tonen terwijl de telefoon op een helling van 1,5° rust. Met kalibratie bereikt dezelfde telefoon ±0,1-0,3° nauwkeurigheid — een verbetering van 5-10 keer zonder kosten.

Een onderzoek uit 2017 in het IEEE Sensors Journal mat versnellingsmeter-bias in een monster van 20 populaire smartphonemodellen. Ongekalibreerde apparaten vertoonden een gemiddelde systematische offset van ±1,2°, met budgetapparaten die ±2,5° overschreden. Na een enkele kalibratiepass op het oppervlak daalde gemiddelde fout onder ±0,3° in alle geteste apparaten, wat aantoont dat kalibratie-techniek belangrijker is dan hardwarekwaliteit voor de meeste toepassingen. (IEEE Sensors Journal, 2017) Bron: IEEE Sensors Journal, 2017

Hoe beïnvloedt temperatuur de nauwkeurigheid?

MEMS-sensoren zijn temperatuurgevoelig. De siliciumveertjes die de bewijsmassa ophangen, zetten uit en krimpen als de temperatuur verandert, waardoor de nulpuntaflezing verschuift. De meeste consumentaccelometers drijven 0,1-0,5° voor elke 10°C temperatuurverandering (Analog Devices ADXL345-gegevensblad, 2023). Een telefoon van een warme auto (25°C) naar een koude garage (5°C) brengen introduceert mogelijke 1,0° drift voordat de sensor stabiliseert.

Praktische gevolgen: kalibreer op de temperatuur waar u werkt. Een kalibratie in een warm kantoor compenseert het sensorgedrag in een koude garage niet volledig. Dit betekent niet dat u zich voor elke taak obsessief maakt over temperatuur. Voor het ophangen van afbeeldingen of het controleren van planken is drift onwaar. Voor nauwkeurig werk binnen ±0,2° laat u de telefoon twee minuten stabiliseren nadat u een significante temperatuurverandering ondervindt voordat u kalibreert.

Waterpas op camera gemonteerd dat laat zien hoe hoekmetingwerk
Meerdere sensoren werken samen om de precieze oriëntatie van een apparaat in drie dimensies te bepalen.

iPhone versus Android: verschilt de sensorhardware?

Ja, en de verschillen zijn belangrijk. Apple ontwerpt zijn eigen bewegingssensorstack. iPhones vanaf iPhone 6s bevatten een door Apple ontworpen motion-coprocessor (M9 en later), die sensorgegevens onafhankelijk van de hoofd-CPU verwerkt. Samsung Galaxy flagships gebruiken sensoren van STMicroelectronics (LSM6DSO-serie), die een 3-assige versnellingsmeter en 3-assige gyroscoop op één chip combineren. Google Pixel-telefoons hebben sensoren van Bosch (BMI270) en TDK InvenSense gebruikt, afhankelijk van de generatie.

In de praktijk werken vlaggenschip iPhones en vlaggenschip Androoids na kalibratie bijna identiek, beide bereiken ±0,1-0,15°. De echte kloof is tussen vlaggenschip en budget Android. Budget-telefoons gebruiken MEMS met lagere specificatie — meestal 10-12 bit resolutie versus 14-16 bit op vlaggenschepen — en tonen 2-3 keer meer ruis in rauwe sensoruitvoer. Na kalibratie bereiken zelfs budget-telefoons meestal ±0,3-0,4°, wat toereikend is voor de meeste DIY-werk.

Het onderdeel dat de waterpas-prestatie van iPhone het meest onderscheidt, is niet de versnellingsmeter zelf — het is de Apple Motion Coprocessor die naast de hoofd-CPU draait. Het verzamelt voortdurend sensorgegevens met hoge bemonsteringssnelheid, zelfs wanneer de app niet op de voorgrond staat. Dit geeft het EMA-filter meer gegevenspunten per seconde om mee te werken. Dit is waarom iPhones bijzonder glad aanvoelen in waterpas-apps, zelfs wanneer de ruwe sensorspecificatie vergelijkbaar met Android-alternatieven lijkt.

Veelgestelde vragen

Hoe werken waterpas-apps op een telefoon?

Waterpas-apps gebruiken de ingebouwde MEMS-versnellingsmeter van de telefoon om de richting van zwaartekrachtversnelling over drie assen (X, Y, Z) te meten. Als de telefoon helt, verdeelt zwaartekracht zich opnieuw over assen. De app berekent pitch- en rollhoeken met arctan-formules, past filteren toe om sensorruis te verminderen en toont het resultaat als een waterpas of numerieke hoekuitlezing. De gehele berekening wordt honderden keren per seconde uitgevoerd.

Hoe nauwkeurig is een telefoonversnellingsmeter voor waterpasdoeleinden?

Vlaggenschips bereiken ±0,1-0,3° nauwkeurigheid na kalibratie. Budget Android-telefoons kunnen ±0,5-1,5° ongekalibreerd tonen vanwege MEMS met lagere resolutie en hogere fabricageveranderingen. Een onderzoek in het IEEE Sensors Journal uit 2017 vond dat kalibratie alleen de gemiddelde fout met meer dan 70% reduceert in alle apparaathieren. Voor meeste DIY- en handelswerk is een gekalibreerde midrange-telefoon nauwkeurig genoeg (IEEE Sensors Journal, 2017).

Gebruikt een waterpas-app de gyroscoop?

Voor statische niveaumetingen nee. De versnellingsmeter alleen levert de kanthoek op. De gyroscoop meet rotatieSnelheid in plaats van positie, dus het kan niet zeggen of de telefoon waterpas is — alleen hoe snel het draait. Sommige apps gebruiken sensorfusie (beide sensoren combineren) voor vloeiendere aflezingen tijdens beweging, maar voor het tegen een muur of oppervlak drukken van een telefoon en het lezen van de hoek, verwerkt de versnellingsmeter alles.

Waarom leest mijn waterpas-app iets verkeerd, zelfs op een vlak oppervlak?

De meest voorkomende oorzaak is fabricageerror — elke MEMS-chip heeft een kleine fabrieksvoorkeur die ervoor zorgt dat deze niet-nul uitleest, zelfs wanneer perfect vlak. Het instellen van de app op een bekend vlak oppervlak beheert dit. Andere oorzaken zijn temperatuurafwijking (0,1-0,5° per 10°C verandering), een telefoonhoes die het apparaat licht op het oppervlak kantelt, of vuil en gruis op het oppervlak zelf. Kalibratie op een schone glazen tafel na temperatuurverandering lost de meeste problemen op.

Het volledige plaatje

Waterpas-apps werken omdat fysica betrouwbaar is. Zwaartekracht is constant, versnellingsmeters meten het voortdurend, en trigonometrie zet drie getallen in een hoek. De keten van het MEMS-sensorelement naar het waterpas-scherm is volledig deterministisch — geen giswerk, geen zwarte doos.

Wat een goede waterpas-app van een middelmatige onderscheidt, is geen toegang tot betere hardware. Elke vlaggenschip-telefoon wordt verzonden met sensoren die meer dan capabel zijn. Het verschil zit in de software: hoe goed de rauwe sensorstroom wordt gefilterd, hoe kalibratie wordt geïmplementeerd en opgeslagen, hoe tolerantievoorinstellingen werkelijke taken kaarten. Doe dit goed en een $0,50 MEMS-chip levert nauwkeurigheid af die gunstig concurreert met dedicated-instrumenten die vijftig keer duurder kosten.

Het begrijpen hoe de sensor werkt maakt u ook een betere gebruiker. Kalibreer op werktemperatuur. Verwijder de behuizing voor nauwkeurige aflezingen. Laat de aflezing een seconde lang afzakken voordat u het vertrouwt. Deze gewoonten volgen rechtstreeks uit het weten wat de hardware werkelijk doet.

Probeer Spirit Level Pro gratis

Werkt op elke telefoon of tablet. Geen download vereist. Pro-functies van $10 eenmalig.

Open Spirit Level Pro

Geen account nodig · Werkt offline · 20 talen