ToF-Sensormodul VL53L5CX mit 8x8-Zonen und VCSEL-Laser, I2C
zoom_out_map
chevron_left chevron_right

Produktbilder dienen ausschließlich zu Informationszwecken und können je nach Charge und Lieferant geringfügige Unterschiede aufweisen. Produktspezifikationen und Preise können ohne vorherige Ankündigung geändert werden. Wir tun unser Bestes, um der Produktseite möglichst genaue und richtige Spezifikationen hinzuzufügen, es ist jedoch möglich, dass diese nicht ganz korrekt sind. Sollten Sie einen solchen Fall feststellen, melden Sie ihn uns bitte.

Das Produkt ist für Fachleute bestimmt und erfordert qualifiziertes und autorisiertes Personal. Dem Produkt liegt keine Montage-/Gebrauchsanleitung bei . Die Inbetriebnahme des Produktes durch nicht qualifizierte Personen führt zum Verlust der Garantie gemäß den AGB auf der Seite.

Die angegebenen technischen Spezifikationen (Strom, Leistung usw.) stellen maximale zulässige Werte unter idealen Betriebsbedingungen dar. Für einen sicheren Betrieb und eine optimale Lebensdauer wird empfohlen, das Produkt im Dauerbetrieb mit höchstens 50 % der angegebenen Maximalwerte zu verwenden.

Neu

ToF-Sensormodul VL53L5CX, 8x8-Zonen, I2C, 3–5 VDC

Hochpräziser Time-of-Flight-Sensor VL53L5CX mit konfigurierbarer Multi-Zonen-Erkennung bis zu 8x8 (64 Zonen), misst Entfernungen bis zu 4 Metern mithilfe eines unsichtbaren VCSEL-Lasers und arbeitet mit Frequenzen von bis zu 60 Hz. I2C-Schnittstelle, Versorgung 3 - 5 VDC, kompatibel mit Arduino, ESP32, Raspberry Pi und anderen Plattformen, geeignet für Robotik, Umgebungsabbildung, Hinderniserkennung und intelligente Systeme.

9.819,43 Ft Bruttopreis

8.115,23 Ft zzgl. MwSt.

No reviews yet

Shipping by Donnerstag 22 Oktober

Mit dem Kauf dieses Produkts erhalten Sie 490,97 Ft an Treuepunkten.

Garantie: 24 Monate für Privatpersonen
INTERNATIONAL DELIVERY
International fast shipping within EU. Free Shipping for orders above 100 EUR in most EU countries.
FAST DISPATCH 24H
We ship from our stock within 24H
TREUEPUNKTE
Sie erhalten bei jeder Bestellung Punkte im Wert von 5 %.

Das VL53L5X V2 Sensor-Modul integriert den VL53L5CX-Chip, einen Time-of-Flight-(ToF)-Sensor von STMicroelectronics, der die Entfernung über die Laufzeit des von einem VCSEL-Laser emittierten Lichts misst. Im Gegensatz zu klassischen IR-Sensoren, die auf der Intensität des reflektierten Lichts basieren, bietet die ToF-Technologie eine absolute Entfernungsmessung, unabhängig von der Farbe oder Reflexionseigenschaft des Zielobjekts, was sie für Robotik, Hinderniserkennung, Umgebungs-Mapping, Zugangssysteme, intelligente Geräte und Automatisierungen geeignet macht.

Der Sensor bietet eine konfigurierbare Multi-Zonen-Erkennung mit einem Raster von bis zu 8x8 Zonen, also 64 gleichzeitigen Messzonen, oder 4x4 Zonen für einfachere Anwendungen. Großes Sichtfeld von 63° diagonal, und jede Zone ermöglicht die Entfernungsmessung zu einem Ziel bis zu 4 Meter, mit einer maximalen Frequenz von 60 Hz. Der Sender ist ein VCSEL-Laser bei 940 nm, für das menschliche Auge unsichtbar, und die von ST entwickelten Histogramm-Algorithmen ermöglichen die Erkennung mehrerer unterschiedlicher Objekte im selben Sichtfeld und verbessern die Unempfindlichkeit gegenüber Reflexionen von einer eventuell vorhandenen Schutzscheibe.

