cancel
Showing results for 
Search instead for 
Did you mean: 

Measurement problem on VL53L3

Vandr.1
Associate II

Hello, I use a VL53L3cx sensor and API STSW-IMG015. I am having two problems. The first is that in the interruption mode, the VL53L3cx stops sending the interruption after 20 received measurements, speed i2c 400khz. The second problem is that the sensor does not measure a distance of more than 1.8 meters, at this distance it gives chaotic results in the range of 20-300mm, I use this setting VL53LX_DISTANCEMODE_LONG. Tell me what could be the problem?

2 REPLIES 2
John E KVAM
ST Employee

As odd as it seems, changing the distance mode on the L3 from the default does not help.

Go back to the default. It, oddly, works better.

Those modes were put in when we processed the data on the sensor.

By uploading the raw histogram data to the host, we can post process it better.

Switching to Long mode means that there are fewer pulses of light being sent.

And with fewer pulses, we get a worse measure.

I'm going to guess that if you stop gettting interrupts, it's because you stopped clearing them, or the I2C interface got an error.

Are you using a long wire between the sensor and the host? That's the most common reason for I2C failures.

A good range depends on getting a goodly number of photons back. We would like 20Million, but can use as few as 0.5Million.

If you target is small or not very reflective, you can have a hard time ranging.

I explain that the sensor can see people to 3Meters, but can only see a hand to about 80cm.

As an experiment, try a larger target or a large sheet of white paper.

The sensor returns a RangeStatus. This is NOT the function status. The RangeStatus will tell you why you didn't get a good range.

Let me know that number, an I can give you more information about your range.

  • 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.
Vandr.1
Associate II

Hi John,

Thanks for the answer. I checked your assumptions and found myself a conflict with the I2C, I programmatically eliminated this problem and everything worked.