mems
En plus des puces bluetooth, Wi-Fi ou GPS, votre smartphone contient des tonnes de capteurs physique : capteur de température, de pression, capteur magnétique… ainsi qu’un capteur d’orientation, appelé accéléromètre.
L’accéléromètre de votre téléphone est capable se vous donner l’orientation du téléphone mais également — comme l’indique son nom — l’accélération (la mise en mouvement) subie par le téléphone.

Ainsi, si vous faites glisser votre téléphone sur la table, sans en changer l’orientation, votre téléphone détectera ce déplacement.

Le gyroscope : l’accéléromètre traditionnel

Traditionnellement, on utilise des gyroscopes mécaniques : ces appareils rotatifs ont pour particularité de conserver une orientation fixe. Ainsi, quand un appareil changeait d’orientation, le gyroscope ne tournait pas et il suffisait de mesurer l’angle entre le gyroscope et le reste de la machine pour déduire l’angle de rotation.

Les téléphones n’embarquent pas de gyroscopes mécanique : ça serait beaucoup trop gros, trop gourmand en électricité et surtout trop fragile. À la place, ils embarquent des puces électroniques qui font le même travail.

Il y a donc, quelque part dans le téléphone, un dispositif qui permet de transformer des signaux mécaniques en signaux électroniques.

Les MEMS

L’accéléromètre d’un smartphone est rendu possible grâce à un type particulier de puces appelées « MEMS », de l’acronyme anglais pour « microsystème électromécanique ».
Ce sont des constructions en semi-conducteurs, très fins et très petits, qui fonctionnent comme des petits ressors. Chargés électriquement, la déviation du petit ressort produit le déplacement de la charge électrique, qui est alors captée.

L'accéléromètre de votre téléphone est constitué d'une très fine tige de silicium mobile. Cette tige est suffisamment petite pour rester solide et ne pas se briser, mais également assez longue (une centaine de micromètres) pour avoir une inertie propre et pouvoir bouger librement.
De cette façon, quand le téléphone bouge, l’inertie de la tige retarde sa propre mise en mouvement et elle se retrouve décalée d’un côté. Cette déviation ne dépasse pas une distance de l’ordre du dixième de micromètre.

Quand cette tige de silicium est chargée électriquement et la cage dans laquelle elle se trouve également, le déplacement de charges portée sur la tige est détectable et on en déduit le sens du déplacement :

fonctionnement d’un accéléromètre électromécanique
↑ principe d’un accéléromètre électromécanique (la partie rouge se met en mouvement par rapport au reste et le décalage est détecté grace au déplacement de charge qu’elle porte) — (source)

Bien-sûr, avec un seul de ces systèmes, on arrive à mesurer l’accélération sur un seul axe seulement. C’est donc pourquoi que les accéléromètres sont constitués en réalité d’un minimum de 3 de ces tiges, mesurant chacune l’accélération dans un plan (X, Y, Z). C’est ensuite une unité de calcul dédiée qui envoie les informations relatives au déplacement vers le processeur central (CPU).

Les gyroscopes aujourd'hui présents dans les appareils électroniques fonctionnent sur le même principe : une série de tiges micrométriques en silicium qui réagissent à la rotation, tout comme les accéléromètres réagissent au déplacement. En plus des tiges, il peut y en avoir en forme de spirales ou d’autres formes, afin de détecter des angles par exemple.

Conclusion

L’électronique a remplacé beaucoup de choses qui étaient à l’époque électro-mécaniques, telles que les bilames d’un clignotant ou les ampoules à mercure d’une sonnette de porte.

Il est intéressant de voir que certaines choses restent mécaniques : les MEMS avec leur tiges mobiles sont des systèmes mécaniques. Ils sont juste très miniaturisés.

La photo d’en-tête montre la structure d’un MEMS vu au microscope électronique : on distingue les différentes branches mobiles (il y en a un grand nombre, plutôt qu’une, pour démultiplier la fiabilité du signal). L’ensemble mesure quelques centaines de micromètres de large.

  • Pour essayer et vous amuser, Mozilla Developper Network (MDN) a fait un exemple de script détection de l’accéléromètre dans une page web : Orientation Example (à utiliser sur mobile).
  • Si ça ne suffit pas, j’ai également fait un exemple ici : HTML5 accelerometer

image d’en-tete de Defence.ru

18 commentaires

gravatar
Le Hollandais Volant écrit :

@Matthieu : effectivement, mais ce ne sont pas des gyroscopes rotatifs. Pareil, ce sont des MEMS, dont le fonctionnement est identique à l'accéléromètre dont je parle : des brindilles de silicium micrométriques qui détectent les rotations.

En fait, le gyroscope ici n'est autre ici qu'un accéléromètre spécial pour les rotation (ils détectent les angles alpha, bêta, gamma) alors que l'accéléromètre détecte les déplacements (x, y, z).

