IMU 9DOF dont l'ITG-3200 est désaxé ;-)

Bonjour,

Je vous ai acheté il y a quelques mois un IMU 9DOF.
J’ai pu le tester cette semaine, et il me semble que l’ITG-3200 se comporte aléatoirement.
L’IMU est relié (80 cm) à un convertisseur de niveau lui-même relié à une carte Arduino Uno, reliée à un PC .
J’utilise MultiWii comme interface de visualisation (aucune erreur i2c).
J’ai utilisé dans le fichier def.h la définition suivante :
#define ACC_ORIENTATION(X, Y, Z) {accADC[ROLL] = -X; accADC[PITCH] = -Y; accADC[YAW] = Z;}
#define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] = Y; gyroADC[PITCH] = -X; gyroADC[YAW] = -Z;}
#define MAG_ORIENTATION(X, Y, Z) {magADC[ROLL] = Y; magADC[PITCH] = -X; magADC[YAW] = -Z;}
Pouvez-vous me confirmer la bonne définition des orientations (même si ce n’est pas le sujet)?

Les 2 autres capteurs réagissent correctement (ie comme physiquement), à noter cependant que le HMC5883L
perd son orientation après 30 secondes (câble trop long ?).

J’ai utilisé un programme de lecture des registres de l’ITG-3200 (voir plus bas).
Je suis inquiet des valeurs des registres de la température : 1B et 1C.

D’autre part, quelques soient les rotations effectuées, les valeurs transmises
sont toujours positives en roll et pitch et toujours negatives en yaw ( mais au repos toutes sont à 0).

Le gyroscope aurait-il pu souffrir de la chaleur lors de la soudure, ou peut-il être défectueux?

Cordialement.

Current ITG3200 settings

device address = 0x68
Sample rate divider (Hz) = 8000
full scale range = ±2000 deg/sec
low pass filter BW = 256Hz LowPassFilter BW/ 8Khz Sample Rate
—dump start—
Register address|Register data
Reg.address(hex,dec) Reg.data(bin,hex,dec)
0x0,0,b00001000,0x8,8
0x15,21,b00000000,0x0,0
0x16,22,b00011000,0x18,24
0x17,23,b00000101,0x5,5
0x1A,26,b00000001,0x1,1
0x1B,27,b10000000,0x80,128
0x1C,28,b01010000,0x50,80
0x1D,29,b00000100,0x4,4
0x1E,30,b10110001,0xB1,177
0x1F,31,b00000000,0x0,0
0x20,32,b00011010,0x1A,26
0x21,33,b00000000,0x0,0
0x22,34,b00000000,0x0,0
0x3E,62,b00000001,0x1,1
—dump end—


X:1201 Y:18 Z:2

Current ITG3200 settings

device address = 0x68
Sample rate divider (Hz) = 8000
full scale range = ±2000 deg/sec
low pass filter BW = 256Hz LowPassFilter BW/ 8Khz Sample Rate
—dump start—
Register address|Register data
Reg.address(hex,dec) Reg.data(bin,hex,dec)
0x0,0,b00001000,0x8,8
0x15,21,b00000000,0x0,0
0x16,22,b00011000,0x18,24
0x17,23,b00000101,0x5,5
0x1A,26,b00000001,0x1,1
0x1B,27,b10000000,0x80,128
0x1C,28,b00010000,0x10,16
0x1D,29,b00000100,0x4,4
0x1E,30,b10110001,0xB1,177
0x1F,31,b00000000,0x0,0
0x20,32,b00011010,0x1A,26
0x21,33,b00000000,0x0,0
0x22,34,b00000010,0x2,2
0x3E,62,b00000001,0x1,1
—dump end—


X:1200 Y:22 Z:2

Current ITG3200 settings

device address = 0x68
Sample rate divider (Hz) = 8000
full scale range = ±2000 deg/sec
low pass filter BW = 256Hz LowPassFilter BW/ 8Khz Sample Rate
—dump start—
Register address|Register data
Reg.address(hex,dec) Reg.data(bin,hex,dec)
0x0,0,b00001001,0x9,9
0x15,21,b00000000,0x0,0
0x16,22,b00011000,0x18,24
0x17,23,b00000101,0x5,5
0x1A,26,b00000001,0x1,1
0x1B,27,b10000000,0x80,128
0x1C,28,b01000000,0x40,64
0x1D,29,b00000100,0x4,4
0x1E,30,b10100001,0xA1,161
0x1F,31,b00000000,0x0,0
0x20,32,b00011000,0x18,24
0x21,33,b00000000,0x0,0
0x22,34,b00000010,0x2,2
0x3E,62,b00000001,0x1,1
—dump end—

Je suppose que l’accéléromètre fonctionne bien!? Si c’est le cas alors effectivement le souci peut venir du gyro.
Cependant le fait d’avoir aucune erreur I2C dans le GUI mais fait douter un peu.
Vérifiez vos valeurs des résistances de pull-up et si possible de réduire vos câbles.

Bonjour,
J’ai raccourci les liaisons (moins de 10 cm), et j’ai toujours le même résultat (et 0 erreur I2C).
Le BM180 et le HMC5883L répondent normalement, mais l’ITG3200 donne toujours les mêmes valeurs positives pour roll et pitch, et négatives pour le yaw,
et ce quelque soit la rotation.
Voila un exemple de MultiWii (fichier joints), où j’ai effectué une rotation antihoraire selon Y puis retour.
Que puis-je faire d’autre ?

Cordialement.


Je pense que le mieux est que vous nous renvoyez la carte que lon puisse la tester.

Bonsoir,

Vous avez dû recevoir mon IMU.
Si vous avez des questions, je suis à l’écoute sur ce canal de communication, ou par MP.
Cordialement,

Olivier.

Aujourd’hui je suis en déplacement donc je vous tiens au courant demain.
Cdt,