Zu den wichtigsten Merkmalen gehören die direkt auf der Leiterplatte markierten Schnittstellen-Pins VIN, GND, SCL, SDA, INT und LPn, die über dem Sensor montierte optische Schutzabdeckung für Staubresistenz und erhöhte Genauigkeit sowie die zwei Befestigungsbohrungen auf der Platine. Die Versorgung erfolgt mit einer Spannung im Bereich von 3 - 5 VDC, angelegt an den VIN-Pin, und das mitgelieferte Pin-Set ermöglicht die Montage auf einem Breadboard oder das Anlöten von Kabeln.

Über die I2C-Schnittstelle ist das Modul kompatibel mit Arduino, ESP32, STM32, Raspberry Pi und anderen Plattformen, die über diese Schnittstelle verfügen.

 

Spezifikationen:

Sensor: VL53L5CX (STMicroelectronics)

Technologie: Time-of-Flight (ToF), 940 nm VCSEL-Laser

Versorgungsspannung: 3 - 5 VDC

Kommunikationsschnittstelle: I2C

Messrate: bis zu 60 Hz

Sichtfeld (FoV): 63° diagonal, softwarekonfigurierbar

Multi-Zonen-Erkennung: 8x8 Zonen (64 Zonen) oder 4x4 Zonen (16 Zonen), konfigurierbar

Absolute Entfernung: 0 - 400 cm

Entfernungsauflösung: 1 mm (typisch)

Schutz: Optische Abdeckung für Staubresistenz und erhöhte Genauigkeit

Abmessungen: 10.5 x 25 mm

 

Pinbelegung:

Steckverbinder Pin Funktion
Kommunikations-Header VIN Sensorversorgung 3 - 5 VDC
Kommunikations-Header GND Masse
Kommunikations-Header SCL Takt für die I2C-Kommunikation
Kommunikations-Header SDA Daten für die I2C-Kommunikation
Kommunikations-Header INT Interrupt-Signal, zum Aufwecken des Hosts bei Erkennung eines Objekts
Kommunikations-Header LPn Low-Power-Steuerung und Sensor-Reset, aktiv bei LOW

 

Verwendung:

Löten Sie das Pin-Set auf die Platine, wenn Sie die Montage auf einem Breadboard wünschen, und achten Sie dabei auf die Ausrichtung der auf der Leiterplatte markierten Bohrungen.

Verbinden Sie das Modul über die I2C-Schnittstelle mit dem Mikrocontroller und schließen Sie SDA und SCL an die entsprechenden Pins auf dem Entwicklungsboard an.

Versorgen Sie das Modul mit einer Spannung im Bereich von 3 - 5 VDC am VIN-Pin und verbinden Sie GND mit der gemeinsamen Masse des Systems.

Verwechseln Sie nicht die Polarität der Versorgung und überschreiten Sie nicht die maximal zulässige Spannung von 5 VDC.

Initialisieren Sie den Sensor mit einer dedizierten VL53L5CX-Bibliothek, die für Arduino, ESP32 oder andere Plattformen verfügbar ist.

Stellen Sie die gewünschte Auflösung, 4x4 oder 8x8 Zonen, sowie die Messrate von bis zu 60 Hz ein, bevor Sie mit der Datenerfassung beginnen.

Lese Sie die Entfernungswerte für jede Zone aus und verarbeiten Sie sie je nach Anwendung, entweder zur Hinderniserkennung, zum Mapping oder zur Gestenerkennung.

Verwenden Sie den INT-Pin, um den Mikrocontroller bei Erkennung eines nahen Objekts aufzuwecken, wenn Sie den Energiesparmodus aktivieren.

Verwenden Sie den LPn-Pin, um den Sensor zu aktivieren oder zu deaktivieren, und halten Sie ihn für den normalen Betrieb auf HIGH.

Für stabile Ergebnisse halten Sie die optische Abdeckung sauber, ohne Staub oder Fingerabdrücke, und vermeiden Sie stark reflektierende Oberflächen vor dem Sensor in kurzen Abständen.

