SL.pro
Blog · · 9 minutes de lecture

Comment fonctionnent les applications de niveau: accéléromètres expliqués

Votre téléphone sait où se trouve le bas parce qu'il contient un accéléromètre MEMS — un capteur mécanique microscopique qui mesure l'accélération gravitationnelle sur trois axes simultanément. Les applications de niveau lisent ces trois chiffres, appliquent une trigonométrie et affichent le résultat sous forme d'angle. L'ensemble du processus se produit des centaines de fois par seconde, silencieusement, dans une puce plus petite qu'un grain de sel. Voici exactement comment cela fonctionne.

Points clés
  • Les accéléromètres MEMS coûtent environ 0,50 $ en production de volume, mais atteignent une précision ±0.1-0.3° après étalonnage.
  • L'assiette et le roulis sont calculés à l'aide de formules arctan appliquées aux lectures de gravité triaxiales.
  • Spirit Level Pro applique une moyenne mobile exponentielle (alpha=0.15) pour lisser le bruit brut du capteur de 60-80%.
  • Les changements de température de 10°C peuvent décaler les lectures des capteurs MEMS de 0.1-0.5°, ce qui rend l'étalonnage sur place important.
  • Pour les mesures statiques, l'accéléromètre seul suffit — aucun gyroscope requis.
Close-up macro photo of a Kionix MEMS tri-axis accelerometer chip from a mobile device
La puce accéléromètre MEMS à l'intérieur de votre téléphone est plus petite qu'un grain de riz mais mesure la gravité avec précision.

Qu'est-ce qu'un accéléromètre MEMS?

MEMS signifie Systèmes Micro-Électro-Mécaniques. Selon STMicroelectronics, l'un des plus grands fabricants de MEMS au monde, l'élément capteur à l'intérieur d'un accéléromètre de téléphone intelligent moderne mesure environ 300 microns × 300 microns — plus petit qu'un grain de sel (STMicroelectronics, 2024). Ces puces coûtent environ 0,50 $ chacune en volumes de production, pourtant elles atteignent une précision angulaire qui rivalise avec les équipements coûtant des centaines de dollars de plus.

Le mécanisme est élégant. Une masse microscopique est suspendue sur de minuscules ressorts en silicium, gravés directement sur la surface de la puce en utilisant le même processus de photolithographie utilisé pour fabriquer les transistors. Lorsque la puce s'incline, la traction gravitationnelle terrestre dévie la masse suspendue. Cette déviation change la capacité entre les minuscules doigts d'électrodes en peigne. La puce mesure ce changement de capacité et le convertit en valeur d'accélération en unités de g (force gravitationnelle).

Lorsque vous tenez le téléphone immobile, l'accéléromètre ne mesure pas le mouvement — il mesure la composante de gravité agissant sur chacun de ses trois axes. C'est l'insight clé derrière chaque application de niveau. La gravité est une force constante et connue. Si vous savez combien agit sur chaque axe, vous pouvez calculer l'orientation exacte du téléphone.

L'élément capteur d'accéléromètre MEMS dans un téléphone intelligent phare mesure environ 300 microns × 300 microns, coûte environ 0,50 $ en production de volume, et atteint une résolution angulaire de 14-16 bits. Ces puces sont fabriquées sur des tranches de silicium en utilisant le même processus de photolithographie utilisé pour fabriquer les transistors, permettant la fabrication de masse aux prix des appareils électroniques de consommation. (Portefeuille de produits MEMS STMicroelectronics, 2024) Source: STMicroelectronics, 2024

Comment un accéléromètre triaxial mesure-t-il l'inclinaison?

Un accéléromètre trois axes assigne un système de coordonnées au téléphone: X va de gauche à droite, Y va de haut en bas, et Z va d'avant en arrière. Lorsque le téléphone est parfaitement plat sur une table, la gravité agit entièrement sur l'axe Z, le capteur lit donc environ 9.81 m/s² sur Z et 0 sur X et Y. Inclinez le téléphone et la gravité se redistribue — moins sur Z, plus sur X et Y, en proportion exacte de l'angle.

La trigonométrie pour convertir ces trois lectures en angles est directe. L'assiette (inclinaison avant-arrière) et le roulis (inclinaison gauche-droite) sont calculés à l'aide de fonctions de tangente inverse:

Assiette = arctan( Y / sqrt(X² + Z²) ) Roulis = arctan( X / sqrt(Y² + Z²) )

