VL53L0X: sensor jarak laser berketepatan tinggi

VL53L0X

Dalam beberapa projek anda, anda perlu mengukur jarak. Anda mesti tahu bahawa VL53L0X adalah peranti yang memungkinkan untuk mengukurnya dengan ketepatan tinggi. Selain itu, saiznya yang kecil dan harganya yang rendah menjadikannya sesuai untuk projek DIY anda, terutamanya untuk berintegrasi dengan Arduino.

Terdapat banyak peranti yang dapat mengukur jarak, beberapa di antaranya adalah jarak jarak berdasarkan ultrasound yang mengeluarkan suara dan ketika melantun dengan objek itu memungkinkan untuk mengetahui dengan ketepatan yang cukup jarak yang ada. Tetapi jika anda mahukan ketepatan tertinggi, untuk ini anda memerlukan meter jarak optik. Alat pengukur jenis ini berdasarkan laser, seperti yang berlaku pada VL53L0X.

Apa itu ToF?

Prinsip ToF (skema)

Kamera Time of Flight atau ToF (Time-of-Flight) ia adalah teknik yang digunakan untuk mengukur jarak. Ini berdasarkan optik, mengukur masa yang berlalu antara pelepasan pancaran cahaya dan penerimaannya. Mereka boleh menjadi sensor CCD, CMOS, dan denyut nadi boleh menjadi inframerah, laser, dll. Sistem akan disinkronkan untuk memulai pengukuran waktu tepat ketika nadi dipicu dan menghentikan penghitung ketika mereka menerima pantulan oleh sensor.

Dengan cara itu jarak dapat dikira dengan tepat. Ia hanya memerlukan litar logik tambahan yang disatukan ke dalam cip untuk melakukan pengiraan dari saat balok dipecat hingga diterima dan dengan demikian menentukan jaraknya. Prinsipnya cukup mudah.

ESP8266
artikel berkaitan:
ESP8266: modul WIFI untuk Arduino

Jenis peranti ini digunakan dalam robot untuk membolehkan robot atau drone untuk mengelakkan halangan, untuk mengetahui sejauh mana jaraknya dari sasaran, untuk mengesan pergerakan atau jarak, untuk sensor kereta yang digunakan untuk aplikasi yang berbeza, untuk melaksanakan meter elektronik, seperti penggerak untuk Arduino melakukan sesuatu apabila mengesan jarak tertentu dari objek, dll.

Apakah VL53L0X dan lembaran data

VL53L0X

El VL53L0X menggunakan prinsip ini untuk mengukur jarak dengan laser inframerah. generasi terakhir. Bersama dengan pemproses, seperti Arduino, ia boleh menjadi alat yang kuat untuk mengukur. Secara khusus, cip ini dapat menangkap jarak antara 50mm dan 2000mm, antara 5 sentimeter dan 2 meter.

Untuk mengukur jarak yang lebih dekat, anda mungkin memerlukan varian cip ini yang disebut VL6180X yang membolehkan anda mengukur jarak antara 5 hingga 200 mm, iaitu antara setengah sentimeter hingga 20 sentimeter. Sekiranya anda ingin mencari peranti yang serupa tetapi berdasarkan ultrasound untuk sebarang sebab teknikal, maka anda harus melihat HC-SR04, satu lagi modul yang cukup murah yang popular di kalangan pembuatnya.

El Cip VL53L0X telah dirancang untuk berfungsi walaupun cahaya sekeliling cukup tinggi. Ingatlah bahawa ketika bekerja secara optik, semakin besar cahaya "pencemaran" alam sekitar, semakin sukar untuk menangkap lantunan isyarat dengan secukupnya. Tetapi dalam kes ini, ia tidak menghadirkan banyak masalah. Sebagai tambahan, sistem pampasan yang digabungkannya memungkinkan untuk mengukur walaupun anda menggunakannya di belakang kaca pelindung.

Itu menjadikannya satu dari sensor jarak terbaik yang anda akan dapati di pasaran. Dengan ketepatan yang jauh lebih tinggi daripada sensor berdasarkan ultrasound atau inframerah (IR). Sebabnya begitu tepat adalah bahawa laser tidak akan dipengaruhi oleh gema atau pantulan dari objek seperti dalam kes lain.

Pada masa ini, anda boleh mencantumkannya dalam keldai dengan tambahan sekitar € 16 atau dalam pinggan sederhana lebih dari € 1 atau € 3 dalam kes lain. Anda sudah tahu bahawa anda akan menemuinya di kedai seperti eBay, AliExpress, Amazon, dll. Pengilang peranti ini pelbagai, jadi jika anda perlu mengetahui perincian model yang telah anda beli, lebih baik anda periksa lembaran data pengeluar yang telah anda pilih. Sebagai contoh:

El VL53L0X Ia mempunyai di dalam cip pemancar denyut laser dan sensor untuk menangkap sinar yang kembali. Dalam kes ini, pemancar adalah laser panjang gelombang 940nm dan jenis VCSEL (Vertical Cavity Surface-Emitting Laser). Bagi sensor tangkapan, itu adalah SPAD (Single Photon Avalanche Diodes). Ia juga menyatukan elektronik dalaman yang disebut FlightSenseTM yang akan mengira jarak.

El sudut pengukuran atau FOV (Medan Pandangan) adalah 25º dalam kes ini. Itu bermaksud kawasan pengukuran berdiameter 0,44m pada jarak 1m. Walaupun jarak pengukuran akan bergantung pada keadaan di sekitarnya. Sekiranya ia dilakukan di dalam rumah ia sedikit lebih tinggi daripada jika ia dilakukan di luar rumah. Ia juga akan bergantung pada pantulan objek yang anda tuju:

Refleksi sasaran Terma dalaman Luar
Sasaran putih Biasa 200cm 80cm
Meniru 120cm 60cm
Sasaran kelabu Biasa 80cm 50cm
Minimum 70cm 40cm

Di samping itu, VL53L0X mempunyai beberapa mod operasi yang mungkin berbeza hasilnya. Mod tersebut diringkaskan dalam jadual berikut:

Cara Masa skop Precision
Lalai 30ms 1.2m Lihat jadual di bawah
Ketepatan tinggi 200ms 1.2m + / - 3%
Jarak jauh 33ms 2m Lihat jadual di bawah
Kelajuan tinggi 20ms 1.2m + / - 5%

Menurut mod ini, kita mempunyai beberapa ketepatan standard dan jarak jauh yang anda ada dalam jadual ini:

dalaman Luar
Refleksi sasaran Jarak 33ms 66ms Jarak 33ms 66ms
Sasaran putih seberat 120cm 4% 3% seberat 60cm 7% 6%
Sasaran kelabu seberat 70cm 7% 6% seberat 40cm 12% 9%

Pinout dan sambungan

Gambarajah cip VL53L0X

Untuk semua itu berfungsi dengan betul, anda perlukan antara muka dengan dunia luar. Dan itu dicapai melalui beberapa pin atau sambungan. Pinout VL53L0X agak mudah, hanya mempunyai 6 pin. Untuk penyatuannya dengan Arduino, komunikasi dapat dilakukan melalui I2C.

Untuk memberi makan, anda boleh menyambung pin Jadi:

  • VCC hingga 5v dari Arduino
  • GND ke GND Arduino
  • SCL ke pin analog Arduino. Contohnya A5
  • SDA ke pin analog yang lain. Contohnya A4
  • Pin GPI01 dan XSHUT tidak perlu digunakan buat masa ini.

Integrasi dengan Arduino

VL53L0X disambungkan ke Arduino

Bagi banyak modul lain, untuk VL53L0X anda juga mempunyai perpustakaan (contohnya untuk VLXNUMXLXNUMXX Adafruit) kod yang tersedia yang boleh anda gunakan untuk berfungsi dengan fungsi tertentu semasa anda menulis kod sumber untuk mengendalikan projek anda di Arduino IDE. Sekiranya ini pertama kalinya anda bersama Arduino, saya cadangkan manual pengaturcaraan kami.

Satu contoh Kod ringkas untuk anda mengambil ukuran dan memaparkan nilai pengukuran melalui port bersiri supaya anda dapat melihatnya dari skrin PC anda semasa anda menyambungkan papan Arduino adalah:

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

Di perpustakaan Adafruit sendiri, anda mempunyai lebih banyak contoh penggunaan jika anda memerlukannya ...


Menjadi yang pertama untuk komen

Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.