VL53L0X: sensor me distancë me lazer me precizion të lartë

VL53L0X

Në disa nga projektet tuaja do t'ju duhet të matni distancat. Epo, ju duhet ta dini se VL53L0X është një pajisje që lejon matjen e tyre me saktësi të lartë. Përveç kësaj, madhësia e tij e vogël dhe çmimi i ulët e bëjnë atë ideal për projektet tuaja DIY, veçanërisht për t'u integruar me Arduino.

Ka shumë pajisje që mund të matin distancat, disa prej tyre janë matës të distancës bazuar në ultrazërit që lëshojnë një tingull dhe kur kërceni me objekt lejon të dini me saktësi të mjaftueshme distancën që ekziston. Por nëse doni saktësinë më të lartë, për këtë ju duhet një njehsori optik i distancës. Ky lloj i pajisjeve matëse bazohet ne lazer, siç është rasti me VL53L0X.

Çfarë është ToF?

Parimi ToF (skema)

Koha e fluturimit ose kamera ToF (Koha e fluturimit) është një teknikë që përdoret për të matur distancat. Ai bazohet në optikë, duke matur kohën e kaluar ndërmjet emetimit të një rreze drite dhe marrjes së tij. Ata mund të jenë sensorë CCD, CMOS, dhe impulset mund të jenë infra të kuqe, lazer, etj. Sistemi do të sinkronizohet për të filluar matjen e kohës pikërisht kur pulsi është shkaktuar dhe për të ndaluar kundëruesin kur ata marrin kërcimin nga sensori.

Në atë mënyrë distanca mund të llogaritet mjaft saktë. Duhet vetëm një qark logjik shtesë i integruar në çip për të kryer llogaritjet nga momenti kur rrezja është shkrepur deri sa të merret dhe kështu të përcaktohet se cila është distanca. Parimi është mjaft i drejtpërdrejtë.

ESP8266
Artikulli i lidhur:
ESP8266: moduli WIFI për Arduino

Ky lloj i pajisjeve përdoret në robotica për të lejuar robotin ose dronin të shmangë pengesat, të dijë se sa janë larg një objektivi, për të zbuluar lëvizjen ose afërsinë, për sensorë makinash të përdorura për aplikime të ndryshme, për të zbatuar një njehsor elektronik, siç është një aktuator në mënyrë që Arduino të bëjë diçka kur zbulon afërsinë e caktuar të një sendi, etj.

Çfarë është VL53L0X dhe fleta e të dhënave

VL53L0X

El VL53L0X përdor këtë parim për të matur distancat me infra të kuqe me lazer. brezi i fundit. Së bashku me një procesor, si Arduino, ai mund të jetë një mjet i fuqishëm për matjen. Në mënyrë të veçantë, çipi mund të kap distanca midis 50 mm dhe 2000 mm, domethënë midis 5 centimetra dhe 2 metra.

Për të matur distancat më të afërta, ju me siguri keni nevojë për një variant të këtij çipi të quajtur VL6180X që ju lejon të matni një diapazon midis 5 dhe 200 mm, domethënë midis gjysmë centimetri dhe 20 centimetra. Nëse dëshironi të gjeni një pajisje të ngjashme, por të bazuar në ultratinguj për ndonjë arsye teknike, atëherë duhet të shikoni në HC-SR04, një modul tjetër mjaft i lirë, i njohur nga prodhuesit.

El Çipi VL53L0X është projektuar për të punoni edhe kur drita e ambientit është mjaft e lartë. Kini parasysh që kur punoni optikisht, sa më e madhe të jetë "ndotja" e dritës së mjedisit, aq më e vështirë do të jetë kapja adekuate e kërcimit të sinjalit. Por në këtë rast nuk paraqet shumë problem. Për më tepër, sistemi i kompensimit që ai integron e lejon atë të matet edhe nëse e përdorni pas xhamit mbrojtës.

Kjo e bën atë një të sensorëve më të mirë të distancës që do të gjeni në treg. Me një precizion shumë më të lartë se sensorët e bazuar në ultratinguj ose infra të kuqe (IR). Arsyeja për të qenë kaq i saktë është se lazeri nuk do të ndikohet nga jehona ose reflektimi nga objektet si në rastet e tjera.

