VL53L0X: αισθητήρας απόστασης λέιζερ υψηλής ακρίβειας

VL53L0Χ

Σε ορισμένα από τα έργα σας θα χρειαστεί να μετρήσετε τις αποστάσεις. Λοιπόν, πρέπει να γνωρίζετε ότι το Το VL53L0X είναι μια συσκευή που επιτρέπει τη μέτρησή τους με υψηλή ακρίβεια. Επιπλέον, το μικρό του μέγεθος και η χαμηλή τιμή του το καθιστούν ιδανικό για τα έργα DIY, ειδικά για την ενσωμάτωση με το Arduino.

Υπάρχουν πολλές συσκευές που μπορούν να μετρήσουν τις αποστάσεις, μερικές από αυτές είναι μετρητές απόστασης βάσει υπερήχων που εκπέμπουν έναν ήχο και όταν αναπηδούν με το αντικείμενο επιτρέπει να γνωρίζουμε με ακρίβεια την απόσταση που υπάρχει. Αλλά αν θέλετε την υψηλότερη ακρίβεια, για αυτό χρειάζεστε ένα οπτικός μετρητής απόστασης. Αυτός ο τύπος συσκευών μέτρησης βασίζεται στο λέιζερ, όπως συμβαίνει με το VL53L0X.

Τι είναι το ToF;

Αρχή του ToF (σχήμα)

Ώρα πτήσης ή κάμερα ToF (Time-of-Flight) είναι μια τεχνική που χρησιμοποιείται για τη μέτρηση των αποστάσεων. Βασίζεται στην οπτική, μετρώντας τον χρόνο που έχει παρέλθει μεταξύ της εκπομπής μιας δέσμης φωτός και της λήψης. Μπορούν να είναι αισθητήρες CCD, CMOS, και οι παλμοί μπορούν να είναι υπέρυθροι, λέιζερ κ.λπ. Το σύστημα θα συγχρονιστεί για να ξεκινήσει η μέτρηση του χρόνου ακριβώς όταν ενεργοποιείται ο παλμός και να σταματήσει ο μετρητής όταν λαμβάνουν την αναπήδηση από τον αισθητήρα.

Με αυτόν τον τρόπο Η απόσταση μπορεί να υπολογιστεί με ακρίβεια. Χρειάζεται μόνο ένα πρόσθετο λογικό κύκλωμα ενσωματωμένο στο τσιπ για να εκτελέσει τους υπολογισμούς από τη στιγμή που η δέσμη εκτοξεύεται μέχρι να ληφθεί και έτσι να προσδιοριστεί η απόσταση. Η αρχή είναι αρκετά απλή.

ESP8266
σχετικό άρθρο:
ESP8266: η ενότητα WIFI για το Arduino

Αυτός ο τύπος συσκευής χρησιμοποιείται στο ρομποτική να επιτρέψει στο ρομπότ ή το drone να αποφύγει εμπόδια, να γνωρίζει πόσο μακριά βρίσκονται από έναν στόχο, να ανιχνεύσει κίνηση ή εγγύτητα, για αισθητήρες αυτοκινήτου που χρησιμοποιούνται για διαφορετικές εφαρμογές, να εφαρμόσει έναν ηλεκτρονικό μετρητή, όπως έναν ενεργοποιητή, ώστε ο Arduino να κάνει κάτι όταν ανιχνεύει κάποια εγγύτητα ενός αντικειμένου κ.λπ.

Τι είναι το VL53L0X και το φύλλο δεδομένων

VL53L0Χ

El Το VL53L0X χρησιμοποιεί αυτήν την αρχή για τη μέτρηση αποστάσεων με υπέρυθρες λέιζερ. τελευταία γενιά. Μαζί με έναν επεξεργαστή, όπως το Arduino, μπορεί να είναι ένα ισχυρό εργαλείο μέτρησης. Συγκεκριμένα, το τσιπ μπορεί να συλλάβει αποστάσεις μεταξύ 50 mm και 2000 mm, δηλαδή μεταξύ 5 εκατοστών και 2 μέτρων.

