Print bookPrint book

LASERSKI SENZOR

Ta senzor je laserski senzor razdalje z dosegom do 4 metre, ki skozi čas trajektorije laserskih impulzov omogoča merjenje absolutnih razdalj ne glede na pogoje osvetlitve okolice in značilnosti cilja, kot so barva, oblika in tekstura (čeprav ti stvari vplivajo na največji pretok).

Site: MER PROJECT
Course: Srednja raven robota
Book: LASERSKI SENZOR
Printed by: Guest user
Date: Thursday, 22 February 2024, 10:22 PM

1. VL53L1X Laserski senzor razdalje

Ta senzor je laserski senzor razdalje z dosegom do štirih metrov, ki skozi čas trajektorije (čas leta (ToF)) nevidnih, za oči varnih laserskih impulzov omogoča merjenje absolutnih razdalj ne glede na svetlobne pogoje in značilnosti okolice. cilja, kot so barva, oblika in tekstura (čeprav te stvari vplivajo na največji pretok).

VL53L1X ima tudi programirljivo zanimivo regijo (ROI), tako da je mogoče celotno vidno polje zmanjšati ali razdeliti na več con. Meritve razdalje je mogoče brati prek digitalnega vmesnika I²C. Plošča vključuje 2,8 V linearni regulator in nivojske prestavne stikala, ki ji omogočajo delovanje v območju vhodne napetosti od 2,6 V do 5,5 V in 0,1 "razmik med nožicami omogoča enostavno uporabo s standardno brezspajkalno ploščo in 0,1" perfboardom (glejte sliko 29 ).

Figure 29 - VL53L1X Time-of-Flight distance Sensor Carrier, bottom view with dimensions

Slika 29 - VL53L1X Nosilec senzorja časovne razdalje, pogled od spodaj z dimenzijami

VL53L1X družbe ST Microelectronics je senzor časa preleta (TOF) za dolge razdalje, integriran v kompaktni modul. Ta plošča je nosilec za VL53L1X, zato priporočamo, da natančno preberete VL53L1X datasheet (1MB pdf) preden uporabite ta izdelek.

Pregled

VL53L1X je dejansko majhen, samostojen lidarski sistem z integriranim laserjem razreda 1 940 nm, ki je neviden in varen za oči. Za razliko od običajnih IR senzorjev, ki uporabljajo intenzivnost odbite svetlobe za oceno razdalje do predmeta, VL53L1X uporablja ST-jevo tehnologijo FlightSense za natančno merjenje, koliko časa je potrebno, da oddani impulzi infrardeče laserske svetlobe dosežejo najbližji predmet in se odbijejo nazaj do objekta. detektor. Ta pristop zagotavlja absolutne meritve razdalje, ki so neodvisne od svetlobnih pogojev okolice in ciljnih značilnosti (npr. barva, oblika, tekstura in odbojnost), čeprav ti zunanji pogoji vplivajo na največji doseg senzorja, prav tako tudi nastavitve konfiguracije senzorja.

Pod ugodnimi pogoji, kot je nizka svetloba okolice z visoko odbojno tarčo, lahko senzor poroča o razdaljah do 4 m (13 ft) z ločljivostjo 1 mm. Oglejte si podatkovni list za več informacij o tem, kako različni zunanji pogoji in konfiguracije senzorjev vplivajo na stvari, kot so največji doseg, ponovljivost in napaka razpona. Najmanjša razdalja dometa je 4 cm; znotraj tega območja bo senzor še vedno zaznal cilj, vendar meritev ne bo natančna. Meritve razpona so na voljo prek vmesnika I²C (TWI) senzorja, ki se uporablja tudi za konfiguriranje nastavitev senzorja, senzor pa zagotavlja dva dodatna zatiča: vhod za izklop in izhod za prekinitev.

VL53L1X ponuja tri načine razdalje: kratek, srednji in dolg. Način dolge razdalje omogoča najdaljšo možno razdaljo 4 m, vendar na največji doseg močno vpliva okoljska svetloba. Način kratke razdalje je večinoma imun na svetlobo okolice, vendar je največja razdalja običajno omejena na 1,3 m (4,4 ft). Največja hitrost vzorčenja v načinu kratke razdalje je 50 Hz, medtem ko je največja stopnja vzorčenja za načine srednje in dolge razdalje 30 Hz. Zmogljivost je mogoče izboljšati v vseh načinih z uporabo nižjih stopenj vzorčenja in daljših časovnih proračunov.

