Pagina 1 di 1

Sensore distanza VL53L0X (modifica uscita)

MessaggioInviato: 30 mar 2019, 3:54
da Spacelectron
Carissimi estimatissimi amici e appassioanti come me, buongiorno. Ho da qualche giorno scoperto il nuovo sensore della ST, il VL53L0X.
Trattasi di un rilevatore laser di distanza con le seguenti caratteristiche:

Sensibilità/Risoluzione: 1mm
Tensione di alimentazione: 2.6-5.5 volt
Distanza massima di misurazione: 2 metri
Velocità di risposta: circa 30 ms

Ho la seguente necessità: attualmente ho collegato al mio Arduino Uno un potenziometro da 5K, che con apposito sketch mi fa ruotare un piccolo motorino in un senso o nell'altro se faccio ruotare il potenziometro in un senso o nell'altro. Quindi con potenziometro posizionato a metà scala (2,5 kohm) il motorino rimane fermo, se lo ruoto in un senso mi ruota il motore in un senso, se ruoto il potenziometro nell'altro senso, mi ruota il motore nell'altro senso. Al potenziometro arriva 3 fili e cioè: 5v, gnd, vout. Proprio il vout è quello che arriva ad Arduino in un ingresso analogico A0. Se qui arrivano 5V, il motore ruoterò al massimo in un verso, se arriva 0V ruoterà al massimo nel verso opposto, se arrivano 2,5 volt, il motore sarà fermo.

Vorrei però adoperare il VL53L0X e abbandonare il potenziometro, però il sensore mi deve controllare una distanza massima di 0,2 metri (20 cm), quindi in 20 cm esso mi deve dare in uscita 0V-5V analogico.

Non so se esso permette intanti di avere una usicta come questa in tensione che varia al variare della distanza misurata. Qualora esso avesse una uscita che fa questo, come faccio ad avere una tensione compresa tra 0 e 5 volt?
Io pensavo ad un trimmer da aggiungere al circuito, così ogni volta che mi occorre avere un rilevamento diverso della distanza, potrei agire su un trimmer per calibrare la tensione in uscita.
Ho letto il datasheet e ho letto di una sorta di "calibrazione", ma non so se è proprio cio che sto cercando e non so come poterla fare. non so se il chip è programmabile per fare questo.
Intanto vi allego lo schema e aspetto i vostri pareri, grazie mille.

Re: Sensore distanza VL53L0X (modifica uscita)

MessaggioInviato: 31 mar 2019, 10:38
da Max2433BO
Spacelectron ha scritto:(...) Non so se esso permette intanto di avere una usicta come questa in tensione che varia al variare della distanza misurata (...)


No, leggendo il datasheet si evince che il dispositivo "rilascia" l'informazione della distanza in formato digitale, non analogico, che, per tanto, deve essere interpretato tramite un microcontrollore come indicato sullo User manual - Application Programming Interface...

... almeno così mi è parso di capire :mrgreen:

O_/ Max

Re: Sensore distanza VL53L0X (modifica uscita)

MessaggioInviato: 31 mar 2019, 11:14
da IlGuru
La frase "I2C interface for device control and data transfer" non lascia molto spazio alle interpretazioni

Re: Sensore distanza VL53L0X (modifica uscita)

MessaggioInviato: 31 mar 2019, 11:30
da Praticamente
attualmente ho collegato al mio Arduino Uno un potenziometro da 5K

di conseguenza puoi abbandonare il pot. e la relativa conversione a/d e connettere semplicemente il sensore ad arduino via i2c O_/

Re: Sensore distanza VL53L0X (modifica uscita)

MessaggioInviato: 31 mar 2019, 13:38
da Spacelectron
Buongiorno a tutti voi e grazie per le risposte

di conseguenza puoi abbandonare il pot. e la relativa conversione a/d e connettere semplicemente il sensore ad arduino via i2c


Cioè? non ho capito bene.
Dal Modulo laser esce o non esce un'uscita digitale? ?%
Lo sketch attuale legge un ingresso analogico su cui è collegata l'uscita vout del potenziometro, quindi legge valori compresi tra 0-5 volt.
Ho trovato in rete alcune PCB gia pronte, tra queste ho messo l'occhio su due diverse tipologie:
Vi allego il modulo laser che vorrei acquistare per sostituirlo al potenziometro

