ESP32 med VL53L0X realiserer IoT kunstig intelligens køretøj

VL53L0X er en fuldt integreret sensor med indlejret infrarødt, menneskeøjets sikre laser, avancerede filtre og ultrahurtige fotondetektionsarrays. VL53L0X forbedrer ST FlightSense™-serien med længere måleafstande samt højere hastighed og nøjagtighed, hvilket åbner døren for nye anvendelser. Selv under barske driftsforhold kan sensoren direkte bestemme afstanden til et målobjekt op til 2 meter og er uafhængig af målets reflektivitet.

Nøglefunktioner for VL53L0X-chippen:

1. Fuldt integreret miniaturemodul

  • 940nm laser VCSEL

  • VCSEL-driver

  • Afstandsmålesensor med avanceret indlejret mikrocontroller

  • 4,4mm x 2,4mm x 1,0mm

  • Hurtig og præcis afstandsmåling

  • Måler absolutte afstande op til 2 m

  • Rapporterede afstande påvirkes ikke af målets reflektivitet

  • Fungerer i miljøer med højt infrarødt lys

  • Avanceret indlejret optisk krydstale-kompensation for at forenkle design af glashus.

2. Menneskeøjets sikkerhed

  • Laserudstyr klasse 1 i overensstemmelse med den nyeste standard IEC 60825-1:2014 (3. udgave)

3. Nem at integrere

  • Reflow-komponenter

  • Ingen ekstra optik nødvendig

  • Enkelt strømforsyning

  • I2C-interface til enhedskontrol og dataoverførsel

  • Xshutdown og interrupt GPIO'er

  • Driftsspænding: 3,3V/5V

4. Parametre for VL53L0X:

  • Produktstørrelse: 4,4mm × 2,4mm × 1,0mm

  • Afstandsmåleområde: 30 ~ 2000mm

  • Afstandsmålenøjagtighed: ±5% (Højhastighedstilstand), ±3% (Højpræcisionstilstand)

  • Måletid (min): 20ms (højhastighedstilstand), 200ms (højpræcisionstilstand)

  • Rækkeviddevinkel: 25

  • Laserbølgelængde: 940nm

  • Driftstemperatur: -20 ~ 70°C

VL53L0X-sensoren tilbyder 3 målemetoder

  1. Enkeltmålingstilstand: I denne målemetode udfører et enkelt trigger kun én afstandsmåling, og efter målingen er færdig, vender VL53L0X-sensoren tilbage til standby og venter på næste trigger.

  2. Kontinuerlig målingstilstand: I denne tilstand udføres afstandsmålingen kontinuerligt. Når en måling er færdig, startes den næste straks, og brugeren skal stoppe afstandsmålingen for at vende tilbage til standbytilstand, den sidste måling afsluttes før stop.

  3. Tidsbestemt målingstilstand: Denne tilstand er faktisk en kontinuerlig målingstilstand med specificerede tidsintervaller. Når en måling er fuldført, startes næste måling efter en brugerdefineret forsinkelsestid. Brugeren skal stoppe målingen for at vende tilbage til standby, og den sidste måling afsluttes før stop.

VL53L0X-sensoren tilbyder også 4 forskellige nøjagtighedstilstande:

Præcisionstilstand
Måletidsbudgetområde (ms)
Måleafstand (m)
Typiske anvendelsesscenarier
standard
30
1,2
standard
høj præcision
200
1,2 (nøjagtighed <± 3%)
Præcis måling
lang afstand
33
2
Lang afstand, kun til mørke uden infrarødt lys
høj hastighed
20
1,2 (nøjagtighed <
± 5%)
Høj hastighed, præcision ikke prioritet
I praktiske anvendelser er det nødvendigt at vælge den passende nøjagtighedstilstand i henhold til de aktuelle krav for at opnå de bedste måleresultater.
Interfacet for laserafstandsmålemodulet VL53L0X er som følger:
Interface Beskrivelse
VCC Strøm positiv (3,3V/5V strømindgang)
GND Strøm jord
SDA I2C data pin
SCL I2C clock pin
SHUT Pin, kan forbindes til IO-port
INT Interrupt output pin, kan forbindes til IO-port
Sådan forbindes laserafstandsmålemodulet til ESP32 udviklingskort. Her bruges ESP32's standardpins 21 og 22 til IIC-kommunikation. De specifikke forbindelser vises i tabellen nedenfor:
Laserafstandsmålemodul ESP32-modul
VCC +5V
GND GND
SDA P21
SCL P22

Specifik driftsproces

