2024-07-12 02:40 AM
Greetings!
When I measure objects closer than 10 mm from the VL53L4CD, the result deviates significantly from what was expected, and the result also varies significantly depending on the texture and gloss of the object.
Is it possible to configure the VL53L4CD to be more accurate in the range 0 - 10mm distance from the sensor?
I have carried out some simple test measurements in the range 20 - 0 mm with the colors matt black, matt grey, light yellow and shiny white. Please read the uploaded PDF showing measuring test results and graphs.
Regards Jorgen
Solved! Go to Solution.
2024-07-29 02:02 PM
It appears to me that you are correct.
But I have at least a partial suggestion
Switch to the VL53L4CX. The software is more complex, although we give it to you.
I think you will be happier.
My simple test is to place a object at 7mm - it's the height of the connectors on the eval board.
With this set-up I get 0.4.
with a better offset calibration, I believe I can get closer, but I wanted to respond quickly.
Give the VL53L4CX a try and see if you like it better.
- john
2024-07-18 07:14 AM
Hello,
Having a look to your pdf, the results at 0mm are not as good as expected. Are you using a cover-glass ? If not, we recommend to use one.
To get a better accuracy, you can also increase the timing budget.
Regards
2024-07-25 12:29 PM
Hello Anne.
I followed your advice, and tested time budget = 200 milliseconds and cover-glass. Unfortunately it didn't give better results. The use of cover glass gave slightly worse results. See uploaded graph (picture) with comparisons (VL53L4CD measured average vs actual range distance mm.png)
I followed the guidelines in ST document: AN4907 Application note I used high quality camera lens 9H glass 0,35 mm thick and zero air gap.
My personal conclusion: VL53L4CD measurement below 10 mm is unreliable.
Do you have any suggestions for improvement?
Regards
Jorgen
2024-07-29 02:02 PM
It appears to me that you are correct.
But I have at least a partial suggestion
Switch to the VL53L4CX. The software is more complex, although we give it to you.
I think you will be happier.
My simple test is to place a object at 7mm - it's the height of the connectors on the eval board.
With this set-up I get 0.4.
with a better offset calibration, I believe I can get closer, but I wanted to respond quickly.
Give the VL53L4CX a try and see if you like it better.
- john
2024-07-31 03:44 AM - edited 2024-09-11 02:24 AM
Thank you John.
I will look into the VL53L4CX. In the manual it says: ST histogram algorithms ensure cover glass crosstalk immunity beyond 80 cm and dynamic smudge compensation for targets below 80 cm. It's exactly what I need.
Anyway I have been working with the VL53L4CD for some time and programmed approx 700 lines of robust and error-correcting functionality with detailed error descriptions to Arduino.
The detection of sensor blocking is not perfect, but it is OK for now. Have at look at this short video (3 minutes):
Train detection with VL53L4CD laser sensor
I am still working on improving the accuracy of measurement below 10 millimeter with different colors and gloss. E.g. to compensate for matte black and matte gray I am testing for distance < 20 mm and Signal SPAD/KCPS < 50 (Actual distance close to zero mm). I will also try to mount the 0,35 mm cover glass with 0,65 mm air gap. I.e. 1 mm to the top of cover glass.
Regards
Jorgen
2024-08-23 08:23 AM - edited 2024-09-11 02:30 AM
Greetings John.
2024-08-26 07:47 AM
Jorgen -
I'm impressed. I didn't actually run it sure looks to me like a well thought out bit of code.
Might I suggest that you publish it on GitHub. It's easy and lots of people go there looking for examples.
You can insert the entire project if you so desire and people have more than just the main.c to look at.
Either way, well done!
- john