ST VL53L3CX Destûra Bikarhênerê Demjimêra Flight Ranging Sensor

Pêşkêş
VL53L3CX modulek senzorê ya demafirînê (ToF) ye.
Armanca vê manuala bikarhêner danasîna modela entegrasyonê û komek fonksiyonên ku têne gazî kirin ji bo bidestxistina daneya rêzê bi karanîna ajokera tazî ya VL53L3CX e.
Sîstema VL53L3CX bi dawî bûview
Pergala VL53L3CX ji modula VL53L3CX û ajokerek ku li ser mêvandar dixebite pêk tê.
Ev belge fonksiyonên ajokerê yên ku ji Hostê re têne gihîştin vedibêje, da ku amûrê kontrol bike û daneyên cûrbecûr ji bo entegrasyonê bi hosteyên ne-linux re bigire.

jimar 1. Sîstema VL53L3CX
Not:
Belgeya heyî fonksiyonên pêkanîn û pejirandî vedibêje. Her fonksiyonek din a ku di ajokeran de peyda dibe neyê bikar anîn heke di vê belgeyê de neyê vegotin.
Ajokera tazî pêkanîna komek fonksiyonan e ku ji bo karanîna cîhaza VL53L3CX hewce ne. Ew li ser yekbûn û karûbarên OS-ê texmînên hindik dike. Bi vî rengî, rêzkirina çalakiyan, modela darvekirinê / xêzkirinê, adaptasyona platformê, û veqetandina strukturên cîhazê ne beşek ji pêkanîna ajokarê tazî ne lê ji entegratorê re vekirî têne hiştin.
Rêzkirina bangên ajokarên tazî divê rêzek qaîdeyan bişopîne, ku di vê belgeyê de hatine destnîşankirin.
Ravekirina fonksiyonê ya rêzdar
Ev beş bi kurtî kapasîteyên fonksiyonel ên cîhaza rêza VL53L3CX vedibêje.
Rêzkirina rêzê
Amûr bi mekanîzmayek destan ve tê xebitandin, li ser bingeha nexşeyek rêveberiya qutbûnê ya standard.
Piştî her rêzgirtinê, mêvandar daneyên rêzê werdigire û bi paqijkirina navberê rêza paşîn çalak dike. Ev pêvajo wekî mekanîzmaya destan tê binav kirin. Dûv re rêza paşîn tê destnîşan kirin heke ya heyî qediya û heke mêvandar qutbûna li bendê ya berê paqij kiribe.
Mekanîzmaya qutbûnê rê dide veguheztina daneyê zûtir, bêyî ku ji ber pirsgirêkên ragihandinê an asynkronîzmê tu nirxek rêzê winda bike. Di dema qonaxa destanan de, mêvandar hin pêvajoyên daneyê pêk tîne. Rêzeya rêzgirtinê bi fonksiyonel di wêneya jêrîn de tête diyar kirin.

Rêzkirina destan destûrê dide hesabkirina pîvanên hundurîn û wan ji bo rêza paşîn bicîh tîne.
Pêdivî ye ku destan ji hêla bikarhênerê ajokarê tazî ve were kirin. Derengiya çalakkirina rêzek nû piştî wergirtina pîvanek nû ji rêjeya pîvana giştî ya pergalê re girîng e.
Nîqaşên demjimêr
Demjimêr têne pêşkêş kirin di jimar 3 de. Rêzkirina rêz û armancên demê.
Mêvandar dikare rêza herî dawî ya berdest di dema heyama (budceya dema dirêjkirinê) ya rêza heyî de bigire.
Ger derengek ji bo paqijkirina navberê ji hêla mêvandar ve were destnîşan kirin, rêza paşîn dê were sekinandin heya ku qutbûna li bendê were rakirin.
Not: Demjimêr destnîşan kirin di jimar 3 de. Rêzeya rêzgirtinê û mebestên demê demjimêrên tîpîk in. Mêvandar dikare bi karanîna fonksiyonek ajokerê ya diyarkirî ya ku di Beşa 5.1 Budçeya Demjimêrê de hatî destnîşan kirin, budceya demdar a xwerû biguhezîne. Host dikare biryar bide ku budceya demê biguhezîne an li ser serîlêdanê hevdeng bike an jî rastbûna rêzê zêde bike.
Di jimareya jêrîn de, "Boot", "SW standby" û "Init" 40 ms dom dike. Vê carê ji bo pêkanîna destpêkek rast a cîhazê hewce ye, û ew ji platformê an budceya dema bikar anîn serbixwe ye. Rêzeya yekem, "Range1", ne derbasdar e, ku kontrolkirina dorpêçkirinê ne gengaz e. Ev tê vê wateyê ku yekem nirxa rêzê ya derbasdar "Range2" ye, piştî 40 ms û du caran ji dirêjahiya budceya demê peyda dibe.

Xiflteya 3. Rêzkirin û hedefên demê
Danasîna fonksiyonên bingehîn ên ajokerê Bare
Ev beş bangên fonksiyonên ajokerê vedibêje ku divê were şopandin da ku pîvanek rêzdar were kirin
bikaranîna VL53L3CX.
Ajokera VL53L3CX di du çînên serîlêdanê de têne bikar anîn:
- Serîlêdanên kargehê yên ku ji bo kalibrasyona cîhazê têne bikar anîn, bi gelemperî di ceribandina hilberîna hilberê ya dawî de (herikîna kargehê)
- Serlêdanên zeviyê, ku hemî serîlêdanên bikarhênerê dawîn bi karanîna cîhaza VL53L3CX (herikîna rêzê) berhev dikin
Şofêr tazî
Herikîna kargeha ajokera tazî di jimareya jêrîn de tê destnîşan kirin.

Figure 4. VL53L3CX API-ê diherike (fabrîk)
Not: Herikîna kalibrasyonê moda dûrbûnê diguhezîne. Pêdivî ye ku meriv fonksiyona SetDistanceMode() bang bike heke hûn dixwazin senzorê tenê piştî kalibrasyonê bikar bînin.
Di jimareya jêrîn de herikîna rêjeya ajokarê tazî tê xuyang kirin.

