Aller au contenu


Photo
- - - - -

Utilisation d'un magnétomètre


3 réponses à ce sujet

#1 dakota99

dakota99

    Membre occasionnel

  • Membres
  • Pip
  • 246 messages
  • Gender:Male
  • Interests:programmation Windev, Webdev, aviation, robotique, domotique, drones

Posté 22 décembre 2024 - 12:58

Bonjour

Je souhaiterais utiliser un magnétomètre Wit Motion WT901CTTL pour récupérer la route magnétique suivie par un robot.

Donc l'angle entre le nord magnétique et l'axe du robot.

Le capteur WT901CTTL envoie une trame via le port série au format hexadécimal.

Savez-vous quelles valeurs il faut récupérer pour calculer l'angle par rapport au nord ?

Angle output ou magnetic output ou ..... ?

Voici ce que donne la doc :

 

6.1.4 Angle Output
0x55 0x53 RollL RollH PitchL PitchH YawL YawH VL VH SUM
Calculated formular:
Roll(X axis)Roll=((RollH<<8)|RollL)/32768*180(°)
Pitch(Y axis)Pitch=((PitchH<<8)|PitchL)/32768*180(°)
Yaw(Z axis)Yaw=((YawH<<8)|YawL)/32768*180(°)
Version calculated formula:
Version=(VH<<8)|VL

 

6.1.5 Magnetic Output
0x55 0x54 HxL HxH HyL HyH HzL HzH TL TH SUM
Calculated formular:
Magnetic(x axis)Hx=(( HxH<<8)| HxL)
Magnetic(y axis)Hy=(( HyH <<8)| HyL)
Magnetic(z axis)Hz =(( HzH<<8)| HzL)
Temperature calculated formular:
T=((TH<<8)|TL) /100℃

 

Exemple de calcul sur la trame Angle Output valeurs YawL YawH :

55 53 00 FF 94 00 16 16 CC 46 79

Calcul sur les valeurs : 16 16 ou 22 22 en décimal

Décalage de 8 bits vers la gauche de YawH et opération OU binaire cela donne :

1616 en hexadécimal et 5654 en décimal

5654 / 32768 * 180 = 31.058

Alors que l'angle devrait être de +/- 200°

 

 



#2 dakota99

dakota99

    Membre occasionnel

  • Membres
  • Pip
  • 246 messages
  • Gender:Male
  • Interests:programmation Windev, Webdev, aviation, robotique, domotique, drones

Posté 23 décembre 2024 - 10:39

Le Calcul sur le magnetic output semble donner de meilleurs résultats.

Dans la documentation du capteur la trame qui donne le "magnetic output" : 0x55 0x54 HxL HxH HyL HyH HzL HzH TL TH SUM
Calculated formular:
Magnetic(x axis)Hx=((HxH<<8)| HxL)
Magnetic(y axis)Hy=((HyH<<8)| HyL)
Magnetic(z axis)Hz=((HzH<<8)| HzL)
L'axe x du capteur est orienté vers l'avant du robot
La trame reçue du capteur : 55 54 A1 1A 0F F6 86 ED 00 00 DC
Je prends en considération HxL / HxH  A1 1A et HyL / HxH 0F F6

Après avoir fait un décalage de 8 bits vers la gauche et un OU binaire

Hx = 6817 et Hy = 62991

IF Hx > 32767 THEN Hx -= 65536
IF Hy > 32767 THEN Hy -= 65536

Hx = 6817
Hy = -2545
ca  = ArcTang2(Hy,Hx) // ca = 339 degrees
Donc l'angle par rapport au nord magnétique est de 339°

Ce n'est pas correct par rapport à une boussole

Une calibration est probablement indispensable pour obtenir des résultats cohérents.



#3 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 10 104 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 24 décembre 2024 - 05:09

Attention, les magnétomètres sont fortement perturbés en intérieur ..  Positionner le capteur près de structures métallique et surtout magnétique perturbe les mesures ... 


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#4 dakota99

dakota99

    Membre occasionnel

  • Membres
  • Pip
  • 246 messages
  • Gender:Male
  • Interests:programmation Windev, Webdev, aviation, robotique, domotique, drones

Posté 25 décembre 2024 - 01:39

Bonjour

Oui il faut faire attention aux perturbations.

Voici les résultats obtenus après calibration magnétique.

MAGNETIC CALIBRATION.jpg

Je les ai envoyés au support pour leur demander si ce sont des résultats "normaux" ou s'ils peuvent être améliorés.

Si c'est un résultat normal c'est assez décevant. Je vais dans ce cas chercher un autre récepteur de meilleure qualité.





Répondre à ce sujet



  


1 utilisateur(s) li(sen)t ce sujet

0 members, 1 guests, 0 anonymous users