cancel
Showing results for 
Search instead for 
Did you mean: 

What can I do to maximise range of VL53L5CX?

Cameloah
Associate

I am using the VL53L5CX to measure the water level of a sewer tank. More info about geometry setup and environment further down or here.

I need to range from 0.5 to 2 meters and am also dependent on further lateral measurements than just the center spads. Therefore I need the 8x8 pixel matrix.

It looks like I do not get any signal (checked the kcps/spads signal strength) beyond roughly 0.7 meters. I was able to measure distances beyond 2 meters at home, pointing the sensor to a white wall.

I therefore was wondering if there are any settings in the sensor that I can use to increase the range? I do not need a high sensing frequency. I know its a demanding job to measure water levels. But I want to get the most out of it. 

The setup, pictures and detailed information can be found here: Github page
In general:

- dark, concrete circular container (1.5m wide x 2.2m deep
- water is dirty, hopefully more reflective than clear water
- view of center spads are blocked by walls, dividing the container in 3 chambers. I need the 8x8 spad matrix in order to measure past the walls. 

 

Any help is appreciated! Thank you very much!

1 ACCEPTED SOLUTION

Accepted Solutions

A one second integration time is a lot! 

It's clear that you have reached the limits of that sensor. 

You 'see' the white wall because the wall returns a large proportion of the photons that hit it. 

High reflectivity targets are easy. 

White paper is 88% reflective, whereas flat black spray paint is about 5% reflective. 

And water is more like black than it is white. Worse, the nature of water is working against you. 

Photons that strike perpendicularly bounce back. Almost everything else penetrates the water and is either absorbed or bounces off the bottom and makes a mess.

You are going to have to move to the VL53L8CX. It simply has more optical power. Which means it can 'see' farther. 

The sensors cost about the same. So no issues there, but you will have to re-spin your board. But keep the software. A few minor tweaks and you will be running again. 

I'd invest in the P-Nucleo-53L8A1 evaluation kit and simply try before you buy. Make sure it works to your satisfaction before you invest real money. It's only $56 dollars and you can download the software that runs it from ST's website.


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

4 REPLIES 4
John E KVAM
ST Employee

The easy thing to do is add more integration time. if you are doing 15 frames, just switch to 5 frames per second. but if you are running in Autonomous mode, you can increase the integration time to hundreds of milliseconds. 

But by far the best thing you can do is switch to the VL53L8CX The part costs the same, runs the same code (almost) and has more optical power. If you are not too far along, do this. You will get very pleased. 

We can increase the power because we started making our own lenses and diffusers out of silicon wafers. And by making our own we can keep the costs down. Win-win. 


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.

Dear John,

thank you for your quick response, that has helped already! I have 2 more questions:

1. What is the max integration time that is reasonable? I currently settled on 1000ms

2. I was wondering if you could quickly check my following pseudo code for some obvious optimizations. I am building a low power application that is woken up by an external signal and then goes to sleep again for 15 min:

// mcu wakes up by external interrupt
begin_i2c();
set_i2c_clock(1M);

set_sensor_res(8*8);
set_mode(autonomous);
set_frequency_hz(1);
set_intrgration_time_ms(1000);

start_ranging();
get_data();
stop_ranging();

set_power_mode(sleep);
mcu_go_to_deep_sleep();

 

I am looking forward to your answer! Best Regards,

Cameloah

A one second integration time is a lot! 

It's clear that you have reached the limits of that sensor. 

You 'see' the white wall because the wall returns a large proportion of the photons that hit it. 

High reflectivity targets are easy. 

White paper is 88% reflective, whereas flat black spray paint is about 5% reflective. 

And water is more like black than it is white. Worse, the nature of water is working against you. 

Photons that strike perpendicularly bounce back. Almost everything else penetrates the water and is either absorbed or bounces off the bottom and makes a mess.

You are going to have to move to the VL53L8CX. It simply has more optical power. Which means it can 'see' farther. 

The sensors cost about the same. So no issues there, but you will have to re-spin your board. But keep the software. A few minor tweaks and you will be running again. 

I'd invest in the P-Nucleo-53L8A1 evaluation kit and simply try before you buy. Make sure it works to your satisfaction before you invest real money. It's only $56 dollars and you can download the software that runs it from ST's website.


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.

Yes, regarding the reflectivity, thats what I understood from it as well. Thank you so far, that was very helpful! I will checkout the L53L8CX as an alternative.