Au final, on peut retrouver les 6 paramètres (angles et déplacements) par le calcul dans les deux cas, mais justement, ça nécessite une unité de calcul. J'imagine que c'est pour cela qu'on utilise un gyroscope directement, maintenant.

http://www.tomshardware.fr/articles/MEMS,2-811-14.html

gravatar
Le Hollandais Volant écrit :

@Steph : Oh, je ne savais pas que ça s’appelait comme ça. En tout cas utiliser la relativité pour déterminer des angles de rotation, c’est très ingénieux.

@Pierre : Merci pour le lien de la vidéo !

gravatar
Pazns écrit :

À ce propos, il est facile de constater la gravitation terrestre à l'aide de son téléphone et de son accéléromètre.
Celui-ci subit en permanence les fameux 9.8 m/s² .

gravatar
Le Hollandais Volant écrit :

@Pazns : tout à fait !
J’avais d’ailleurs trouvé cette application en écrivant l’article. Il affiche bien le 9,81 m/s². Par ailleurs, on constate aussi que si on le laisse tomber (chute libre) il affiche alors 0 g.

Et si on balance le téléphone à bout de bras, le téléphone subit des accélérations importantes (j’arrive à monter jusqu’à 13 g :p).

L’application est bien faite : il affiche l’accélération courante, mais aussi le min et le max.

gravatar
Pazns écrit :

@Le Hollandais Volant :

L'application demande de voir les réseaux Wifi, de voir l'identifiant du téléphone et l'appel en cours, et l'accès au stockage externe.
En quoi est-ce justifié ?

gravatar
PascalB écrit :

Je profite des 2 fautes d'inattention pour poster mon 1er commentaire pour te féliciter pour le contenu très intéressant de ton site et de tes liens (au fil du web).
"qui fonctionnent comment des petits ressors."->qui fonctionnent comme des petits ressorts
qui est alors capté -> qui est alors captée

Merci!

gravatar
Rezu écrit :

@Matthieu : Ce n'est pas pour autant que l'on sait comment ca fonctionne. Les gens finissent pas penser que c'est magique. Ca existe depuis des années donc aucun intérêt. Merci pour cet article.

gravatar
Slim56 écrit :

Question, es que je peut localiser une personne avec l'accéléromètre de leur smartphone. Sinon comment je peut localiser le smartphone d'une personne sans GPS?
Merci d'avance.

gravatar
Le Hollandais Volant écrit :

@Slim56 : Techniquement, un accéléromètre peut servir de méthode de localisation. Les avions utilisent un gyroscope pour mesurer leur déplacement. C’est relativement précis, mais les incertitudes s’accumulent et la position devient de moins en moins précise après plusieurs heures. Ce système permet de continuer à savoir où on se trouve même si le système GPS venait à tomber soudainement (aussi bien les satellites en orbite, que le capteur GPS embarqué).

Dans les smartphones cependant, les accéléromètres ne sont pas utilisés pour ça et la précision de la mesure serait probablement catastrophique.

Dans tous les cas, je ne pense que suivre la position d’un autre smartphone soit possible grâce à ça.

gravatar
Rob Maertens écrit :

bjr,
Super article et commentaires.
Une question à laquelle je n'arrive pas à trouver de réponse sur le net :
le capteur de pression atmosphérique étant un capteur physique, consomme-t-il en permanence du courant ?
Ou bien (pour économie bien que consommant très peu) une application Android peut-elle activer ou pas ce capteur auprès d'Android?
Un grand merci pour une explication, slts

gravatar
Le Hollandais Volant écrit :

@Rob Maertens : Je ne suis pas 100% sûr, mais il est possible que le système éteigne ou allume les capteurs en fonction des besoins. Ils le font bien avec l’écran, le haut parleur ou l’appareil photo.

Certains capteurs se doivent de rester toujours allumés, comme le capteur audio (le microphone) afin de détecter quand on dit "OK Google", ou le capteur téléphonique, l’accéléromètre, le magnétomètre quand on utilise une coque à clapet magnétique. Mais je suppose que les capteurs qui ne sont utilisés que de façon intermittentes ne sont alimentés que quand c’est nécessaire.

gravatar
Rob Maertens écrit :

@Le Hollandais Volant :
Merci de ton commentaire. Je comprends la logique, ce capteur de pression (si on ne l'utilise pas) n'a pas besoin " d'être en veille". Des applis comme Capteur multi-outil m'indique qu'il consommerait 3 microA ...s'il mesure la pression. Mais aucune app ne me dit "votre capteur est actuellement au repos et ne consomme pas".
Si quelqu'un (un programmeur) avait une astuce pour s'assurer ou sait si dans le code, il faut relancer le capteur par une commande, je suis évidemment preneur. Pour l'instant, je ne vois pas comment résoudre cette énigme, à +


Votre commentaire sera visible après validation par le webmaster.