VL53L0X: sensorer ya umbali wa usahihi wa laser

VL53L0X

Katika baadhi ya miradi yako utakuwa umehitaji kupima umbali. Kweli, unapaswa kujua kwamba VL53L0X ni kifaa kinachoruhusu kuzipima kwa usahihi wa hali ya juu. Kwa kuongezea, saizi yake ndogo na bei ya chini hufanya iwe bora kwa miradi yako ya DIY, haswa kuunganishwa na Arduino.

Kuna vifaa vingi ambavyo vinaweza kupima umbali, zingine ni mita za umbali kulingana na ultrasound ambayo hutoa sauti na wakati wa kugongana na kitu huruhusu kujua kwa usahihi wa kutosha umbali uliopo. Lakini ikiwa unataka usahihi wa hali ya juu, kwa hili unahitaji mita ya umbali wa macho. Aina hii ya vifaa vya kupimia ni msingi wa laser, kama ilivyo kwa VL53L0X.

ToF ni nini?

Kanuni ya ToF (mpango)

Wakati wa Ndege au ToF (Muda wa Ndege) kamera ni mbinu inayotumika kupima umbali. Inategemea macho, kupima wakati uliopita kati ya chafu ya taa na mapokezi yake. Wanaweza kuwa CCD, sensorer za CMOS, na kunde zinaweza kuwa infrared, laser, nk. Mfumo utasawazishwa ili kuanza kipimo cha wakati tu wakati mapigo yanasababishwa na simamisha kaunta wakati wanapokea bounce kutoka kwa sensa.

Kwa njia hiyo umbali unaweza kuhesabiwa kwa usahihi kabisa. Inachukua tu mzunguko wa mantiki wa ziada uliounganishwa kwenye chip ili kufanya mahesabu kutoka wakati boriti inachomwa hadi inapokelewa na kwa hivyo kuamua umbali. Kanuni hiyo ni ya moja kwa moja.

ESP8266
Nakala inayohusiana:
ESP8266: moduli ya WIFI ya Arduino

Aina hii ya kifaa hutumiwa katika robotiki kuruhusu roboti au ndege isiyokuwa na rubani kuzuia vizuizi, kujua ni umbali gani kutoka kwa shabaha, kugundua mwendo au ukaribu, kwa sensorer za gari zinazotumiwa kwa matumizi tofauti, kutekeleza mita ya elektroniki, kama actuator ili Arduino ifanye kitu wakati hugundua ukaribu fulani wa kitu, n.k.

VL53L0X na data ni nini

VL53L0X

El VL53L0X hutumia kanuni hii kupima umbali na infrared ya laser. kizazi cha mwisho. Pamoja na processor, kama Arduino, inaweza kuwa zana yenye nguvu ya kupima. Hasa, chip inaweza kukamata umbali kati ya 50mm na 2000mm, ambayo ni, kati ya sentimita 5 na mita 2.

Ili kupima umbali wa karibu labda unahitaji lahaja ya chip hii inayoitwa VL6180X ambayo hukuruhusu kupima anuwai ya kati ya 5 na 200 mm, ambayo ni, kati ya sentimita nusu na sentimita 20. Ikiwa unataka kupata kifaa kama hicho lakini kulingana na ultrasound kwa sababu yoyote ya kiufundi, basi unapaswa kuangalia HC-SR04, moduli nyingine ya bei rahisi inayojulikana na watunga.

El Chip ya VL53L0X imeundwa ili fanya kazi hata wakati taa iliyoko juu iko juu kabisa. Kumbuka kwamba wakati wa kufanya kazi kwa macho, "uchafuzi" mdogo wa mazingira, ndivyo itakavyokuwa ngumu zaidi kukamata bounce ya ishara. Lakini katika kesi hii haitoi shida nyingi. Kwa kuongezea, mfumo wa fidia ambayo inaunganisha inaruhusu kupima hata ikiwa unatumia nyuma ya glasi ya kinga.

Hiyo hufanya iwe moja ya sensorer bora za umbali utapata sokoni. Kwa usahihi wa juu zaidi kuliko sensorer kulingana na ultrasound au infrared (IR). Sababu ya kuwa sahihi ni kwamba laser haitaathiriwa na mwangwi au kutafakari kutoka kwa vitu kama katika kesi zingine.

Hivi sasa unaweza kuipata ikiwa imejumuishwa katika nyumbu na zingine za ziada kwa karibu € 16 au kwa sahani rahisi za zaidi ya € 1 au € 3 katika hali zingine. Tayari unajua kuwa utaipata katika duka kama eBay, AliExpress, Amazon, nk. Watengenezaji wa vifaa hivi ni anuwai, kwa hivyo ikiwa unahitaji kujua maelezo ya mfano ambao umenunua, ni bora kuangalia data ya mtengenezaji ambayo umechagua. Kwa mfano:

