Accueil > Forum > La communauté > Vos projets > Mesure d'angle MPU9250 + Arduino Uno

Mesure d'angle MPU9250 + Arduino Uno

laurentcouty laurentcouty 14 Messages
Bonjour,

Dans mon projet de datalogger pour moto.

J'ai donc en matériel un MPU9250 (grove) et un Arduino Uno.

J'ai repris finalement l'intégralité du code du chapitre dédié a la mesure d'angle du site.

J'ai adapté un peu le code pour tout mettre dans le main (je sais c'est sale...)
Mais bon...

Mon problème est que le résultat des valeurs d'angle du gyro sont de 12,... Pour un angle de 90°.

J'ai pensé à la calibration de l'IMU mais en débutant j'ai les bonnes valeurs ente -500 et +500 en vitesse....

Donc je pense avoir un soucis pour intégrer.... J'ai vérifié j'ai bien mis 250hz soit 0,004s et c'est là que j'ai surment un problème ! Mon programme s'exécute (le main) en 0,0378s ... Donc j'ai essayé de baisser la fréquence à 25hz et là le problème est que le programme ne s'exécute pas en 0,040s donc là boucle d'attente a la fin ne fonctionne pas... 

J'ai essayé d'écrire dans mon debug "wait" une fois dans la boucle pour faire pattienter... Mais je n'en ressort jamais.... Aurais-je loupé une étape ?

Help?
lobodol lobodol 723 Messages BIG BOSS
Salut,

L'IMU fonctionne à une fréquence de 250 Hz pour être compatible avec l'asservissement du drone. Dans le cas de ton datalogger as-tu besoin d'une telle fréquence d'échantillonnage ?
Si non, je te conseille cet article qui sera sans doute plus adapté : https://www.firediy.fr/article/calibrer-le-capteur-mpu6050-avec-un-arduino-drone-ch-5
laurentcouty laurentcouty 14 Messages
Mince je croyais avoir répondu! 
Donc c'est bon j'ai réussi à adapter le code! Je comprends pas vraiment pourquoi ca marchait pas... 
En tout cas, les "serial.print" ca consomme énormément de temps
laurentcouty laurentcouty 14 Messages
lobodol lobodol 723 Messages BIG BOSS
Ah cool, bonne nouvelle !
Oui, les serial.print() c'est loin d'être immédiat 😉
laurentcouty laurentcouty 14 Messages
Si quelqu'un voit des grosses incohérences dans mon code ou des choses à améliorer. Je suis preneur de tout conseil pour m'améliorer
laurentcouty laurentcouty 14 Messages
Et je suis preneur de connaître le temps d'exécution de vos "loop" et avec quel matériel vous le faite tourner... J'ai toujours des soucis de lenteur....
lobodol lobodol 723 Messages BIG BOSS
Ah, mais attends, tu fais un mélange entre la librairie MPU9250.h et l'implémentation manuelle de l'IMU. Du coup, c'est pas étonnant que tu ais des résultats incohérents.

Question : à quoi sert cet include ?


Dans un premier temps, laisse tomber l'IMU et utilise les fonctions offertes par la librairie MPU9250. Là, tu auras les bonnes valeurs. Par contre, si la lecture des data est trop lente, là il faudra implémenter l'IMU comme je l'ai fait avec le MPU6050.
laurentcouty laurentcouty 14 Messages
La différence entre la librairie MPU6050 et MPU9250 c'est la gestion du magnétomètre de ce que j'en au vue.... Mais j'ai pas trouvé de fonction qui sort directement une valeur d'angle.
Après il y a une histoire de quaternions, et j'avoue que là je perds le fils....
C'est pour ça que je me suis penché sur une implémentation comme la tienne.

BMP280.h c'est un baromètre + sonde température qui est intégré mais que je n'utilise pas.

Dans la librairie MPU6050, il ya une fonction qui permet de sortir directement les valeurs d'angles?
lobodol lobodol 723 Messages BIG BOSS
Yes, regarde cet article : https://www.firediy.fr/article/calibrer-le-capteur-mpu6050-avec-un-arduino-drone-ch-5
Vous devez être connecté pour pouvoir répondre à ce sujet.
Utilisation des données

Afin d'améliorer ton expérience utilisateur, nous utilisons des cookies 🍪