VL53L1X ULD short range behaviour when target is located outside of measurement range
- April 19, 2021
- 1 reply
- 1095 views
We are using the VL53L1X sensor with the ULD API in one of our products. During final evaluation we encountered situations where the sensor delivers wrong measurement values with status OK.
In the attachment you will find the documentation of measurement series which were performed using a white wall with even surface covering the full FOV of the sensor (target is larger than 1.5x1.5m) within the range of 4m. The measurement setup is in a cellar room without ambient light and only room lighting (low IR).
Timing budget and inter-measurement time were both set to 15ms and short range distance mode was selected. In the attached Excel sheets you will find min/max values for distance value, ambient and counter values for the different status values (e.g. number of results flagged with status 4 -> cnt4). We call these statistical values and can read them / reset them via commands sent to our product.
The measurement was performed as follows:
1. Position our product at the distance „d“
2. Reset the statistical values
3. Let the sensor measure for 5s
4. Read out the statistical values and fill them in the Excel sheet
5. Increment „d“ by 100mm and start again from 1.
When you look at the results (VL53L1X_ULD_tb15ms_short_range.xlsx), you will see that up to a distance of 1.4m the sensor measures fine and all results are marked as OK (all counters except cnt0 are zero -> no errors).
Between 1.4m and 2.1m all results are marked as “out of bounds�? (all counters except cnt4 are zero), which is expected, as we exceed the maximum range.
Beginning from 2.2m we see a massive increase of incoming measurement results which are marked as OK, but the distance value is completely wrong (see minVal, maxVal).
Especially distances between 2.3-2.5m are affected.
After this measurement we increased the timing budget / inter-measurement time to 20ms and found out that this greatly reduced the effect (see VL53L1X_ULD_tb20ms_short_range.xlsx), yet at 2.3m a minor amount of results were marked as valid again.
In our application scenarios most of the time the sensor will see a target within the measurement range, but it is not guarenteed and we rely on the sensor marking such measurements as invalid. Under no circumstance we can accept wrong distance values marked as valid. It would be fine if the sensor reliably marks them as "out of bounds" or "wrap around".
Since of the unreliable measurement results we are unable to release our product. How can we get rid of this issue to ensure a reliable sensor operation ?
