Go Down

Topic: Compas numérique - HMC5883L - fonctionnement (Read 10790 times) previous topic - next topic

Christian_R

Le repère X Y Z écrit sur le module n'indique évidemment pas l'axe Nord, puisqu'on peut tourner le module dans tous les sens, c'est un repère lié au PCB lui même.

Le module mesure le champ magnétique autour de lui (champ terrestre ou aimants, bobinages, antennes....).

Ce champ est est un vecteur, on projette ses 3 composantes selon les trois axes propres.

Ce sont ces 3 mesures à la fois qu'il faut prendre en considération, pour trouver le module, la direction et le sens du champ vectoriel.
Christian

Hexor

Il y quelques choses que je ne comprends pas.
Le module me retourne, via une librairie, un nombre en degré me séparant du Nord.
Donc une valeur de 0° m'indique le Nord.

Il faut donc bien une "référence" afin que je puisse utiliser ce nombre de degré que me retourne le module, non ?

Ou alors je n'ai pas du tout compris comment utiliser ce chip.
Mon but étant de fixer ce module à un objet, et je souhaite connaitre l'orientation de la face de l'objet. Du genre la face pointe vers le Nord, ou le Sud, ou... etc.

Donc dans ce cas comment dois-je l'utiliser ? car là, je suis perdu..  :smiley-eek:

Merci :)





Christian_R

La librairie calcule à partir de Ax et Ay l'angle en degrés entre un axe du PCB et le nord, quand le module est placé horizontalement.
Christian

Hexor

Quote
un axe du PCB et le nord,
Justement, qu'elle est cet axe ?

balvenie

Bonjour,

Ce module est en train de me rendre chèvre.
Je suis loin d'être expert arduino, mais je pense avoir un peu de bon sens.

1 j'ai commencé par installer ce module avec des logiciels de compas, a peu tous basés sur le même code
 résultat une rotation sur 360° ne me donnait pas de valeurs cohérentes comme par exemple 90° à chaque quart de tour.

2 j'ai trouvé une méthode pour étalonner le module, alors que personne n'éprouve le besoin de le faire et cela semble fonctionner sur un des 2 modules dont je dispose, l'autre reste récalcitrant.

Bien entendu je travaille toujours avec les modules dans le plan horizontal, ne souhaitant pas aggraver les difficultés pour l'instant avec la correction de tilt.

Tout retour d'expérience est bien entendu bienvenu.

D'après mon expérience il semble que ce soit l'axe X qui indique 0° lorsqu'il est au nord (à la déclinaison près, mais très faible ne France)


balvenie

Je pense avoir crié victoire trop vite.
Les résultats que j'avais exposés hier ne sont pas reproductibles d'un jour sur l'autre (dans le même environnement bien entendu)
Je me demande si mes deux HMC5883 ne sont pas HS.
Bref je n'y vois pas plus clair

-Standby

Le compas faut qu'il reste constamment a l'horizontale sans quoi les données seront fausses, comme dit plus haut aussi il faut évité toutes sources de perturbation. La déclinaisons magnétique doit être prise en compte sinon plus on avance plus on dérive.

Essaye la librairie I2C Dev et HMC5883L elle est très complète et facile a comprendre.
The Mind is like a parachute it works best when opened.

balvenie

#22
Apr 29, 2015, 07:45 am Last Edit: Apr 29, 2015, 07:49 am by balvenie
Bien entendu je tiens le module horizontal, et les comparaisons sont faites dans le même environnement ce qui élimine entre deux observations l'incidence du milieu.

Pour ce qui est de la déclinaison, en France elle est très faible (moins de 1° soit moins que la précision du capteur) et comme je fais mes comparaisons en statique, elle n'a pas d'influence sur les valeurs lues.

ll est certain que si on se déplace et que la déclinaison est importante, il y aura une dérive importante.

Merci pour les lib je vais les essayer.

balvenie

Helas, si je positionne le capteur horizontalement et lui fait faire 4 fois un quart de tour j'obtiens en heading:
73, 187,250, 313

Je suis loin d'avoir des rotations de 90°, et je ne comprends toujours pas pourquoi.

balvenie

N'aboutissant pas à des résultats corrects avec ce squetch

https://www.youtube.com/watch?v=0yYytTAfB3g


j'ai monté sur la même platine d'essai celui ci

http://blog.simtronyx.de/digitaler-kompass-hmc5883l-gy-271-tft-hy-1-8-und-ein-arduino/

Les deux fonctionnent en parallèle et en même temps tirent les informations du même capteur HMC5883.
L'un est juste le deuxième, le premier complètement faux, n'ayant jamais aucune coïncidence  des indications.

Cependant le deuxième indique par exemple 90° et pointe à l'ouest ou 270 et pointe à l'est.
IL y a inversion qu'il faut corriger en ajoutant un signe moins devant le cos dans la ligne 103 et la ligne 105 la ligne 103 effaçant le tracé précédent

Go Up