cancel
Showing results for 
Search instead for 
Did you mean: 

VL53L0X distance reading varies with reflectivity

BRowl
Associate II

I am testing the VL53L0X ability to accurately measuring the distance to objects of different materials and different sizes. The sensor is in continuous mode and I am using VL53L)X_GetRangingMeasurmentData to read the distance and reflectivity value. The parameter I am reading for distance is RangeMilliMeter and the parameter I am using for reflectivity is SignalRateRtnMegaCps. I have found that as the SignalRateRtnMegaCps value goes up the distance error increases. At 25�? the distance reading to a large sheet of brown cardboard is about 25.5�? and the reflectivity reading is 122,316. But at the same distance, the distance reading to a piece of white cardboard is about 35.3�? and the reflectivity value is 58,675. Are large distance errors to be expected as the reflectivity value goes down? Is there anything that can be done to reduce this error? Is it possible to use the Reflectivity reading to reduce this error? 

I see this question has been asked before with no answer.

1 ACCEPTED SOLUTION

Accepted Solutions
John E KVAM
ST Employee

The reflectivity alone won't do it. You need the Signal Strength per SPAD to really understand what is going on.

As the signal rate goes up past 20M, we start turning off SPADs to keep the numbers within range.

So knowing the signal rate/# of SPADs is best. Sometimes I normalize it by multiplying it by 200 (the max number of SPADs you will see.)

There will be some variability with objects with different reflectivities. But they should all be within +/- 3% or so.

Your delta means something else is going on.

Are you using a cover glass? If so, the photons from the glass are throwing off your answer.

Read the section on 'Crosstalk calibration'.

But once you are closer, you can use signal strength to provide a little 'english' on your numbers.

But be careful. A Specular (mirror-like) surface will act differently than an Lambertian (matte-finish) one.

  • john

If this or any post solves your issue, please mark them as 'Accept as Solution' It really helps. And if you notice anything wrong do not hesitate to 'Report Inappropriate Content'. Someone will review it.

View solution in original post

2 REPLIES 2
John E KVAM
ST Employee

The reflectivity alone won't do it. You need the Signal Strength per SPAD to really understand what is going on.

As the signal rate goes up past 20M, we start turning off SPADs to keep the numbers within range.

So knowing the signal rate/# of SPADs is best. Sometimes I normalize it by multiplying it by 200 (the max number of SPADs you will see.)

There will be some variability with objects with different reflectivities. But they should all be within +/- 3% or so.

Your delta means something else is going on.

Are you using a cover glass? If so, the photons from the glass are throwing off your answer.

Read the section on 'Crosstalk calibration'.

But once you are closer, you can use signal strength to provide a little 'english' on your numbers.

But be careful. A Specular (mirror-like) surface will act differently than an Lambertian (matte-finish) one.

  • john

If this or any post solves your issue, please mark them as 'Accept as Solution' It really helps. And if you notice anything wrong do not hesitate to 'Report Inappropriate Content'. Someone will review it.
BRowl
Associate II

Thanks John,

Initially I was using SPAD, but I found it was always 45572, so it didn’t make a difference. The parameter I was reading for SPAD was EffectiveSpadRtnCount. I have no covering over the VL53L0X.