VL53L1X: Understanding the range status values and the signal rate
Hi, when using the VL53L1X, it is suggested to check for the range status and 0(zero) is considered the desired range status. Now, as I understand it, the range status 2(two) is dependent on the signal threshold. By default, the signal threshold is set to 1024, and can be adjusted by calling the SetSignalThreshold().
My problem is that, at larger distance (around 2m), the signal rate that I am getting by checking GetSignalRate() is way below. Sometimes around 30-60. This results in getting range status 2 all the time. So should i modify the signal threshold value to less than 50 so that I can consider the distance I read is valid. But are the distances valid if I do this? Or what are the possible signal threshold value that I could set so I can get the range status 0?
Another issue is that even in open air, I am getting range status 2 with distance being reported at 2.2m~2.7m. This affects my reading because I cannot differentiate between the valid signal between objects or open air. What can I do to get around this?. Based on the sensor datasheet, even in medium distance mode I could get more than 2m distance (maybe by using 16x16, so I have large FoV?). I am using 4x4 ROI due to environment of the device which can cause false detection if I am using more than 5x5.
Other details if needed:
- VL53L1X is on a custom board with STM32F411CE
- The target that I am supposed to detect is a powder coating material of white color (which is supposed to be highly reflective).
- I am able to obtain signal rate of 850+ if the distance is around ~1m.
Let me know if you need more information about my setups.
Thanks,
Aiman