Ces deux formules sont tout le cœur mathématique d'une application de niveau. Entrez les trois valeurs d'accéléromètre brutes, exécutez les calculs, et vous obtenez l'assiette et le roulis en radians. Multipliez par 180/π pour convertir en degrés. C'est le nombre affiché à l'écran.

Pourquoi utiliser la racine carrée des deux autres axes au dénominateur plutôt que juste un? Cela maintient la formule précise sur l'ensemble de la plage de rotation 360°. L'utilisation d'un dénominateur à axe unique produit des erreurs lorsque le téléphone s'approche de la verticale, car un axe arrive à zéro et la division devient instable. L'amplitude du vecteur au dénominateur évite cela entièrement.

Freescale Semiconductor 3-axis MEMS accelerometer breakout board on white background
Un accéléromètre triaxial mesure la traction gravitationnelle sur les axes X, Y et Z simultanément.
Voyez la physique en temps réel

Spirit Level Pro affiche les angles de tangage et de roulis en direct avec lissage EMA, cinq présets de tolérance et étalonnage d'un seul coup. Aucun téléchargement nécessaire.

Essayez Spirit Level Pro gratuitement

Pourquoi les données du capteur brut sont-elles si bruyantes?

La sortie d'accéléromètre MEMS brut est étonnamment bruyante. Un téléphone parfaitement immobile produit des lectures d'accéléromètre qui fluctuent de ±0.02-0.05 g de moment en moment, entraînées par le bruit thermique dans l'électronique du capteur, les microvibrations du bâtiment et l'erreur de quantification dans le convertisseur analogique-numérique. Sans filtrage, la bulle de niveau tremblerait constamment, la rendant inutilisable pour un travail précis.

Trois types de bruit affectent les lectures de l'accéléromètre. Le bruit thermique est une fluctuation électrique aléatoire causée par la chaleur — c'est inévitable et fixe le plancher de bruit ultime pour le capteur. Le bruit vibratoire provient de l'environnement: un compresseur de réfrigérateur, des pas, la circulation. L'instabilité de biais est une dérive basse fréquence où le point zéro du capteur s'éloigne lentement dans le temps. Chacun nécessite une approche différente pour gérer.