El VL53L0X Inayo ndani ya chip mtoaji wa mapigo ya laser na sensor kukamata boriti inayorudi. Katika kesi hii, mtoaji ni laser ya urefu wa 940nm ya aina ya VCSEL (Vertical Cavity Surface-Emitting Laser). Kwa habari ya sensorer ya kukamata, ni SPAD (Vipodozi vya Photon Avalanche moja). Pia inajumuisha umeme wa ndani uitwao FlightSense ™ ambao utahesabu umbali.

El pembe ya kipimo au FOV (Shamba la Mtazamo) ni 25º katika kesi hii. Hiyo inatafsiriwa kwa eneo la kipimo cha kipenyo cha 0,44m kwa umbali wa 1m. Ingawa kipimo cha kipimo kitategemea hali zinazozunguka. Ikiwa imefanywa ndani ya nyumba ni ya juu kidogo kuliko ikiwa inafanywa nje. Itategemea pia tafakari ya kitu unachoelekeza:

Kutafakari kwa lengo Masharti Mambo ya Ndani Nje
Lengo nyeupe Kawaida 200cm 80cm
Uigaji 120cm 60cm
Lengo la kijivu Kawaida 80cm 50cm
Kima cha chini 70cm 40cm

Kwa kuongeza, VL53L0X ina kadhaa njia za uendeshaji ambayo inaweza kutofautisha matokeo. Njia hizo zimefupishwa katika jedwali lifuatalo:

Modo Majira Fikia Precision
Chaguo-msingi 30ms 1.2m Tazama jedwali hapa chini
Usahihi wa hali ya juu 200ms 1.2m + / - 3%
Masafa marefu 33ms 2m Tazama jedwali hapa chini
Kasi kubwa 20ms 1.2m + / - 5%

Kulingana na njia hizi, tuna kadhaa usahihi wa kiwango na masafa marefu uliyonayo katika jedwali hili:

Mambo ya Ndani Nje
Kutafakari kwa lengo Umbali 33ms 66ms Umbali 33ms 66ms
Lengo nyeupe 120cm 4% 3% 60cm 7% 6%
Lengo la kijivu 70cm 7% 6% 40cm 12% 9%

Pinout na unganisho

Mchoro wa chip ya VL53L0X

 

Kwa haya yote kufanya kazi vizuri unahitaji kiolesura na ulimwengu wa nje. Na hiyo inafanikiwa kupitia pini au unganisho. Pinout ya VL53L0X ni rahisi sana, ina pini 6 tu. Kwa ujumuishaji wake na Arduino, mawasiliano yanaweza kufanywa kupitia I2C.

Ili kuilisha, unaweza unganisha pini Kwa hivyo:

  • VCC hadi 5v kutoka Arduino
  • GND kwa GND ya Arduino
  • SCL kwa pini ya Analog ya Arduino. Kwa mfano A5
  • SDA kwa pini nyingine ya analog. Kwa mfano A4
  • Pini za GPI01 na XSHUT sio lazima zitumike kwa sasa.

Ushirikiano na Arduino

VL53L0X imeunganishwa na Arduino

Kama kwa moduli zingine nyingi, kwa VL53L0X pia una maktaba (kwa mfano ile ya Matundaya nambari inayopatikana ambayo unaweza kutumia kufanya kazi na kazi zingine unapoandika nambari ya chanzo ya kushughulikia mradi wako katika Arduino IDE. Ikiwa ni mara yako ya kwanza na Arduino, ninapendekeza mwongozo wetu wa programu.

Mfano wa Nambari rahisi kwako kuchukua vipimo na kuonyesha thamani ya kipimo kupitia bandari ya serial ili uweze kuiona kutoka skrini yako ya PC wakati una bodi ya Arduino iliyounganishwa ni:

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

Katika maktaba ya Adafruit mwenyewe una mifano zaidi ya matumizi ikiwa unahitaji ..


Yaliyomo kwenye kifungu hicho yanazingatia kanuni zetu za maadili ya uhariri. Kuripoti kosa bonyeza hapa.

Kuwa wa kwanza kutoa maoni

Acha maoni yako

Anwani yako ya barua si kuchapishwa. Mashamba required ni alama na *

*

*

  1. Kuwajibika kwa data: Miguel Ángel Gatón
  2. Kusudi la data: Kudhibiti SpAM, usimamizi wa maoni.
  3. Uhalali: Idhini yako
  4. Mawasiliano ya data: Takwimu hazitawasilishwa kwa watu wengine isipokuwa kwa wajibu wa kisheria.
  5. Uhifadhi wa data: Hifadhidata iliyohifadhiwa na Mitandao ya Occentus (EU)
  6. Haki: Wakati wowote unaweza kupunguza, kuokoa na kufuta habari yako.

Mtihani wa KiingerezaJaribu Kikatalanijaribio la Kihispania