88260
Chipsatz
VL53L5CX

Produs destinat utilizarii in proiecte electronice, automatizari, prototipare, educatie si cercetare.

Produsul trebuie utilizat numai conform specificatiilor tehnice mentionate in descriere si/sau in documentatia produsului.

Avertismente generale de siguranta:

Nu utilizati produsul la tensiuni, curenti sau temperaturi peste valorile specificate.

Montajul si conectarea trebuie realizate de persoane cu cunostinte tehnice minime in domeniul electric/electronic.

Evitati scurtcircuitele, inversarea polaritatii si conectarea gresita a alimentarii.

Nu lasati produsul alimentat nesupravegheat in timpul testelor.

Produsul nu este jucarie si nu este destinat copiilor.

Pentru modulele electronice, se recomanda utilizarea in carcase, panouri sau montaje protejate, dupa caz.

Identificare produs:

Denumirea produsului, codul/SKU-ul si caracteristicile tehnice sunt mentionate in pagina produsului si/sau pe eticheta ambalajului.

Producator / Importator / Distribuitor:

Sigmanortec S.R.L.

Calea Bucuresti nr. 9, Targu Jiu, Gorj, Romania

E-mail: [email protected]

Website: www.sigmanortec.ro

Persoana responsabila in UE:

Sigmanortec S.R.L.

Calea Bucuresti nr. 9, Targu Jiu, Gorj, Romania

E-mail: [email protected]

Documentatie si siguranta:

Pentru informatii suplimentare, fise tehnice, declaratii de conformitate sau instructiuni, ne puteti contacta la [email protected].

/*
  Arduino sketch for the VL53L5CX 8x8-zone Time-of-Flight sensor module
  Board used: Arduino Uno (or any 5V/3.3V compatible board with I2C)

  Wiring (module pin -> Arduino pin):
    VIN -> 5V   (module accepts 3 - 5 VDC)
    GND -> GND
    SCL -> A4 (SDA) ... see below, SCL -> A5
    SDA -> A4
    SCL -> A5
    INT -> D2   (optional, interrupt output, active LOW)
    LPn -> D3   (optional, keep HIGH for normal operation)

  Library required (install from Arduino Library Manager):
    "SparkFun VL53L5CX Arduino Library"
    (search for VL53L5CX in the Library Manager and install the SparkFun version)

  This sketch initializes the sensor, sets the 8x8 zone resolution,
  starts ranging and prints the distance of every zone on the Serial Monitor.
*/

#include <Wire.h>
#include <SparkFun_VL53L5CX_Library.h>

SparkFun_VL53L5CX imager;
VL53L5CX_ResultsData measurementData;

int imageResolution = 0;
int imageWidth = 0;

const int INT_PIN = 2;
const int LPN_PIN = 3;

void setup()
{
  Serial.begin(115200);
  delay(1000);
  Serial.println("VL53L5CX 8x8 zone Time-of-Flight sensor test");

  pinMode(LPN_PIN, OUTPUT);
  digitalWrite(LPN_PIN, HIGH); // keep sensor enabled, HIGH = normal operation

  pinMode(INT_PIN, INPUT);

  Wire.begin();
  Wire.setClock(400000); // fast I2C mode

  Serial.println("Initializing sensor, this can take a few seconds...");
  if (imager.begin() == false)
  {
    Serial.println("Sensor not found, check wiring and power. Freezing...");
    while (1)
      ;
  }

  imager.setResolution(64); // 8x8 = 64 zones, use 16 for 4x4
  imageResolution = imager.getResolution();
  imageWidth = sqrt(imageResolution);

  imager.setRangingFrequency(15); // Hz, up to 60 Hz depending on resolution
  imager.startRanging();

  Serial.println("Sensor ready, starting measurements.");
}

void loop()
{
  if (imager.isDataReady() == true)
  {
    if (imager.getRangingData(&measurementData))
    {
      Serial.println("---- New frame ----");
      for (int y = 0; y < imageWidth; y++)
      {
        for (int x = 0; x < imageWidth; x++)
        {
          int index = x + y * imageWidth;
          Serial.print(measurementData.distance_mm[index]);
          Serial.print("\t");
        }
        Serial.println();
      }
    }
  }

  delay(5);
}

