Sensore di distanza del tempo di volo multizona VL53L5CX STMicroelectronics

Sensore di distanza del tempo di volo multizona VL53L5CX STMicroelectronics

Introduzione

Lo scopo di questo manuale utente è spiegare come gestire il sensore ToF (Time-of-Flight) VL53L5CX, utilizzando l'API del driver ultra lite (ULD). Descrive le principali funzioni per programmare il dispositivo, le calibrazioni ei risultati di output.

Il VL53L5CX è un sensore ToF multizona all'avanguardia che migliora la famiglia di prodotti Flight Sense di STMicroelectronics. Alloggiato in un contenitore reflowable miniaturizzato, integra un array SPAD, filtri fisici a infrarossi ed elementi ottici diffrattivi (DOE) per ottenere le migliori prestazioni in varie condizioni di illuminazione ambientale con una gamma di materiali in vetro di copertura.

Sono possibili misurazioni della distanza multizona fino a 8×8 zone con un ampio campo diagonale di 63° view (FoV) che può essere
ridotto dal software. Ciascuna zona del VL53L5CX misura la distanza del bersaglio fino a 4 metri, ad una frequenza massima di 60 Hz.

Grazie agli algoritmi degli istogrammi brevettati da STMicroelectronics, il VL53L5CX è in grado di rilevare diversi oggetti all'interno del campo visivo.
L'istogramma fornisce inoltre l'immunità alla diafonia del vetro oltre i 60 cm.
Introduzione

Riferimenti
Scheda tecnica VL53L5CX (DS13754).

Acronimi e Abbreviazioni

