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?
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.
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
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
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
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 ...