cancel
Showing results for 
Search instead for 
Did you mean: 

VL53L0X - measuring ball position in plexiglass tube

matevzb
Associate II

We are trying to assemble a laboratory plant from https://github.com/gergelytakacs/AutomationShield/wiki/FloatShield

The ball position sensor (VL53L0X) is positioned at the top of the transparent policarbonate tube.

71251627-26342300-2323-11ea-9496-1c5d9f2872e3

 

We checked the reported ball positions by moving the ball in increments of 5 mm and noting the measured value. The results look almost linear without any obvious issues.

Since the example controller was still not working as it should, we checked the measured ball position with an external reference video system during the actual operation. The graph below shows the ball position from the bottom of the tube.

results_sensor.png

There appears to be large discrepancies in the middle of the tube.

There are internal reflections of the ball on the sides of the tube - could this cause issues in reported ball position? Is it possible to measure only the first reflection with these sensors? This would practically invalidate all other reflections since those paths are longer.

1 ACCEPTED SOLUTION

Accepted Solutions
John E KVAM
ST Employee

I've got some ideas that can help...

1) switch to the VL53L4CD. The sensor has a 18-degree Field of View instead of the VL53L0's 27-degree Field of View. (Code is easier, smaller, and you get more photons pointing where they should. And it's the same shape, and electrically equivalent. No board changes at all.)

2) If you have any control over what your ball looks like, I'd suggest making it white. And a matte finish would be best.

3) you did not mention anything about your coverglass. Is it of good optical quality? You could have a crosstalk issue. 

Read the article:

https://community.st.com/t5/mems-and-sensors/time-of-flight-cover-glass/ta-p/49259

It does a good job pointing you to other useful information.

I did a similar test with water in a column. Even though the distances were off a bit due to the acrylic structures, I found I could create a correction polynomial. I took 11 points from my zero location to my 100% location. Entering that data into Excel, I did a polynomial fit. I then used this to correct my data. 

But note that balls are interesting shapes. Very little of the light that hits them reflects back as the bit of the ball that is perpendicular to the sensor is small. The vast majority of the light just bounces away. 

Would you consider changing that ball to a cylinder shape? Having a flat top would increase the reflective surface, making your problem trivial. 

In fact, I see this sort of problem so often, that I call it the 'piston problem'. 

- 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

1 REPLY 1
John E KVAM
ST Employee

I've got some ideas that can help...

1) switch to the VL53L4CD. The sensor has a 18-degree Field of View instead of the VL53L0's 27-degree Field of View. (Code is easier, smaller, and you get more photons pointing where they should. And it's the same shape, and electrically equivalent. No board changes at all.)

2) If you have any control over what your ball looks like, I'd suggest making it white. And a matte finish would be best.

3) you did not mention anything about your coverglass. Is it of good optical quality? You could have a crosstalk issue. 

Read the article:

https://community.st.com/t5/mems-and-sensors/time-of-flight-cover-glass/ta-p/49259

It does a good job pointing you to other useful information.

I did a similar test with water in a column. Even though the distances were off a bit due to the acrylic structures, I found I could create a correction polynomial. I took 11 points from my zero location to my 100% location. Entering that data into Excel, I did a polynomial fit. I then used this to correct my data. 

But note that balls are interesting shapes. Very little of the light that hits them reflects back as the bit of the ball that is perpendicular to the sensor is small. The vast majority of the light just bounces away. 

Would you consider changing that ball to a cylinder shape? Having a flat top would increase the reflective surface, making your problem trivial. 

In fact, I see this sort of problem so often, that I call it the 'piston problem'. 

- 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.