Page 1 sur 1

GY-85

MessagePublié: 11 Oct 2016, 23:25
par Alex D
Bonjour à tous,

Voici le code Arduino et Processing afin d'exploiter un minimum le composant GY-85 (accéléromètre, gyroscope, magnétomètre).

J'essaierai de l'améliorer et d'aider en fonction du besoin, quand j'aurai signé mon futur contrat, priorité au boulot :)

Bonne journée/soirée,
Alex D

Re: GY-85

MessagePublié: 13 Oct 2016, 19:53
par mdeudon
Merci pour ces infos Alex. Ta démo sur le gyroscope me laisse perplexe, dans l'état cet instrument n'est pas exploitable. Tu es sûr que ton composant n'est pas foutu ? Tu as testé avec un autre ?

Re: GY-85

MessagePublié: 13 Oct 2016, 22:49
par PMorel
Pourquoi tu considère que c'est inexploitable ? Les résultats semblaient corrects lors de la démo non ?

Re: GY-85

MessagePublié: 14 Oct 2016, 13:53
par mdeudon
Sur l'accéléromètre oui, mais pas sur le gyro, ça dérive dans la minute

Re: GY-85

MessagePublié: 20 Oct 2016, 09:10
par Alex D
Non je n'ai pas testé le code sur un autre GY-85. Je pense qu'il fonctionne puisqu'en appliquant des coefs persos, à calculer à l'initialisation (ça je ne le savais pas), on obtient une dérive quasi nulle.
Là on était sur une présentation simple, ce n'est pas un code implémenté pour répondre à un besoin concret. Je proposais de réinitialiser le gyroscope de temps en temps, lorsqu'on était dans des moments de neutralité, quand l'accéléromètre indiquait un moment de flottement quasi parfait.
Je suis sûr qu'on peut trouver les formules mathématiques pour contrer la dérive car elle est constante. Étrangement on a observé que (Dx = Dérive autour de l'axe x, etc) : Dx ~= 2*Dy ~= 4*Dz, les dérives sont liées entre elles par un coef simple, qui est d'environ 2, en tout cas c'est linéaire donc très simple.

Dès que j'ai un peu de temps je revois ce problème de dérive et je posterai le code qui gérera ça.
Pour moi le plus gros souci ce n'est pas la dérive mais le fait qu'un choc trop brutal ne soit pas pris en compte, alors que le robot aura bel et bien tourné... C'est ça qui me posait des soucis pour mon projet d'avion autonome, le fait de complètement louper des accoues trop brutaux pour être captés, alors que les accoues violents changent justement beaucoup l'inclinaison, puisque le coup est violent.

Re: GY-85

MessagePublié: 22 Oct 2016, 10:19
par Alex D
Voilà, le code Arduino v3 gère la dérive du gyroscope.

A l'initialisation, dans setup(), on simule des prises de mesure dans les mêmes conditions que dans loop() et on sauvegarde la dérive moyenne sur chacun des 3 axes.
Dans loop(), lors du calcul lié, on soustrait les valeurs de dérive moyenne et le tour est joué.