Za napredne aplikacije VL53L1X podpira nastavljive pragove, ki jih je mogoče uporabiti za sprožitev prekinitev, ko je cilj zaznan pod določeno razdaljo, izven določene razdalje, izven dosega ali znotraj dosega. Podpira tudi nadomestni način zaznavanja, ki generira prekinitev, ko cilj ni prisoten. Poleg tega, za razliko od svojih predhodnikov, VL53L1X podpira nastavljivo območje zanimanja (ROI) v svojem celotnem zaznavnem nizu 16×16, kar vam omogoča zmanjšanje vidnega polja (FoV). Ko je omogočenih vseh 265 elementov zaznavanja, je FoV 27°. Na voljo je način »Autonomous Low Power«, ki je posebej nastavljen za napredno zaznavanje prisotnosti. Ta način omogoča znaten prihranek energije sistema s samodejnim izklopom ali prebujanjem gostitelja, ko je človek ali predmet zaznan znotraj konfiguriranih pragov razdalje v območju zanimanja.

VL53L1X je odličen IC, vendar njegov majhen, brezvodni paket LGA otežuje uporabo tipičnega študenta ali ljubitelja. Deluje tudi pri priporočeni napetosti 2,8 V, kar lahko oteži povezovanje mikrokrmilnikov, ki delujejo pri 3,3 V ali 5 V. Naša razklopna plošča rešuje te težave, kar olajša začetek uporabe senzorja, hkrati pa ohranja majhno celotno velikost kolikor je mogoče.

Nosilna plošča vključuje linearni regulator napetosti z nizkim izpadom, ki zagotavlja 2,8 V, ki jih zahteva VL53L1X, in omogoča napajanje senzorja iz 2,6 V do 5,5 V napajanja. Izhod regulatorja je na voljo na zatiču VDD in lahko napaja skoraj 150 mA zunanjim napravam. Prekinitvena plošča vključuje tudi vezje, ki premakne uro I²C in podatkovne linije na isto raven logične napetosti kot priloženi VIN, zaradi česar je preprosto povezovanje plošče s 3,3 V ali 5 V sistemi, razmik med nožicami pa 0,1″ na plošči. Je enostavna za uporabo s standardnimi brezspajkanimi ploščami in 0,1-palčnimi ploščami. Plošča je v celoti napolnjena s komponentami SMD, vključno z VL53L1X (glejte sliko 30).

Figure 30 - Side-by-side comparison of the VL6180X, VL53L0X, VL53L1X, and VL53L3CX Time-of-Flight Distance Sensor Carriers

Slika 30 - Vzporedna primerjava nosilcev senzorjev časovne razdalje VL6180X, VL53L0X, VL53L1X in VL53L3CX

For similar but shortZa podobne senzorje, vendar krajšega dosega, si oglejte naš 200 cm VL53L0X nosilec in 60 cm VL6180X nosilec. Oba sta fizični nadomestki za nosilca VL53L1X, vendar imata različne API-je, zato bo treba programsko opremo za VL53L1X ponovno napisati, da bo delovala z VL53L0X ali VL6180X.er-range sensors, see our 200 cm VL53L0X carrier and 60 cm VL6180X carrier. Both of these are physical drop-in replacements for the VL53L1X carrier, but they have different APIs, so software for the VL53L1X will need to be rewritten to work with the VL53L0X or VL6180X.

1.1. Lastnosti in specifikacije

  • Dimenzije: 0,5" × 0,7" × 0,085" (13 mm × 18 mm × 2 mm)
  • Teža brez zatičev glave: 0.5 g (0.02 oz)
  • Delovna napetost: 2.6 V do 5.5 V
  • Napajalni tok: ~15 mA (tipično povprečje med aktivnim razponom pri največji hitrosti vzorčenja)
    • Razlikuje se glede na konfiguracijo, cilj in okolje; največji tok lahko doseže 40 mA
  • Hitro in natančno določanje razdalje s tremi možnostmi načina razdalje:
    • Kratko: do ~130 cm, 50 Hz max hitrost vzorčenja; ta način je najbolj imun na motnje svetlobe iz okolice
    • Srednje: do ~300 cm v temi, 30 Hz max hitrost vzorčenja
    • Dolgo: do 400 cm v temik, 30 Hz max hitrost vzorčenja
  • Najmanjši razpon: 4 cm (predmete pod tem območjem so zaznane, vendar meritve niso točne)
  • Oddajnik: 940 nm neviden VCSEL razreda 1 (laser, ki oddaja navpično votlino) – varno za oči
  • Detektor: 16×16 SPAD (enofotonska lavinska dioda) sprejemni niz z integrirano lečo
    • Tipično polno vidno polje (FoV): 27°
    • Programabilna velikost območja interesa (ROI) na sprejemnem nizu, ki omogoča zmanjšanje vidnega polja senzorja
    • Programabilen položaj ROI na sprejemnem nizu, ki omogoča nadzor nad delovanjem v več conah z gostitelja
  • Nastavljivi pragovi prekinitve zaznavanja za izvajanje avtonomnega zaznavanja prisotnosti z nizko porabo:
    • cilj bližje pragu
      cilj dlje od praga
      cilj znotraj okna razdalje
      cilj zunaj okna razdalje
      brez cilja
  • Izhodni format (I²C): 16-bitno odčitavanje razdalje (v milimetrih)