1° TIPOLOGIA
Descriptions:
The VL53L0X from ST Microelectronics is a time-of-flight ranging system integrated into a compact module. This board is a carrier for the VL53L0X, so we recommend careful reading of the VL53L0X datasheet (1MB pdf) before using this product.
The VL53L0 uses ST’s FlightSense technology to precisely measure how long it takes for emitted pulses of infrared laser light to reach the nearest object and be reflected back to a detector, so it can be considered a tiny, self-contained lidar system. This time-of-flight (TOF) measurement enables it to accurately determine the absolute distance to a target without the object’s reflectance greatly influencing the measurement. The sensor can report distances of up to 2 m (6.6 ft) with 1 mm resolution, but its effective range and accuracy (noise) depend heavily on ambient conditions and target characteristics like reflectance and size, as well as the sensor configuration. (The sensor’s accuracy is specified to range from ±3% at best to over ±10% in less optimal conditions.)
Ranging measurements are available through the sensor’s I²C (TWI) interface, which is also used to configure sensor settings, and the sensor provides two additional pins: a shutdown input and an interrupt output.
The VL53L0X is a great IC, but its small, leadless, LGA package makes it difficult for the typical student or hobbyist to use. It also operates at a recommended voltage of 2.8 V, which can make interfacing difficult for microcontrollers operating at 3.3 V or 5 V. Our breakout board addresses these issues, making it easier to get started using the sensor, while keeping the overall size as small as possible.
PIN Description
VDD Regulated 2.8 V output. Almost 150 mA is available to power external components. (If you want to bypass the internal regulator, you can instead use this pin as a 2.8 V input with VIN disconnected.)
VIN This is the main 2.6 V to 5.5 V power supply connection. The SCL and SDA level shifters pull the I²C lines high to this level.
GND The ground (0 V) connection for your power supply. Your I²C control source must also share a common ground with this board.
SDA Level-shifted I²C data line: HIGH is VIN, LOW is 0 V
SCL Level-shifted I²C clock line: HIGH is VIN, LOW is 0 V
XSHUT This pin is an active-low shutdown input; the board pulls it up to VDD to enable the sensor by default. Driving this pin low puts the sensor into hardware standby. This input is not level-shifted.


2° TIPOLOGIA
Descriptions:
Interface: I2C IIC
Power supply: 3-5V
Laser: 940nm
Driver: VCSEL
Measures range: ≤ 2m
Fully integrated miniature module
Ranging sensor with advanced embedded micro controller
Fast, accurate distance ranging
Reported range is independent of the target reflectance
Operates in high infrared ambient light levels
Advanced embedded optical cross-talk compensation to simplify cover glass selection: Eye safe
Class 1 laser device compliant with latest standard IEC 60825-1:2014 - 3rd edition
Easy integration
Single reflowable component
Xshutdown (Reset) and interrupt GPIO
No additional optics


La 2° Tipologia di PCB monta un 8-BIT BIDIRECTIONAL VOLTAGE-LEVEL della Texas Instruments, non so se questo possa far al caso mio. Posso dirvi comunque che su Youtube ho visto che qualcuno ha collegato 2 uscite agli ingressi analogici di Arduino.

https://www.youtube.com/watch?v=0PnAyt51IU4

Però lo sketch che utilizzo io legge solo un ingresso analogico che riceve i valori da 0-5 volt, quindi minima distanza letta dal sensore corrisponde ad un valore di 0 volt che va all'ingresso analogico, massima distanza letta dal sensore corrisponde ad un valore di 5 volt che va all'ingresso analogico.
Oppure viceversa, non ha importanza.
Ma solo un ingresso, non due come nel video.

Aspetto le vostre considerazioni

Re: Sensore distanza VL53L0X (modifica uscita)

MessaggioInviato: 31 mar 2019, 14:22
da Spacelectron
Aggiungo:

La 2° Tipologia di PCB monta TXS0108E, un 8-BIT BIDIRECTIONAL VOLTAGE-LEVEL della Texas Instruments

Re: Sensore distanza VL53L0X (modifica uscita)

MessaggioInviato: 31 mar 2019, 14:31
da Praticamente
Space...
stiamo dicendo che in sostanza ti basta cambiare due righe di codice al tuo sketch e tutto funziona OOB e tu ti vuoi per forza complicare la vita :mrgreen:

colleghi i pind SCL,SDA ai rispettivi su *duino, idem per vcc e poi lo interroghi ogni volta che vuoi, il sensore supporta modalita' continua e non (il pin gpio ti aiuta a sapere ogni volta che è pronto)
il regolatore è incluso perché il sensore lavora a 2.8 V mentre la maggior parte dei controller usa 3.3 o 5 V

pappa pronta: https://github.com/adafruit/Adafruit_VL53L0X
minestra riscaldata: https://github.com/adafruit/Adafruit_VL ... l53l0x.ino

Re: Sensore distanza VL53L0X (modifica uscita)

MessaggioInviato: 31 mar 2019, 15:18
da Spacelectron
Ciao Praticamente,

ti ringrazio per le risposte, ma pensavo fosse una cosa piu semplice. Io purtroppo di programmazione non ne capisco nulla, non saprei da dove inziare né tantomeno cosa scrivere