VL53L0X: Hochpräziser Laser-Abstandssensor

VL53L0X

In einigen Ihrer Projekte mussten Sie Entfernungen messen. Nun, du solltest wissen, dass die VL53L0X ist ein Gerät, mit dem sie mit hoher Präzision gemessen werden können. Darüber hinaus ist es aufgrund seiner geringen Größe und seines niedrigen Preises ideal für Ihre DIY-Projekte geeignet, insbesondere für die Integration in Arduino.

Es gibt viele Geräte, die Entfernungen messen können. Einige davon sind Entfernungsmesser, die auf Ultraschall basieren und einen Ton abgeben. Wenn Sie mit dem Objekt springen, können Sie die Entfernung genau genug erkennen. Aber wenn Sie höchste Präzision wollen, brauchen Sie dafür eine optischer Abstandsmesser. Diese Art von Messgeräten basiert auf Laser, wie es beim VL53L0X der Fall ist.

Was ist der ToF?

ToF-Prinzip (Schema)

Flugzeit- oder ToF-Kamera (Time-of-Flight) Es ist eine Technik zum Messen von Entfernungen. Es basiert auf einer Optik, die die Zeit misst, die zwischen der Emission eines Lichtstrahls und dem Empfang verstrichen ist. Dies können CCD-, CMOS-Sensoren sein, und die Impulse können Infrarot, Laser usw. sein. Das System wird synchronisiert, um die Zeitmessung zu starten, sobald der Impuls ausgelöst wird, und um den Zähler zu stoppen, wenn sie den Sprung vom Sensor erhalten.

Auf diese Art Entfernung kann sehr genau berechnet werden. Es ist nur eine zusätzliche Logikschaltung erforderlich, die in den Chip integriert ist, um die Berechnungen vom Moment des Abfeuerns des Strahls bis zum Empfang durchzuführen und somit die Entfernung zu bestimmen. Das Prinzip ist ziemlich einfach.

ESP8266
Verwandte Artikel:
ESP8266: das WIFI-Modul für Arduino

Dieser Gerätetyp wird in verwendet Robotik dem Roboter oder der Drohne zu ermöglichen, Hindernissen auszuweichen, zu wissen, wie weit sie von einem Ziel entfernt sind, Bewegung oder Nähe zu erkennen, für Autosensoren, die für verschiedene Anwendungen verwendet werden, ein elektronisches Messgerät zu implementieren, beispielsweise einen Aktuator für Arduino, um etwas zu tun wenn es eine bestimmte Nähe eines Objekts usw. erkennt.

Was ist der VL53L0X und Datenblatt

VL53L0X

El VL53L0X verwendet dieses Prinzip, um Entfernungen mit Laser-Infrarot zu messen. Letzte Generation. Zusammen mit einem Prozessor wie Arduino kann es ein leistungsstarkes Messwerkzeug sein. Insbesondere kann der Chip Entfernungen zwischen 50 mm und 2000 mm erfassen, dh zwischen 5 cm und 2 m.

Um engere Entfernungen zu messen, benötigen Sie wahrscheinlich eine Variante dieses Chips namens VL6180X, mit der Sie einen Bereich zwischen 5 und 200 mm messen können, dh zwischen einem halben Zentimeter und 20 Zentimetern. Wenn Sie ein ähnliches Gerät suchen möchten, das jedoch aus technischen Gründen auf Ultraschall basiert, sollten Sie sich das HC-SR04 ansehen, ein weiteres recht billiges Modul, das bei Herstellern beliebt ist.

El VL53L0X-Chip wurde entworfen, um Arbeiten Sie auch bei starkem Umgebungslicht. Beachten Sie, dass es bei optischer Arbeit umso schwieriger ist, den Signalabprall angemessen zu erfassen, je größer die Lichtverschmutzung der Umgebung ist. In diesem Fall ist dies jedoch kein allzu großes Problem. Darüber hinaus ermöglicht das integrierte Kompensationssystem die Messung, selbst wenn Sie es hinter Schutzglas verwenden.

Das macht es eins der besten Abstandssensoren das finden Sie auf dem Markt. Mit einer viel höheren Präzision als Sensoren, die auf Ultraschall oder Infrarot (IR) basieren. Der Grund für die Genauigkeit ist, dass der Laser nicht wie in den anderen Fällen durch Echos oder Reflexionen von Objekten beeinträchtigt wird.