1.2. Vključene komponente

Priložena sta 1×7 trak z 0,1″ zatiči glave in 1×7 trak 0,1″ zatiči pod pravim kotom (glejte sliko 31).

Na ploščo lahko prispajate naglavni trak po svoji izbiri za uporabo s kabli po meri ali brezspojkaste plošče ali pa žice spajkate neposredno na samo ploščo za bolj kompaktno namestitev (glejte sliko 32).

Figure 31 - VL53L1X Time-of-Flight Distance Sensor Carrier with included header pins

Slika 31 - VL53L1X Time-of-Flight Distance Sensor Carrier z vključenimi zatiči za glavo

Figure 32 - VL53L1X Time-of-Flight Distance Sensor Carrier in a breadboard

Slika 32 - VL53L1X Time-of-Flight Distance Sensor Carrier v matični plošči 

Plošča ima dve montažni luknji na razdalji 0,5″, ki delujeta z #2 in M2 screws (niso vključeni).


1.3. Uporaba VL53L1X

Pomembna opomba: Ta izdelek je morda dobavljen z zaščitno oblogo, ki pokriva IC senzorja. Za pravilno delovanje zaznavanja je treba podlogo odstraniti (glejte sliko 33).

Figure 33 - The VL53L1X carrier might ship with a protective liner cover the sensor IC that must be removed before use

Slika 33 - The VL53L1X nosilec je morda dobavljen z zaščitnim pokrovom senzorja IC, ki ga morate pred uporabo odstraniti

1.4. Povezave

Za uporabo plošče VL53L1X so potrebne vsaj štiri povezave: VIN, GND, SCL in SDA. Pin VIN mora biti priključen na vir 2,6 V do 5,5 V, GND pa mora biti priključen na 0 voltov. Vgrajeni linearni napetostni regulator pretvori VIN v 2,8 V napajanje za VL53L1X IC. Upoštevajte, da če je vaša vhodna napetost pod 3,5 V, jo lahko namesto tega priključite neposredno na VDD, da zaobidete regulator; v tej konfiguraciji mora VIN ostati odklopljen.

Zatiči I²C, SCL in SDA, so povezani z vgrajenimi prestavniki nivoja, zaradi česar so varni za uporabo pri napetostih nad 2,8 V; povezani morajo biti na vodilo I²C, ki deluje na isti logični ravni kot VIN.

Pin XSHUT je vhod, zatič GPIO1 pa izhod z odprtim odtokom; oba zatiča plošča potegne do 2,8 V. Niso povezani s preklopniki nivojev na plošči in niso tolerantni na 5 V, vendar so uporabni kot so s številnimi 3,3 V in 5 V mikrokrmilniki: mikrokrmilnik lahko bere izhod GPIO1, dokler je njegov logični visoki prag pod 2,8 V, mikrokrmilnik pa lahko izmenjuje svoj lasten izhod med stanjem nizke in visoke impedance, da poganja pin XSHUT. Druga možnost je, da se naš 4-kanalni dvosmerni logični preklopnik ravni lahko uporablja zunaj s temi nožicami.

Figure 34 - Pinout diagram of the VL53L0X Time-of-Flight Distance Sensor Carrier

Slika 34 - Pinout diagram  VL53L0X Time-of-Flight Distance Sensor Carrier

1.5. Pinout

PINOpis
VDDReguliran 2.8 V izhod. Za napajanje zunanjih komponent je na voljo skoraj 150 mA. (Če želite obiti notranji regulator, lahko namesto tega uporabite ta pin kot vhod za napetosti med 2,6 V in 3,5 V z odklopljenim VIN-om.)
VINTo je glavni priključek za napajanje 2,6 V do 5,5 V. Preklopniki ravni SCL in SDA potegnejo linije I²C visoko na to raven.
GNDOzemljitveni (0 V) priključek za vaš napajalnik. Tudi vaš krmilni vir I²C mora imeti skupno točko s to ploščo.
SDANastavljeno na nivo  I²C podatkovna linija: HIGH je VIN, LOW je 0 V
SCLNastavljeno na nivo  I²C  ura: HIGH je VIN, LOW je 0 V
XSHUTTa zatič je aktivni-nizki izklopni vhod; plošča ga potegne na VDD, da privzeto omogoči senzor. Če ta zatič pritisnete nizko, senzor preklopi v stanje pripravljenosti strojne opreme. Ta vhod ni premaknjen na nivo.
GPIO1Programabilni prekinitveni izhod (logični nivo VDD). TTa vhod ni premaknjen na nivo.