Das Modul mit dem Sensor VL53L5CX ist eine Time-of-Flight-Kamera (ToF) zur Abstandsmessung. Sie teilt das Sichtfeld in ein Raster von bis zu 8x8 Zonen auf und liefert gleichzeitig den gemessenen Abstand in jeder Zone, nicht nur einen einzelnen Wert wie klassische Abstandssensoren.

Es ist nützlich in Projekten zur Hinderniserkennung für mobile Roboter, zum Zählen von Personen an einer Tür, für Gestensteuerung, zum automatischen Anhalten einer Maschine, wenn sich eine Hand nähert, oder für die einfache Kartierung eines Raums, überall dort, wo eine einzelne Abstandsmessung nicht ausreicht.

ToF-Sensormodul VL53L5CX 8x8 Zonen, I2C, 3-5 VDC

So funktioniert es:

Der Sensor sendet mit einem VCSEL-Emitter bei 940 nm Impulse unsichtbaren Laserlichts aus und misst, wie lange das Licht braucht, um das Objekt zu erreichen und zur SPAD-Fotodetektor-Matrix im Inneren des Chips zurückzukehren.

Das Grundprinzip jedes ToF-Sensors lautet: Der Abstand ist gleich der Lichtgeschwindigkeit multipliziert mit der Flugzeit und geteilt durch zwei, also d = (c x t) / 2. Dabei ist c die Lichtgeschwindigkeit, ungefähr 3 x 10 hoch 8 Meter pro Sekunde, und t die gemessene Zeit für Hin- und Rückweg.

Beim VL53L5CX wird diese Berechnung intern von der eigenen Elektronik des Sensors durchgeführt. Das Ergebnis kommt fertig verarbeitet über I2C, in Millimetern, für jede der bis zu 64 Zonen, mit einer Rate von bis zu 60 Hz.

Der Sensor kann in der Auflösung 4x4 Zonen arbeiten, für einfache und schnelle Anwendungen, oder mit 8x8 Zonen für mehr Detail der Szene. Die maximal nutzbare Entfernung beträgt etwa 4 Meter, mit einer typischen Genauigkeit von rund 5 Prozent der gemessenen Entfernung, abhängig vom Reflexionsgrad des Ziels und von den Umgebungslichtbedingungen.

Was du brauchst:

Anschluss:

Das Modul wird am Pin VIN mit einer Spannung im Bereich von 3 - 5 VDC versorgt. Es kann daher direkt an den 5-V-Ausgang eines Arduino Uno angeschlossen werden, ohne zusätzlichen Pegelwandler, da die Platine bereits den Regler und die nötige Anpassung des Logikpegels für SDA und SCL besitzt. Die Pins LPn und INT sind für einen einfachen Anschluss optional, wir verwenden sie in diesem Tutorial aber, um zu zeigen, wie man das Einschalten des Sensors steuert und wie man den Interrupt-Zustand auslesen kann.

Pin des Produkts Pin Arduino Uno Funktion
VIN 5V Spannungsversorgung des Moduls
GND GND Gemeinsame Masse
SCL A5 I2C-Takt
SDA A4 I2C-Daten
LPn D3 Sensor aktivieren, HIGH für normalen Betrieb
INT D2 Interrupt-Signal bei Erkennung eines Objekts

Anschluss des Moduls VL53L5CX an den Arduino Uno über I2C

Bibliotheken:

Installiere über den Library Manager die Bibliothek SparkFun VL53L5CX Arduino Library von SparkFun Electronics, mindestens in Version 1.0.3, und suche dabei genau nach diesem Namen. Die Bibliothek Wire für die I2C-Kommunikation ist bereits in der Arduino IDE enthalten und muss nicht separat installiert werden.

Der Code:

Das folgende Programm initialisiert den Sensor, stellt die Auflösung auf 8x8 Zonen ein und zeigt im seriellen Monitor bei jedem Frame das Raster der gemessenen Abstände an.

