Bonjour dans le cadre d'un projet, je cherche a retrouver la trajectoire d'un petit projectile ( type: fusée à eau) grâce au valeur de l'accéléromètre ADXL335 GY-61 3-axial.
J'utilise un convertisseur 16 bit pour avoir une mesure + précises.
Mon problème est que je souhaiterais retirer l’influence de la gravité sur le module. Connaissez-vous un moyen d'y parvenir?
De plus si vous avez des infos qui peuvent m'aider à finalisé ce projet je suis preneur
La gravité se traduit par un vecteur qui est dirigé en permanence vers le centre de la Terre.
Il te suffit de la supprimer mathématiquement de la somme des 3 vecteurs d'accélérations retournés par ton module.
Cela suppose évidemment que l'objet étudié ne subissent dans l'idéal que des translations depuis son point de départ, car dans le cas d'une rotation sur un axe autre que celui de la gravité, tes données ne suffiront pas à reproduire la trajectoire de celui-ci.
Bonjour Sylverb7,
Je ne connais pas cet accéléromètre, mais pour un projet perso, j'utilise un GY521 (qui doit être proche).
J'utilise la bibliothèque de J. Rowberg (lien) ; dans ses fonctions, il y a un calcul sans influence de la gravité. Je n'ai pas décortiqué sa librairie sur ce point là, mais je pense qu'il y a peut être de quoi t'aider.
bon courage
comment faire mathématiquement? calculer un sorte de résultante?
J'étudier un objet en mouvement et qui aura très probablement une rotation autour de l'axe z pour que ca trajectoire soit bien droite.
Ainsi durant ca trajectoire, l'axe z du capteur va progressivement changer d'angle par rapport au sol (et donc à la gravité). Mais il auras aussi sont accélération propre.
je suis un peu perdu et j'ai l'impression de tout mélanger
Un accéléromètre 3D va te donner les 3 composantes de l'accélération ... dans son propre repère. C'est à dire dans le repère XYZ qui est lié au corps du capteur.
Le problème, c'est que tu ignores tout de ce repère qui bouge par rapport "au sol".
Du vecteur accélération, tu connais l'intensité, mais pas la direction.
Je ne vois pas bien ce que tu peux faire de cela ?
Si tu connaissais l'accéleration exprimée dans un repère fixe, tu pourrais l'intégrer 2 fois pour avoir la position.
Mais là, il manque quelque chose (je pense).
si on se ramène uniquement au mouvement du centre de gravité et pas au mouvement du mobile lui même autour de son centre de gravité et si Ax Ay et Az sont les 3 vecteurs accélérations que vous avez, le centre de gravité de votre module subit une accélération dont le vecteur est Ax + Ay + Az
Si vous avez positionné votre module pour que l'accélération due à la gravité (1G) soit parfaitement sur l'axe des Z et que vous voulez supprimer l'influence de la gravité, il suffit de retirer ce vecteur
Ax + Ay + Az - (1)z
si votre module n'est pas parfaitement aligné, vous mémorisez A0x A0y et A0z l'accélération du module au repos et vous enlevez ces 3 composantes lors du mouvement
si votre module n'est pas parfaitement aligné, vous mémorisez A0x A0y et A0z l'accélération du module au repos et vous enlevez ces 3 composantes lors du mouvement
Valable uniquement si le capteur se déplace en translation pure.
Je ne pense pas qu'une fusée à eau va rester sagement alignée sur la verticale ... ni sur quoi que ce soit de constant.
Peut-être avec deux acceléromètres un peu écartés (un à chaque bout de la fusée), on pourrait calculer quelque chose, mais avec un seul, dans le cas d'un mouvement quelconque, je ne vois pas.
À vitesse constante et roue verticale, tu verras que le module est soumis à une force centrifuge (qui en fait est la composition de deux forces dans le même plan que la roue).
Pour simplifier, la première est tangentielle à la roue dans la direction du sens de rotation.
La seconde est perpendiculaire à la tangente et par vers l'intérieur de la roue.
À la somme de ce vecteur s'ajoutera enfin celle de la gravité en permanence tournée vers le sol.
Mais comme ton module est solidaire de ta roue, cette force se traduira par un vecteur tournant dans le même plan que les deux premières forces.
En fait, à vitesse constante, la force variable sera celle de la gravité qui tournera autour de l'origine, car celle liée à la rotation de la roue sera représentée par un vecteur constant.
Ok, mais en collant la capteur sur la roue, tu crées le moyen de connaitre à tout moment son orientation par rapport à un repère fixe. C'est un poil compliqué, mais possible.
Avec un mouvement quelconque, tu n'as pas cette info.
De plus, il ne faut pas oublier l'accélération de Coriolis dans la loi de composition des accélérations :
Effectivement mon problème est bien de séparer le vecteur gravité des autres.. afin de pouvoir l'exploité à plein potentiel.
car en plus de subir l'accération de la gravité ,j'imagine que mon axes va aussi subir l'accélération dû a la rotation
Ansi mon axes Z reste perpendiculaire a la roue tout le long du tour.
L'axes Y suis la rotations (vecteur tangent) et va subir périodiquement la gravité et l'accélération de rotation
L'axes X dirigé vers le centre de la roue va périodiquement subir la gravité.
Je peux donc déduire de combien est l'accélération subit par Y grâce à l'accélération subit par X ???
en déduire l'angle et donc le mouvement?
Je vais trop loin? j'ai oublié qqchose? ou ca parait juste?
N'oubliez pas que votre module ne se déplace pas uniquement en ligne droite (tangente).
Le fait qu'il soit attaché à votre roue lui fera subir une force sur X pour suivre la courbure de la roue.
Pour résumer dans le cas de la roue, l'axe Z ne présente pas d'intérêt.
Le vecteur de la gravité sera noyé sur les axes X et Y.
Néanmoins, dans le cas de la roue, on sait que le vecteur G est constant et que sa rotation sur le point d'origine évoluera à la même vitesse que celle de la roue. On peut en déduire sa direction tant que la vitesse de la roue reste constante.
Cela ne sera pas le cas pour une fusée qui n'a pas de contrainte de rotation.
Je n'ai pas compris si la roue est verticale ou horizontale ?
Bon, tu connais l'accélération de la pesanteur exprimée dans le repère terrestre R. C'est (0,0,-9.81).
Ton capteur te donne l'accélération (3 composantes) dans son repère R', selon son propre corps.
Pour pouvoir soustraire la pesanteur, il faut que les 2 vecteurs accelération s'expriment dans le même repère.
Le formule de changement de repère est donnée ici, paragraphe "Composition des accélérations"
Il n'y a pas à tortiller. Tu dois appliquer cette formule.
Elle est compliquée, il y a des maths costauds, et surtout il faut bien la comprendre.
Un avantage, dans ton cas le "mobile" est fixe dans repère du capteur. C'est par exemple le centre de gravité du capteur. Du coup certains termes de la formule sont nul ... mais pas tous !
Quand le capteur est fixé sur la roue, on sait qu'il décrit un cercle, que son orientation par rapport au sol varie comme l'angle de la roue, que le problème a une symétrie cylindrique. On peut calculer les deux derniers termes de la formule. C'est chaud mais faisable.
Si on ne connait rien du mouvement du capteur ... on ne peut rien calculer.
Je vais faire des essaies sur une roue au sol. Ainsi la gravité doit etre entièrement repris par l'axes Z.
Mon axes X est l'axes dirigé vers le centre de la roue ( mesure la force centrifuge)
Et l'axes Y est celui qui est tangent à la roue..
J'ai fais un tour de roue et voici mes mesures, grâce au formule du MCU je devrais réussir en déduire qqchose.
Je remarque donc une accélération en Y et puis un décélération avant l'arrêt --> parraît normal
Mais pour l'axe X je remarque aussi une accélération mais pas de délération à l'arrêt, juste une diminution de l'accélération.... --> semble bizzard
Un avis? ou peut etre que je dois me diriger vers un autre forum aha
Si je me risque à interpréter la courbe, je dirais:
Pour Y, courbe orange, on a une accélération de la vitesse de rotation de la roue (partie positive).
Sur X, l'accélération subit par le module augmente pour suivre la courbure de la roue.
Je pense que normalement la courbe X devrait continuer à augmenter tant que Y et positif puisque la vitesse de la roue augmente. Je ne comprend pas trop le décrochement de cette valeur.
Lorsque Y est proche de 0, cela correspond à une vitesse constante.
Donc la force en X reste constante elle aussi pour reste collé à le roue.
Ensuite petite accélération de la roue suivie d'une décélération (partie négative).
Sur X, on a la petite augmentation de la force suite à l'accélération, suivie par une diminution de celles-ci pour revenir à 0.
Lorsque X est à 0, logiquement, le module ne change pas de direction, ce qui veut dire que la roue est à l'arrêt.
Rien de choquant pour moi en dehors de l'accélération sur Y en fin du tracé qui n'est plus trop cohérent avec X. :o
Sur les courbes :
Jusqu'à t=15000 tu accélères la roue.
L'accélération tangentielle en Y croit à peu près linéairement en fn du temps.
Donc la vitesse (linéaire ou de rotation) devrait croitre en t^2 (t puissance 2)
Comme l'accel. centrifuge est prop. au carré de la vitesse, Ax devrait être en t^4.
Effectivement, ça y ressemble.
Entre 15000 et 16000 c'est bizarre.
Tu continues à accélérer (moins fort, mais Ay est toujours > 0, donc Vy augmente), mais en m^me temps la force centrifuge diminue. Y'a un truc qui ne va pas là.
Entre 16500 et 17000 tu es quasiment à l'arrêt (d'après Ay), mais Ax remonte, et vite !
Un problème sur ces courbes c'est qu'on doit déduire ce que tu as fait en fonction de résultats ... dont on est pas trop sûr ! Si on pouvait placer avec certitude le point où tu lâche l'effort, le point où la roue s'arrête ... avec un autre capteur dont on est sûr, L'interprétation serait plus facile.
Une question : as-tu vérifié la bande-passante de ton accéléromètre ? C-à-d, grosso modo, son temps de réponse ?