Næste skridt er at åbne udviklingssoftwaren Arduino IDE, hvor det først er nødvendigt at installere VL53L0X-biblioteket. Brug af biblioteker kan spare os for meget af det underliggende udviklingsarbejde, så vi ikke behøver at bekymre os om detaljerne i IIC-kommunikationen eller nøje forstå strukturen af VL53L0X's interne registre. Ved at bruge de funktioner, som bibliotekets filer tilbyder, kan man direkte færdiggøre brugen af modulet.
  1. Åbn bibliotekshåndteringspanelet i Arduino IDE, indtast VL53L0X i søgefeltet, og vælg derefter at installere Adafruit_VL53L0X-biblioteket, som vist nedenfor.

  1. Næste trin er at se på et simpelt skabelonprogram for enkeltmålingstilstand. Dette vises nedenfor:ESP32 med VL53L0X realiserer IoT kunstig intelligens køretøj - simpelt skabelonprogram

Som du kan se i koden ovenfor, kræves disse trin for at fuldføre en enkelt måling med laserafstandsmålemodulet:

(1) Opret en instans af Adafruit_VL53L0X-objektet

Adafruit_VL53L0X lox = Adafruit_VL53L0X();

Kald begin()-metoden for at fuldføre initialiseringen af laserafstandsmålemodulet

(3) Opret en instans af VL53L0X_RangingMeasurementData_t-strukturen, der gemmer måleresultaterne.

(4) Kald rangingTest()-metoden for at fuldføre en måling.

(5) RangeStatus-attributten for måleresultatobjektet angiver status for måleresultatet, og værdien af RangeMilliMeter-attributten er den målte afstand (i millimeter).

For kontinuerlig måling er forskellen fra ovenstående enkeltmåling, at efter kald af begin() for at fuldføre initialiseringen af modulet, skal du kalde startRangeContinuous()-metoden for at skifte laserafstandsmålemodulet til kontinuerlig målingstilstand. Forskellen i aflæsning af data er at bruge isRangeComplete()-metoden til at afgøre, om laserafstandsmålemodulet har fuldført en måling, og derefter bruge readRange()-metoden til at læse måleresultaterne. Programskabelonen vises nedenfor:ESP32 med VL53L0X realiserer IoT kunstig intelligens køretøj - kontinuerlig måling

Laserafstandsmålemodulet er konfigureret! Næste skridt er at erstatte ultralydsafstandsmålemodulet med laserafstandsmålemodulet på vognen for at realisere IoT AI-vognen!

Hvis du arbejder på et projekt med VL53L0X eller ESP32 udviklingskort, tilbyder vores hjemmeside et bredt udvalg af VL53L0X- og ESP32-udviklingskortprodukter, og vi kan også producere tilpassede VL53L0X- og ESP32-udviklingskort baseret på dine krav.
OpenELAB er en one-stop udviklingsplatform for globale AIoT elektronikentusiaster og et open source-fællesskab for elektronikingeniører. Udover at tilbyde udviklermoduler online inkluderer vores tjenester også tilpasset produktion af forskellige elektroniske dele såsom mikrokontakter og batterier samt plast- eller metaldele gennem 3D-print, sprøjtestøbning, CNC, laserskæring osv.
Udover VL53L0X og ESP32 udviklingskort tilbyder OpenELAB andre elektroniske komponentforsyningstjenester såsom sensorer, displays, IoT og mere. OpenELAB har en brugervenlig hjemmeside, der gør det nemt at finde de komponenter, du har brug for, og vi tilbyder hurtig levering til kunder over hele verden.
Desuden tilbyder OpenELAB Design som en Service (DaaS) til designoptimering, Produktion som en Service (MaaS) til produktionsfremstilling, Supply Chain som en Service (SaaS) til forsyningskædestøtte og Kvalitet som en Service (QaaS) til kvalitetskontrol af AIoT-produkter, der går over i masseproduktion, hvilket sikrer en glidende overgang til den kommercielle produktionsfase.
Vigtigst af alt er OpenELAB dedikeret til at opbygge et globalt open source-fællesskab for AIoT-elektronikudviklere. Gennem OpenELABs åbne fællesskab kan udviklere i AIoT-elektronikrevolutionen samarbejde, styrke hinanden og skabe en kultur af gensidig respekt og samarbejdende deling, hvilket genererer flere innovative AIoT intelligente hardwareprodukter til verden.

Efterlad en kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

Sidebjælke

Seneste indlæg

Denne sektion indeholder i øjeblikket ikke noget indhold. Tilføj indhold til denne sektion ved hjælp af sidepanelet.

Tilmeld dig vores nyhedsbrev

Få de seneste oplysninger om vores produkter og særlige tilbud.