/*
  VL53L5CX 8x8 Multizone Time-of-Flight Sensor - Basic Reading Example
  Board: Arduino Uno
  Library: SparkFun VL53L5CX Arduino Library (by SparkFun Electronics)
  This sketch initializes the VL53L5CX sensor over I2C, sets the
  resolution to 8x8 zones and continuously prints the distance grid
  (in millimeters) to the Serial Monitor.
*/
#include <Wire.h>
#include <SparkFun_VL53L5CX_Library.h>
// Pins used to control the sensor from the Arduino Uno
const int LPN_PIN = 3; // Low power / enable pin, HIGH = sensor enabled
const int INT_PIN = 2; // Interrupt output pin from the sensor
SparkFun_VL53L5CX myImager;
VL53L5CX_ResultsData measurementData; // Holds one frame of ranging data
int imageResolution = 0; // Current resolution reported by the sensor (16 or 64)
int imageWidth = 0;      // Grid width used only for pretty printing
void setup()
{
  Serial.begin(115200);
  delay(1000);
  Serial.println("VL53L5CX 8x8 Zone Distance Example");
  // Configure control pins
  pinMode(LPN_PIN, OUTPUT);
  digitalWrite(LPN_PIN, HIGH); // Enable the sensor (LPn HIGH = normal operation)
  pinMode(INT_PIN, INPUT_PULLUP);
  Wire.begin();
  Wire.setClock(400000); // Optional, use 400kHz I2C for faster frame transfer
  Serial.println("Initializing sensor, this can take up to 10 seconds...");
  if (myImager.begin() == false)
  {
    Serial.println("Sensor not found - check wiring and LPn pin. Freezing.");
    while (1)
      ;
  }
  myImager.setResolution(8 * 8); // Enable all 64 zones
  imageResolution = myImager.getResolution(); // Confirm resolution (16 or 64)
  imageWidth = sqrt(imageResolution);         // 4 or 8
  myImager.startRanging();
  Serial.println("Sensor ready, starting measurements.");
}
void loop()
{
  // Just for demonstration, read the interrupt pin state
  bool interruptActive = (digitalRead(INT_PIN) == LOW);
  if (myImager.isDataReady())
  {
    if (myImager.getRangingData(&measurementData))
    {
      Serial.print("Interrupt active: ");
      Serial.println(interruptActive ? "yes" : "no");
      // Print the distance grid, row by row
      for (int row = 0; row < imageWidth; row++)
      {
        for (int col = 0; col < imageWidth; col++)
        {
          int index = row * imageWidth + col;
          Serial.print(measurementData.distance_mm[index]);
          Serial.print("\t");
        }
        Serial.println();
      }
      Serial.println();
    }
  }
  delay(50); // Small delay between polling cycles
}

Wie der Code funktioniert:

Am Anfang des Programms werden die Pins LPN_PIN und INT_PIN definiert. Außerdem werden das Objekt myImager der Klasse SparkFun_VL53L5CX und die Struktur measurementData erstellt, in die die Bibliothek die vom Sensor gelesenen Daten ablegt. Die Variablen imageResolution und imageWidth speichern die aktuelle Auflösung und die Seitenlänge des Rasters für eine geordnete Ausgabe.

In der Funktion setup wird die serielle Kommunikation mit 115200 Baud gestartet. LPN_PIN wird als Ausgang konfiguriert und auf HIGH gesetzt, um den Sensor zu aktivieren, und INT_PIN wird als Eingang mit internem Pull-up konfiguriert. Nach Wire.begin wird myImager.begin aufgerufen, das den Sensor initialisiert und die interne Firmware lädt. Danach aktiviert myImager.setResolution(8 * 8) alle 64 Zonen und myImager.startRanging() startet die kontinuierlichen Messungen.