Για να μετρήσετε πιο κοντά, ίσως χρειαστείτε μια παραλλαγή αυτού του τσιπ που ονομάζεται VL6180X που σας επιτρέπει να μετρήσετε μια περιοχή από 5 έως 200 mm, δηλαδή, από μισό εκατοστό έως 20 εκατοστά. Εάν θέλετε να βρείτε μια παρόμοια αλλά βασισμένη σε υπερήχους συσκευή για οποιονδήποτε τεχνικό λόγο, τότε θα πρέπει να δείτε το HC-SR04, μια άλλη αρκετά φθηνή μονάδα δημοφιλής στους κατασκευαστές.

El Τσιπ VL53L0X έχει σχεδιαστεί για λειτουργεί ακόμη και όταν το φως περιβάλλοντος είναι αρκετά υψηλό. Λάβετε υπόψη ότι όταν εργάζεστε οπτικά, όσο μεγαλύτερη είναι η ελαφριά «ρύπανση» του περιβάλλοντος, τόσο πιο δύσκολο θα είναι να καταγράψετε επαρκώς την αναπήδηση του σήματος. Αλλά σε αυτήν την περίπτωση δεν παρουσιάζει πάρα πολλά προβλήματα. Επιπλέον, το σύστημα αντιστάθμισης που ενσωματώνει το επιτρέπει να μετράει ακόμη και αν το χρησιμοποιείτε πίσω από προστατευτικό γυαλί.

Αυτό το κάνει ένα από τους καλύτερους αισθητήρες απόστασης που θα βρείτε στην αγορά. Με πολύ μεγαλύτερη ακρίβεια από τους αισθητήρες που βασίζονται σε υπερήχους ή υπέρυθρες (IR). Ο λόγος για να είμαστε τόσο ακριβείς είναι ότι το λέιζερ δεν θα επηρεαστεί από ηχώ ή ανάκλαση από αντικείμενα όπως στις άλλες περιπτώσεις.

Αυτήν τη στιγμή μπορείτε να το βρείτε ενσωματωμένο σε μουλάρια με κάποια επιπλέον τιμή για περίπου 16 € ή σε απλούστερες πλάκες μόλις πάνω από 1 € ή 3 € σε άλλες περιπτώσεις. Γνωρίζετε ήδη ότι θα το βρείτε σε καταστήματα όπως το eBay, το AliExpress, το Amazon κ.λπ. Οι κατασκευαστές αυτών των συσκευών είναι διάφοροι, οπότε αν πρέπει να γνωρίζετε τις λεπτομέρειες του μοντέλου που έχετε αγοράσει, είναι καλύτερο να ελέγξετε το δελτίο δεδομένων του κατασκευαστή που έχετε επιλέξει. Για παράδειγμα:

El VL53L0Χ Έχει μέσα στο τσιπ τον εκπομπό του παλμού λέιζερ και τον αισθητήρα για να συλλάβει τη δέσμη που επιστρέφει. Σε αυτήν την περίπτωση, ο εκπομπός είναι λέιζερ μήκους κύματος 940nm και τύπος VCSEL (Vertical Cavity Surface-Emitting Laser). Όσον αφορά τον αισθητήρα σύλληψης, είναι ένα SPAD (Single Photon Avalanche Diodes). Ενσωματώνει επίσης ένα εσωτερικό ηλεκτρονικό σύστημα που ονομάζεται FlightSense ™ που θα υπολογίσει την απόσταση.

El γωνία μέτρησης ή FOV (οπτικό πεδίο) είναι 25º σε αυτήν την περίπτωση. Αυτό μεταφράζεται σε μια περιοχή μέτρησης διαμέτρου 0,44m σε απόσταση 1m. Αν και το εύρος μέτρησης θα εξαρτηθεί από τις γύρω συνθήκες. Εάν γίνεται σε εσωτερικούς χώρους, είναι λίγο υψηλότερο από ό, τι εάν γίνεται σε εξωτερικούς χώρους. Εξαρτάται επίσης από την ανάκλαση του αντικειμένου στο οποίο επισημαίνετε:

Στόχος ανάκλασης Όροι Εσωτερική εμφάνιση Εξωτερική εμφάνιση
Λευκός στόχος Τυπικό 200cm 80cm
Μίμος 120cm 60cm
Γκρι στόχος Τυπικό 80cm 50cm
minimo 70cm 40cm

Επιπλέον, το VL53L0X έχει πολλά τρόποι λειτουργίας που μπορεί να διαφέρουν τα αποτελέσματα. Αυτές οι λειτουργίες συνοψίζονται στον ακόλουθο πίνακα:

Τρόπος Συγχρονισμός Έκταση Ακρίβεια
Προεπιλογή 30ms 1.2m Δείτε τον παρακάτω πίνακα
Υψηλή ακρίβεια 200ms 1.2m + / -% 3
Μεγάλης εμβέλειας 33ms 2m Δείτε τον παρακάτω πίνακα
Υψηλή ταχύτητα 20ms 1.2m + / -% 5

Σύμφωνα με αυτούς τους τρόπους, έχουμε αρκετούς τυπικές και ακρίβεια μεγάλης εμβέλειας που έχετε σε αυτόν τον πίνακα:

Εσωτερική εμφάνιση Εξωτερική εμφάνιση
Στόχος ανάκλασης Απόσταση 33ms 66ms Απόσταση 33ms 66ms
Λευκός στόχος ένα 120 εκατοστό 4% 3% ένα 60 εκατοστό 7% 6%
Γκρι στόχος ένα 70 εκατοστό 7% 6% ένα 40 εκατοστό 12% 9%

Pinout και σύνδεση

Διάγραμμα τσιπ VL53L0X

Για να λειτουργήσει σωστά όλα αυτά χρειάζεστε μια διεπαφή με τον έξω κόσμο. Και αυτό επιτυγχάνεται μέσω ορισμένων καρφιτσών ή συνδέσεων. Το pinout του VL53L0X είναι αρκετά απλό, έχει μόνο 6 ακίδες. Για την ενσωμάτωσή του με το Arduino, η επικοινωνία μπορεί να γίνει μέσω του I2C.

Για να το ταΐσετε, μπορείτε συνδέστε καρφίτσες Ετσι:

  • VCC έως 5v από το Arduino
  • GND έως GND του Arduino
  • SCL σε αναλογικό πείρο Arduino. Για παράδειγμα Α5
  • SDA σε άλλο αναλογικό πείρο. Για παράδειγμα Α4
  • Οι ακίδες GPI01 και XSHUT δεν χρειάζεται να χρησιμοποιούνται προς το παρόν.

Ενσωμάτωση με το Arduino

VL53L0X συνδεδεμένο στο Arduino

Όσο για πολλές άλλες ενότητες, για το VL53L0X έχετε επίσης βιβλιοθήκες (π.χ. αυτή για Adafruit) του διαθέσιμου κώδικα που μπορείτε να χρησιμοποιήσετε για να εργαστείτε με συγκεκριμένες λειτουργίες όταν γράφετε ο πηγαίος κώδικας για τη διαχείριση του έργου σας στο Arduino IDE. Αν αυτή είναι η πρώτη σας φορά με το Arduino, σας προτείνω το εγχειρίδιο προγραμματισμού μας.

Ένα παράδειγμα Απλός κωδικός για τη λήψη μετρήσεων και την προβολή της τιμής μέτρησης μέσω της σειριακής θύρας ώστε να μπορείτε να το δείτε από την οθόνη του υπολογιστή σας ενώ έχετε συνδέσει την πλακέτα Arduino είναι:

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

Στη βιβλιοθήκη του Adafruit έχετε περισσότερα παραδείγματα χρήσης εάν το χρειάζεστε ...


Γίνε ο πρώτος που θα σχολιάσει

Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.