Derzeit ist es in Maultieren mit etwas mehr für etwa 16 € oder in einfacheren Tellern von etwas mehr als 1 € oder in anderen Fällen in 3 € integriert. Sie wissen bereits, dass Sie es in Geschäften wie eBay, AliExpress, Amazon usw. finden. Die Hersteller dieser Geräte sind unterschiedlich. Wenn Sie also die Details des von Ihnen gekauften Modells kennen müssen, überprüfen Sie diese am besten das Datenblatt des Herstellers dass du gewählt hast. Beispielsweise:

El VL53L0X Es hat im Inneren des Chips den Emitter des Laserpulses und den Sensor, um den zurückkommenden Strahl zu erfassen. In diesem Fall ist der Emitter ein 940-nm-Wellenlängenlaser und ein VCSEL-Typ (Vertical Cavity Surface-Emitting Laser). Der Einfangsensor ist ein SPAD (Single Photon Avalanche Diodes). Es integriert auch eine interne Elektronik namens FlightSenseTM, die die Entfernung berechnet.

El Messwinkel oder FOV (Sichtfeld) in diesem Fall sind es 25º. Dies entspricht einer Messfläche mit einem Durchmesser von 0,44 m in einem Abstand von 1 m. Obwohl der Messbereich von den Umgebungsbedingungen abhängt. Wenn es drinnen gemacht wird, ist es etwas höher als wenn es draußen gemacht wird. Dies hängt auch vom Reflexionsgrad des Objekts ab, auf das Sie zeigen:

Zielreflexion Bedingungen Interieur Außen
Weißes Ziel Typisch 200 cm 80 cm
Nachahmen 120 cm 60 cm
Graues Ziel Typisch 80 cm 50 cm
Minimum 70 cm 40 cm

Darüber hinaus verfügt der VL53L0X über mehrere Betriebsarten das kann die Ergebnisse variieren. Diese Modi sind in der folgenden Tabelle zusammengefasst:

Modus Timing Geltungsbereich Präzision
standardmäßig 30ms 1.2m Siehe die folgende Tabelle
Hohe Präzision 200ms 1.2m + / - 3%
Langstrecken 33ms 2m Siehe die folgende Tabelle
Hohe Geschwindigkeit 20ms 1.2m + / - 5%

Nach diesen Modi haben wir mehrere Standard- und Ferngenauigkeiten das haben Sie in dieser Tabelle:

Interieur Außen
Zielreflexion Abstand 33ms 66ms Abstand 33ms 66ms
Weißes Ziel ein 120cm 4% 3% ein 60cm 7% 6%
Graues Ziel ein 70cm 7% 6% ein 40cm 12% 9%

Pinbelegung und Anschluss

VL53L0X Chipdiagramm

Damit dies alles richtig funktioniert, brauchen Sie eine Schnittstelle zur Außenwelt. Und das wird durch einige Stifte oder Verbindungen erreicht. Die Pinbelegung des VL53L0X ist recht einfach, er hat nur 6 Pins. Für die Integration mit Arduino kann die Kommunikation über I2C erfolgen.

Um es zu füttern, können Sie Pins verbinden Damit:

  • VCC bis 5V von Arduino
  • GND zu GND von Arduino
  • SCL an einen analogen Arduino-Pin. Zum Beispiel A5
  • SDA an einen anderen analogen Pin. Zum Beispiel A4
  • Die Pins GPI01 und XSHUT müssen momentan nicht verwendet werden.

Integration mit Arduino

VL53L0X mit Arduino verbunden

Wie bei vielen anderen Modulen gibt es auch beim VL53L0X Bibliotheken (z. B. die für Adafruit) des verfügbaren Codes, mit dem Sie beim Schreiben mit bestimmten Funktionen arbeiten können Der Quellcode für Ihr Projekt in Arduino IDE. Wenn Sie zum ersten Mal mit Arduino zusammen sind, empfehle ich unser Programmierhandbuch.

Ein Beispiel Einfacher Code, mit dem Sie Messungen durchführen und den Messwert über die serielle Schnittstelle anzeigen können Sie können es also von Ihrem PC-Bildschirm aus sehen, während Sie die Arduino-Karte angeschlossen haben:

#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);
}

In der eigenen Bibliothek von Adafruit finden Sie weitere Anwendungsbeispiele, wenn Sie diese benötigen ...


Schreiben Sie den ersten Kommentar

Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.