cancel
Showing results for 
Search instead for 
Did you mean: 

Clarification on how VL53L0X and VL53L1X calculate distance from photon bin counts

JStra.4
Associate

Could someone please shed some light on the algorithm the VL53L0X and VL53L1X use to calculate the distance from the returned photons for each laser pulse? @John E KVAM​  you’ve mentioned in other blogs that photons seen are “averaged�? – is the logic something like “during the return period there were X number of photons counted, photon number X/2 was counted in bin #11, therefore use the time of this bin for this pulse�??

I’m really interested in this because like a couple of other people have noted I’m finding both these sensors return consistently different distance for surfaces with different reflectance. I’m not using a cover glass, the sensors are perpendicular to the surface, I've been using a 100ms timing budget averaged over 50 ranges and am measuring fairly short distances (between 177-279mm). Some results for different materials arranged from shiniest to least shiny (according to my best judgement) are attached.

As you can see the error trend is fairly consistent between materials for both sensors. In another post you mentioned that the centre of the VCSEL illuminates slightly before the outer region, would the shiny surfaces picking up this effect be the cause (compounded by my measurement distances being quite short)?

By the way these sensors are amazing - keep up the good work!

1 ACCEPTED SOLUTION

Accepted Solutions
John E KVAM
ST Employee

your problem is one of physics. The laser turns on and emits a main blast of photons. Then, every so slightly later, the full VCSEL comes one and covers the full field of view.

So if your object is shinny, you get a lot of photons returned from that main blast, and they return quicker, leading to a shorter distance. For duller targets you will get higher percentage of the photons from the full laser, and this a slightly longer distance.

What one might be able to do is to apply a correction factor.

if the object is close and has a huge signal return (use signal per SPAD to calculate this), then add a bit to the measurement.

if the object is close but has partularly small signal per SPAD then subtract just a touch.

It will take some experiment, and may not work in all cases, but it should get you a little closer.

  • john


Our community relies on fruitful exchanges and good quality content. You can thank and reward helpful and positive contributions by marking them as 'Accept as Solution'. When marking a solution, make sure it answers your original question or issue that you raised.

ST Employees that act as moderators have the right to accept the solution, judging by their expertise. This helps other community members identify useful discussions and refrain from raising the same question. If you notice any false behavior or abuse of the action, do not hesitate to 'Report Inappropriate Content'

View solution in original post

1 REPLY 1
John E KVAM
ST Employee

your problem is one of physics. The laser turns on and emits a main blast of photons. Then, every so slightly later, the full VCSEL comes one and covers the full field of view.

So if your object is shinny, you get a lot of photons returned from that main blast, and they return quicker, leading to a shorter distance. For duller targets you will get higher percentage of the photons from the full laser, and this a slightly longer distance.

What one might be able to do is to apply a correction factor.

if the object is close and has a huge signal return (use signal per SPAD to calculate this), then add a bit to the measurement.

if the object is close but has partularly small signal per SPAD then subtract just a touch.

It will take some experiment, and may not work in all cases, but it should get you a little closer.

  • john


Our community relies on fruitful exchanges and good quality content. You can thank and reward helpful and positive contributions by marking them as 'Accept as Solution'. When marking a solution, make sure it answers your original question or issue that you raised.

ST Employees that act as moderators have the right to accept the solution, judging by their expertise. This helps other community members identify useful discussions and refrain from raising the same question. If you notice any false behavior or abuse of the action, do not hesitate to 'Report Inappropriate Content'