Relevé de donnée sur le MPU6050 non exact
✔ Ce sujet est résolu
OsuFrance
16 Messages
Le lundi 3 juin 2019 à 10:36:47
Bonjour,
Je viens vers vous car je viens de me rendre compte sur la fin de mon application que mon MPU6050 n'a pas des relevés exact concernant la partie gyroscopique. En effet, lorsque je fixe mon module quelque part et que j'effectue une ouverture de 0 à 90° dans le moniteur arduino cela m'affiche que le module a fait une rotation de 0 à environ 40° ce qui ne correspond pas au mouvement fait. Auriez vous une idée ?
Merci à vous !
Je viens vers vous car je viens de me rendre compte sur la fin de mon application que mon MPU6050 n'a pas des relevés exact concernant la partie gyroscopique. En effet, lorsque je fixe mon module quelque part et que j'effectue une ouverture de 0 à 90° dans le moniteur arduino cela m'affiche que le module a fait une rotation de 0 à environ 40° ce qui ne correspond pas au mouvement fait. Auriez vous une idée ?
Merci à vous !
Le lundi 3 juin 2019 à 14:52:09
Salut, tu as utilisé l'implémentation du chapitre 7 ?
Quand tu dis afficher dans le monitoeur, tu fais des Serial.print ?
Quand tu dis afficher dans le monitoeur, tu fais des Serial.print ?
OsuFrance
16 Messages
Le lundi 3 juin 2019 à 19:44:00
Je l'avais survolé je m'étais basé sur celle du chapitre 5. La différence est significative ?
Yes, j'affiche tout à partir de Serial.print !
Yes, j'affiche tout à partir de Serial.print !
Le lundi 3 juin 2019 à 23:09:12
Oui pour le coup la différence est significative. La version du ch.7 est adaptée pour une utilisation temps réel.
Dans ton cas si ça n'est pas indispensable ça devrait fonctionner ...
Dans ton cas si ça n'est pas indispensable ça devrait fonctionner ...
OsuFrance
16 Messages
Le mardi 4 juin 2019 à 12:26:13
D'accord très bien je vais me pencher dessus et je te ferais un retour sur ce post. Je pense tenter cette après midi si j'ai le temps ;)
Merci à toi !
Merci à toi !
OsuFrance
16 Messages
Le mardi 4 juin 2019 à 15:54:35
Donc j'ai suivi le tuto afin de comprendre ce chapitre 7 qui n'est pas facile à prendre en main. Avant d'apporter mes modifications personnel j'ai donc, après le tuto, tester le code.
J'ai activé le Serial.begin(57600); afin de pouvoir print les éléments qui m’intéresses dans le moniteur arduino. j'ai donc fait ceci :
placé dans la fonction calculateAngles(); mais mon moniteur est vide rien ne s'affiche et puis même la calibration n'a pas l'air de se réaliser. J'ai donc essayé d'afficher les offsets du gyroscope mais toujours pareil quand j'ouvre le moniteur il est vide.
Je dois surement oublier quelque chose mais j'arrive pas à voir ce que je fais mal. Merci à toi de m'apporter ton aide.
J'ai activé le Serial.begin(57600); afin de pouvoir print les éléments qui m’intéresses dans le moniteur arduino. j'ai donc fait ceci :
Serial.print(measures[ROLL] * 0.9 + gyro_angle[X] * 0.1);
Serial.print(";");
Serial.print("\t");
Serial.print(measures[PITCH] * 0.9 + gyro_angle[Y] * 0.1);
Serial.print(";");
Serial.print("\t");
Serial.print(-gyro_raw[Z] / SSF_GYRO);
placé dans la fonction calculateAngles(); mais mon moniteur est vide rien ne s'affiche et puis même la calibration n'a pas l'air de se réaliser. J'ai donc essayé d'afficher les offsets du gyroscope mais toujours pareil quand j'ouvre le moniteur il est vide.
Je dois surement oublier quelque chose mais j'arrive pas à voir ce que je fais mal. Merci à toi de m'apporter ton aide.
OsuFrance
16 Messages
Le mercredi 5 juin 2019 à 09:12:02
Bonjour de nouveau,
J'ai trouvé à cause de quoi rien est affiché dan le moniteur.
Quand on laisse la partie calibration du mpu rien ne s'affiche dans le moniteur je ne sais pas pourquoi. Y a t'il un conflit ?
Le problème vient de la fonction : calibrateMpu6050();
Merci à vous
J'ai trouvé à cause de quoi rien est affiché dan le moniteur.
Quand on laisse la partie calibration du mpu rien ne s'affiche dans le moniteur je ne sais pas pourquoi. Y a t'il un conflit ?
Le problème vient de la fonction : calibrateMpu6050();
Merci à vous
OsuFrance
16 Messages
Le jeudi 6 juin 2019 à 13:25:35
Je viens faire un update de mon problème qui est désormais résolu. J'ai remplacé la fonction de calibration par :
Ceci fait donc la calibration à l'aide d'un autre programme une fois.
De plus, j'ai réussi aussi à régler un problème de non précision du gyroscope sur l'axe des x en modifiant les registres.
mpu.setXAccelOffset(-1108);
mpu.setYAccelOffset(-2719);
mpu.setZAccelOffset(1935);
mpu.setXGyroOffset(60);
mpu.setYGyroOffset(-26);
mpu.setZGyroOffset(13);
Ceci fait donc la calibration à l'aide d'un autre programme une fois.
De plus, j'ai réussi aussi à régler un problème de non précision du gyroscope sur l'axe des x en modifiant les registres.