STMicroelectronics VL53L7CX Vlugtyd Multisone-afstandsensor
Inleiding
Die doel van hierdie gebruikershandleiding is om te verduidelik hoe om die VL53L7CX Tyd-van-Vlug (ToF)-sensor te hanteer, met behulp van die ultra lite bestuurder (ULD) API. Dit beskryf die hooffunksies om die toestel te programmeer, die kalibrasies en die uitsetresultate.
Die VL53L7CX Tyd-van-Vlug-sensor is spesiaal ontwerp vir toepassings wat 'n ultrawye FoV benodig, en bied 'n 90° diagonale FoV. Gebaseer op STMicroelectronics se Flight Sense-tegnologie, bevat die VL53L7CX 'n doeltreffende meta-oppervlaklens (DOE) wat op die laserstraler geplaas is wat die projeksie van 'n 60° x 60° vierkante FoV op die toneel moontlik maak.
Sy multisone-vermoë bied 'n matriks van 8×8 sones (64 sones) en kan teen vinnige spoed (60 Hz) tot 350 cm werk.
Danksy die outonome modus met programmeerbare afstandsdrempel gekombineer met die ultrawye FoV, is die VL53L7CX perfek vir enige toepassing wat laekraggebruikersopsporing vereis. ST se gepatenteerde algoritmes en innoverende module konstruksie laat die VL53L7CX toe om, in elke sone, veelvuldige voorwerpe binne die FoV op te spoor met diepte begrip. STMicroelectronics histogram-algoritmes verseker dekglas-oorspraak-immuniteit bo 60 cm.
Afgelei van die VL53L5CX, is die penne en drywers van beide sensors versoenbaar, wat 'n eenvoudige migrasie van een sensor na die ander verseker.
Soos alle Tyd-van-Vlug (ToF)-sensors gebaseer op ST se Flight Sense-tegnologie, teken die VL53L7CX, in elke sone, 'n absolute afstand aan, ongeag die teikenkleur en weerkaatsing.
Gehuisves in 'n miniatuur hervloeibare pakket wat 'n SPAD-skikking integreer, behaal die VL53L7CX die beste werkverrigting in verskeie omgewingsbeligtingstoestande, en vir 'n wye reeks dekglasmateriaal.
Al ST se ToF-sensors integreer 'n VCSEL wat 'n ten volle onsigbare 940 nm IR-lig uitstraal, wat heeltemal veilig is vir die oë (Klas 1-sertifisering).
Die VL53L7CX is die perfekte sensor vir enige toepassing wat ultrawye FoV benodig soos robotika, slimluidsprekers, videoprojektors, inhoudbestuur. Die kombinasie van die multisone-vermoë en die 90° FoV kan nuwe gebruiksgevalle soos gebareherkenning, SLAM vir robotika en laekragstelselaktivering vir slim gebou verbeter.
Figuur 1. VL53L7CX sensor module
Akronieme en afkortings
Akroniem/afkorting | Definisie |
DOE | diffraktiewe optiese element |
FoV | veld van view |
I²C | inter-geïntegreerde stroombaan (seriële bus) |
Kcps/SPAD | Kilo-telling per sekonde per spad (eenheid wat gebruik word om die aantal fotone in die SPAD-skikking te kwantifiseer) |
RAM | ewekansige toegang geheue |
SCL | seriële kloklyn |
SDA | reeks data |
SPAD | enkelfoton lawine diode |
ToF | Tyd-van-Vlug |
ULD | ultra lite bestuurder |
VCSEL | vertikale holte oppervlak emitterende diode |
VHV | baie hoë voltage |
Xtalk | oorspraak |
Funksionele beskrywing
Stelsel verbyview
Die VL53L7CX-stelsel bestaan uit 'n hardewaremodule en die ultra lite-bestuurdersagteware (VL53L7CX ULD) wat op 'n gasheer loop (sien figuur hieronder). Die hardeware module bevat die ToF sensor. STMicroelectronics lewer die sagtewarebestuurder, waarna in hierdie dokument as "die drywer" verwys word. Hierdie dokument beskryf die funksies van die bestuurder, wat toeganklik is vir die gasheer. Hierdie funksies beheer die sensor en kry die wisseldata.
Figuur 2. VL53L7CX stelsel verbyview
Effektiewe oriëntasie
Die module sluit 'n lens oor die Rx-opening in, wat die vasgelegde beeld van die teiken (horisontaal en vertikaal) omdraai. Gevolglik word die sone geïdentifiseer as sone 0, links onder in die SPAD-skikking, verlig deur 'n teiken wat regs bo op die toneel geleë is.
Figuur 3. VL53L7CX effektiewe oriëntasie
Skematika en I²C-konfigurasie
Die kommunikasie tussen bestuurder en firmware word deur I²C hanteer, met 'n vermoë om tot 1 MHz te werk. Die implementering vereis pull-ups op die SCL- en SDA-lyne. Verwys na die VL53L7CX-datablad vir meer inligting. Die VL53L7CX-toestel het 'n verstek I²C-adres van 0x52. Dit is egter moontlik om die verstekadres te verander om konflik met ander toestelle te vermy, of om verskeie VL53L7CX-modules by die stelsel te voeg vir 'n groter stelsel FoV. Die I²C-adres kan verander word deur die vl53l7cx_set_i2c_address()-funksie te gebruik.
Figuur 4. Veelvuldige sensors op I²C-bus
Om toe te laat dat 'n toestel sy I²C-adres verander sonder om ander op die I²C-bus te beïnvloed, is dit belangrik om die I²C-kommunikasie van die toestelle wat nie verander word nie, te deaktiveer. Die prosedure is die volgende:
- Skakel die stelsel soos gewoonlik aan.
- Trek die LPn-pen af van die toestel wat nie sy adres sal verander nie.
- Trek die LPn-pen op van die toestel wat die I²C-adres verander het.
- Programmeer die I²C-adres na die toestel deur die funksie set_i2c_address() funksie te gebruik.
- Trek die LPn-pen op van die toestel wat nie herprogrammeer word nie.
Alle toestelle behoort nou op die I²C-bus beskikbaar te wees. Herhaal die stappe hierbo vir al die VL53L7CX-toestelle in die stelsel wat 'n nuwe I²C-adres benodig.
Pakketinhoud en datavloei
Bestuurder argitektuur en inhoud
Die VL53L7CX ULD-pakket bestaan uit vier dopgehou. Die bestuurder is geleë in die gids /
VL53L7CX_ULD_API.
Die bestuurder is saamgestel uit verpligte en opsionele files. Opsioneel files is plugins gebruik om ULD-kenmerke uit te brei. Elke inprop begin met die woord “vl53l7cx_plugin” (bv. vl53l7cx_plugin_xtalk.h). As die gebruiker nie die voorgestelde wil hê nie plugins, kan hulle verwyder word sonder om die ander bestuurder kenmerke te beïnvloed. Die volgende figuur verteenwoordig die verpligte files en die opsionele plugins.
Figuur 5. Bestuurder argitektuur
Die gebruiker moet ook twee implementeer files geleë in die /Platform-lêergids. Die voorgestelde platform is 'n leë dop, en moet gevul word met toegewyde funksies.
Let wel: Platvorm. h file bevat verpligte makro's om die ULD te gebruik. Al die file inhoud is verpligtend om die ULD korrek te gebruik
Kalibrasievloei
Crosstalk (Xtalk) word gedefinieer as die hoeveelheid sein wat op die SPAD-skikking ontvang word, wat te wyte is aan VCSEL-lig
weerkaatsing binne die beskermende venster (dekglas) wat bo-op die module bygevoeg is. Die VL53L7CX module is self gekalibreer, en kan sonder enige bykomende kalibrasie gebruik word.
Oorspraakkalibrasie kan nodig wees as die module deur 'n dekglas beskerm word. Die VL53L7CX is immuun teen
oorspraak meer as 60 cm danksy 'n histogramalgoritme. Op kort afstande onder 60 cm kan Xtalk egter groter wees as die werklike terugstuursein. Dit gee 'n vals teikenlesing of laat teikens nader lyk as wat hulle werklik is. Alle oorspraak-kalibrasiefunksies is ingesluit in 'n Xtalk-inprop (opsioneel). Die gebruiker moet die file 'vl53l7cx_plugin_xtalk'.
Die oorspraak kan een keer gekalibreer word, en data kan gestoor word sodat dit later hergebruik kan word. 'n Teiken op 'n vaste afstand, met 'n bekende weerkaatsing word vereis. Die minimum afstand wat benodig word, is 600 mm, en die teiken moet die hele FoV dek. Afhangende van die opstelling, kan die gebruiker instellings verander om die oorspraakkalibrasie aan te pas, soos voorgestel in die volgende tabel.
Tabel 1. Beskikbare instellings vir kalibrasie
Instelling | Min | Voorgestel deur STMicroelectronics | Maks |
Afstand [mm] | 600 | 600 | 3000 |
Aantal samples | 1 | 4 | 16 |
Refleksie [%] | 1 | 3 | 99 |
Let wel: Verhoog die aantal samples verhoog die akkuraatheid, maar dit verhoog ook die tyd vir kalibrasie. Die tyd relatief tot die aantal samples is lineêr, en waardes volg die benaderde uitteltyd:
- 1 sample ≈ 1 sekonde
- 4 samples ≈ 2.5 sekondes
- 16 samples ≈ 8.5 sekondes
Die kalibrasie word uitgevoer met behulp van die funksie vl53l7cx_calibrate_xtalk(). Hierdie funksie kan enige tyd gebruik word. Die sensor moet egter eers geïnisialiseer word. Die volgende figuur verteenwoordig die oorspraak-kalibrasievloei.
Figuur 6. Oorspraak-kalibrasievloei
Wisselende vloei
Die volgende figuur verteenwoordig die wisselvloei wat gebruik word om metings te kry. Xtalk-kalibrasie en opsionele funksie-oproepe moet gebruik word voordat die afstandberekeningsessie begin word. Die kry/stel-funksies kan nie tydens 'n afwisselingsessie gebruik word nie, en 'on-die-vlieg'-programmering word nie ondersteun nie.
Figuur 7. Reeksvloei met behulp van VL53L7CX
Beskikbare kenmerke
Die VL53L7CX ULD API bevat verskeie funksies, wat die gebruiker toelaat om die sensor in te stel, afhangende van die gebruiksgeval. Al die funksies wat vir die bestuurder beskikbaar is, word in die volgende afdelings beskryf.
Inisialisering
Inisialisering moet gedoen word voordat die VL53L7CX-sensor gebruik word. Hierdie bewerking vereis dat die gebruiker:
- Skakel die sensor aan (VDDIO, AVDD, LPn-penne gestel op Hoog, en pen I2C_RST gestel op 0)
- Roep die funksie vl53l7cx_init(). Die funksie kopieer die firmware (~84 Kgrepe) na die module. Dit word gedoen deur die kode oor die I²C-koppelvlak te laai en 'n selflaairoetine uit te voer om die inisialisering te voltooi.
Sensorherstelbestuur
Om die toestel terug te stel, moet die volgende penne gewissel word:
- Stel penne VDDIO, AVDD en LPn penne op laag.
- Wag 10 ms.
- Stel penne VDDIO, AVDD en LPn penne op hoog.
Let wel: Om slegs I2C_RST-pen te wissel, stel die I²C-kommunikasie terug.
Resolusie
Die resolusie stem ooreen met die aantal beskikbare sones. Die VL53L7CX-sensor het twee moontlike resolusies: 4×4 (16 sones) en 8×8 (64 sones). By verstek is die sensor in 4×4 geprogrammeer. Die funksie vl53l7cx_set_resolution() laat die gebruiker toe om die resolusie te verander. Aangesien die reeksfrekwensie van die resolusie afhang, moet hierdie funksie gebruik word voordat die reeksfrekwensie opgedateer word. Boonop verhoog die verandering van die resolusie ook die verkeersgrootte op die I²C-bus wanneer die resultate gelees word.
Wisselfrekwensie
Omvangfrekwensie kan gebruik word om die meetfrekwensie te verander. Aangesien die maksimum frekwensie anders is
tussen 4×4 en 8×8 resolusies, moet hierdie funksie gebruik word nadat 'n resolusie gekies is. Die minimum en maksimum toegelate waardes word in die volgende tabel gelys.
Tabel 2. Minimum en maksimum reeks frekwensies
Resolusie | Minimum reeks frekwensie [Hz] | Maksimum wisselfrekwensie [Hz] |
4×4 | 1 | 60 |
8×8 | 1 | 15 |
Range frekwensie kan opgedateer word met behulp van funksie vl53l7cx_set_ranging_frequency_hz(). By verstek is die reeksfrekwensie op 1 Hz gestel.
Rangskikkingsmodus
Reeksmodus laat die gebruiker toe om te kies tussen hoë werkverrigting of lae kragverbruik. Daar word twee modusse voorgestel:
- Deurlopend: Die toestel gryp voortdurend rame met 'n wisselfrekwensie wat deur die gebruiker gedefinieer word. Die VCSEL is geaktiveer tydens alle afstand, so maksimum afstand en omgewingsimmuniteit is beter. Hierdie modus word aanbeveel vir vinnige metings of hoë werkverrigtings.
- Outonoom: Dit is die verstekmodus. Die toestel gryp voortdurend rame met 'n wisselfrekwensie
deur die gebruiker gedefinieer. Die VCSEL word geaktiveer gedurende 'n tydperk wat deur die gebruiker gedefinieer is, met behulp van funksie vl53l7cx_set_integration_time_ms(). Aangesien die VCSEL nie altyd geaktiveer is nie, word die kragverbruik verminder. Die voordele is duideliker met 'n verminderde wisselfrekwensie. Hierdie modus word aanbeveel vir laekragtoepassings.
Die wisselmodus kan verander word deur die funksie vl53l7cx_set_ranging_mode() te gebruik.
Integrasie tyd
Integrasietyd is 'n kenmerk wat slegs beskikbaar is met behulp van die outonome reeksmodus (verwys na Afdeling 4.5: Reikwydte
wyse). Dit laat die gebruiker toe om die tyd te verander terwyl VCSEL geaktiveer is. Veranderende integrasie tyd as die wissel
modus is op kontinu gestel, het geen effek nie. Die verstek integrasietyd is op 5 ms gestel. Die effek van integrasietyd verskil vir 4×4 en 8×8 resolusies. Resolusie 4×4 is saamgestel uit een integrasietyd, en 8×8 resolusie bestaan uit vier integrasietye. Die volgende syfers verteenwoordig die VCSEL-emissie vir beide resolusies.
Figuur 8. Integrasietyd vir 4×4 outonoom
Figuur 9. Integrasietyd vir 8×8 outonoom
Die som van alle integrasietye + 1 ms bokoste moet laer wees as die meetperiode. Andersins word die wisselperiode outomaties verhoog om by die integrasietydwaarde te pas.
Kragmodusse
Kragmodusse kan gebruik word om die kragverbruik te verminder wanneer die toestel nie gebruik word nie. Die VL53L7CX kan in een van die volgende kragmodusse werk:
- Wake-up: Die toestel is in HP ledig (hoë krag) gestel en wag vir instruksies.
- Slaap: Die toestel is gestel in LP ledig (lae krag), die lae krag toestand. Die toestel kan nie gebruik word voordat dit in wekmodus gestel is nie. Hierdie modus behou die firmware en die konfigurasie.
Die kragmodus kan verander word deur die funksie vl53l7cx_set_power_mode() te gebruik. Die verstekmodus is wakker word.
Let wel: As die gebruiker die kragmodus wil verander, moet die toestel nie in 'n afstandstoestand wees nie.
skerpmaker
Die sein wat van 'n teiken af teruggestuur word, is nie 'n skoon pols met skerp kante nie. Die rande skuins weg en kan die afstande wat in aangrensende sones aangemeld word, beïnvloed. Die skerpmaker word gebruik om sommige of al die sein wat deur 'n sluierglans veroorsaak word, te verwyder.
Die eksample wat in die volgende figuur getoon word, verteenwoordig 'n nabye teiken op 100 mm gesentreer in die FoV, en 'n ander teiken, verder agter op 500 mm. Afhangende van die skerperwaarde, kan die nabye teiken in meer sones as die regte een verskyn.
Figuur 10. Example van toneel wat verskeie skerperwaardes gebruik
Skerper kan verander word deur die funksie vl53l7cx_set_sharpener_percent() te gebruik. Die toegelate waardes is tussen 0% en 99%. Die verstekwaarde is 5%.
Teiken volgorde
Die VL53L7CX kan verskeie teikens per sone meet. Danksy die histogramverwerking kan die gasheer
kies die volgorde van gerapporteerde teikens. Daar is twee opsies:
- Naaste: Die naaste teiken is die eerste wat aangemeld word
- Sterkste: Die sterkste teiken is die eerste gerapporteerde
Die teikenvolgorde kan verander word deur die funksie vl53l7cx_set_target_order() te gebruik. Die verstekvolgorde is Sterkste. Die eksample in die volgende figuur verteenwoordig die opsporing van twee teikens. Een by 100 mm met 'n lae reflektansie, en een by 700 mm met 'n hoë reflektansie.
Figuur 11. Example van histogram met twee teikens
Veelvuldige teikens per sone
Die VL53L7CX kan tot vier teikens per sone meet. Die gebruiker kan die aantal teikens wat deur die sensor teruggestuur word, konfigureer.
Let wel: Die minimum afstand tussen twee teikens wat opgespoor moet word, is 600 mm. Die keuse is nie moontlik vanaf die bestuurder nie; dit moet in die 'platvorm' gedoen word. h' file. Die makro VL53L7CX_NB_ TARGET_PER_ZONE moet op 'n waarde tussen 1 en 4 gestel word. Die teikenvolgorde beskryf in Afdeling 4.9: Teikenvolgorde het 'n direkte impak op die volgorde van bespeurde teiken. By verstek lewer die sensor slegs 'n maksimum van een teiken per sone uit.
Let wel: 'n Verhoogde aantal teikens per sone verhoog die vereiste RAM-grootte.
Xtalk-marge
Die Xtalk-marge is 'n bykomende kenmerk wat slegs beskikbaar is met die inprop Xtalk. Die .c en .f files 'vl53l7cx_plugin_xtalk' moet gebruik word.
Die marge word gebruik om die opsporingsdrempel te verander wanneer 'n dekglas aan die bokant van die sensor teenwoordig is. Die drempel kan verhoog word om te verseker dat die dekglas nooit opgespoor word nie, nadat oorspraakkalibrasiedata gestel is. Byvoorbeeldample, die gebruiker kan 'n oorspraak-kalibrasie op een enkele toestel uitvoer, en dieselfde kalibrasiedata vir alle ander toestelle hergebruik. Die Xtalk-marge kan gebruik word om die oorspraakkorreksie in te stel. Die figuur hieronder verteenwoordig die Xtalk-marge.
Figuur 12. Xtalk-marge
Opsporingsdrempels
Benewens die gereelde afstandsvermoëns, kan die sensor geprogrammeer word om 'n voorwerp onder sekere voorafbepaalde kriteria op te spoor. Hierdie funksie is beskikbaar met behulp van die inprop "opsporingsdrempels", wat 'n opsie is wat nie by verstek in die API ingesluit is nie. Die files genaamd 'vl53l7cx_plugin_detection_thresholds' moet gebruik word. Die kenmerk kan gebruik word om 'n onderbreking aan pen A3 (INT) te aktiveer wanneer voorwaardes wat deur die gebruiker gedefinieer is, nagekom word. Daar is drie moontlike konfigurasies:
- Resolusie 4×4: gebruik een drempel per sone ('n totaal van 16 drempels)
- Resolusie 4×4: gebruik twee drempels per sone ('n totaal van 32 drempels)
- Resolusie 8×8: gebruik een drempel per sone ('n totaal van 64 drempels)
Wat ook al die konfigurasie wat gebruik word, die prosedure vir die skep van drempels en die RAM-grootte is dieselfde. Vir elke drumpelkombinasie moet verskeie velde ingevul word:
- Sone-ID: ID van die geselekteerde sone (verwys na Afdeling 2.2: Effektiewe oriëntasie)
- Meting: meting om te vang (afstand, sein, aantal SPAD's, ...)
- Tipe: vensters van afmetings (in vensters, uit vensters, onder lae drempel, ...)
- Lae drempel: lae drempel gebruiker vir sneller. Gebruiker hoef nie die formaat in te stel nie, dit word outomaties deur die API hanteer.
- Hoë drempel: hoë drempel gebruiker vir sneller. Die gebruiker hoef nie die formaat in te stel nie; dit word outomaties deur die API hanteer.
- Wiskundige bewerking: slegs gebruik vir 4×4 – 2 drempelkombinasies per sone. Die gebruiker kan 'n kombinasie instel deur verskeie drempels in een sone te gebruik.
Bewegingsaanwyser
Die VL53L7CX-sensor het 'n ingeboude firmware-funksie wat bewegingsopsporing in 'n toneel moontlik maak. Die mosie
aanwyser word bereken tussen opeenvolgende rame. Hierdie opsie is beskikbaar met die inprop 'vl53l7cx_plugin_motion_indicator'.
Die bewegingsaanwyser word geïnisialiseer met behulp van die vl53l7cx_motion_indicator_init() funksie. Om die sensor te verander
resolusie, werk die bewegingsaanwyser-resolusie op met behulp van die toegewyde funksie: vl53l7cx_motion_indicator_set_resolution().
Die gebruiker kan ook die minimum en maksimum afstande verander vir die opsporing van beweging. Die verskil tussen die minimum en maksimum afstande kan nie groter as 1500 mm wees nie. By verstek word afstande geïnisialiseer met waardes tussen 400 mm en 1500 mm.
Resultate word in die veld 'motion_ indicator' gestoor. In hierdie veld gee die skikking 'beweging' 'n waarde wat die
bewegingsintensiteit per sone. 'n Hoë waarde dui op hoë bewegingsvariasie tussen rame. 'n Tipiese beweging gee 'n waarde tussen 100 en 500. Hierdie sensitiwiteit hang af van die integrasietyd, teikenafstand en teikenreflektansie.
'n Ideale kombinasie vir laekragtoepassings is die gebruik van die bewegingsaanwyser met outonome reeksmodus, en opsporingsdrempels wat op die beweging geprogrammeer is. Dit laat die opsporing van bewegingsvariasies in die FoV toe met minimum kragverbruik.
Periodieke temperatuur kompensasie
Die reeksprestasie word deur temperatuurvariasies beïnvloed. Die VL53L7CX-sensor sluit 'n temperatuur in
vergoeding wat een keer gekalibreer word wanneer stroom begin. As die temperatuur egter ontwikkel, sal die
kompensasie is dalk nie in lyn met die nuwe temperatuur nie. Om hierdie probleem te vermy, kan die kliënt 'n periodieke temperatuurkompensasie uitvoer deur 'n outomatiese VHV te gebruik. Die periodieke temperatuurkalibrasie neem 'n paar millisekondes om uit te voer. Die gebruiker kan die tydperk definieer. Om hierdie kenmerk te gebruik, moet die kliënt:
- Roep die funksie vl53l7cx_set_VHV_repeat_count().
- Gee dan die aantal rame tussen elke nuwe kalibrasie as die argument.
As die argument 0 is, is die vergoeding gedeaktiveer.
Wisselende resultate
Beskikbare data
'n Uitgebreide lys teiken- en omgewingsdata kan tydens wisselaktiwiteite uitgevoer word. Die volgende tabel beskryf die parameters wat vir die gebruiker beskikbaar is.
Tabel 3. Beskikbare uitset met behulp van VL53L7CX sensor
Element | Nb grepe (RAM) | Eenheid | Beskrywing |
Ambient per SPAD | 256 | Kcps/SPAD | Omgewingstempo-meting uitgevoer op die SPAD-skikking, met geen aktiewe fotonemissie nie, om die omringende seintempo as gevolg van geraas te meet. |
Aantal teikens bespeur | 64 | Geen | Aantal bespeurde teikens in die huidige sone. Hierdie waarde moet die eerste een wees wat nagegaan word om 'n metingsgeldigheid te ken. |
Aantal SPAD's geaktiveer | 256 | Geen | Aantal SPAD's geaktiveer vir die huidige meting. 'n Verre of lae reflektiewe teiken aktiveer meer SPAD's. |
Sein per SPAD | 256 x nb teikens geprogrammeer | Kcps/SPAD | Hoeveelheid fotone gemeet tydens die VCSEL-puls. |
Range sigma | 128 x nb teikens geprogrammeer | millimeter | Sigma-beramer vir die geraas in die gerapporteerde teikenafstand. |
Afstand | 128 x nb teikens geprogrammeer | millimeter | Teikenafstand |
Teikenstatus | 64 x nb teikens geprogrammeer | Geen | Metings geldigheid. Sien Afdeling 5.5: Resultate interpretasie vir meer inligting. |
Refleksie | 64 x getal teikens geprogrammeer | Persentasie | Geskatte teikenreflektansie in persentasie |
Bewegingsaanwyser | 140 | Geen | Struktuur wat die resultate van die bewegingsaanwyser bevat. Die veld 'beweging' bevat die bewegingsintensiteit. |
Let wel: Vir verskeie elemente (sein per spad, sigma, …) is toegang tot data anders as die gebruiker meer as een teiken per sone geprogrammeer het (sien Afdeling 4.10: Veelvuldige teikens per sone). Sien bvample kodes vir meer inligting.
Pas uitsetkeuse aan
By verstek is alle VL53L7CX-uitsette geaktiveer. Indien nodig, kan die gebruiker sommige sensoruitsette deaktiveer. Deaktiveer metings is nie beskikbaar op die bestuurder nie; dit moet in die 'platvorm uitgevoer word. h' file. Die gebruiker kan die volgende makro's verklaar om uitsette te deaktiveer:
#definieer VL53L7CX_DISABLE_AMBIENT_PER_SPAD
#definieer VL53L7CX_DISABLE_NB_SPADS_ENABLED
#definieer VL53L7CX_DISABLE_NB_TARGET_DETECTED
#definieer VL53L7CX_DISABLE_SIGNAL_PER_SPAD
#definieer VL53L7CX_DISABLE_RANGE_SIGMA_MM
#definieer VL53L7CX_DISABLE_DISTANCE_MM
#definieer VL53L7CX_DISABLE_TARGET_STATUS
#definieer VL53L7CX_DISABLE_REFLECTANCE_PERCENT
#definieer VL53L7CX_DISABLE_MOTION_INDICATOR
Gevolglik word die velde nie in die resultatestruktuur verklaar nie, en die data word nie na die gasheer oorgedra nie. Die RAM-grootte en I²C-grootte word verminder. Om datakonsekwentheid te verseker, beveel ST altyd aan om die 'aantal teikens bespeur' en 'teikenstatus' geaktiveer te hou. Dit filtreer die metings na gelang van die teikenstatus (verwys na Afdeling 5.5: Resultate-interpretasie).
Kry wisselende resultate
Tydens die reeks sessie is daar twee maniere om te weet of nuwe reeks data beskikbaar is:
- Pollingmodus: Gebruik voortdurend funksie vl53l7cx_check_data_ready(). Dit bespeur 'n nuwe stroomtelling wat deur die sensor teruggestuur word.
- Onderbrekingsmodus: Wag vir 'n onderbreking op pen A3 (GPIO1). Die onderbreking word outomaties na ~100 μs uitgevee.
Wanneer nuwe data gereed is, kan die resultate gelees word deur funksie vl53l7cx_get_ranging_data() te gebruik. Dit gee 'n opgedateerde struktuur terug wat alle geselekteerde uitvoer bevat. Aangesien die toestel asinchroon is, is daar geen onderbreking om uit te vee om met die reekssessie voort te gaan nie. Hierdie kenmerk is beskikbaar vir beide deurlopende en outonome reeksmodusse.
Gebruik rou firmware-formaat
Nadat die reeksdata deur die I²C oorgedra is, is daar 'n omskakeling tussen die firmwareformaat en die gasheerformaat. Hierdie bewerking word tipies uitgevoer om 'n afstand in millimeter as 'n verstek uitset van die sensor te hê. As die gebruiker die firmware-formaat wil gebruik, moet die volgende makro in die platform gedefinieer word file: VL53L7CX
#definieer VL53L7CX_USE_RAW_FORMAT
Resultate interpretasie
Die data wat deur die VL53L7CX teruggestuur word, kan gefiltreer word om die teikenstatus in ag te neem. Die status dui die metingsgeldigheid aan. Die volledige statuslys word in die volgende tabel beskryf.
Tabel 4. Lys van beskikbare teikenstatus
Teikenstatus | Beskrywing |
0 | Reeksdata word nie opgedateer nie |
1 | Seintempo te laag op SPAD-skikking |
2 | Teiken fase |
3 | Sigma-beramer te hoog |
4 | Teikenkonsekwentheid het misluk |
5 | Reeks geldig |
6 | Omloop nie uitgevoer nie (gewoonlik die eerste reeks) |
7 | Konsekwentheid van koers het misluk |
8 | Seintempo te laag vir die huidige teiken |
9 | Reeks geldig met groot polsslag (kan weens 'n saamgevoegde teiken wees) |
10 | Reeks geldig, maar geen teiken by vorige reeks bespeur nie |
11 | Konsekwentheid van meting het misluk |
12 | Teiken vervaag deur 'n ander een, as gevolg van skerper |
13 | Teiken bespeur, maar inkonsekwente data. Gebeur gereeld vir sekondêre teikens. |
255 | Geen teiken bespeur nie (slegs as die aantal bespeurde teikens geaktiveer is) |
Om konsekwente data te hê, moet die gebruiker ongeldige teikenstatus filter. Om 'n vertrouensgradering te gee, word 'n teiken met status 5 as 100% geldig beskou. 'n Status van 6 of 9 kan oorweeg word met 'n vertrouenswaarde van 50%. Alle ander statusse is onder die 50% vertrouensvlak.
Bestuurder foute
Wanneer 'n fout voorkom met die VL53L7CX-sensor, gee die bestuurder 'n spesifieke fout terug. Die volgende tabel lys die moontlike foute.
Tabel 5. Lys van foute beskikbaar met die drywer
Teikenstatus | Beskrywing |
0 | Geen fout nie |
127 | Die gebruiker het 'n verkeerde instelling geprogrammeer (onbekende resolusie, wisselfrekwensie te hoog, …) |
255 | Groot fout. Gewoonlik 'n uittelfout, as gevolg van 'n I²C-fout. |
ander | Kombinasie van veelvuldige foute hierbo beskryf |
Let wel: Die gasheer kan meer foutkodes implementeer deur die platform te gebruik files.
Hersieningsgeskiedenis
Tabel 6. Dokument hersieningsgeskiedenis
Datum | Weergawe | Veranderinge |
02-Aug-2022 | 1 | Aanvanklike vrystelling |
02-Sep-2022 | 2 | Opgedateer Afdeling Inleiding Bygevoeg nota oor minimum afstand tussen teikens tot Afdeling 4.10: Veelvoud teikens per sone |
21-2024 Feb | 3 | Bygevoeg VHV (baie hoë voltage) aan Afdeling 1: Akronieme en afkortings. Bygevoeg Afdeling 4.14: Periodieke temperatuurkompensasie |
Kliënte ondersteuning
BELANGRIKE KENNISGEWING – LEES SORGVULDIG
STMicroelectronics NV en sy filiale (“ST”) behou die reg voor om enige tyd sonder kennisgewing veranderinge, regstellings, verbeterings, wysigings en verbeterings aan ST-produkte en/of hierdie dokument aan te bring. Kopers moet die nuutste relevante inligting oor ST-produkte bekom voordat hulle bestellings plaas. ST-produkte word verkoop ingevolge ST se verkoopsbepalings en -voorwaardes wat ten tyde van bestellingserkenning in plek is.
Kopers is alleen verantwoordelik vir die keuse, seleksie en gebruik van ST-produkte en ST aanvaar geen aanspreeklikheid vir aansoekbystand of die ontwerp van kopers se produkte nie.
Geen lisensie, uitdruklik of geïmpliseer, tot enige intellektuele eiendomsreg word hierin deur ST toegestaan nie.
Herverkoop van ST-produkte met bepalings anders as die inligting wat hierin uiteengesit word, sal enige waarborg wat deur ST vir sodanige produk verleen word, nietig verklaar.
ST en die ST-logo is handelsmerke van ST. Vir bykomende inligting oor ST-handelsmerke, verwys na www.st.com/handelsmerke. Alle ander produk- of diensname is die eiendom van hul onderskeie eienaars.
Inligting in hierdie dokument vervang en vervang inligting wat voorheen in enige vorige weergawes van hierdie dokument verskaf is.
© 2024 STMicroelectronics – Alle regte voorbehou
Dokumente / Hulpbronne
![]() |
STMicroelectronics VL53L7CX Vlugtyd Multisone-afstandsensor [pdf] Gebruikersgids VL53L7CX Tyd van vlug multisone reikafstand sensor, VL53L7CX, tyd van vlug multisone reikafstand sensor, vlug multisone reikafstand sensor, multisone reikafstand sensor, afstand sensor |