Acronimo/abbreviazione Definizione
DOE elemento ottico diffrattivo
Campo visivo campo di view
I²C circuito inter-integrato (bus seriale)
Kcps/SPAD Kilo-count al secondo per spad (unità utilizzata per quantificare il numero di fotoni nell'array SPAD)
Memoria RAM memoria ad accesso casuale
SCL linea orologio seriale
SDA dati seriali
SPAD diodo a valanga a singolo fotone
ToF Tempo di volo
ULD driver ultraleggero
VCSEL diodo ad emissione superficiale a cavità verticale
VHV volume molto altotage
Xtalk diafonia

Descrizione funzionale

Sistema finitoview

Il sistema VL53L5CX è composto da un modulo hardware e dal software del driver ultra lite (VL53L5CX ULD) in esecuzione su un host (vedere la figura sotto). Il modulo hardware contiene il sensore ToF. STMicroelectronics fornisce il driver del software, a cui ci si riferisce in questo documento come “il driver”. Questo documento descrive le funzioni del driver accessibili all'host. Queste funzioni controllano il sensore e ottengono i dati di portata.
Sistema finitoview

Orientamento efficace

Il modulo include una lente sopra l'apertura Rx, che capovolge (orizzontalmente e verticalmente) l'immagine catturata del bersaglio. Di conseguenza, la zona identificata come zona 0, in basso a sinistra dell'array SPAD, è illuminata da un bersaglio posto in alto a destra della scena.
Orientamento efficace

Schemi e configurazione I²C

La comunicazione tra driver e firmware è gestita da I²C, con una capacità di funzionamento fino a 1 MHz. L'implementazione richiede pull-up sulle linee SCL e SDA. Fare riferimento alla scheda tecnica VL53L5CX per ulteriori informazioni.
Il dispositivo VL53L5CX ha un indirizzo I²C predefinito di 0x52. Tuttavia, è possibile modificare l'indirizzo predefinito per evitare conflitti con altri dispositivi o facilitare l'aggiunta di più moduli VL53L5CX al sistema per un FoV di sistema maggiore. L'indirizzo I²C può essere modificato utilizzando la funzione vl53l5cx_set_i2c_address().

Schemi e configurazione I²C

Per consentire a un dispositivo di modificare il proprio indirizzo I²C senza influenzare gli altri sul bus I²C, è importante disabilitare la comunicazione I²C dei dispositivi che non vengono modificati. La procedura è la seguente:

  1. Accendere il sistema normalmente.
  2. Tirare verso il basso il pin LPn del dispositivo di cui non verrà modificato l'indirizzo.
  3. Tirare verso l'alto il pin LPn del dispositivo a cui è stato modificato l'indirizzo I²C.
  4. Programmare l'indirizzo I²C sul dispositivo utilizzando la funzione set_i2c_address().
  5. Tirare verso l'alto il pin LPn del dispositivo non riprogrammato.

Tutti i dispositivi dovrebbero ora essere disponibili sul bus I²C. Ripetere i passaggi precedenti per tutti i dispositivi VL53L5CX nel sistema che richiedono un nuovo indirizzo I²C.

Contenuto del pacchetto e flusso di dati

Architettura e contenuto del driver

Il pacchetto VL53L5CX ULD è composto da quattro cartelle. Il driver si trova nella cartella /VL53L5CX_ULD_API.
Il driver è composto da obbligatorio e facoltativo fileS. Opzionale filesono plugins utilizzato per estendere le funzionalità ULD.
Ogni plugin inizia con la parola “vl53l5cx_plugin” (ad esempio vl53l5cx_plugin_xtalk.h). Se l'utente non vuole il proposto plugins, possono essere rimossi senza influire sulle altre funzionalità del driver. La figura seguente rappresenta l'obbligo filese l'opzionale plugins.
Architettura e contenuto del driver

L'utente deve anche implementare due filesi trova nella cartella /Platform. La piattaforma proposta è un guscio vuoto, e va riempito di funzioni dedicate.

Nota: Piattaforma.h file contiene macro obbligatorie per utilizzare l'ULD. Tutti i file il contenuto è obbligatorio per utilizzare correttamente l'ULD.

Flusso di calibrazione

La diafonia (Xtalk) è definita come la quantità di segnale ricevuto sull'array SPAD, dovuta alla riflessione della luce VCSEL all'interno della finestra protettiva (vetro di copertura) aggiunta sulla parte superiore del modulo. Il modulo VL53L5CX è autocalibrato e può essere utilizzato senza alcuna calibrazione aggiuntiva.

Potrebbe essere necessaria la calibrazione della diafonia se il modulo è protetto da un vetro di copertura. Il VL53L5CX è immune alla diafonia oltre i 60 cm grazie ad un algoritmo a istogramma. Tuttavia, a brevi distanze inferiori a 60 cm, Xtalk può essere più grande dell'effettivo segnale restituito. Ciò fornisce una falsa lettura del target o fa sembrare i target più vicini di quanto non siano in realtà. Tutte le funzioni di calibrazione del crosstalk sono incluse in un plugin Xtalk (opzionale). L'utente deve utilizzare il file file 'vl53l5cx_plugin_xtalk'.

La diafonia può essere calibrata una volta e i dati possono essere salvati in modo da poterli riutilizzare in seguito. È richiesto un bersaglio a distanza fissa, con una riflettanza nota. La distanza minima richiesta è 600 mm e il target deve coprire l'intero campo visivo. A seconda della configurazione, l'utente può modificare le impostazioni per adattare la calibrazione della diafonia, come proposto nella tabella seguente.

Tavolo 1. Impostazioni disponibili per la calibrazione

Collocamento Minimo Proposto da STMicroelectronics Massimo
Distanza [mm] 600 600 3000
Numero di samples 1 4 16
Riflettanza [%] 1 3 99

Nota: Aumentando il numero di samples aumenta la precisione, ma aumenta anche il tempo per la calibrazione. Il tempo relativo al numero di samples è lineare e i valori seguono il timeout approssimativo:

  • Anno 1ample ≈ 1 secondo
  • Anno 4amples ≈ 2.5 secondi
  • Anno 16amples ≈ 8.5 secondi

La calibrazione viene eseguita utilizzando la funzione vl53l5cx_calibrate_xtalk(). Questa funzione può essere utilizzata in qualsiasi momento. Tuttavia, il sensore deve essere prima inizializzato. La figura seguente rappresenta il flusso di calibrazione della diafonia.
Flusso di calibrazione

Flusso variabile

La figura seguente rappresenta il flusso variabile utilizzato per ottenere le misurazioni. La calibrazione Xtalk e le chiamate di funzioni opzionali devono essere utilizzate prima di iniziare la sessione di misurazione. Le funzioni get/set non possono essere utilizzate durante una sessione di intervallo e la programmazione "al volo" non è supportata.
Flusso variabile

Funzionalità disponibili

L'API ULD VL53L5CX include diverse funzioni che consentono all'utente di regolare il sensore, a seconda del caso d'uso. Tutte le funzioni disponibili per il driver sono descritte nelle sezioni seguenti.

Inizializzazione
L'inizializzazione deve essere eseguita prima di utilizzare il sensore VL53L5CX. Questa operazione richiede all'utente di:

  1. Accendere il sensore (VDDIO, AVDD, pin LPn impostati su High e pin I2C_RST impostato su 0)
  2. Chiama la funzione vl53l5cx_init(). La funzione copia il firmware (~84 Kbyte) nel modulo. Questo viene fatto caricando il codice sull'interfaccia I²C ed eseguendo una routine di avvio per completare l'inizializzazione.

Gestione del reset del sensore

Per ripristinare il dispositivo, è necessario attivare i seguenti pin:

  1. Impostare i pin VDDIO, AVDD e LPn su basso.
  2. Attendere 10 ms.
  3. Impostare i pin VDDIO, AVDD e LPn su alti.

Nota: La commutazione solo del pin I2C_RST ripristina la comunicazione I²C.

Risoluzione

La risoluzione corrisponde al numero di zone disponibili. Il sensore VL53L5CX ha due possibili risoluzioni: 4×4 (16 zone) e 8×8 (64 zone). Di default il sensore è programmato in 4×4.
La funzione vl53l5cx_set_length() consente all'utente di modificare la risoluzione. Poiché la frequenza di rilevamento dipende dalla risoluzione, questa funzione deve essere utilizzata prima di aggiornare la frequenza di rilevamento. Inoltre, la modifica della risoluzione aumenta anche la dimensione del traffico sul bus I²C quando vengono letti i risultati.

Frequenza di intervallo

La frequenza di misurazione può essere utilizzata per modificare la frequenza di misurazione. Poiché la frequenza massima è diversa tra le risoluzioni 4×4 e 8×8, questa funzione deve essere utilizzata dopo aver scelto una risoluzione. I valori minimi e massimi consentiti sono elencati nella tabella seguente.

Tavolo 2. Frequenze minime e massime

Risoluzione Frequenza minima [Hz] Frequenza di portata massima [Hz]
4×4 1 60
8×8 1 15

La frequenza di range può essere aggiornata utilizzando la funzione vl53l5cx_set_ranging_frequency_hz(). Per impostazione predefinita, la frequenza di range è impostata su 1 Hz.

Modalità di misurazione della distanza

La modalità di misurazione consente all'utente di scegliere tra prestazioni elevate o basso consumo energetico. Le modalità proposte sono due:

  • Continuo: il dispositivo acquisisce continuamente fotogrammi con una frequenza variabile definita dall'utente. Il VCSEL è abilitato durante tutto il range, quindi la distanza massima del range e l'immunità ambientale sono migliori. Questa modalità è consigliata per misurazioni veloci o alte prestazioni.
  • Autonoma: questa è la modalità predefinita. Il dispositivo acquisisce continuamente fotogrammi con una frequenza variabile definita dall'utente. Il VCSEL è abilitato durante un periodo definito dall'utente, utilizzando la funzione vl53l5cx_set_integration_time_ms(). Poiché il VCSEL non è sempre abilitato, il consumo energetico è ridotto. I vantaggi sono più evidenti con una frequenza ridotta. Questa modalità è consigliata per applicazioni a bassa potenza.

La modalità di intervallo può essere modificata utilizzando la funzione vl53l5cx_set_ranging_mode().

Tempo di integrazione

Il tempo di integrazione è una funzionalità disponibile solo utilizzando la modalità di portata autonoma (fare riferimento alla Sezione 4.5: Modalità di portata). Consente all'utente di modificare l'ora mentre VCSEL è abilitato. La modifica del tempo di integrazione se la modalità di misurazione è impostata su continua non ha alcun effetto. Il tempo di integrazione predefinito è impostato su 5 ms.
L'effetto del tempo di integrazione è diverso per le risoluzioni 4×4 e 8×8. La risoluzione 4×4 è composta da un tempo di integrazione e la risoluzione 8×8 è composta da quattro tempi di integrazione. Le figure seguenti rappresentano l'emissione VCSEL per entrambe le risoluzioni.
Tempo di integrazione

La somma di tutti i tempi di integrazione + 1 ms di sovraccarico deve essere inferiore al periodo di misurazione. Altrimenti, il periodo di rilevamento viene automaticamente aumentato.

Modalità di alimentazione

Le modalità di alimentazione possono essere utilizzate per ridurre il consumo energetico quando il dispositivo non viene utilizzato. Il VL53L5CX può funzionare in una delle seguenti modalità di alimentazione:

  • Riattivazione: il dispositivo è impostato su HP inattivo (alta potenza), in attesa di istruzioni.
  • Sospensione: il dispositivo è impostato in modalità LP inattiva (basso consumo), lo stato di basso consumo. Il dispositivo non può essere utilizzato finché non viene impostato in modalità sveglia.

Questa modalità conserva il firmware e la configurazione.
La modalità di alimentazione può essere modificata utilizzando la funzione vl53l5cx_set_power_mode(). La modalità predefinita è sveglia.

Nota: Se l'utente desidera modificare la modalità di alimentazione, il dispositivo non deve trovarsi in uno stato di intervallo.

Temperamatite

Il segnale restituito da un bersaglio non è un impulso pulito con bordi netti. I bordi sono inclinati e possono influenzare le distanze riportate nelle zone adiacenti. L'affilatore viene utilizzato per rimuovere parte o tutto il segnale causato da un bagliore velante.

L'example mostrato nella figura seguente rappresenta un bersaglio vicino a 100 mm centrato nel FoV, e un altro bersaglio, più indietro a 500 mm. A seconda del valore dello sharpener, il bersaglio vicino può apparire in più zone rispetto a quello reale.
Temperamatite

Il temperino può essere modificato utilizzando la funzione vl53l5cx_set_sharpener_percent(). I valori consentiti sono compresi tra 0% e 99%. Il valore predefinito è 5%.

Ordine obiettivo

Il VL53L5CX può misurare diversi target per zona. Grazie all'elaborazione dell'istogramma, l'host è in grado di scegliere l'ordine dei target segnalati. Ci sono due opzioni:

  • Più vicino: l'obiettivo più vicino è il primo segnalato
  • Più forte: l'obiettivo più forte è il primo segnalato

L'ordine di destinazione può essere modificato utilizzando la funzione vl53l5cx_set_target_order(). L'ordine predefinito è Più forte.

L'example nella figura seguente rappresenta il rilevamento di due bersagli. Uno a 100 mm a bassa riflettanza e uno a 700 mm ad alta riflettanza.

Ordine obiettivo

Obiettivi multipli per zona

Il VL53L5CX può misurare fino a quattro target per zona. L'utente può configurare il numero di target restituiti dal sensore.

Nota: La distanza minima tra due target da rilevare è di 600 mm.

La selezione non è possibile dal conducente; deve essere fatto in "Platform.h" file. La macro VL53L5CX_NB_ TARGET_PER_ZONE deve essere impostata su un valore compreso tra 1 e 4. L'ordine del target descritto nella Sezione 4.9: Ordine del target influisce direttamente sull'ordine del target rilevato. Per impostazione predefinita, il sensore emette solo un massimo di un target per zona.

Nota: Un numero maggiore di target per zona aumenta la dimensione della RAM richiesta

Margine Xtalk

Il margine Xtalk è una funzionalità aggiuntiva disponibile solo utilizzando il plugin Xtalk. Il .c e .f fileÈ necessario utilizzare 'vl53l5cx_plugin_xtalk'.

Il margine viene utilizzato per modificare la soglia di rilevamento quando è presente un vetro di copertura sulla parte superiore del sensore. La soglia può essere aumentata per garantire che il vetro di copertura non venga mai rilevato, dopo aver impostato i dati di calibrazione della diafonia. Per esample, l'utente può eseguire una calibrazione crosstalk su un singolo dispositivo e riutilizzare gli stessi dati di calibrazione per tutti gli altri dispositivi. Il margine Xtalk può essere utilizzato per ottimizzare la correzione della diafonia. La figura seguente rappresenta il margine Xtalk.
Margine Xtalk

Soglie di rilevamento

Oltre alle normali capacità di portata, il sensore può essere programmato per rilevare un oggetto in base a determinati criteri predefiniti. Questa funzionalità è disponibile utilizzando il plug-in "soglie di rilevamento", che è un'opzione non inclusa di default nell'API. Il files chiamato 'vl53l5cx_plugin_detection_thresholds' deve essere utilizzato.
La funzione può essere utilizzata per attivare un interrupt al pin A3 (INT) quando vengono soddisfatte le condizioni definite dall'utente. Sono possibili tre configurazioni:

  • Risoluzione 4×4: utilizzando una soglia per zona (totale 16 soglie)
  • Risoluzione 4×4: utilizzando due soglie per zona (totale 32 soglie)
  • Risoluzione 8×8: utilizzando una soglia per zona (totale 64 soglie)
    Qualunque sia la configurazione utilizzata, la procedura per la creazione delle soglie e la dimensione della RAM sono le stesse. Per ogni combinazione di soglia, devono essere compilati diversi campi:
  • ID zona: ID della zona selezionata (fare riferimento alla Sezione 2.2: Orientamento effettivo)
  • Misura: misura da catturare (distanza, segnale, numero di SPAD, …)
  • Tipo: finestre di misura (in finestre, fuori finestre, sotto soglia bassa, …)
  • Soglia bassa: utente con soglia bassa per il trigger. L'utente non ha bisogno di impostare il formato, viene gestito automaticamente dall'API.
  • Soglia alta: utente con soglia alta per il trigger. Non è necessario che l'utente imposti il ​​formato; viene gestito automaticamente dall'API.
  • Operazione matematica: utilizzata solo per combinazioni 4×4 – 2 soglie per zona. L'utente può impostare una combinazione utilizzando diverse soglie in una zona.

Indicatore di movimento

Il sensore VL53L5CX ha una funzionalità firmware incorporata che consente il rilevamento del movimento in una scena. L'indicatore di movimento viene calcolato tra fotogrammi sequenziali. Questa opzione è disponibile utilizzando il plugin'vl53l5cx_plugin_motion_indicator'.

L'indicatore di movimento viene inizializzato utilizzando la funzione vl53l5cx_motion_indicator_init(). Per modificare la risoluzione del sensore, aggiornare la risoluzione dell'indicatore di movimento utilizzando la funzione dedicata: vl53l5cx_motion_indicator_set_length().

L'utente può anche modificare le distanze minima e massima per il rilevamento del movimento. La differenza tra le distanze minima e massima non può essere superiore a 1500 mm. Per impostazione predefinita, le distanze vengono inizializzate con valori compresi tra 400 mm e 1500 mm.

I risultati vengono memorizzati nel campo 'motion_indicator'. In questo campo, l'array 'motion' fornisce un valore contenente l'intensità del movimento per zona. Un valore elevato indica un'elevata variazione di movimento tra i fotogrammi. Un movimento tipico fornisce un valore compreso tra 100 e 500. Questa sensibilità dipende dal tempo di integrazione, dalla distanza del bersaglio e dalla riflettanza del bersaglio.

Una combinazione ideale per applicazioni a bassa potenza è l'uso dell'indicatore di movimento con modalità di rilevamento autonomo e soglie di rilevamento programmate sul movimento. Ciò consente il rilevamento delle variazioni di movimento nel campo visivo con un consumo energetico minimo.

Compensazione periodica della temperatura

Le prestazioni di misurazione sono influenzate dalle variazioni di temperatura. Il sensore VL53L5CX incorpora una compensazione della temperatura che viene calibrata una volta avviato lo streaming. Tuttavia, se la temperatura cambia, la compensazione potrebbe non essere allineata alla nuova temperatura. Per evitare questo problema, il cliente può eseguire una compensazione periodica della temperatura utilizzando un VHV automatico. La calibrazione periodica della temperatura richiede alcuni millisecondi per essere eseguita. L'utente può definire il periodo.

Per utilizzare questa funzionalità, il cliente deve:

• Chiamare la funzione vl53l5cx_set_VHV_repeat_count().
• Quindi, fornire come argomento il numero di fotogrammi tra ogni nuova calibrazione.

Se l'argomento è 0, la compensazione è disabilitata.

Risultati a distanza

Dati disponibili

Un ampio elenco di dati sull'obiettivo e sull'ambiente può essere emesso durante le attività di misurazione. La tabella seguente descrive i parametri a disposizione dell'utente.

Tavolo 3. Uscita disponibile utilizzando il sensore VL53L5CX

Elemento Nb byte (RAM) Unità Descrizione
Ambiente per SPAD 256 Kcps/SPAD Misurazione della velocità ambientale eseguita sull'array SPAD, senza emissione di fotoni attivi, per misurare la velocità del segnale ambientale dovuta al rumore.
Numero di bersagli rilevati 64 Nessuno Numero di bersagli rilevati nella zona corrente. Questo valore dovrebbe essere il primo da controllare per conoscere la validità di una misura.
Numero di SPAD abilitati 256 Nessuno Numero di SPAD abilitati per la misura corrente. Un bersaglio riflettente lontano o basso attiva più SPAD.
Segnale per SPAD 256 x nb obiettivi programmati Kcps/SPAD Quantità di fotoni misurati durante l'impulso VCSEL.
Gamma sigma 128 x nb obiettivi programmati Millimetro Stimatore Sigma per il rumore nella distanza del target riportato.
Distanza 128 x nb obiettivi programmati Millimetro Distanza bersaglio
Stato obiettivo 64 x nb obiettivi programmati Nessuno Validità delle misure. Vedere Sezione 5.5: Risultati interpretazione per ulteriori informazioni.
Riflessione 64 obiettivi numerici programmati Percent Riflettanza target stimata in percentuale
Indicatore di movimento 140 Nessuno Struttura contenente i risultati dell'indicatore di movimento. Il campo 'movimento' contiene l'intensità del movimento.

Nota: Per più elementi (segnale per spad, sigma, …) l'accesso ai dati è diverso se l'utente ha programmato più di un target per zona (vedere Sezione 4.10: Target multipli per zona). Vedi esample code per ulteriori informazioni.

Personalizza la selezione dell'output

Per impostazione predefinita, tutte le uscite del VL53L5CX sono abilitate. Se necessario, l'utente può disabilitare alcune uscite del sensore.
La disabilitazione delle misurazioni non è disponibile sul driver; deve essere eseguito in 'Platform.h' file. L'utente può dichiarare le seguenti macro per disabilitare le uscite:
#define VL53L5CX_DISABLE_AMBIENT_PER_SPAD
#define VL53L5CX_DISABLE_NB_SPADS_ENABLED
#define VL53L5CX_DISABLE_NB_TARGET_DETECTED
#definire VL53L5CX_DISABLE_SIGNAL_PER_SPAD
#definire VL53L5CX_DISABLE_RANGE_SIGMA_MM
#define VL53L5CX_DISABLE_DISTANZA_MM
#definire VL53L5CX_DISABLE_TARGET_STATUS
#define VL53L5CX_DISABLE_REFLECTANCE_PERCENT
#definire VL53L5CX_DISABLE_MOTION_INDICATOR

Di conseguenza, i campi non vengono dichiarati nella struttura dei risultati e i dati non vengono trasferiti all'host. Le dimensioni della RAM e quelle dell'I²C sono ridotte.
Per garantire la coerenza dei dati, la ST consiglia sempre di mantenere abilitati il ​​"numero di target rilevati" e lo "stato del target". Questo filtra le misurazioni in base allo stato del target (fare riferimento alla Sezione 5.5: Interpretazione dei risultati).

Ottenere risultati variabili

Durante la sessione di misurazione, ci sono due modi per sapere se sono disponibili nuovi dati di misurazione:

  • Modalità polling: usa continuamente la funzione vl53l5cx_check_data_ready(). Rileva un nuovo conteggio del flusso restituito dal sensore.
  • Modalità interruzione: attende un'interruzione sollevata sul pin A3 (GPIO1). L'interruzione viene cancellata automaticamente dopo ~100 μs.

Quando i nuovi dati sono pronti, i risultati possono essere letti utilizzando la funzione vl53l5cx_get_ranging_data(). Restituisce una struttura aggiornata contenente tutto l'output selezionato. Poiché il dispositivo è asincrono, non vi è alcuna interruzione da cancellare per continuare la sessione di misurazione.
Questa funzione è disponibile per entrambe le modalità di misurazione continua e autonoma.

Utilizzo del formato firmware grezzo

Dopo aver trasferito i dati di misurazione tramite l'I²C, avviene una conversione tra il formato del firmware e il formato dell'host. Questa operazione viene generalmente eseguita per avere una distanza in millimetri come uscita predefinita del sensore. Se l'utente desidera utilizzare il formato firmware, è necessario definire la seguente macro nella piattaforma file: VL53L5CX
#definire VL53L5CX_USE_RAW_FORMAT

Interpretazione dei risultati

I dati restituiti dal VL53L5CX possono essere filtrati per tenere conto dello stato di destinazione. Lo stato indica la validità della misurazione. L'elenco completo degli stati è descritto nella tabella seguente.

Tavolo 4. Elenco degli stati target disponibili

Stato obiettivo Descrizione
0 I dati sulla distanza non vengono aggiornati
1 Velocità del segnale troppo bassa sull'array SPAD
2 Fase obiettivo
3 Stimatore Sigma troppo alto
4 Coerenza target non riuscita
5 Intervallo valido
6 Avvolgimento non eseguito (in genere il primo intervallo)
7 Coerenza della tariffa non riuscita
8 Velocità del segnale troppo bassa per il target attuale
9 Intervallo valido con impulso grande (potrebbe essere dovuto a un target unito)
10 Portata valida, ma nessun bersaglio rilevato alla portata precedente
11 Coerenza della misurazione non riuscita
12 Bersaglio sfocato da un altro, a causa dell'affilatoio
13 Obiettivo rilevato ma dati incoerenti. Succede spesso per obiettivi secondari.
255 Nessun target rilevato (solo se è abilitato il numero di target rilevati)

Per avere dati coerenti, l'utente deve filtrare lo stato del target non valido. Per fornire una valutazione di confidenza, un obiettivo con stato 5 è considerato valido al 100%. Uno stato di 6 o 9 può essere considerato con un valore di confidenza del 50%. Tutti gli altri stati sono al di sotto del livello di confidenza del 50%.

Errori del conducente

Quando si verifica un errore utilizzando il sensore VL53L5CX, il driver restituisce un errore specifico. La tabella seguente elenca i possibili errori.

Tavolo 5. Elenco degli errori disponibili utilizzando il driver

Stato obiettivo Descrizione
0 Nessun errore
 

127

L'utente ha programmato un'impostazione errata

(risoluzione sconosciuta, frequenza di portata troppo alta,...)

255 Errore grave. Di solito si tratta di un errore di timeout, dovuto a un errore I²C.
altro Combinazione di più errori sopra descritti

Nota: L'host può implementare più codici di errore utilizzando la piattaforma files.

Cronologia delle revisioni 

Tavolo 6. Cronologia delle revisioni del documento

Data Versione Cambiamenti
21-giu-2021 1 Versione iniziale
30-ago-2021 2 Aggiunto Sezione 5.4: Utilizzo del formato firmware raw

Aggiunto nuovo stato target 13 pollici Tabella 4. Elenco degli stati target disponibili

05-Set-2022 3 Aggiunta nota sulla distanza minima minima tra i bersagli Sezione 4.10: Bersagli multipli per zona
10-ago-2023 4 Modificato Figura 11. Esample dell'istogramma con due target
21-feb-2024 5 Aggiunto VHV (voltage) a Sezione 1: Acronimi e abbreviazioni.
Aggiunto Sezione 4.14: Compensazione periodica della temperatura

AVVISO IMPORTANTE – LEGGERE ATTENTAMENTE

STMicroelectronics NV e le sue consociate ("ST") si riservano il diritto di apportare modifiche, correzioni, miglioramenti, migliorie e migliorie ai prodotti ST e/o al presente documento in qualsiasi momento e senza preavviso. Gli acquirenti devono ottenere le ultime informazioni rilevanti sui prodotti ST prima di effettuare ordini. I prodotti ST sono venduti in conformità ai termini e alle condizioni di vendita di ST in vigore al momento della conferma dell'ordine.
Gli acquirenti sono gli unici responsabili della scelta, della selezione e dell'uso dei prodotti ST e ST non si assume alcuna responsabilità per l'assistenza applicativa o la progettazione dei prodotti degli acquirenti.
Nel presente documento ST non concede alcuna licenza, espressa o implicita, su alcun diritto di proprietà intellettuale.
La rivendita di prodotti ST con disposizioni diverse dalle informazioni qui stabilite invaliderà qualsiasi garanzia concessa da ST per tale prodotto.
ST e il logo ST sono marchi di ST. Per ulteriori informazioni sui marchi ST, fare riferimento a www.st.com/trademarksTutti gli altri nomi di prodotti o servizi sono di proprietà dei rispettivi proprietari.
Le informazioni contenute nel presente documento annullano e sostituiscono le informazioni fornite in precedenza in qualsiasi versione precedente del documento.
© 2024 STMicroelectronics – Tutti i diritti riservati

Logo

Documenti / Risorse

Sensore di distanza del tempo di volo multizona VL53L5CX STMicroelectronics [pdf] Manuale d'uso
VL53L5CX Sensore di portata del tempo di volo multizona, VL53L5CX, Sensore di portata del tempo di volo multizona, Sensore di portata del tempo di volo, Sensore di portata del volo, Sensore di portata, Sensore

Riferimenti

Lascia un commento

Il tuo indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *