VL53L0X: capteur de distance laser de haute précision

VL53L0X

Dans certains de vos projets, vous aurez eu besoin de mesurer des distances. Eh bien, vous devez savoir que le VL53L0X est un appareil qui permet de les mesurer avec une grande précision. De plus, sa petite taille et son petit prix le rendent idéal pour vos projets DIY, notamment à intégrer avec Arduino.

Il existe de nombreux appareils qui peuvent mesurer des distances, certains d'entre eux sont des télémètres basés sur des ultrasons qui émettent un son et en rebondissant avec l'objet cela permet de connaître avec suffisamment de précision la distance qu'il y a. Mais si vous voulez la plus haute précision, pour cela, vous avez besoin d'un télémètre optique. Ce type d'appareils de mesure est basé sur le laser, comme c'est le cas avec le VL53L0X.

Qu'est-ce que le ToF?

Principe de la ToF (schéma)

Caméra Time of Flight ou ToF (Time-of-Flight) c'est une technique utilisée pour mesurer les distances. Il est basé sur l'optique, mesurant le temps écoulé entre l'émission d'un faisceau lumineux et sa réception. Il peut s'agir de capteurs CCD, CMOS et les impulsions peuvent être infrarouges, laser, etc. Le système sera synchronisé pour démarrer la mesure du temps juste au moment où l'impulsion est déclenchée et arrêter le compteur lorsqu'ils reçoivent le rebond du capteur.

De ce façon, la distance peut être calculée assez précisément. Il suffit d'un circuit logique supplémentaire intégré dans la puce pour effectuer les calculs à partir du moment où le faisceau est tiré jusqu'à ce qu'il soit reçu et ainsi déterminer quelle est la distance. Le principe est assez simple.

ESP8266
Article connexe:
ESP8266: le module WIFI pour Arduino

Ce type d'appareil est utilisé dans robotique pour permettre au robot ou au drone d'éviter les obstacles, de savoir à quelle distance ils se trouvent d'une cible, de détecter le mouvement ou la proximité, pour les capteurs de voiture utilisés pour différentes applications, de mettre en œuvre un compteur électronique, tel qu'un actionneur pour qu'Arduino fasse quelque chose il détecte une certaine proximité d'un objet, etc.

Qu'est-ce que le VL53L0X et sa fiche technique

VL53L0X

El Le VL53L0X utilise ce principe pour mesurer des distances par laser infrarouge. la dernière génération. Associé à un processeur, comme Arduino, il peut être un outil puissant de mesure. Plus précisément, la puce peut capturer des distances comprises entre 50 mm et 2000 mm, c'est-à-dire entre 5 centimètres et 2 mètres.

Pour mesurer des distances plus proches, vous avez probablement besoin d'une variante de cette puce appelée VL6180X qui vous permet de mesurer une portée comprise entre 5 et 200 mm, soit entre un demi-centimètre et 20 centimètres. Si vous voulez trouver un appareil similaire mais basé sur les ultrasons pour une raison technique, vous devriez regarder le HC-SR04, un autre module assez bon marché populaire auprès des fabricants.

El Puce VL53L0X a été conçu pour fonctionne même lorsque la lumière ambiante est assez élevée. Gardez à l'esprit qu'en travaillant optiquement, plus la "pollution" lumineuse de l'environnement est importante, plus il sera difficile de capturer correctement le rebond du signal. Mais dans ce cas, cela ne pose pas trop de problème. De plus, le système de compensation qu'il intègre lui permet de mesurer même si vous l'utilisez derrière une vitre de protection.

Qui en fait un des meilleurs capteurs de distance que vous trouverez sur le marché. Avec une précision beaucoup plus élevée que les capteurs basés sur les ultrasons ou l'infrarouge (IR). La raison d'être si précis est que le laser ne sera pas affecté par les échos ou la réflexion des objets comme dans les autres cas.

Actuellement, vous pouvez le trouver intégré dans des mules avec un supplément pour environ 16 € ou dans des assiettes plus simples d'un peu plus de 1 € ou 3 € dans d'autres cas. Vous savez déjà que vous le trouverez dans des magasins comme eBay, AliExpress, Amazon, etc. Les fabricants de ces appareils sont différents, donc si vous avez besoin de connaître les détails du modèle que vous avez acheté, il est préférable de vérifier la fiche technique du fabricant que vous avez choisi. Par exemple:

El VL53L0X Il a à l'intérieur de la puce l'émetteur de l'impulsion laser et le capteur pour capturer le faisceau de retour. Dans ce cas, l'émetteur est un laser de 940 nm de longueur d'onde et de type VCSEL (Vertical Cavity Surface-Emitting Laser). Quant au capteur de capture, il s'agit d'un SPAD (Single Photon Avalanche Diodes). Il intègre également une électronique interne appelée FlightSenseTM qui calculera la distance.

El angle de mesure ou FOV (champ de vision) il est de 25 ° dans ce cas. Cela se traduit par une zone de mesure de 0,44 m de diamètre à une distance de 1 m. Bien que la plage de mesure dépendra des conditions environnantes. Si c'est fait à l'intérieur, c'est un peu plus haut que si c'est fait à l'extérieur. Cela dépendra également de la réflectance de l'objet sur lequel vous pointez:

Réflexion cible Termes INTÉRIEUR Extérieur
Cible blanche Typique 200 cm 80 cm
Imiter 120 cm 60 cm
Cible grise Typique 80 cm 50 cm
minimum 70 cm 40 cm

De plus, le VL53L0X dispose de plusieurs modes de fonctionnement cela peut varier les résultats. Ces modes sont résumés dans le tableau suivant:

Mode Temps de livraison Portée Précision
Par défaut 30ms 1.2m Voir le tableau ci-dessous
Haute précision 200ms 1.2m + / -% 3
Longue portée 33ms 2m Voir le tableau ci-dessous
Grande vitesse 20ms 1.2m + / -% 5

Selon ces modes, nous avons plusieurs précisions standard et longue portée que vous avez dans ce tableau:

INTÉRIEUR Extérieur
Réflexion cible Distance 33ms 66ms Distance 33ms 66ms
Cible blanche à 120cm 4% 3% à 60cm 7% 6%
Cible grise à 70cm 7% 6% à 40cm 12% 9%

Brochage et connexion

Schéma de la puce VL53L0X

Pour que tout cela fonctionne correctement, vous avez besoin une interface avec le monde extérieur. Et cela est réalisé grâce à certaines broches ou connexions. Le brochage du VL53L0X est assez simple, il n'a que 6 broches. Pour son intégration avec Arduino, la communication peut se faire via I2C.

Pour le nourrir, vous pouvez connecter les broches Alors:

  • VCC à 5v d'Arduino
  • GND à GND d'Arduino
  • SCL vers une broche analogique Arduino. Par exemple A5
  • SDA à une autre broche analogique. Par exemple A4
  • Les broches GPI01 et XSHUT ne doivent pas être utilisées pour le moment.

Intégration avec Arduino

VL53L0X connecté à Arduino

Comme pour de nombreux autres modules, pour le VL53L0X vous avez également des bibliothèques (par exemple celle pour Adafruit) du code disponible que vous pouvez utiliser pour travailler avec certaines fonctions lorsque vous écrivez le code source pour gérer votre projet dans l'IDE Arduino. Si c'est votre première fois avec Arduino, je recommande notre manuel de programmation.

Un exemple d' Code simple pour vous permettre de prendre des mesures et d'afficher la valeur de mesure via le port série pour que vous puissiez le voir sur l'écran de votre PC pendant que la carte Arduino est connectée est:

#include "Adafruit_VL53L0X.h"
 
Adafruit_VL53L0X lox = Adafruit_VL53L0X();
 
void setup() {
  Serial.begin(9600);
 
  // Iniciar sensor
  Serial.println("VL53L0X test");
  if (!lox.begin()) {
    Serial.println(F("Error al iniciar VL53L0X"));
    while(1);
  }
}
 
 
void loop() {
  VL53L0X_RangingMeasurementData_t measure;
    
  Serial.print("Leyendo sensor... ");
  lox.rangingTest(&measure, false); // si se pasa true como parametro, muestra por puerto serie datos de debug
 
  if (measure.RangeStatus != 4)
  {
    Serial.print("Distancia (mm): ");
   Serial.println(measure.RangeMilliMeter);
  } 
  else
  {
    Serial.println("  Fuera de rango ");
  }
    
  delay(100);
}

Dans la propre bibliothèque d'Adafruit, vous avez plus d'exemples d'utilisation si vous en avez besoin ...


Soyez le premier à commenter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.