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°