ToF Module

De Polybot Grenoble
Sauter à la navigation Sauter à la recherche

Présentation

Ce projet consiste en la réalisation d'un module indépendant en charge de la mesure de distance. Ce dispositif est utilisé dans le cadre de l'évitement des obstacles et adversaires lors de la coupe de France de Robotique.

Les capteurs utilisés sont des capteurs Time Of Flight VL53L0X. Ces derniers sont contrôlés grâce à un bus I2C. Dans un premier temps, un shield pour carte STM32 Nucleo sera réalisé. Dans un second temps, lorsque le prototype précédent sera fonctionnel, un PCB custom sera designé.

Contexte : capteurs ToF VL53L0X

Lien : https://www.st.com/en/imaging-and-photonics-solutions/vl53l0x.html

Le capteur VL53L0X est un capteur de distance développé par STMicroelectronics. Il utilise la technologie Time of Flight (où Temps de Vol). Nous avons retenu ce capteur, car il est insensible aux perturbations extérieures et offre une bonne précision dans les gammes de distance que nous cherchons à mesurer. Ce capteur est précis et rapide, mais présente un gros désavantage : son adresse I2C n'est pas stockée durablement. À chaque redémarrage, l'adresse par défaut est utilisée. Hors nous avons besoin de plusieurs capteurs afin de couvrir l'ensemble des faces des robots. Nous avons donc besoin d'un moyen pour accéder à chaque capteur indépendamment.

Deux solutions sont possibles :

Câblage des pins xSHUT

Câbler ces pins permettent de couper ou alimenter les capteurs grâce à un signal logique. En allumant chaque capteur un par un et en changeant leur adresse au fur et à mesure, nous obtenons un parc de capteurs allumés et configurés. Cette procédure est nécessaire à chaque démarrage de la carte.

Utilisation d'un multiplexeur I2C

Cette solution était utilisée précédemment. Elle fonctionnait, mais rendait le cablâge très fastidieux: chaque capteur devait être relié au multiplexeur. Aussi, les capteurs se mettaient parfois en défaut, il était alors nécessaire de couper leur alimentation afin de les réinitialiser. En utilisant les pins xSHUT, il est possible de les redémmarer facilement.

Cahier des charges

Participants

Prénom & Nom Filière
Errikos Messara IESE-5
Charles Blanchard IESE-6

Hardware

Version 1

Version 2

Firmware

Maintenance

Toolchain

La toolchain utilisée est celle proposée par STMicroelectronics: STM32CubeIDE. Elle est composée de STM32CubeMX, permettant de generer le code source à partir de la configuration du microcontroleur souhaitée, d'un environnement de developpement specialisé pour STM32 et d'un debuggeur.

Afin de ne pas creer d'incompatibilité, il est important d'utiliser les versions suivantes:

Module Version
STM32CubeIDE VX.X.X
STM32CubeMX VX.X.X
STM32CubeF4 Firmware Package VX.X.X

Comment compiler

  1. Récupérer le code source depuis le dépot Git.
  2. Se placer sur le tag voulu (en fonction de la version).
  3. Ouvrir STM32CubeIDE et compiler la configuration voulue (Debug ou Release).
  4. Flasher une carte connectée ou récupérer le binaire dans le dossier de la configuration pour une utilisation ultérieure.

Version 1