2. Sheme

V sliki 35 je prikazan shematski diagram.

Figure 35 - Schematic diagram of the VL53L0X/VL53L1X/VL53L3CX Time-of-Flight Distance Sensor Carrier

Slika 35 - Shematski diagram  VL53L0X/VL53L1X/VL53L3CX Time-of-Flight Distance Sensor Carrier

Zgornja shema prikazuje dodatne komponente, ki jih vključuje nosilna plošča za lažjo uporabo VL53L1, vključno z regulatorjem napetosti, ki omogoča napajanje plošče iz napajalnika 2,6 V do 5,5 V, in vezjem za premik nivoja, ki omogoča komunikacijo I²C pri enak nivo logične napetosti kot VIN. Ta shema je na voljo tudi kot downloadable PDF.


3. I²C komunikacija

VL53L1X je mogoče konfigurirati in njegove odčitke razdalje je mogoče poizvedovati prek vodila I²C. Preklopniki nivojev na linijah I²C clock (SCL) in podatkovnih (SDA) omogočajo komunikacijo I²C z mikrokrmilniki, ki delujejo pri isti napetosti kot VIN (2,6 V do 5,5 V). Podrobno razlago vmesnika I²C na VL53L1X najdete v njem downloadable PDF,  in bolj podrobna informacija o I²C na splošno je tukaj:  NXP’s I²C-bus specification.

7-bitni podrejeni naslov senzorja je ob vklopu privzeto nastavljen na 0101001b. Lahko ga spremenite v katero koli drugo vrednost tako, da vpišete enega od registrov konfiguracije naprave, vendar novi naslov velja le, dokler se senzor ne ponastavi ali izklopi. ST zagotavlja opombo o aplikaciji (application note) ki opisuje, kako uporabiti več senzorjev VL53L0X na istem vodilu I²C tako, da posamezno odstranimo vsak senzor iz ponastavitve in mu dodelimo edinstven naslov, pristop pa je mogoče enostavno prilagoditi tako, da se namesto tega uporablja za VL53L1X.

I²C ivmesnik na VL53L1X je skladen s standardom hitrega načina I²C (400 kHz). V naših testih ploščah smo lahko komunicirali s čipom pri taktnih frekvencah do 400 kHz; višje frekvence bi lahko delovale, vendar niso bile preizkušene.


4. Konfiguracija senzorja in kontrola

V nasprotju z informacijami, ki so na voljo za številne druge naprave, ST ni javno objavil zemljevida registra in opisov ali druge dokumentacije o konfiguriranju in nadzoru VL53L1X. Namesto tega naj bi komunikacija s senzorjem potekala prek ST VL53L1X API (STSW-IMG007),niz funkcij C, ki skrbijo za nizkonivojsko povezovanje. Za uporabo VL53L1X lahko prilagodite API tako, da se izvaja na gostiteljski platformi po vaši izbiri z uporabo informacij v dokumentaciji API. Alternativno je možno uporabiti izvorno kodo API-ja kot vodilo za lastno implementacijo.

5. Vzorčna koda

Napisali smo osnovno Arduino library for the VL53L1X, ki se lahko uporablja kot alternativa uradnemu API-ju ST za povezovanje tega senzorja z Arduino ali Arduino združljivim krmilnikom. Knjižnica omogoča preprosto konfiguracijo VL53L1X in branje podatkov o razdalji prek I²C. Vključuje tudi primere skic, ki vam pokažejo, kako uporabljati knjižnico.

Imamo tudi implementacijo na razpolago: implementation of ST’s VL53L1X API for Arduino , vključno s primerom skice. V primerjavi z našo knjižnico ima API bolj zapleten vmesnik in uporablja več prostora za shranjevanje in pomnilnik, vendar ponuja nekaj naprednih funkcij, ki jih naša knjižnica ne ponuja, in ima bolj robustno preverjanje napak. Razmislite o uporabi API-ja za napredne aplikacije, še posebej, če sta shranjevanje in pomnilnik manjša težava.