2024-03-20 08:06 AM
I am trying to use the VL53L4CD sensor in our application, however I am seeing that while using a black latex glove almost on top of the surface (distance of less than 5mm) that it reports distances > 300mm. It seems to read okay with a range of 10mm or higher. Our application needs to range fairly close 35 to 1mm. How can I resolve this?
2024-03-20 11:06 AM
I'm going to need more information.
Can you print out the range, the status, the ambient light, the number of SPADs and most importantly the signal strength? And having a picture of the setup would be helpful as well.
There is not a lot of difference between a black latex glove and no target at all, but there should be enough.
The only way you can get a distance of 300 is to actually have a target at 300 or more away.
As the sensor averages all the photon timings a black, near target could be averaged with a farther target.
And if that farther target is really reflective it could have undue influence on the result.
Take a stainless sink with a mirror-like finish for instance. Lots of photons from that.
If your hand (and glove) covers the entire field of view(FoV), you will be fine, but if it only covers half the FoV, then mostly you see the sink.
Could that be happening?
- john
2024-03-20 11:38 AM - edited 2024-03-20 11:43 AM
Hi John,
I appreciate the quick response. With respect to readings; below is a sample I am getting on a read from the sensor when my finger with glove covering is pressed on the entire sensor (cover entire FoV in a low lit room). Are these the values of interest you are looking for?
Here are my settings to initialize:
2024-03-20 11:53 AM
Oh, so close - you missed range_status. Was it 0. Any status not equal to zero tells you what went wrong.
1) was the glove covering the entire field of view? (at 276 the FoV =~ 92mm)
2) is there anything at all in the background that could be reflecting photons?
3) Try doing an offset calibration. Take a white piece of paper and ranging on that a bunch of times.
Average those results. The difference between that average and your actual is the offset. It can be as high as 25mm.
But the biggest issue is your signal_per_spad is 0. And your signal_rate is zero.
These are truncated integers meaning that both are less than 1KCPS.
It takes about 0.5M counts to get a good range.
(So, your status should indicate 'no signal' and that 276 is kind of a random number.)
Try lowering your signal threshold.
You are not meeting threshold and therefore the sensor gives up.
And increase your sigma as well. You are demanding perfection, but don't have enough signal to get that kind of accuracy.
2024-03-20 12:50 PM - edited 2024-03-20 12:52 PM
Hi John,
Thanks for the information and recommendations. I think my range status from above was being reported as "2", which I think per VL53L4CD Ultra Lite Driver (ULD) user's manual is: "Signal is below the defined threshold".
The glove was covering the entire field of view at a "real" distance of ~< 1mm (actually pressing on it firmly). So I don't believe there was anything to be detected in the background.
I did try a few quick tests per your recommendation, which was to adjust the sigma and signal values. I tried values of 15 to 30 for sigma and also 512 to 0 for the signal. That produced the same results for the most part, however I do think the status was 1 instead of 2.
I will try the calibration next per your recommendation above.
I do have a general question...is the use case I am presenting a valid case in the sense of pressing on the sensor to cover the collector and emitter fully, or should there be a small distance/gap (i.e. window)?
2024-03-20 01:21 PM
If you do a good job of pressing that glove on the sensor, there is no way for any of the light getting out one hole to get back into the other hole.
In a real installation there will be a bit of coverglass and that will enable a bit of light to leak through.
In your testing- leave a mm or two between the sensor and the object. That will be a more fair test.
- john