2023-01-17 06:10 AM
I am trying to perform the XTALK calibration for my system that includes a coverglass on top of the sensor. I am not exactly sure what the point of calibration should be. I've read in the forum: "When doing crosstalk calibration you need to find a target and a distance where the sensor reports a range that is 10-20% shorter than it should be."
Document UM2356 shows:
which shows the calibration point to be when the measured distance is the same (and lower) for an increasing target distance.
Document UM2039 shows:
where the point is a bit after the curve.
In my case I get this which is pretty instant after a certain point:
Should I use the max point (orange arrow) or the point before that (red)? The max point is 2353mm (actual) and I am measuring 2150mm (sensor) (8.5% deviation).
Does the fact that the XTALK calibration distance is so big (2.3m) mean that my coverglass is of good quality?
thanks
Solved! Go to Solution.
2023-01-18 08:08 AM
When you calibrate you are trying to find an object that technically gives you the wrong answer.
After calibration it should give you the right answer.
But when you found a target good for calibration, you found a target that is basically hard to see.
Calibration will not make you see things at a farther distance. I will just give you better answers at the distances you can see.
770 might be as far as you can see a black target. Kind of depends on how non-reflective your black is.
A Rust-oleum flat black is about 5% reflective at 940nm. Consider that your worst case. Most everything else is more reflective than that.
Once calibrated, try a more 'normal' object. The kind of things your application expects to see. What distance does that give you. If that is satisfactory, you are good.
2023-01-17 07:17 AM
First,, you have a GREAT coverglass. If you get to 2meters with almost no deviation then maybe you don't even need to do coverglass correction based on your use case. Say you only need to know if someone was approaching - this would work just fine.
You could indeed use that 2353 distance. Or perhaps anything above 2200.
But the first thing to do is try a target that is a lot less reflective. I doubt your manufacuring house is going to want to build a 2 meter space used only for this.
Get a big piece of cardboard, and find some dark gray flat black paint. Several coats please.
Retry your rangeing.
The duller target should give you deviation at a much shorter distance. And one note. Make sure the diameter of the target is at least 1/2 the ranging distance. Too small a target can throw you off.
2023-01-18 04:20 AM
I went ahead and spray painted some cardboard. I am indeed seeing the deviation at a much shorter distance of 778mm (actual) and 609mm measured.
At that point I calibrated XTALK which gave a result of 4890.
I then set that value with VL53L1X_SetXtalk.
However the range of distance I can now measure is still the same on the black cardboard, meaning I can only measure 0-770mm with this waveform peaking at around 770mm:
thanks
2023-01-18 08:08 AM
When you calibrate you are trying to find an object that technically gives you the wrong answer.
After calibration it should give you the right answer.
But when you found a target good for calibration, you found a target that is basically hard to see.
Calibration will not make you see things at a farther distance. I will just give you better answers at the distances you can see.
770 might be as far as you can see a black target. Kind of depends on how non-reflective your black is.
A Rust-oleum flat black is about 5% reflective at 940nm. Consider that your worst case. Most everything else is more reflective than that.
Once calibrated, try a more 'normal' object. The kind of things your application expects to see. What distance does that give you. If that is satisfactory, you are good.
2023-01-19 12:13 AM
Right, got it.
I tried also from a lower actual distance of 410mm and measured 365mm (11% error) and got 5277. After this calibration however, the sensor is over ranging after about the 750mm mark. This over ranging is present when I just try to range a white wall which without the calibration would otherwise show correct results. So I am trying to full-proof the design by calibrating it since I am not yet sure about the actual max distance that it will have to range.
The cardboard I use is 1.5x1.5 meters so there shouldn't be an issue there with a calibration distance of 410mm.
There is a similar post about over ranging here but I couldn't find anything useful there.
Thanks
2023-01-20 01:33 AM
One more thing, I haven't performed RefSPAD calibration. The datasheet says this should be done for cover glass applications.
The VL53L1X ULD driver that I am using doesn't have this function however. Is that included in the VL53L1X_CalibrateXtalk function?
What steps should I take about this, should I use the full driver?
Document UM2510 shows that the ULD API has Dynamic SPAD selection:
Does that mean that I don't have to do any SPAD management?
thanks
2023-01-20 07:05 AM
that means from one range to the next, we analyze the number of photons received and adjust the number of spads we use for the next range. Using all the spad with a near or bright target just wastes power. (After every 'hit' the spad must be reset.)
If life were perfect we would get 20Msamples per second. More than that we turn off spads.
In subsequent releases we have better adjustment of the timeing budget in the ULD.
We kind of gave up on the whole concept of refSpad calibration. Turns out the value in the chip is good enough, and re-calibration was not leading to better results. So it was left out of the newer drivers.
(The ULD was written well after the full API due to customer requests.)