Magnétomètre et inclinaison [Fermé]

Signaler
Messages postés
93
Date d'inscription
jeudi 16 octobre 2008
Statut
Membre
Dernière intervention
16 décembre 2014
-
Messages postés
93
Date d'inscription
jeudi 16 octobre 2008
Statut
Membre
Dernière intervention
16 décembre 2014
-
Bonjour,

Est-il possible de récupérer l'inclinaison à partir d'un magnétomètre?
J'ai aussi un accéléromètre sur la carte, mais il permet de mesurer la vitesse. Il ne correspondra pas puisque ses valeurs vont bouger lors d'une accélération. En effet, l'accéléromètre est incapable de différencier accélération et inclinaison. Ma carte est susceptible d'être baladée dans tous les sens pendant ses mesures. Je m'occupe de tout ce qui est fusion de donnée par la suite. C'est ce qu'ils appellent l'angle "pitch" qui m'intéresse.

J'ai juste besoin de savoir si on peut récupérer une inclinaison avec ce que j'ai sur ma carte (accéléromètre + magnétomètre) pendant une accélération ou à vitesse constante.

Dans l'attente de vos futures réponse, merci

Titus.

5 réponses

Messages postés
6553
Date d'inscription
vendredi 28 décembre 2007
Statut
Contributeur
Dernière intervention
23 octobre 2020
431
Salut,

Tu peux le faire avec 3 accéléromètres.
Ils ne te donneront pas l'inclinaison, mais seulement la façon dont l'appareil a bougé. C'est à toi de déterminer l'inclinaison à partir de ça.
Aussi, lorsqu'une vitesse est constante, l'accélération est nulle.

https://fr.wikipedia.org/wiki/Acc%C3%A9l%C3%A9rom%C3%A8tre
https://www.youtube.com/watch?v=FnQ43TJtE54
Messages postés
93
Date d'inscription
jeudi 16 octobre 2008
Statut
Membre
Dernière intervention
16 décembre 2014
2
Merci, je connais très bien le fonctionnement de l'accéléromètre. J'ai déjà écrit le code pour la récupération de la vitesse (intégration) et il fonctionne, mais seulement carte à plat.
Sur ma carte j'ai seulement un accéléromètre et un magnétomètre...

C'est donc impossible de récupérer l'inclinaison avec ce dont je dispose?
Messages postés
6553
Date d'inscription
vendredi 28 décembre 2007
Statut
Contributeur
Dernière intervention
23 octobre 2020
431
La magnétomètre se sert de la gravité, il pourra te donner la rotation initiale.
Ensuite, tu peux te servir de l'un ou l'autre pour connaître l'accélération angulaire.

Il faut que tu arrives à reproduire un gyroscope avec ça, c'est tout. C'est faisable je pense.
Le problème, c'est qu'avec un seul détecteur, tu ne pourras pas savoir si il penche en dans l'axe perpendiculaire ni même si ton appareil est en fait retourné.
C'est pour ça il vaut mieux en avoir 3 (Rotation dans l'espace), minimum 2 (Rotation en plan). Admettons que ça t'en fait 2.
Musicalement,
DJ Fire-Bl@ck.
Messages postés
93
Date d'inscription
jeudi 16 octobre 2008
Statut
Membre
Dernière intervention
16 décembre 2014
2
Voilà, on arrive à mon problème. J'arrive pas à comprendre comment faire mes calculs avec le magnétomètre.
J'ai recopié le calcul de l'azimut sur internet, ca me donne un truc du genre 260°
Mais ça change tout le temps suivant comment je le tourne.

As-tu une idée de la façon avec laquelle je pourrais m'y prendre?
Messages postés
6553
Date d'inscription
vendredi 28 décembre 2007
Statut
Contributeur
Dernière intervention
23 octobre 2020
431
Tu vas avoir besoin d'informations sur ton capteur :

sa sensibilité (en V/T)
sa résolution (en T)
son bruit équivalent en champ magnétique
sa linéarité
son étendue de mesure
sa directivité

A intégrer dans le calcul.
Si tu tentes de construire l'équation toi même tu pourras mieux y arriver.

Tu peux récupérer les valeurs extrêmes (étendue de mesure), en tenant compte de sa linéarité puis convertir en angle.
Après, rien ne vaut un petit tour dans la documentation officielle du capteur, en général on le retrouve sur internet aussi, peut être même avec des exemples de code si tu utilises une interface simplifiée comme Arduino.
Là ça dépend vraiment des outils dont tu te serts. Il est possible que tu n'aies aucun calcul à faire, ou que tu dois te tapper toute la CAN ...
Messages postés
93
Date d'inscription
jeudi 16 octobre 2008
Statut
Membre
Dernière intervention
16 décembre 2014
2
Il s'agit du HMC5883L, un magnétomètre 3 axes 12 bits. (I2C)
Pour mon développement j'utilise un Psoc, je peux faire a peut près ce que je veux. C'est super puissant.
Mes axes je les récupères sans problème. L'histoire du complément à 2 c'est fait aussi.
Je me doute que dans mes calculs je vais devoir me servir de la valeur en gauss, la conversion est faite aussi.
Actuellement ma résolution est de 0.73mg. C'est le plus sensible, ça sera le plus adapté je pense.
Ah oui, je travail en Gauss et pas en Tesla, mais ça peut s'arranger aussi.
La linéarité est de +-0.1% FS (? Je sais pas encore ce que c'est)
Le bruit est de 2mG (je suppose que c'est ça)

C'est pas vraiment plus clair. Y'a pas grand monde qui travaille avec ce genre de composant, j'ai pas beaucoup de source sur lesquelles m'appuyer.
Messages postés
6553
Date d'inscription
vendredi 28 décembre 2007
Statut
Contributeur
Dernière intervention
23 octobre 2020
431
Peut être le mode de fonctionnement n'est pas le bon.
Regarde la page 18 : https://cdn-shop.adafruit.com/datasheets/HMC5883L_3-Axis_Digital_Compass_IC.pdf
Messages postés
93
Date d'inscription
jeudi 16 octobre 2008
Statut
Membre
Dernière intervention
16 décembre 2014
2
Y'a pas de problème de ce coté là, j'étais déjà en mode continu.
Messages postés
93
Date d'inscription
jeudi 16 octobre 2008
Statut
Membre
Dernière intervention
16 décembre 2014
2
Et puis c'est l'accéléromètre qui se sert de la gravité. Le magnétomètre se sert du champ magnétique terrestre.