Articles Taggés ‘accélérometre 3 axes’

5 – Tilt Compensation Azimuth ? with Pitch Ø et le Roll ?

19 septembre 2010

Post to Twitter

A) Introduction

Il est nécessaire pour mon voilier de calculer son Azimuth ? ou cap. Selon Wikipedia, le cap d’un mobile est la direction vers laquelle il est orienté (ou dans le cas d’un navire, la direction où pointe son étrave). C’est l’angle exprimé en degrés (de 0 à 360°), dans le sens des aiguilles d’une montre, entre sa ligne de foi (son axe longitudinal) et le nord.Cet angle se mesure à l’aide d’une boussole, d’un compas magnétique ou gyroscopique.

Les composants que j’ai choisie pour calculer mon Azimuth :

La boussole magnétique HMC5843 est un magnétomètre trois axes. Il permet d’identifier l’angle de rotation par rapport au nord magnétique de la Terre avec une résolution de 7 milli-gauss.

L’accéléromètre AXL335 délivres des tensions proportionnelles aux accélérations avec une sensibilité :+/- 3 g.

B) Calculer l’Azimuth ? sans aucune compensation :

\psi = (180 *(\frac{atan2(-1 * YMagneto, XMagneto)}{pi}))+180;

Avec cette équation, les valeurs ne sont correctes que si le HMC5843 est à plat.

ps : Attention sous Excel, il faut inverser les valeurs pour atan2, ça peut vous faire gagner du temps….

Vous pouvez télécharger un exemple de programme fournit ci-dessous qui montre comment lire les HMC5843 sur un microcontrôleur ATMEGA328
Download : ici

C) Les angles Pitch Ø et le Roll ? pour un accéléromètre deux axes ou trois axes :

Grâce à l’accéléromètre ADXL335 , il est possible de calculer le Pitch Ø et le Roll ? pour corriger notre azimuth ?. Voici un schéma pour visualiser les angles du bateau.


Pour un accéléromètre deux axes voici l’équation :

\theta=\arcsin(Xaccel)*\frac{180}{pi}

\phi= \arcsin(Yaccel)*\frac{180}{pi}

Pour un accéléromètre trois axes comme le HMC5843 voici l’équation :

\theta= \dfrac {atan(-Xaccel)} {\sqrt(Yaccel^2+Zaccell^2))}*\frac{180}{pi}

\phi= \dfrac {atan(Yaccel)}{\sqrt(Xaccel^2+Zaccel^2))}*\frac{180}{pi}

D) Azimuth ? tilt compensation :

Le HMC5843 donne des valeurs correctes s’il est à plat. Donc, chaque fois que mon bateau va être incliné l’angle de rotation par rapport au nord magnétique donné par le compas ne sera plus correct. Il est possible de compenser cette erreur (Tilt compensation) en utilisant les valeurs du compas et d’un accéléromètre.

C’est compensation est aussi possible pour les compas deux axes avec l’algorithme de Seong Yun Cho et Chan Gook Park qui permet grâce au Dip Angle de faire une estimation du troisième axe . Vous pouvez télécharger ci-dessous leurs travaux :
Download : TiltCompensation.pdf

Pour un magnétomètre deux axes vous devez calculer le dip angle pour faire une approximation du troisième axe Z.

Pour le calculer :

\delta = \dfrac{1}{tan(2*tan(Latitude)}

ex:  \delta = \dfrac{1}{tan(2*tan(48.86213)} ) = 25.0112° ou 48.86213° coïncide avec ma latitude.

Pour les compas deux axes, il est nécessaire de faire une approximation du troisième axe Z grâce à la valeur du DIP angle

Zmagneto = \dfrac {sin(\theta)+Xmc*sin(\theta)-Ymc*cos(\theta)*sin(\phi)} {cos(\phi)*cos(\theta) }

Cependant, pour avoir des valeurs plus précises, il vaut mieux utiliser un compas trois axes comme le HMC5843.

Pour calculer l’azimut avec compensation :

Vecteur horizontal : xh = x*cos(\theta)+y*sin(\phi)-z*cos(\theta)*sin(\theta);

Vecteur verticale : yh= y*cos(\phi)+z*sin(\phi);

Heading : \psi= arctan(-yh/xh)

FoxBoard G20 :

?????Il faut prendre un soin tout particulier avec la fox Board G20 pour utiliser ce composant car elle génère un champ électromagnétique puissant qui perturbe le compas dans un rayon d’environ 3 cm. J’ai aussi constaté le même phénomène pour mon GPS. Il est donc prudent d’isoler les composants sensibles ou de les éloigner.Cette boussole a une interface IC2 qui permet d’interroger ses registres.

Un peu de vocabulaire :

Azimuth = angle de rotation par rapport au nord magnétique

Le gauss (symbole G) est l’unité CGS « électromagnétique » à trois dimensions d’induction magnétique. Il est défini comme étant 1 maxwell par centimètre carré (Mx/cm²).

Liens :

http://fr.wikipedia.org/wiki/Cap_%28navigation%29

Twitter links powered by Tweet This v1.8.1, a WordPress plugin for Twitter.