Pololu-Zumo-Shield-Arduino-seneur-inertiel

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche

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

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.


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)