Aktualisht mund ta gjeni të integruar në mushka me disa shtesë për rreth 16 € ose në pllaka më të thjeshta prej pak më shumë se 1 € ose 3 € në raste të tjera. Ju tashmë e dini që do ta gjeni në dyqane si eBay, AliExpress, Amazon, etj. Prodhuesit e këtyre pajisjeve janë të ndryshëm, prandaj nëse duhet të dini detajet e modelit që keni blerë, është mirë ta kontrolloni fletën e të dhënave të prodhuesit që ju keni zgjedhur. Për shembull:

El VL53L0X Ka brenda çipit emetuesin e impulsit të lazerit dhe sensorin për të kapur rrezen e kthimit. Në këtë rast, emetuesi është një lazer me gjatësi vale 940nm dhe tipi VCSEL (Laser emetues sipërfaqësor me zgavër vertikale). Sa i përket sensorit të kapjes, ai është një SPAD (Diodat e Ortekut të Fotos). Ai gjithashtu integron një elektronikë të brendshëm të quajtur FlightSenseTM që do të llogarisë distancën.

El këndi i matjes ose FOV (Fusha e Pamjes) është 25º në këtë rast. Kjo përkthehet në një zonë matjeje me diametër 0,44m në një distancë prej 1m. Edhe pse diapazoni i matjes do të varet nga kushtet përreth. Nëse bëhet në ambiente të mbyllura është pak më e lartë sesa nëse bëhet jashtë. Kjo gjithashtu do të varet nga pasqyrimi i objektit që po tregoni:

Reflektimi i synimit Kushtet I brendshëm Jashtë
Shënjestër e bardhë tipik 200cm 80cm
Imitoni 120cm 60cm
Shënjestër gri tipik 80cm 50cm
minimum 70cm 40cm

Përveç kësaj, VL53L0X ka disa mënyrat e funksionimit që mund të ndryshojnë rezultatet. Ato mënyra janë përmbledhur në tabelën vijuese:

Shfaqje Koha fushë Saktesi
nga default 30ms 1.2m Shihni tabelën më poshtë
Saktësi e lartë 200ms 1.2m + / - 3%
Me rreze të gjatë 33ms 2m Shihni tabelën më poshtë
Shpejtësi e lartë 20ms 1.2m + / - 5%

Sipas këtyre mënyrave, ne kemi disa saktësi standarde dhe me rreze të gjatë që keni në këtë tabelë:

I brendshëm Jashtë
Reflektimi i synimit Distance 33ms 66ms Distance 33ms 66ms
Shënjestër e bardhë një 120 cm 4% 3% një 60 cm 7% 6%
Shënjestër gri një 70 cm 7% 6% një 40 cm 12% 9%

Pinout dhe lidhje

Diagrami i çipit VL53L0X

Që të gjitha këto të funksionojnë si duhet ju nevojiten një ndërfaqe me botën e jashtme. Dhe kjo arrihet përmes disa kunjave ose lidhjeve. Pinout i VL53L0X është mjaft i thjeshtë, ai ka vetëm 6 kunja. Për integrimin e tij me Arduino, komunikimi mund të bëhet përmes I2C.

Për ta ushqyer, mundeni lidhni kunjat Kështu që:

  • KQV në 5v nga Arduino
  • GND në GND të Arduino
  • SCL në një pin analoge Arduino. Për shembull A5
  • SDA në një tjetër pin analoge. Për shembull A4
  • Kunjat GPI01 dhe XSHUT nuk duhet të përdoren për momentin.

Integrimi me Arduino

VL53L0X e lidhur me Arduino

Sa për shumë module të tjera, për VL53L0X ju gjithashtu keni biblioteka (p.sh. një për Adafruit) të kodit të disponueshëm që mund të përdorni për të punuar me funksione të caktuara kur shkruani kodin burimor për të trajtuar projektin tuaj në Arduino IDE. Nëse kjo është hera juaj e parë me Arduino, unë ju rekomandoj manuali ynë i programimit.

Një shembull i Kod i thjeshtë për ju që të merrni matjet dhe të shfaqni vlerën e matjes përmes portës serike kështu që mund ta shihni nga ekrani i PC tuaj ndërsa keni të lidhur bordin Arduino është:

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

Në bibliotekën e vetë Adafruit keni më shumë shembuj të përdorimit nëse keni nevojë për të ...


Bëhu i pari që komenton

Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.