Figure 5. VL53L3CX API-ya rêjeyê (qav)
Destpêkkirina pergalê
Beşa jêrîn bangên fonksiyonên API-ê yên ku ji bo pêkanîna destpêkirina pergalê, berî destpêkirina pîvandinê hewce ne, destnîşan dike.
Li benda bootê bisekinin
Fonksiyona VL53LX_WaitDeviceBooted() piştrast dike ku amûr hatî bootkirin û amade ye. Banga vê fonksiyonê ne mecbûrî ye.
Not: Ev fonksiyona darvekirina mêvandar asteng dike. Divê ev fonksiyon ji 4 ms zêdetir asteng neke, bihesibînin:
- Frekansa I400C 2 kHz
- 2 ms derengiya her danûstendinê
Daneyên destpêkê
Pêdivî ye ku fonksiyona VL53LX_DataInit() her carê ku amûr ji rewşa "bootê ya destpêkê" derdikeve were bang kirin. Ew destpêkirina cîhazê pêk tîne. Piştî gazîkirina fonksiyona VL53LX_DataInit() divê daneyên kalibrasyonê bi karanîna fonksiyona VL53LX_SetCalibrationData() were barkirin.
Bi VL53L3CX ve dimeşe
Li ser mêvandarên ne-Linux-ê, bikarhênerê rêzikên ajokarên tazî bang li ajokerê dike bi rengekî ku li gorî hewcedariyên serîlêdanê, kapasîteyên platformê û qaîdeyên rêza banga ajokerê tazî guncan e.
Pîvanek dest pê bikin
Ji bo destpêkirina pîvandinê divê fonksiyona VL53LX_StartMeasurement() were bang kirin.
Li benda encamekê bisekinin: anket an qutkirin
3 rê hene ku meriv pê zanibe ku pîvanek heye. Mêvandar dikare:
- gazî fonksiyonek dengdanê bikin
- anket li ser fonksiyonek ajokerê
- li benda astengiyek fîzîkî bisekinin
Anketa ajokar ji bo bidestxistina statûya encamê
Fonksiyona VL53LX_WaitMeasurementDataReady() li ser statûyek hundurîn dipirse heya ku pîvanek amade be.
Not: Ev fonksiyon asteng dike, ji ber ku dengdana navxweyî tê kirin.
Anketa mêvandar ji bo bidestxistina statûya encamê
Mêvandar dikare li ser fonksiyona VL53LX_GetMeasurementDataReady() anket bike da ku zanibe kengê pîvanek nû amade ye. Ev fonksiyon nayê asteng kirin.
Bikaranîna astengiya fîzîkî
Rêbazek alternatîf û bijartî ji bo bidestxistina statûya rêzê ev e ku meriv hilberîna qutbûna laşî bikar bîne. Bi xwerû, dema ku pîvandinek nû amade ye, GPIO1 kêm dibe.
Ev pîne tenê pîneya derketinê ye, li ser vê cîhazê pînê qutkirina têketinê tune. Pêdivî ye ku navber bi bangkirina fonksiyona ajokerê VL53LX_ClearInterruptAndStartMeasurement() were rakirin.
Pîvan bistînin
Di nav rêzê de gelek tişt dikarin werin tespît kirin, û daneyên pîvandinê li ser her tiştê têne ragihandin. view. Dema ku bangî vê fonksiyonê tê kirin da ku cîhazê encamên pir rêzê bigire, avahiyek bi navê VL53LX_MultiRangingData_t tê vegerandin.
Pîvanek rawestînin
Di moda domdar de, mêvandar dikare bi bangkirina fonksiyona VL53LX_StopMeasurement() pîvandinê rawestîne. Ger daxwaza rawestandinê di dema pîvandinê de pêk were, wê hingê pîvandin tavilê tê betal kirin.
Rêzkirina strukturên daneyê
Struktura bi navê VL53LX_MultiRangingData_t daneyên jêrîn dihewîne ku ji bo hemî armancên ku hatine tespît kirin tê sepandin:
- Time St.amp: pêk nehat.
- Hejmara Stream: ev jimareya 8-bitî hejmareke zêdekirî li her rêzê dide. Nirx ji 0 dest pê dike, 1 bi 1 zêde dibe heta 255. Dema ku ew digihîje 255, dîsa ji 128-an dest pê dike 255.
- Hejmara Tiştên Hatî dîtin: Nirxa yekjimara 8-bit ku hejmara tiştên hatine dîtin dide.
- Daneyên Rêjeyê [VL53LX_MAX_RANGE_RESULTS]: tabloya strukturê ya tîpa VL53LX_TargetRangeData_t. Hejmara herî zêde ya hedefan ji hêla VL53LX_MAX_RANGE_RESULTS ve tê dayîn, û ji hêla xwerû ve 4 e.
- Nirxa X axaftinê hatiye guhertin: Nirxa yekjimara 8-bit ku destnîşan dike ka nirxa crosstalk hatiye guhertin.
- Hejmara Spad Rtn ya Bibandor: Hêjmarek 16-bit ku ji bo rêza heyî hejmartina dîoda avalanche ya yek fotonîkî ya bi bandor (SPAD) vedigerîne. Ji bo bidestxistina nirxa rastîn divê ew bi 256 ve were dabeş kirin.
Ji her armancek ku hatî vedîtin avahiyek (heta 4-a xwerû) bi navê VL53LX_TargetRangeData_t ku ji bo her armancek hatî vedîtin encamên taybetî yên jêrîn vedigire.
- RangeMaxMilliMeter: jimareyek 16-bitî ye, ku dûrahiya mezin a naskirî nîşan dide.
- RangeMinMilliMeter: jimareyek 16-bit e, ku dûrahiya piçûktir a naskirî nîşan dide.
- SignalRateRtnMegaCps: ev nirx rêjeya nîşana vegerê ye di MegaCountPer Second (MCPS) de, ev nirxek xala rastkirina 16.16 e. Ji bo bidestxistina nirxa rastîn divê ew bi 65536 ve were dabeş kirin.
- AmbientRateRtnMegaCps: ev nirx rêjeya hawirdorê ya vegerê ye (di MCPS de), ev nirxek xala rastkirina 16.16 e, ku bi bandor pîvanek ronahiya hawîrdorê ye ku ji hêla senzorê ve hatî pîvandin. Ji bo bidestxistina nirxa rastîn divê ew bi 65536 ve were dabeş kirin.
- SigmaMilliMeter: ev nirxa xala rastkirina 16.16 texmînek veguheztina standard a rêza heyî ye, ku bi milîmetre tê diyar kirin. Ji bo bidestxistina nirxa rastîn divê ew bi 65536 ve were dabeş kirin.
- RangeMilliMeter: jimareyek 16-bit e ku dûrahiya rêzê bi milîmetre nîşan dide.
- Rewşa Range: ev jimareyek 8-bit e ku ji bo pîvana heyî rewşa rêzê destnîşan dike. Nirx = 0 tê vê wateyê ku rêzgirtin derbasdar e. Binêre Tablo 1. Rewşa Range.
- Rêzeya Berfireh: ev jimareyek 8-bitî ye ku destnîşan dike ka dever ji hev vekiriye (tenê ji bo dûr û dirêj)
Dema ku armanc neyê dîtin tevgerek taybetî tête pêkanîn. Ger armanc neyê dîtin, û pîvandin derbasdar e, nirxên jêrîn di avahiya VL53LX_TargetRangeData_t de têne ragihandin:
- RangeMaxMilliMeter: bi zorê 8191.
- RangeMinMilliMeter: bi zorê 8191.
- SignalRateRtnMegaCps: bi zorê 0.
- AmbientRateRtnMegaCps: nirxa rêjeya hawîrdorê bi gelemperî tê hesibandin.
- SigmaMilliMeter: bi zorê 0.
- RangeMilliMeter: bi zorê 8191.
- RangeStatus: bi zorê 255.
- ExtendedRange: bi zorê 0.
Table 1. Rewşa Range
| Giranî | RangeStatus String | Agahkişî |
| 0 | VL53LX_RANGESTATUS_RANGE_VALID | Pîvana rêzê derbasdar e |
| 1 | VL53LX_RANGESTATUS_SIGMA_FAIL | Ger kontrolek texmînkerê sigmayê li jor sînorê diyarkirî yê hundurîn zêde bibe. Texmînera Sigma di derbarê sînyalê de agahdariya kalîte dide. |
| 2 | VL53LX_RANGESTATUS_SIGNAL_FAIL | Dema ku sînyala ji bo tespîtkirina armancê pir kêm be bilind dibe. |
| 4 | VL53LX_RANGESTATUS_OUTOFBOUNDS_FAIL | Dema ku encama rêzê li derveyî sînor be tê bilind kirin |
| 5 | VL53LX_RANGESTATUS_HARDWARE_FAIL | Di doza têkçûna HW an VCSEL de bilind dibe |
| 6 | VL53LX_RANGESTATUS_RANGE_VALID_NO_WR AP_CHECK_FAIL | Kontrola dorpêçkirinê nehatiye kirin (ev rêza yekem e) |
| 7 | VL53LX_RANGESTATUS_WRAP_TARGET_FAIL | Pevçûn pêk hat |
| 8 | VL53LX_RANGESTATUS_PROCESSING_FAIL | Çewtiya pêvajoya navxweyî |
| 10 | VL53LX_RANGESTATUS_SYNCRONISATION_INT | Yek carek piştî destpêkê hate bilind kirin, pêdivî ye ku nirxa rêzdar were paşguh kirin |
| 11 | VL53LX_RANGESTATUS_RANGE_VALID_MERGE D_PULSE | Rêzkirin baş e, lê dûrahiya ku hatî ragihandin encama çend hedefên yekbûyî ye. |
| 12 | VL53LX_RANGESTATUS_TARGET_PRESENT_LA CK_OF_SIGNAL | Nîşan bidin ku armancek heye, lê sînyala ji bo raporkirina rêzê pir kêm e |
| 14 | VL53LX_RANGESTATUS_RANGE_INVALID | Daneyên rêzgirtinê neyînî ne û pêdivî ye ku were paşguh kirin |
| 255 | VL53LX_RANGESTATUS_NONE | Hedef nehate dîtin, bêyî ku hişyarî an xeletî were rakirin |
Pîvana yekem kontrolek pêçanê nagire. Ev pîvana rêzê dikare were avêtin.
Not: Rewşa rêzê 1 bi gelemperî ji hêla pîvandinên dengbêj ve dibe sedema. Texmînera Sigma ji hêla SNR-ya nîşanên dermankirî ve tê bandor kirin.
Not: Dema ku hin xeletiyek li ser referansa pîvandinê çêbibe, rewşa rêzê 4 tê bilind kirin. Ev dikare bibe sedema pîvanên negatîf an nirxên pir bilind.
Danasîna fonksiyonên ajokerê zêde
Budçeya Demjimêr
Budçeya demjimêr dema ku bikarhêner ji bo pêkanîna pîvana yek rêzê tê veqetandin e. VL53LX_SetMeasurementTimingBudgetMicroSeconds() fonksiyona ku ji bo danîna budceya demê tê bikar anîn e. Nirxa budceya dema xweya xwerû 33 ms e. Kêmtirîn 8 ms, herî zêde 500 ms e.
Ji bo example, ji bo danîna budceya demê li ser 66 ms: rewş = VL53LX_SetMeasurementTimingBudgetMicroSeconds(&VL53L3Dev, 66000);
Fonksiyona VL53LX_GetMeasurementTimingBudgetMicroSeconds() budceya dema bernamekirî vedigerîne.
Moda dûrbûnê
Fonksiyonek hate zêdekirin da ku mîhengên hundurîn li gorî dûrahiya ku ji hêla bikarhêner ve hatî xwestin xweş bike. Feydeya guheztina moda dûrbûnê di tabloya jêrîn de berfireh e.
Tablo 2. Modên dûrbûnê
| Moda dûrbûna gengaz | Sûd / şîrove |
| Nizm | Parastina hawîrdorê çêtir e |
| Navîn (Destpêk) | Dûrahiya herî zêde |
| Dirêj | Mezaxtina hêza kêmtir |
Fonksiyona ku tê bikar anîn VL53LX_SetDistanceMode ().
Ajokar dikare ji mêvandar re bibe alîkar ku moda dûrbûna çêtirîn hilbijêrin. Li her rêzê nirxek taybetî tê vegerandin ku li gorî şert û mercên hawîrdorê vebijarka çêtirîn nîşan bide.
Nirxên gengaz ev in:
- VL53LX_DISTANCE_SHORT
- VL53LX_DISTANCE_MEDIUM
- VL53LX_DISTANCE_LONG
Parametreyên Tuning
Parametreyên birêkûpêk dihêle ku meriv di navbera senzor û doza karanîna mêvandar de cîhê çêtirîn bibîne. Ji bo her rewşê bikar anînê, komek parametreyên birêkûpêk dikare di ajokerê de were destnîşankirin û barkirin.
Piraniya pîvanên guheztinê tixûbên guhezbar in, ku di algorîtmaya dermankirina nîşanê de têne bikar anîn. Guhertina van parametreyan rê dide algorîtmayê ku bazirganiya teknîkî li doza karanîna xerîdar a taybetî bike.
Parametreyek tunekirinê saz bikin
Fonksiyonek zêde heye ji bo barkirina parametreyên ahengkirinê. Ji bo rewşên karanîna taybetî, ST dikare hin pîvanên taybetî yên ku ji mifteyek û nirxek pêk tê pêşniyar bike.
Name file. An di vê yekê de nirxek parametreya ahengkirinê biguhezînin file û kodê ji nû ve berhev bikin, an jî fonksiyona VL53LX_SetTuningParameter() bikar bînin da ku vê pîvana tunekirinê bar bikin.
Guhertina parametreyek rêzkirinê dikare performansa cîhazê biguhezîne. ST pêşniyar dike ku ji bo encamên çêtirîn nirxên xwerû bikar bînin.
Rastiyê çêtir bikin
Ji bo baştirkirina rastbûna cîhazê, pîvana guheztinê ya bi navê VL53LX_TUNINGPARM_PHASECAL_PATCH_POWER bikar bînin. Ji hêla xwerû ve ev pîvana ahengkirinê nayê sepandin (nirx li ser 0 tête danîn).
ST pêşniyar dike ku piştî static_init nirxên kalibrasyon û rêza herikandinê li 2-an bidin. Di vê rewşê de, dema pêkanîna pîvana nîşana referansê zêde dibe û rê dide rastbûna çêtir. Danîna vê pîvanê li ser 2-ê dema ku pîvana yekem bi dest bixe 240 ms zêde dike.
Derengbûn û dûrbûna herî zêde çêtir bikin
Dema ku armanc dimeşe, dibe ku VL53L3CX hewceyê çend rêzan be ku bertek nîşan bide, li gorî dîmenê. Awayek ji bo baştirkirina derengiyê ev e ku meriv pîvana VL53LX_TUNINGPARM_RESET_MERGE_THRESHOLD biguhezîne. Nirxa xwerû 15000 e. Ji bo baştirkirina derengiyê dikare were daxistin, lê dûrahiya herî zêde dê bandor bibe.
Ger bikarhêner nirxê zêde bike, dûrahiya herî zêde dikare were çêtir kirin, lê dereng bandor dike.
Tespîtkirina şûşeya camê ya sergirtî
The crosstalk dikare ji aliyê gemarê li ser cama cover bandorê. VL53L3CX fonksiyonek vedihewîne ku karibe di firînê de qeşayê bibîne û nirxek nû ya rastkirina xaçerêyê bicîh bîne. Bikarhêner dikare bi banga VL53LX_SmudgeCorrectionEnable() vê fonksiyonê çalak bike/neçalak bike.
Sê vebijarkên jêrîn dikarin bi vê fonksiyonê werin danîn:
- VL53LX_SMUDGE_CORRECTION_NONE ji bo neçalakkirina rastkirinê
- VL53LX_SMUDGE_CORRECTION_CONTINUOUS ji bo rastkirina domdar çalak bike
- VL53LX_SMUDGE_CORRECTION_SINGLE ji bo ku piştî ku fermanek destpêk hate wergirtin rastkirinek yekane çalak bike.
Tespîtkirina gemarê li her deverê dimeşe. Ger hin merc pêk werin (tu tişt ji 80 cm kêmtir, asta ronahiya hawîrdorê li jêr bendekê, û nirxa hevpeyivînê li jor 1kcps), nirxek xaçerê ya nû tê hesibandin.
Ger serrastkirina pijandinê were danîn, nirxa xaçerê tê rast kirin û ala HasXtalkValueChanged tê danîn. Ev ala bixweber di rêza paşîn de tê paqij kirin.
Nîşe: Serrastkirina qeşmerî bi sînorkirî ye:
- 1.2 m bi karanîna moda dûr a kurt
- 1.7 m bi karanîna moda dûrahiya navîn
- 3.8 m bi karanîna moda dûr dirêj.
Navnîşana I2C
Navnîşana xwerû ya I2C ya VL53L3CX 0x52 e. Hin serîlêdan hewce ne ku navnîşek cîhaza I2C-ya cihêreng saz bikin. Ev rewş, ji bo nimûneample, dema ku çend beşên VL53L3CX heman otobusê I2C parve dikin.
Xerîdar divê prosedûra jêrîn bicîh bîne:
- Divê panela ku VL53L3CX lê dike bi baldarî were sêwirandin. Pêdivî ye ku Pînên Xshut û GPIO1 (navber) ji bo her VL53L3CX ferdî bêne kontrol kirin.
- Pêdivî ye ku mêvandar di HW Standby-ê de bixe, pêla Xshut nizm, hemî VL53L3CX saz bike.
- Mêvandar pîneya Xshut ya 1 ya VL53L3CX radike
- Mêvan fonksiyonê bang dike VL53LX_SetDeviceAddress()
- Mêvan sê xalên paşîn dubare dike ji ber ku hemî navnîşanên VL53L3CX rast hatine danîn.
Ji bo example, bi gazîkirina fonksiyonê: status = VL53LX_SetDeviceAddress(&VL53L3Dev, WantedAddress) nirxa WantedAddress wekî navnîşana nû ya I2C tête danîn.
Fonksiyonên kalibrasyonê yên kargeha xerîdar
Ji bo ku hûn ji performansa tevahî ya cîhazê sûd werbigirin, ajokera VL53L3CX fonksiyonên kalibrasyonê vedigire ku carekê li xeta hilberîna xerîdar were xebitandin.
Pêdivî ye ku prosedurên kalibrasyonê werin meşandin da ku parametreyên beş-beş ên ku dikarin bandorê li performansa cîhazê bikin berdêl bikin. Daneyên kalibrasyonê yên ku di mêvandar de têne hilanîn divê di her destpêkê de bi karanîna fonksiyonek ajokerek taybetî ve di VL53L3CX de werin barkirin. Sê kalibrasyon hewce ne: refSPAD, crosstalk û offset.
Rêzkirina fonksiyonên kalibrasyonê bi vî rengî têne gotin:
- refSPAD
- crosstalk
- offset
Sê fonksiyonên kalibrasyonê dikarin di moda rêzdar an jî ferdî de bêne kirin. Dema ku bi rengek ferdî tê xebitandin, berî ku kalibrasyon were xebitandin divê daneyên gavê yên berê werin barkirin.
Kalibrasyona RefSPAD
Hejmara dîoda avalanche ya yek foton (SPAD) di dema ceribandina modulê ya paşîn de li ST tê pîvandin. Ev nirxa parçe-beş di NVM de tê hilanîn û di dema bootkirinê de bixweber di cîhazê de tê barkirin.
Vê kalibrasyonê dihêle ku hûn hejmara SPAD-ê rast bikin da ku dînamîkek cîhazê xweşbîn bikin.
Lêbelê, lêzêdekirina şûşek sergirtî li ser modulê dibe ku bandorê li vê kalibrasyonê bike. ST pêşniyar dike ku xerîdar di serîlêdana hilbera paşîn de vê kalibrasyonê dîsa pêk bîne. Heman algorîtmaya ku li FMT-ê tê xebitandin dema ku ev fonksiyon tê gotin tê sepandin: algorîtma li sê cihan digere: 1 (1x SPAD-ên qelskirî), 2 (5 x SPAD-ên qelskirî) û 3 (10 x SPAD-yên qelskirî). Hejmara SPAD-ên hatine hilbijartin têne kirin da ku ji têrbûna sînyalê dûr nekevin.
Fonksiyona kalibrasyonê ya RefSPAD
Fonksiyona jêrîn ji bo kalibrasyona SPAD heye: VL53LX_PerformRefSpadManagement(VL53LX_DEV Dev)
Not: Divê ev fonksiyon pêşî di prosedûra kalibrasyonê de were gotin.
Fonksiyon dikare sê peyamên hişyariyê yên jêrîn derxe:
- VL53LX_WARNING_REF_SPAD_CHAR_NOT_ENOUGH_SPA S Kêmtir ji 5 SPAD-ya baş peyda dibe, encam ne derbasdar e
- VL53LX_WARNING_REF_SPAD_CHAR_RATE_TOO_HIGH Di dawiya rêjeya referansa lêgerînê de > 40.0 Mcps îstîqrara Offset dibe ku kêm bibe.
- VL53LX_WARNING_REF_SPAD_CHAR_RATE_TOO_LOW Di dawiya rêjeya referansa lêgerînê de < 10.0 Mcps. Dibe ku îstîqrara offset kêm bibe.
Pêvajoya kalibrasyonê ya RefSPAD
Ji bo vê kalibrasyonê pêdivî ye ku şertên taybetî neyên şopandin, ji bilî ku divê tu armanc li ser cîhazê neyê danîn.
Wextê pêkanîna vê kalibrasyonê tenê çend milî çirkeyan e.
Pêdivî ye ku ev fonksiyon piştî ku fonksiyona VL53LX_DataInit() were gazî kirin.
Encamên kalibrasyona refSPAD-ê digirin
Fonksiyona VL53LX_GetCalibrationData() hemî daneyên kalibrasyonê vedigerîne. Struktura vegerî ya VL53LX_CalibrationData_t avahiyek din a bi navê VL53LX_customer_nvm_managed_t dihewîne, ku heşt pîvanên kalibrasyonê yên refSPAD dihewîne:
- ref_spad_man__num_requested_ref_spads: ev nirx di navbera 5 û 44an de ye. Ew hejmara SPAD-ên hilbijartî dide.
- ref_spad_man__ref_location: ev nirx dikare bibe 1, 2 an 3. Ew cîhê SPAD-ên li devera referansê dide.
- şeş pîvanên din ji bo cîhê hilbijartî nexşeyên spadê rast didin:
- global_config__spad_enables_ref_0
- global_config__spad_enables_ref_1
- global_config__spad_enables_ref_2
- global_config__spad_enables_ref_3
- global_config__spad_enables_ref_4
- global_config__spad_enables_ref_5
Sazkirina daneya kalibrasyona refSPAD
Di her destpêkirinê de, piştî bootek destpêkê, serîlêdana zeviya xerîdar dikare piştî ku fonksiyona VL53LX_DataInit() tê gotin, bi karanîna VL53LX_SetCalibrationData() daneyên kalibrasyona refSPAD-ê bar bike.
Tête pêşniyar kirin ku bi banga VL53LX_GetCalibrationData() tevaya avahiya kalibrasyonê bistînin. Heşt pîvanên ku di beşê 6.1.3 de têne diyar kirin biguhezînin Encamên kalibrasyonê yên refSPAD-ê digirin û bangî VL53LX_SetCalibrationData ().
Kalibrasyona Crosstalk
Crosstalk (XTalk) wekî mîqdara sînyala ku li ser rêza vegerê hatî wergirtin tê pênase kirin ku ji ber ronîkirina ronahiya VCSEL di hundurê pencereya parastinê (cama sergirtî) de ye ku ji ber sedemên estetîk li ser modulê hatî zêdekirin.
Bi qalîteya cama sergirtî ve girêdayî, ev nîşana parazît dikare bandorê li performansa cîhazê bike. VL53L3CX xwedan rastkirinek çêkirî ye ku vê pirsgirêkê telafî dike.
Kalibrasyona Crosstalk ji bo texmînkirina mîqdara rastkirinê ya ku ji bo telafîkirina bandora şûşek serpêhatî ya li ser modulê hatî zêdekirin tê bikar anîn.
Hilberîna kalibrasyona crosstalk gelek pîvanan dihewîne ku modela crosstalk diyar dike, wekî ku di beşa 6.2.3 de hatî destnîşan kirin Danîna encamên kalibrasyona crosstalk.
Fonksiyona kalibrasyonê ya Crosstalk
Fonksiyona veqetandî ya jêrîn ji bo kalibrasyona crosstalk heye: VL53LX_PerformXTalkCalibration(&VL53L3Dev);
Not: Pêdivî ye ku ev fonksiyon di prosedûra kalibrasyonê de, piştî ku kalibrasyona refSPAD hate kirin, û berî kalibrasyona offset, di pozîsyona duyemîn de were gazî kirin.
Pêvajoya kalibrasyonê ya Crosstalk
Ji bo pêkanîna kalibrasyona crosstalk, pêdivî ye ku armancek li dûrahiya 600 mm ji cîhazê were danîn. Pêdivî ye ku kalibrasyona Crosstalk li hawîrdorek tarî bêyî tevkariya IR-ê were kirin. Piştî ku fonksiyonên VL53LX_DataInit() û VL53LX_PerformRefSpadManagement() têne gazî kirin, pêdivî ye ku fonksiyona kalibrasyonê ya taybetî were gazî kirin, bi karanîna: VL53LX_PerformXTalkCalibration (& VL53L3Dev). Dema ku van fonksiyonan têne gazî kirin, kalibrasyona crosstalk tête kirin û rastkirina crosstalk ji hêla xwerû ve tê sepandin.
Danîna encamên kalibrasyona crosstalk
Encamên kalibrasyonê, di nav yên din de, ji histogram û pîvanek bi navê "plane offset" pêk tê. Tevlihevkirina balafirê mîqdara rastkirina ku hatî sepandin nîşan dide, û histogram ji nû ve dabeşkirina rastkirina li ser her qulikê ye. Fonksiyona VL53LX_GetCalibrationData() hemî daneyên kalibrasyonê vedigerîne. Avahiya vegerî ya VL53LX_CalibrationData_t avahiyên din dihewîne. Veguheztina balafirê di VL53LX_customer_nvm_managed_t de heye: algo_crosstalk_compensation_plane_offset_kcps nirxek kodkirî ya xala 7.9 ya sabît e. Pêdivî ye ku ew bi 512-ê ve were dabeş kirin da ku jimareya rastîn bistînin.
Du strukturên din ên têkildar têne vegerandin: VL53LX_xtalk_histogram_data_t û algo__xtalk_cpo_HistoMerge_kcps. Depokirina wan mecbûrî ye.
Sazkirina daneya kalibrasyona crosstalk
Dema ku fonksiyona VL53LX_DataInit() were gazî kirin, xerîdar dikare daneyên kalibrasyona crosstalk bi kar bîne: VL53LX_SetCalibrationData()
Çêtir e ku hûn gazî VL53LX_GetCalibrationData (), pîvanên ku di beşa berê de hatine diyar kirin biguhezînin, strukturên xtalk_histogram tê de hene, û bang bikin VL53LX_SetCalibrationData ()
Tezmînata crosstalk çalak bike/neçalak bike
Fonksiyona VL53LX_SetXTalkCompensationEnable() tezmînata crosstalk çalak dike an neçalak dike.
Not: Tezmînata Crosstalk ji hêla xwerû ve neçalak e. Ji bo çalakkirina tezmînata crosstalk telefonê V53LX_SetXTalkCompensationEnable&VL53L3Dev, 1);
Ji bo neçalakkirina tezmînata crosstalk telefonê VL53LX_SetXTalkCompensationEnable&VL53L3Dev, 0);
Not: Ev fonksiyon tu kalibrasyon an barkirina daneya xaçerê pêk nayîne, ew tenê tezmînatê dike.
Not: Kalibrasyon, an barkirina fonksiyona daneya kalibrasyonê, pêdivî ye ku ji vê fonksiyonê çalak/neçalak cuda were bang kirin (li beşên li jor binêre).
Calibration Offset
Zehfkirina amûrê li ser tabloya xerîdar an lê zêdekirina şûşeyek serpêhatî dikare di dûrahiya birêkûpêk de veqetandinê destnîşan bike. Pêdivî ye ku ev guheztina parçe-parçe di dema kalibrasyonê de were pîvandin. Kalibrasyona offset di heman demê de dihêle ku meriv nirxa dmax kalibr bike, bi karanîna heman şert û mercên kalibrasyonê ji kalibrasyona offset re.
Fonksiyonên kalibrasyonê yên offset
Du fonksiyonên jêrîn ji bo calibration offset hene:
- VL53LX_PerformOffsetSimpleCalibration (Dev, CalDistanceMilliMeter)
- VL53LX_PerformOffsetPerVCELCalibration (Dev, CalDistanceMilliMeter)
Argumana fonksiyonan dûrahiya armancê bi milîmetre ye. Pêdivî ye ku piştî rastkirina crosstalk kalibrasyona offset were kirin.
VL53LX_PerformOffsetPerVCELKalibration fonksiyona herî rast e, lê ji bo pêkanîna kalibrasyonê (wext bi 3-ê zêde dibe) demek dirêj digire.
Pêvajoya kalibrasyonê ya Offset
Xerîdar dikarin her refleksa nexşeyê ku li her dûrahiyê hatî danîn hilbijêrin (bi karanîna heman sazkirinê wekî kalîbrasyona crosstalk). Yekane xala ku meriv were kontrol kirin ev e ku meriv pê ewle bibe ku rêjeya sînyalê di navbera 2 û 80 MCps de bi sazkirina bijartî tê pîvandin.
Tablo 3. Sazkirina kalibrasyona Offset
| Qebale | Dûrî | Şertên hawirdorê | Rêjeya sînyala |
| Herçiyek | Herçiyek | Tarî (bê tevkariya IR) | 2MCps < Rêjeya sînyalê <80Mcps |
Du peyamên hişyariyê ji hêla van fonksiyonan ve têne vegerandin:
- VL53LX_WARNING_OFFSET_CAL_INSUFFICIENT_MM1_SP DS Sînyala pir kêm e, Rastiya kalibrasyona offset dibe ku kêm bibe.
- VL53LX_WARNING_OFFSET_CAL_PRE_RANGE_RATE_TOO_H Nîşaneya GH pir zêde ye. Dibe ku rastbûna kalibrasyona offset kêm bibe.
Encamên kalibrasyonê yên jihevkirî digirin
Fonksiyona VL53LX_GetCalibrationData() hemî daneyên kalibrasyonê vedigerîne. Struktura vegerî ya VL53LX_CalibrationData_t avahiyek din a bi navê VL53LX_customer_nvm_managed_t heye ku sê encamên kalibrasyona offset dihewîne:
- algo__part_to_part_range_offset_mm
- mm_config__inner_offset_mm
- mm_config__outer_offset_mm
Tevliheviya ku li ser cîhazê tê sepandin navînî ya du nirxên paşîn e. Ger perVCELCalibrasyonek were hilbijartin, derketina fonksiyonê daneyên jêrîn vedigire:
- kurt_a_offset_mm
- kurt_b_offset_mm
- navîn_a_offset_mm
- navîn_b_offset_mm
- dirêj_a_offset_mm
- long_bb_offset_mm
Li gorî moda dûrbûnê (serdema VCSEL) bijartî, yek ji van veqetandî bixweber tê sepandin.
Hilbijartina moda rastkirina offset
Moda rastkirina offset dikare bi du vebijarkan were saz kirin, bi karanîna fonksiyona VL53LX_SetOffsetCorrectionMode.
Not: VL53LX_OFFSETCORRECTIONMODE_PERVCSEL divê ji hêla xwerû ve were bikar anîn. Ew dihêle ku di heyama VCSEL-ê de rastbûna guheztinê zêde bike.
Table 4. Vebijarkên serrastkirina Offset
| Fonksiyona kalibrasyonê ya Offset tê gotin | Vebijarka moda serrastkirinê ku were bikar anîn |
| PerformSimpleOffsetCalibration | VL53LX_OFFSETCORRECTIONMODE_STANDARD |
| PerformPerVCSELOffsetCalibration | VL53LX_OFFSETCORRECTIONMODE_PERVCSEL |
Not: Ger tenê celebek kalibrasyona offset peyda bibe, pêdivî ye ku moda rastkirina offset li vebijarka têkildar were danîn. Ev bixweber nayê kirin.
Sazkirina daneya kalibrasyona offset
Xerîdar dikare piştî ku fonksiyona VL53LX_DataInit() tê gotin, bi karanîna VL53LX_SetCalibrationData() daneya kalibrasyona offset bar bike.
Çêtir e ku hûn bangî VL53LX_GetCalibrationData () bikin, pîvanên ku di beşên berê de hatine diyar kirin biguhezînin û bangî VL53LX_SetCalibrationData ()
Kalibrasyonên dikana tamîrê ya xerîdar
Ger nirxên kalibrasyonê winda bibin, ji ber guheztina hêmanan li firotgehek tamîrkirinê, xerîdar dikare pêvajoyek veqetandî bicîh bîne, ku li wir sazkirina (armancên) taybetî ne hewce ye.
Kalibrasyon ji sê gavan pêk tê:
- RefSpad
- Crosstalk
- Calibrations Offset
RefSpad û Xtalk eynî ne yên ku di Beşa 6.1 Kalibrasyona RefSPAD û Beşa 6.2 Kalibrasyona Crosstalk de hatî destnîşan kirin.
Fonksiyonek veqetandî ji bo pêkanîna kalibrasyona offset heye: VL53LX_PerformOffsetZeroDistanceCalibration.
Pêdivî ye ku armancek li ber cîhazê were danîn, dest bi cama serpêçê bike. Armanc dikare pelek kaxezek hêsan be (bê hewcedariya taybetî ji bo ronîkirina kaxezê tune).
Pêdivî ye ku fonksiyona jorîn were gazî kirin û encam bi heman rengî wekî pêvajoya ku di beşên berê de hatî diyar kirin têne derxistin.
Xeletî û hişyariyên ajokarên bare
Gava ku fonksiyonek ajokerê tê gazî kirin xeletiyek ajokar tê ragihandin. Nirxên gengaz ên ji bo xeletiyên ajokerê di tabloya jêrîn de têne diyar kirin. Hişyarî hene ku bikarhêner agahdar bikin ku hin parametre ne xweşbîn in. Hişyarî ji bo mêvandar ne asteng in.
Tablo 5. Danasîna xeletiyên ajokar û hişyariyên bare
| Nirxa çewtiyê | Rêza çewtiya API | Bûyer |
| 0 | VL53LX_ERROR_NONE | No error |
| -1 | VL53LX_ERROR_CALIBRATION_WARNING | Daneyên kalibrasyonê nederbasdar |
| -4 | VL53LX_ERROR_INVALID_PARAMS | Parametreya nederbasdar di fonksiyonek de hatî danîn |
| -5 | VL53LX_ERROR_NOT_SUPPORTED | Parametreya daxwazkirî di veavakirina bernamekirî de nayê piştgirî kirin |
| -6 | VL53LX_ERROR_RANGE_ERROR | Rewşa qutkirinê nerast e |
| -7 | VL53LX_ERROR_TIME_OUT | Rengdêr ji ber demboriyê tê betalkirin |
| -8 | VL53LX_ERROR_MODE_NOT_SUPPORTED | Moda daxwazkirî nayê piştgirî kirin |
| -10 | VL53LX_ERROR_COMMS_BUFFER_TOO_SMALL | Tampona peydakirî ji piştgiriya I2C mezintir e |
| -13 | VL53LX_ERROR_CONTROL_INTERFACE | Çewtiya ji fonksiyona IO hate ragihandin |
| -14 | VL53LX_ERROR_INVALID_COMMAND | Ferman nederbasdar e |
| -16 | VL53LX_ERROR_REF_SPAD_INIT | Di dema kalibrasyona Reference SPAD de xeletiyek derket |
| -17 | VL53LX_ERROR_GPH_SYNC_CHECK_FAIL | Ajokar bi cîhazê re ne hevdem e. Dibe ku rawestek / destpêkek an ji nû ve destpêkirinê hewce be |
| -18 | VL53LX_ERROR_STREAM_COUNT_CHECK_FAIL | |
| -19 | VL53LX_ERROR_GPH_ID_CHECK_FAIL | |
| -20 | VL53LX_ERROR_ZONE_STREAM_COUNT_CHEC K_FAIL | |
| -21 | VL53LX_ERROR_ZONE_GPH_ID_CHECK_FAIL | |
| -22 | VL53LX_ERROR_XTALK_EXTRACTION_FAIL | No serketî samples dema bikaranîna array full ji bo sample crosstalk. Di vê rewşê de agahdariya têr tune ku nirxa xaça nû çêbike. Fonksiyon dê derkeve û parametreyên xaçerêya heyî neguhêrbar bihêle |
| -23 | VL53LX_ERROR_XTALK_EXTRACTION_SIGMA_L IMIT_FAIL | Texmîna sigmaya navîn ya crosstalk sample > ji sînorê herî zêde yê destûrkirî ye. Di vê rewşê de crosstalk sample ji bo pîvandinê pir bi deng e. Fonksiyon dê derkeve û parametreyên xaçerêya heyî neguhêrbar bihêle |
| -24 | VL53LX_ERROR_OFFSET_CAL_NO_SAMPLE_FA IL | Di dema kalibrasyona offset de xeletiyek derket. Sazkirina kontrolê li gorî pêşniyarên ST-ê ye. |
| -25 | VL53LX_ERROR_OFFSET_CAL_NO_SPADS_ENA BLED_FAIL | |
| -28 | VL53LX_WARNING_REF_SPAD_CHAR_NOT_EN OUGH_SPADS | Hişyarî: hejmara spadên hatine dîtin pir kêm e ku meriv kalibrasyona refSpadManagement rast bigire. Piştrast bikin ku sazkirin li gorî pêşniyarên ST-ê ye. |
| -29 | VL53LX_WARNING_REF_SPAD_CHAR_RATE_TO O_HIGH | Hişyarî: Rêjeya sînyalê pir kêm hate dîtin ku kalîbrasyona refSpadManagement rast bigire. Piştrast bikin ku sazkirin li gorî pêşniyarên ST-ê ye. |
| -30 | VL53LX_WARNING_REF_SPAD_CHAR_RATE_TO O_LOW | Hişyarî: Hejmara spadên pir kêm hatine dîtin ku ji bo kalibrasyona rastgir a rastgiriyê bigirin. Piştrast bikin ku sazkirin li gorî pêşniyarên ST-ê ye. |
| -31 | VL53LX_WARNING_OFFSET_CAL_MISSING_SA MPLES | Hişyarî di dema kalibrasyona offset de çêbû. Piştrast bikin ku sazkirin li gorî pêşniyarên ST-ê ye. |
| -32 | VL53LX_WARNING_OFFSET_CAL_SIGMA_TOO_ HIGH | |
| -33 | VL53LX_WARNING_OFFSET_CAL_RATE_TOO_HI GH | |
| -34 | VL53LX_WARNING_OFFSET_CAL_SPAD_COUNT_TOO_LOW | |
| -38 | VL53LX_WARNING_XTALK_MISSING_SAMPLES | Hişyarî di dema kalibrasyona crosstalk de çêbû. Piştrast bikin ku sazkirin li gorî pêşniyarên ST-ê ye. |
| -41 | VL53LX_ERROR_NOT_IMPLEMENTED | Fonksiyona tê gotin nayê pêkanîn |
Dîroka Revision
| Rojek | Awa | Changes |
| 28-Sep-2020 | 1 | Serbestberdana destpêkê |
| 02-Dec-2021 | 2 | Strukturên ku di Beşa 6.2.3 de hatine vegerandin nûve kirin Encamên kalibrasyona crosstalk-ê digirin |
| 03-Jun-2022 | 3 | Beş 3.1 Ajokarê tazî: di derbarê kalibrasyonê de têbînîyek lê zêde kir Beş 5.4 Tesbîtkirina şûşeya cama sergirtî: di derbarê rastkirina pîs de têbînîyek lê zêde kir |
BİXWÎNE BİXWÎNE - BİXWÎNE BİXWÎNE
STMicroelectronics NV û şaxên wê ("ST") mafê ku di her kêliyê de bêyî agahdarî li ser hilberên ST-ê û / an jî vê belgeyê biguhezînin, rastkirin, çêtirkirin, guheztin û çêtirkirinan diparêzin. Pêdivî ye ku kirrûbir berî ku fermanan bidin agahdariya herî dawî ya têkildar li ser hilberên ST bistînin. Berhemên ST di dema pejirandina fermanê de li gorî şert û mercên firotanê yên ST têne firotin.
Kiryar bi tenê ji bijartin, hilbijartin û karanîna hilberên ST berpirsiyar in û ST ji bo arîkariya serîlêdanê an sêwirana hilberên kirrûbiran berpirsiyarî nagire.
Li vir ji hêla ST ve ti destûrek, eşkere an jî têgihîştî, ji tu mafek milkê rewşenbîrî re nayê dayîn.
Ji nû ve firotina hilberên ST bi şertên ku ji agahdariya ku li vir hatî destnîşan kirin cûdatir dê garantiyek ku ST ji bo hilberek weha hatî dayîn betal bike. ST û logoya ST marqeyên ST ne. Ji bo bêtir agahdarî li ser marqeyên ST, serî li www.st.com/trademarks. Hemî navên hilber an karûbarê din milkê xwediyên wan ên têkildar in.
Agahdariya di vê belgeyê de agahdariya ku berê di guhertoyên berê yên vê belgeyê de hatine peyda kirin digire û diguhezîne. © 2022 STMicroelectronics - Hemî maf parastî ne
Belge / Çavkanî
![]() |
ST VL53L3CX Time of Flight Ranging Sensor [pdf] Rêbernameya Bikarhêner VL53L3CX Sensora Rêjeya Demê Firînê, VL53L3CX, Sensorê Rêzgirtina Dema Firînê, Sensorê Rêzgirtina Firînê, Sensora Rêzkirinê |




