2022-01-24 06:55 AM
When using the function "vl53l5cx_motion_indicator_set_distance_motion(&motion_config, min_dis, delta_dis);" One requirement is that "min_dis >=400 mm" . I followed this requirement in my program but, I moved my object in the distance range of "100-200 mm". The sensor still can give a motion_indicator value, and this value seems right (roughly proportional to my moving speed). Anyone knows (1) what does THIS minimum distance mean? is it a parameter required in ST's in-chip's calculation or it is a real physical distance from the sensor to the object in order to "produce" a motoin_indicator? (2) Can I trust the result or not in my case? (3) how the motion_indicator is calculated? any detailed explanation or links to learn? If we do not know how "motoin_indicator" is calculated, it is always a risk to use it in an industrial application (right?).
2022-01-24 07:36 AM
I think we released that feature before it was really understood. We wrote it for one application, and at one distance setting. So we released it, not truly understanding how others would use it.
So here is what is going on...
The laser light does not turn on and off instantly. By the time the last photons go out, the first ones have already traveled 400mm (round trip).
We bin each return photon into a histogram. And even if the target is at distance 0, there will still be some photons in the bin at 400mm.
Generally all, this is handled in the chip and it doesn't matter.
But with the motion, we are looking for changes in the histogram and to save computation (and code space) we do not translate those histograms into distances before evaluation.
I believe you will be a lot happier, if you assume the 400 setting is distance 0.
So a setting of 500 would be 100mm or 10cm.
The motion code simply compares the new histogram to the old one, and the settings define which histogram bins to look at.
So if you offset them by 400 you should be fine.
Let me know how you get on.
Feedback would be apprecated.
2022-01-25 03:16 AM
Hello, John, Thank you for your quick reply!
I understand your explanation as: minimum 400 mm is a "requirement" by ST and it does not matter for an application. We can think 400 mm as a "zero " distance , and setting (400+2d1, 400+2d2) implies that the user's interest range for motion_indicator is in (d1, d2). Right??
I have another question regrading the "REFLECTANCE" from VL53L5: It is said in UM2884 5.1, "Reflectance" is in percent. I got the reflectance for my 4 x 4 targets (i set one target one zone in the platform_config_custom.h). (1) some values >100, seems not right. The status code and the distance however are right in the same scan. why? (2) The "Reflectance" i got is distance-dependent (Surface area related also??? I have the impression but cannot prove it without a large object). It seems that this value does not directly represent the surface reflectance of the object (at 940 nm) . We can not use it directly to distinguish target materials, Can we????
VL53L5 is a fantastic sensor!!! looking forward to your new AN/UM release!!
2022-01-25 07:30 AM
Yunlion -
(As much as I like our conversation, different questions should be put in new posts. That way they are searchable by others.)
But I think we have a misconception here. What the sensor returns is signal strength. Reflectance is a propriety of the target material. White sheet paper is has a reflectance of 88% for instance. While flat black spray paint has a reflectance of 5%. (These are more rules of thumb then precise values.)
One can buy calibrated papers, but at a cost of 26 dollars per sheet. (200 sheets minimum order.)
One buys them from:
X-rite Pantone
4300 44th Street
Grand Rapids, MI 49512
(616)818-6769
But one can estimate the reflection by knowing that the light disperses as a square of the distance. If one knows the distance and the signal strength some simple arithmetic will give the reflectance. But it's just a estimate.
I'd place a white sheet of paper in front of the sensor and see if you get close to the 88%. But +/- 10 is probably as close as you are going get. And try it at several distances to see how consistent your numbers are.
The user manual does state it's an estimate. But it does not state how good that estimate is.