Tags:
create new tag
view all tags

L'accéléromètre MPU6050

Introduction

Le MPU6050 est un accéléromètre et gyroscope mesurant l'accélération dans les trois axes ainsi que la rotation autours ces trois axes. Le module utilise l'interface I2C.

Exercice 1 : Comprendre le bus I2C

Lire la documentation du bus I2C et les fiches techniques du MPU6050:

Lire les fiches techniques du MPU6050 Le pilote le plus complet que j'ai trouvé sur internet est celui de Jeff Rowberg. Ce pilote est écrit en C++ et il est destiné au SDK Arduino. Pour l'utiliser avec MicroPython il doit être porté de C++ à Python. Ce pilote ne comporte pas seulement l'accès à tous les registres du MPU6050 mais aussi des fonctions pour faire marcher le contrôleur de mouvement digital (DMP: Digital Motion Controller) , pour lequel je n'ai trouvé aucune autre information.

Exercice 2 : Trouver les modules I2C sur le bus

Écrire un programme qui imprime les adresses de toutes le modules présent sur le bus I2C. Ce programme sera utilisé pour tous les modules I2C qui seront utilisé dans le cours. Pour cette raison, le programme doit être soigneusement vérifié. Le résultat du programme doit être formaté comme suit :

i2cscan.png

La copie d'écrans montre un MPU6050 avec l'adresse I2C de 0x68 connecté sur le bus I2C.

Exercice 3 : Le registre WHO_AM_I

Initialiser le MPU6050 et imprimer le contenu du registre WHO_AM_I. La description des registres nous dit qu'on doit trouver la valeur 0x34.

Exercice 4 : Lire les valeurs de l'accéléromètre ACCEL_XOUT .. ACCEL_ZOUT.

Lire les registres accel_xout_h .. accel_zout_l, combiner les valeurs des registres xxx_H et xxx_L et imprimer les valeurs brutes. Attention: Il s'agit des valeurs entières 16 bits avec signe !

Convertir ces valeurs en valeurs physiques avec les unités de mg (milli g, On doit trouver des valeurs proches de zéro pour les axes x et y et proche de 1 g pour l'axe z )

-- Uli Raich - 2022-04-27

Comments

Topic attachments
I Attachment History Action Size Date Who Comment
PNGpng i2cscan.png r2 r1 manage 27.4 K 2022-04-27 - 15:54 UliRaich  
Edit | Attach | Watch | Print version | History: r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r2 - 2022-04-27 - UliRaich
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback