VL53L0X: sensor jarak laser presisi tinggi

VL53L0X

Ing sawetara proyek sampeyan kudu ngukur jarak. Sampeyan kudu ngerti yen VL53L0X minangka piranti sing ngidini ngukur kanthi presisi tinggi. Kajaba iku, ukuran cilik lan regane murah dadi cocog kanggo proyek DIY, utamane kanggo integrasi karo Arduino.

Ana akeh piranti sing bisa ngukur jarak, sawetara yaiku jarak meter adhedhasar ultrasonik sing ngetokake swara lan nalika mumbul karo obyek kasebut ngidini ngerti kanthi akurasi jarak sing ana. Nanging yen sampeyan pengin presisi paling dhuwur, sampeyan kudu meter jarak optik. Piranti pangukur jinis iki adhedhasar laser, kaya VL53L0X.

Apa ToF?

Prinsip ToF (skema)

Kamera Flight utawa ToF (Time-of-Flight) yaiku teknik sing digunakake kanggo ngukur jarak. Iki adhedhasar optik, ngukur wektu sing ana ing antarane emisi balok cahya lan resepsi. Bisa uga dadi CCD, sensor CMOS, lan denyut nadi bisa uga infrared, laser, lsp. Sistem bakal diselarasake kanggo miwiti pangukuran wektu nalika pulsa dipicu lan mungkasi konter nalika nampa bouncing dening sensor.

Kanthi cara kasebut jarak bisa diwilang cukup akurat. Mung mbutuhake sirkuit logika tambahan sing terintegrasi ing chip kanggo nindakake kalkulasi wiwit balok dipecat nganti ditampa lan kanthi mangkono nemtokake jarak. Intine cukup langsung.

ESP8266
Artikel sing gegandhengan:
ESP8266: modul WIFI kanggo Arduino

Jinis piranti digunakake ing robot supaya robot utawa mbengung bisa ngindhari alangan, ngerti adoh saka target, ndeteksi gerakan utawa jarak, kanggo sensor mobil sing digunakake kanggo macem-macem aplikasi, kanggo ngleksanakake meteran elektronik, kayata aktuator supaya Arduino nindakake prekara nalika ndeteksi jarak tartamtu saka obyek, lsp.

Apa VL53L0X lan datasheet

VL53L0X

El VL53L0X nggunakake prinsip iki kanggo ngukur jarak kanthi laser inframerah. generasi pungkasan. Bebarengan karo prosesor, kaya Arduino, bisa dadi alat sing kuat kanggo ngukur. Khusus, chip kasebut bisa nyekel jarak antarane 50mm lan 2000mm, yaiku antara 5 sentimeter lan 2 meter.

Kanggo ngukur jarak sing luwih cedhak, sampeyan bisa uga butuh varian saka chip iki sing diarani VL6180X sing ngidini sampeyan ngukur jarak antara 5 lan 200 mm, yaiku antarane setengah sentimeter lan 20 sentimeter. Yen sampeyan pengin golek piranti sing padha, nanging adhedhasar ultrasonik amarga ana sebab teknis, mula kudu ndeleng HC-SR04, modul liyane sing cukup murah sing disenengi para produsen.

El Chip VL53L0X wis dirancang kanggo bisa digunakake sanajan lampu sekitar cukup dhuwur. Elinga yen digunakake kanthi optik, luwih akeh "polusi" lingkungan, mula bakal angel nyekel cekelan sinyal kanthi cekap. Nanging ing kasus iki, ora ana masalah banget. Kajaba iku, sistem kompensasi sing digabungake ngidini ngukur sanajan sampeyan nggunakake ing mburi kaca pelindung.

Sing nggawe dadi siji sensor jarak sing paling apik sing bakal sampeyan temokake ing pasar. Kanthi presisi sing luwih dhuwur tinimbang sensor adhedhasar ultrasonik utawa inframerah (IR). Alesan sing tepat banget yaiku laser ora bakal kena pengaruh gema utawa refleksi saka obyek kaya ing kasus liyane.

Saiki sampeyan bisa nemokake integral ing mules kanthi tambahan € udakara € 16 utawa ing piring sing luwih gampang mung luwih saka € 1 utawa € 3 ing kasus liyane. Sampeyan wis ngerti manawa sampeyan bakal nemokake ing toko kaya eBay, AliExpress, Amazon, lsp. Produsen piranti kasebut macem-macem, mula yen sampeyan kudu ngerti rincian model sing wis dituku, luwih becik priksa lembar data pabrikan sing wis sampeyan pilih. Contone:

El VL53L0X Wis nang chip pemancar saka pulsa laser lan sensor kanggo njupuk balok sing bali. Ing kasus iki, emitor minangka laser dawane 940nm lan jinis VCSEL (Laser Rongga Vertikal Lumahing-Emitting). Minangka sensor capture, yaiku SPAD (Diode Avalanche Photon Tunggal). Iki uga nggabungake elektronik internal sing diarani FlightSenseTM sing bakal ngetung jarake.

El amba pangukuran utawa FOV (Bidang Tampilan) ing 25 ing kasus iki. Sing diterjemahake dadi area pangukuran diameter 0,44m kanthi jarak 1m. Sanajan kisaran pangukuran gumantung karo kahanan sekitar. Yen ditindakake ing njero omah luwih dhuwur tinimbang yen ditindakake ing njobo. Iki uga bakal gumantung karo refleksi obyek sing sampeyan tuduhake:

Refleksi target Ketentuan Interior njaba
Target putih Khas 200cm 80cm
Niru 120cm 60cm
Target abu-abu Khas 80cm 50cm
Minimal 70cm 40cm

Kajaba iku, VL53L0X duwe sawetara mode operasi sing bisa beda-beda asil. Mode kasebut dirangkum ing tabel ing ngisor iki:

Modo Wektu Ngrangkep Precision
Default 30ms 1.2m Deleng tabel ing ngisor iki
Dhuwur tliti 200ms 1.2m +/- 3%
Jarak dawa 33ms 2m Deleng tabel ing ngisor iki
Kacepetan dhuwur 20ms 1.2m +/- 5%

Miturut mode kasebut, kita duwe sawetara akurasi standar lan jarak dawa sing sampeyan duwe ing tabel iki:

Interior njaba
Refleksi target Jarak 33ms 66ms Jarak 33ms 66ms
Target putih sing 120cm 4% 3% sing 60cm 7% 6%
Target abu-abu sing 70cm 7% 6% sing 40cm 12% 9%

Pinout lan sambungan

Diagram chip VL53L0X

 

Supaya kabeh bisa mlaku kanthi bener, sampeyan butuh antarmuka karo jagad njaba. Lan bisa dipikolehi liwat sawetara pin utawa koneksi. Pinout saka VL53L0X cukup gampang, mung ana 6 pin. Kanggo integrasi karo Arduino, komunikasi bisa ditindakake liwat I2C.

Kanggo menehi panganan, sampeyan bisa nyambungake pin Dadi:

  • VCC nganti 5v saka Arduino
  • GND nganti GND saka Arduino
  • SCL menyang pin analog Arduino. Contone A5
  • SDA menyang pin analog liyane. Contone A4
  • Pin GPI01 lan XSHUT ora kudu digunakake saiki.

Integrasi karo Arduino

VL53L0X nyambung menyang Arduino

Minangka kanggo modul liyane, kanggo VL53L0X sampeyan uga duwe perpustakaan (contone, kanggo Adafruit) kode sing kasedhiya sing bisa digunakake kanggo nggarap fungsi tartamtu nalika nulis kode sumber kanggo ngatasi proyek sampeyan ing Arduino IDE. Yen iki kaping pisanan karo Arduino, aku saranake manual program kita.

Tuladha saka Kode sederhana kanggo sampeyan ngukur lan nampilake nilai pangukuran liwat port serial supaya sampeyan bisa ndeleng saka layar PC nalika nyambungake papan Arduino yaiku:

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

Ing perpustakaan Adafruit sampeyan duwe conto panggunaan liyane yen mbutuhake ...


Konten artikel kasebut sesuai karo prinsip kita yaiku etika editorial. Kanggo nglaporake klik kesalahan Kene.

Dadi pisanan komentar

Ninggalake komentar sampeyan

Panjenengan alamat email ora bisa diterbitake. Perangkat kothak ditandhani karo *

*

*

  1. Tanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Kontrol SPAM, manajemen komentar.
  3. Legitimasi: idin sampeyan
  4. Komunikasi data: Data kasebut ora bakal dikomunikasikake karo pihak katelu kajaba kanthi kewajiban ukum.
  5. Panyimpenan data: Database sing dianakake dening Occentus Networks (EU)
  6. Hak: Kapan wae sampeyan bisa matesi, mulihake lan mbusak informasi sampeyan.