In der Funktion loop wird zuerst der Zustand des Pins INT_PIN geprüft, nur um zu zeigen, dass der Sensor aktiv neue Daten meldet. Anschließend wird mit myImager.isDataReady() festgestellt, wann ein neuer Frame bereit ist, und myImager.getRangingData(&measurementData) holt die Abstandswerte in mm in das Array measurementData.distance_mm. Das Programm durchläuft es Zeile für Zeile, um das Raster im seriellen Monitor auszugeben.

Ergebnis:

Öffne den seriellen Monitor mit 115200 Baud. Nach dem Hochladen des Codes und der Initialisierung des Sensors siehst du regelmäßig ein Raster aus 8x8 Werten. Jeder Wert gibt den in Millimetern gemessenen Abstand in der jeweiligen Zone des Sichtfelds an.

VL53L5CX 8x8 Zone Distance Example
Initializing sensor, this can take up to 10 seconds...
Sensor ready, starting measurements.
Interrupt active: no
512    498    505    511    620    615    609    598
520    501    499    507    611    602    598    590
530    510    495    500    600    590    585    580
545    522    501    498    588    579    570    565
560    535    510    495    575    566    560    552
578    548    520    500    562    555    548    540
595    562    530    505    550    542    535    528
610    578    540    512    540    532    525    518

Häufige Probleme:

Wenn im seriellen Monitor die Meldung erscheint, dass der Sensor nicht gefunden wurde, prüfe zuerst die Verbindungen SDA und SCL, denn vertauschte Leitungen sind die häufigste Ursache. Stelle außerdem sicher, dass LPn auf HIGH liegt und weder offen (floating) noch mit Masse verbunden ist.

Wenn die angezeigten Werte immer 0 oder sehr groß und instabil sind, prüfe, ob du myImager.startRanging() nach dem Einstellen der Auflösung aufgerufen hast und ob du eine kleine Pause (delay) zwischen den Messungen lässt. Eine zu schnelle Funktion loop ohne Prüfung mit isDataReady kann unvollständige Frames lesen.

Wenn das Modul beim ersten Start korrekt funktioniert, nach einiger Zeit aber hängen bleibt, prüfe die Spannungsversorgung. Ein zu dünnes VIN-Kabel oder eine instabile Quelle kann Resets des Sensors verursachen, besonders wenn mehrere I2C-Module am selben Bus hängen.

Wenn du mehrere VL53L5CX-Sensoren am selben I2C-Bus verwendest und nur einer antwortet, halte LPn bei allen Sensoren außer einem auf LOW und ändere dessen I2C-Adresse im Code. Aktiviere dann nacheinander den nächsten Sensor, denn jeder braucht eine eindeutige Adresse.

Wenn die gemessenen Abstände von einer Messung mit dem Maßband abweichen, beachte, dass der Sensor den senkrechten Abstand zur Zieloberfläche meldet und nicht die Entfernung in gerader Linie zu einem Punkt unter einem Winkel. Sehr stark reflektierende oder sehr dunkle Oberflächen können die nutzbare Reichweite verringern.

Einschränkungen und Tipps:

Der Sensor misst nutzbare Entfernungen von bis zu etwa 4 Metern, mit einer typischen Genauigkeit von rund 5 Prozent der Entfernung. Sie sinkt bei starkem, direktem Sonnenlicht auf dem Ziel oder auf dem Objektiv.

Die Rate von 60 Hz ist ein theoretisches Maximum, das vor allem bei der Auflösung 4x4 zur Verfügung steht. Bei 8x8 Zonen ist die Verarbeitungszeit pro Frame länger. Wähle für schnelle Anwendungen daher die Auflösung 4x4, wenn du kein feines Detail der Szene brauchst.

Die optische Schutzabdeckung muss sauber gehalten werden, denn Staub oder Fingerabdrücke darauf können Messfehler verursachen oder die Reichweite des Sensors verringern.

Ausgehend von diesem Grundaufbau kannst du einen Anwesenheitsdetektor mit mehreren Zonen, ein einfaches System zur Hindernisvermeidung für einen mobilen Roboter oder eine Anwendung zum Zählen von Personen bauen, die durch einen Türrahmen gehen. Dabei nutzt du das Raster mit 64 Zonen, um mehrere Ziele im selben Sichtfeld zu unterscheiden.