GY-85

GY-85

Messagepar Alex D » 11 Oct 2016, 23:25

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
Pièces jointes
sketch_13_GY85_cockpit_presentation_Thilab_v2.zip
Processing GY-85
(3.98 Kio) Téléchargé 128 fois
_25_GY-85_presentation_Thilab_v2.zip
Arduino GY-85
(3.97 Kio) Téléchargé 133 fois
Alex D
 
Message(s) : 6
Inscrit le : 29 Déc 2015, 13:14

Re: GY-85

Messagepar mdeudon » 13 Oct 2016, 19:53

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 ?
mdeudon
 
Message(s) : 172
Inscrit le : 17 Fév 2016, 16:13
Localisation : Metz

Re: GY-85

Messagepar PMorel » 13 Oct 2016, 22:49

Pourquoi tu considère que c'est inexploitable ? Les résultats semblaient corrects lors de la démo non ?
PMorel
 
Message(s) : 3510
Inscrit le : 04 Déc 2013, 22:44
Localisation : Yutz

Re: GY-85

Messagepar mdeudon » 14 Oct 2016, 13:53

Sur l'accéléromètre oui, mais pas sur le gyro, ça dérive dans la minute
mdeudon
 
Message(s) : 172
Inscrit le : 17 Fév 2016, 16:13
Localisation : Metz

Re: GY-85

Messagepar Alex D » 20 Oct 2016, 09:10

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.
Alex D
 
Message(s) : 6
Inscrit le : 29 Déc 2015, 13:14

Re: GY-85

Messagepar Alex D » 22 Oct 2016, 10:19

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é.
Pièces jointes
_26_GY-85_presentation_Thilab_v3.zip
Arduino GY-85 v3
(4.05 Kio) Téléchargé 134 fois
Alex D
 
Message(s) : 6
Inscrit le : 29 Déc 2015, 13:14


Retour vers Robotique

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 1 invité

cron