Différences entre versions de « Pololu-Zumo-Shield-Arduino-seneur-inertiel »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
 
(3 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
 
{{Pololu-Zumo-Shield-Arduino-NAV}}
 
{{Pololu-Zumo-Shield-Arduino-NAV}}
 
{{traduction}}
 
  
 
== Introduction ==
 
== Introduction ==
Ligne 15 : Ligne 13 :
 
Le shield inclus également des convertisseurs de niveau logique (dit ''level sshifter'' en anglais) qui permettent de connecter les senseurs inertiels 3.3v sur un Arduino utilisant des niveau logiques en 5V. Les senseurs, convertisseurs de niveau logique (''level shifters'') et résistances pull-up du bus I2C sont connectés, par défaut, sur les broches SCL et SDA du shield Zumo. Il est possible de les déconnecter en coupant les traces entre les paires de trou SDA et SCL, ce qui permet d'attribuer une autre fonction à ces broches SDA et SCL de votre Arduino. Notez que dans le cas d'un ancien Arduino (inférieur à R3), il sera nécessaire de faire quelques connexions additionnels pour utiliser les senseurs inertiels du shield Zumo car les anciens Arduino ne disposent pas broches SCL et SDA séparées; Reportez vous à la [[Pololu-Zumo-Shield-Arduino-configuration-cavalier|Section 3.c]] pour plus d'information concernant les connexions de la boussole.
 
Le shield inclus également des convertisseurs de niveau logique (dit ''level sshifter'' en anglais) qui permettent de connecter les senseurs inertiels 3.3v sur un Arduino utilisant des niveau logiques en 5V. Les senseurs, convertisseurs de niveau logique (''level shifters'') et résistances pull-up du bus I2C sont connectés, par défaut, sur les broches SCL et SDA du shield Zumo. Il est possible de les déconnecter en coupant les traces entre les paires de trou SDA et SCL, ce qui permet d'attribuer une autre fonction à ces broches SDA et SCL de votre Arduino. Notez que dans le cas d'un ancien Arduino (inférieur à R3), il sera nécessaire de faire quelques connexions additionnels pour utiliser les senseurs inertiels du shield Zumo car les anciens Arduino ne disposent pas broches SCL et SDA séparées; Reportez vous à la [[Pololu-Zumo-Shield-Arduino-configuration-cavalier|Section 3.c]] pour plus d'information concernant les connexions de la boussole.
  
{{traduction}}
+
Pololu à écrit une [https://github.com/pololu/lsm303-arduino bibliothèque LSM303 pour Arduino] et une [https://github.com/pololu/l3g-arduino bibliothèque L3G pour Arduino] qui facilite l'interfaçage avec les senseurs depuis votre Arduino. Comme le démontre ce [[Pololu-Zumo-Shield-Arduino-labyrinthe|projet d'exemple]], il est possible d'utiliser le magnétomètre pour aider le Zumo à évaluer l'amplitude de ses rotations.
 
 
We have written a basic [https://github.com/pololu/lsm303-arduino LSM303 Arduino library] and [https://github.com/pololu/l3g-arduino L3G Arduino library] that makes it easier to interface the sensors with an Arduino, as well as an [[Pololu-Zumo-Shield-Arduino-labyrinthe|example project]] that demonstrates how to use the magnetometer to help the Zumo coordinate its turns.
 
  
In addition, the combination of accelerometer, magnetometer, and gyro on the v1.2 version of the Zumo Shield is enough to implement an inertial measurement unit (IMU); the sensor ICs are the same as those on our MinIMU-9 v3, so Arduino software written for the MinIMU-9 {{polpl|2468}} (such as our [https://github.com/pololu/minimu-9-ahrs-arduino AHRS example]) can also be adapted to work on an Arduino-controlled Zumo robot with a v1.2 shield.
+
De surcroît, la combinaison de l'accéléromètre, du magnétomètre et du gyroscope de la version v1.2 du shield Zumo est suffisant pour implémenter une unité de mesure inertielle (un IMU: inertial measurement unit);  
 +
Les senseurs utilisés sont identiques à ceux utilisé sur le MinIMU-9 v3 de Pololu. Par conséquent, vos codes Arduino écrit pour le MinIMU-9 {{polpl|2468}} (tel que l'[https://github.com/pololu/minimu-9-ahrs-arduino exemple AHRS de Pololu]) peuvent être adaptés pour fonctionner le Zumo Robot équipé d'un Shield Zumo V1.2 (contrôlé par Arduino).
  
 
== Notes sur le magnétomètre ==
 
== Notes sur le magnétomètre ==
Please note that the magnetometer in the LSM303 is affected by currents in the motors and buzzer when they are operating, as well as metal in the batteries, and the readings are easily influenced by magnetic distortions in the environment around the Zumo (such as rebar in a concrete floor). As a result, it is very hard to accurately determine the Zumo’s absolute heading based on the magnetometer data. However, in our tests, we found that the magnetometer was still useful for detecting relative orientation changes; for example, once the magnetic readings are compensated for a particular environment, they can be used to help the Zumo turn left or right by a specific angle instead of just timing how long to run the motors to make such a turn.
+
Notez que le magnétomètre LSM303 est affecté par les courants circulant dans les moteur et le buzzer lorsque ces derniers fonctionnent. Les lectures sont facilement influencées par les distorsions magnétiques dans l'environnement du Zumo (comme les armatures des bétons armés). Il en résulte qu'il est très difficile de déterminer la direction du Zumo avec précision en se basant sur les données du magnétomètre. Cependant, durant les tests de Pololu, le magnétomètre se révèle être très utile pour détecter des changements d'orientation relatif; par exemple, une fois les lectures du champs magnétique compensée pour un environnement particulier, ces données peuvent être utilisées pour aider le Zumo à tourner à gauche ou à droite d'un angle donné (au lieu de faire tourner les moteurs pendant un temps donné pour atteindre approximativement l'angle souhaité).
  
{{ambox|text=In our tests, we found that the batteries, motors, and motor current affect the z axis of the magnetometer much more strongly than the x and y axes, so you probably will want to ignore the z readings. We were generally able to get decent results using only the x and y magnetometer readings to determine heading. Additionally, you might need to decrease the magnetometer sensitivity; if the magnetometer returns a value of '''-4096''', that is a sign that the sensitivity range is set too narrow for your particular environment.}}
+
{{ambox|text=Durant ces tests, Pololu à noté que que les piles, les moteur et le courant des moteurs affecte l'axe Z du magnétomètre plus sévèrement que les axes x et y. Par conséquent, vous souhaiterez probablement ignorer les lectures de l'axe Z. Il est généralement possible de déterminer la direction avec des résultats corrects à partir de la lecture des axes x et y du magnétomètre. Par ailleurs, vous pourriez avoir besoin d'ajuster la sensibilité du magnétomètre; si le magnétomètre retourne une valeur de '''-4096''', cela indique une sensibilité trop faible pour votre environnement.}}
  
 
{{Pololu-Zumo-Shield-Arduino-TRAILER}}
 
{{Pololu-Zumo-Shield-Arduino-TRAILER}}

Version actuelle datée du 11 avril 2017 à 20:00

Introduction

Le shield Zumo inclus des senseurs inertiels sur la carte. Ces senseurs peuvent être utilisés pour des applications avancées comme détecter des collisions et déterminer sa propre orientation.

Tous les versin du shield Zumo comporte une boussole qui combine un accéléromètre 3 axes et un magnétomètre 3 axes dans une seule puce interfacée sur le bus I2C. Cette puce est le LSM303D lien pololu sur un shield v1.2 ou un LSM303DLHC lien pololu on the sur le shield Zumo original.

La version v1.2 inclus également un gyroscope 3 axes L3GD20H lien pololu également interfacé sur le bus I2C.

Pololu recommande la lecture de la Fiche technique LSM303D (1MB pdf, pololu), Fiche technique L3GD20H (3MB pdf, pololu), et/ou fiche technique LSM303DLHC (629k pdf, pololu) pour comprendre comment fonctionne les senseurs afin de savoir comment les utiliser.

Utiliser les senseurs

Le shield inclus également des convertisseurs de niveau logique (dit level sshifter en anglais) qui permettent de connecter les senseurs inertiels 3.3v sur un Arduino utilisant des niveau logiques en 5V. Les senseurs, convertisseurs de niveau logique (level shifters) et résistances pull-up du bus I2C sont connectés, par défaut, sur les broches SCL et SDA du shield Zumo. Il est possible de les déconnecter en coupant les traces entre les paires de trou SDA et SCL, ce qui permet d'attribuer une autre fonction à ces broches SDA et SCL de votre Arduino. Notez que dans le cas d'un ancien Arduino (inférieur à R3), il sera nécessaire de faire quelques connexions additionnels pour utiliser les senseurs inertiels du shield Zumo car les anciens Arduino ne disposent pas broches SCL et SDA séparées; Reportez vous à la Section 3.c pour plus d'information concernant les connexions de la boussole.

Pololu à écrit une bibliothèque LSM303 pour Arduino et une bibliothèque L3G pour Arduino qui facilite l'interfaçage avec les senseurs depuis votre Arduino. Comme le démontre ce projet d'exemple, il est possible d'utiliser le magnétomètre pour aider le Zumo à évaluer l'amplitude de ses rotations.

De surcroît, la combinaison de l'accéléromètre, du magnétomètre et du gyroscope de la version v1.2 du shield Zumo est suffisant pour implémenter une unité de mesure inertielle (un IMU: inertial measurement unit); Les senseurs utilisés sont identiques à ceux utilisé sur le MinIMU-9 v3 de Pololu. Par conséquent, vos codes Arduino écrit pour le MinIMU-9 lien pololu (tel que l'exemple AHRS de Pololu) peuvent être adaptés pour fonctionner le Zumo Robot équipé d'un Shield Zumo V1.2 (contrôlé par Arduino).

Notes sur le magnétomètre

Notez que le magnétomètre LSM303 est affecté par les courants circulant dans les moteur et le buzzer lorsque ces derniers fonctionnent. Les lectures sont facilement influencées par les distorsions magnétiques dans l'environnement du Zumo (comme les armatures des bétons armés). Il en résulte qu'il est très difficile de déterminer la direction du Zumo avec précision en se basant sur les données du magnétomètre. Cependant, durant les tests de Pololu, le magnétomètre se révèle être très utile pour détecter des changements d'orientation relatif; par exemple, une fois les lectures du champs magnétique compensée pour un environnement particulier, ces données peuvent être utilisées pour aider le Zumo à tourner à gauche ou à droite d'un angle donné (au lieu de faire tourner les moteurs pendant un temps donné pour atteindre approximativement l'angle souhaité).


Basé sur "Zumo Shield for Arduino" de Pololu (www.pololu.com/docs/0J57) - Traduit en Français par shop.mchobby.be CC-BY-SA pour la traduction
Toute copie doit contenir ce crédit, lien vers cette page et la section "crédit de traduction". Traduit avec l'autorisation expresse de Pololu (www.pololu.com)

Based on "Zumo Shield for Arduino" from Pololu (www.pololu.com/docs/0J57) - Translated to French by shop.mchobby.be CC-BY-SA for the translation
Copies must includes this credit, link to this page and the section "crédit de traduction" (translation credit). Translated with the Pololu's authorization (www.pololu.com)