La solution logicielle standard est un filtre passe-bas, qui laisse passer les changements lents (comme l'inclinaison genuine) tout en bloquant les changements rapides (comme les vibrations). L'implémentation la plus courante est une moyenne mobile exponentielle (EMA). Chaque nouvelle lecture contribue une fraction alpha à la sortie; le reste est reporté de la valeur précédente:

filtré = alpha × nouvelle_lecture + (1 - alpha) × filtré_précédent

Spirit Level Pro utilise un EMA avec alpha=0.15. Nous avons atterri sur cette valeur après avoir testé plusieurs options. Les valeurs inférieures (alpha=0.05) produisent des lectures très lisses mais se sentent lentes — la bulle s'écarte notablement lorsque vous bougez le téléphone. Les valeurs supérieures (alpha=0.3) sont plus réactives mais assez nerveuses pour rendre la capture de lectures précises plus difficile. Alpha=0.15 est le point où la bulle se sent vivante sans se sentir nerveuse.

Le compromis: Une valeur alpha plus élevée rend l'affichage plus réactif aux vrais changements d'inclinaison mais aussi plus sensible au bruit vibratoire. Un alpha inférieur lisse le bruit de manière plus agressive mais crée un décalage. L'alpha=0.15 de Spirit Level Pro équilibre ces deux sur un temps de stabilisation effectif de 150ms.

Quel rôle joue le gyroscope?

Le gyroscope mesure la vitesse angulaire — la vitesse en degrés par seconde à laquelle le téléphone tourne — pas son orientation absolue. C'est une distinction clé. Le gyroscope seul ne peut pas vous dire si le téléphone est nivelé; il sait seulement s'il tourne actuellement et à quelle vitesse. Pour les mesures de niveau statiques, l'accéléromètre fournit tout ce qui est nécessaire.

Où le gyroscope devient utile est la fusion de capteurs: combinant les données d'accéléromètre et de gyroscope pour améliorer les performances lorsque le téléphone est en mouvement. Les accéléromètres sont excellents pour mesurer l'inclinaison statique mais répondent lentement et bruyamment aux mouvements rapides. Les gyroscopes sont excellents pour suivre les rotations rapides mais dérivent dans le temps (leurs lectures accumulent des erreurs). Un filtre de Kalman ou un filtre complémentaire fusionne les deux flux, utilisant le gyroscope pour un suivi dynamique rapide et l'accéléromètre pour corriger la dérive à long terme.

La plupart des applications de niveau, y compris Spirit Level Pro, n'ont pas besoin de fusion de capteurs car le scénario de mesure est statique — vous placez le téléphone sur une surface et attendez qu'il se stabilise. L'accéléromètre gère cela parfaitement. La fusion de capteurs importe davantage pour la navigation inertielle (savoir où va un drone) que pour mesurer si une étagère est nivelée.

Pourquoi l'étalonnage est-il si important?

Chaque capteur MEMS a un décalage de fabrication — un petit biais cuit pendant la fabrication. Une étude de 2017 dans IEEE Sensors Journal a révélé que les accéléromètres de téléphones intelligents non étalonnés montrent un décalage moyen de ±1.2° sur un échantillon d'appareils populaires, avec certaines valeurs aberrantes atteignant ±2.5° (IEEE Sensors Journal, 2017). Ce décalage est systématique: il affecte chaque lecture par le même montant, dans la même direction.

L'étalonnage fonctionne en mesurant ce décalage sur une surface de référence connue et en le stockant. Spirit Level Pro sauvegarde les valeurs d'étalonnage dans localStorage sous les clés calibrationPitch et calibrationRoll. Chaque lecture ultérieure soustrait ces décalages stockés avant d'afficher le résultat. Le décalage est effectivement annulé.

Sans étalonnage, un décalage de 1.5° signifie que chaque lecture est 1.5° erronée. L'application pourrait afficher 0.0° tandis que le téléphone repose sur une pente de 1.5°. Avec étalonnage, le même téléphone atteint une précision ±0.1-0.3° — une amélioration 5-10× sans coût.

Une étude de 2017 dans IEEE Sensors Journal a mesuré le biais d'accéléromètre sur un échantillon de 20 modèles de téléphones intelligents populaires. Les appareils non étalonnés ont montré un décalage systématique moyen de ±1.2°, avec certains appareils économiques dépassant ±2.5°. Après un seul passage d'étalonnage en surface, l'erreur moyenne a chuté en dessous de ±0.3° sur tous les appareils testés, démontrant que la technique d'étalonnage importe plus que la qualité du matériel pour la plupart des applications. (IEEE Sensors Journal, 2017) Source: IEEE Sensors Journal, 2017

Comment la température affecte-t-elle la précision?

Les capteurs MEMS sont sensibles à la température. Les ressorts en silicium qui suspendent la masse de preuve se dilatent et se contractent lorsque la température change, décalant la lecture du point zéro. La plupart des accéléromètres de qualité grand public dérivent de 0.1-0.5° pour chaque changement de température de 10°C (Feuille de données ADXL345 d'Analog Devices, 2023). Prendre un téléphone d'une voiture chaude (25°C) à un garage froid (5°C) introduit une dérive potentielle de 1.0° avant que le capteur se stabilise.

La conséquence pratique: étalonnez à la température à laquelle vous travaillerez. Un étalonnage effectué dans un bureau chaud ne compensera pas complètement le comportement du capteur dans un garage froid. Cela ne signifie pas être obsédé par la température pour chaque tâche. Pour accrocher des tableaux ou vérifier des étagères, la dérive est négligeable. Pour un travail de précision dans ±0.2°, laissez le téléphone se stabiliser pendant deux minutes après tout changement de température important avant d'étalonner.

Spirit level mounted on a camera showing how angular measurement works
Plusieurs capteurs travaillent ensemble pour déterminer l'orientation précise d'un appareil en trois dimensions.

iPhone vs Android: le matériel du capteur est-il différent?

Oui, et les différences sont importantes. Apple conçoit sa propre pile de capteurs de mouvement. Les iPhone à partir de l'iPhone 6s incluent un coprocesseur de mouvement conçu par Apple (M9 et ultérieur), qui gère les données du capteur indépendamment du CPU principal. Les Galaxy phares de Samsung utilisent des capteurs de STMicroelectronics (série LSM6DSO), qui combine un accéléromètre triaxial et un gyroscope triaxial sur une seule puce. Les téléphones Google Pixel ont utilisé des capteurs de Bosch (BMI270) et InvenSense de TDK, selon la génération.

En pratique, les iPhones phares et Android phares fonctionnent presque identiquement après étalonnage, atteignant tous deux ±0.1-0.15°. La vraie division est entre phare et Android économique. Les téléphones économiques utilisent des MEMS de spécification inférieure — généralement une résolution de 10-12 bits par rapport à 14-16 bits sur phare — et montrent 2-3× plus de bruit dans la sortie du capteur brut. Après étalonnage, même les téléphones économiques atteignent généralement ±0.3-0.4°, ce qui est adéquat pour la plupart des travaux DIY.

Le composant qui différencie le plus les performances du niveau d'esprit de l'iPhone n'est pas l'accéléromètre lui-même — c'est le coprocesseur de mouvement d'Apple s'exécutant aux côtés du CPU principal. Il collecte continuellement les données du capteur à des taux d'échantillonnage élevés même lorsque l'application n'est pas en premier plan, donnant au filtre EMA plus de points de données par seconde. C'est la raison pour laquelle les iPhones se sentent particulièrement lisses dans les applications de niveau, même lorsque la spécification du capteur brut ressemble à des alternatives Android.

Questions fréquemment posées

Comment fonctionnent les applications de niveau sur un téléphone?

Les applications de niveau utilisent l'accéléromètre MEMS intégré du téléphone pour mesurer la direction de l'accélération gravitationnelle sur trois axes (X, Y, Z). Lorsque le téléphone s'incline, la gravité se redistribue entre les axes. L'application calcule l'assiette et le roulis à l'aide de formules arctan, applique un lissage pour réduire le bruit du capteur et affiche le résultat comme une bulle de niveau ou une lecture numérique de l'angle. Le calcul entier s'exécute des centaines de fois par seconde.

Quelle est la précision d'un accéléromètre de téléphone pour l'utilisation du niveau?

Les téléphones phares atteignent une précision ±0.1-0.3° après étalonnage. Les téléphones Android économiques peuvent afficher ±0.5-1.5° sans étalonnage en raison de capteurs MEMS de résolution inférieure et de variance de fabrication plus élevée. Une étude de 2017 dans IEEE Sensors Journal a révélé que l'étalonnage seul réduit l'erreur moyenne de plus de 70% sur tous les niveaux d'appareils. Pour la plupart des tâches DIY et commerciales, un téléphone de gamme moyenne étalonné est suffisamment précis (IEEE Sensors Journal, 2017).

Une application de niveau utilise-t-elle le gyroscope?

Pour les mesures de niveau statiques, non. L'accéléromètre seul fournit l'angle d'inclinaison. Le gyroscope mesure la vitesse de rotation plutôt que la position, il ne peut donc pas vous dire si le téléphone est nivelé — seulement à quelle vitesse il tourne. Certaines applications utilisent la fusion de capteurs (combinant les deux capteurs) pour des lectures plus lisses pendant le mouvement, mais pour appuyer un téléphone contre un mur ou une surface et lire l'angle, l'accéléromètre gère tout.

Pourquoi mon application de niveau lit-elle légèrement mal même sur une surface plane?

La cause la plus courante est le décalage de fabrication — chaque puce MEMS a un petit biais défini à l'usine qui la fait lire une valeur non nulle même lorsqu'elle est parfaitement plate. L'étalonnage de l'application sur une surface plane connue corrige cela. D'autres causes incluent la dérive de température (0.1-0.5° par changement de 10°C), un étui de téléphone qui incline légèrement l'appareil sur la surface ou la poussière et les débris sur la surface elle-même. L'étalonnage sur une table en verre propre après tout changement de température résout la plupart des problèmes.

La perspective globale

Les applications de niveau fonctionnent parce que la physique est fiable. La gravité est constante, les accéléromètres la mesurent en continu et la trigonométrie convertit trois nombres en angle. La chaîne de l'élément capteur MEMS à l'affichage de la bulle est entièrement déterministe — pas de conjectures, pas de boîte noire.

Ce qui sépare une bonne application de niveau d'une application moyenne n'est pas l'accès à un meilleur matériel. Chaque téléphone phare est livré avec des capteurs plus que capables. La différence est dans le logiciel: à quel point le flux du capteur brut est bien filtré, comment l'étalonnage est implémenté et stocké, comment les présets de tolérance se mappent aux tâches du monde réel. Bien faire cela et une puce MEMS à 0,50 $ offre une précision comparable à celle des instruments dédiés coûtant cinquante fois plus cher.

Comprendre le fonctionnement du capteur vous rend aussi un meilleur utilisateur. Étalonnez à la température de travail. Retirez l'étui pour des lectures précises. Laissez la lecture se stabiliser une seconde avant d'y faire confiance. Ces habitudes découlent directement de savoir ce que le matériel fait réellement.

Essayez Spirit Level Pro gratuitement

Fonctionne sur n'importe quel téléphone ou tablette. Aucun téléchargement requis. Fonctionnalités Pro à partir de 10 $ une seule fois.

Ouvrir Spirit Level Pro

Aucun compte requis · Fonctionne hors ligne · 20 langues