We are adding today a new product to our family of position sensors: the Yocto-RangeFinder. It is a kind of intermediate between the low-cost Yocto-Proximity and a precise but expensive laser rangefinder. So let's see how much you can expect from this new piece of hardware...
The Yocto-RangeFinder is similar in size as many of our USB sensors, such as the Yocto-Altimeter: 20mm wide, 58mm long and just a few millimeters high. One could hardly guess that it encompass a tiny laser rangefinder for performing Time-of-Flight (ToF) distance measurements...
The Yocto-RangeFinder features a tiny laser ranging module
Principles and limitations
The ST Microelectronics VL53L0X rangefinder sensor embedded on the Yocto-RangeFinder includes a 940nm infra-red VCSEL emitter, invisible to human eye, and an array of single-photon detectors. That sounds great, and given its size and price, this sensor is indeed impressive. Although it looks like a simple proximity sensor, it is actually capable of detecting objects up to 1 or 2 meters, depending on the conditions, and to provide a close estimate of the nearest object distance.
This sensor is however not magic, there are a few limitations:
- 50cm away from the sensor, the sensing zone is 20cm wide
- the max precision is 3%, inside and for clear targets
- outside and for dark objects, you should rather count on an accuracy of 6%
- the max range, inside and for clear targets, is 2m
- outside and for dark objects, the max range is typically 70cm
The sensor part can be split and moved away using a 4-wire cable, to make it easier to integrate it in a machine for instance. Be careful if you intend to protect the sensor using a cover window: the measure could be affected by the window, and that might require an extra calibration step.
The sensor part can be split from the USB part
The device features several built-in calibration procedures to maintain the ranging accuracy while the environment changes.
If you don't use a cover window, the only calibration you need to take care of is a calibration for temperature changes. The Yocto-RangeFinder includes a built-in temperature sensor, and when the temperature change since last calibration is larger than 8 degrees, you simply have to trigger the automated recalibration process. No physical interaction is required for this.
If you use a cover window, there is a more complete calibration procedure to compensate for the effect of glints on the window. It is important to keep the sensor as close as possible to the window, and to use a thin window, to minimize glints, as the sensor will not be able to perform measures properly if the signal/noise ration is too low. This calibration procedure only has to be done once for all, using a target put a two know distances. You can find more details about the exact procedure in the user manual.
To conclude, here is a small example that illustrates what this sensor is up to, using a Yocto-Color-V2 and a NeoPixel LED string:
A Python program turns on the LEDs according the the distance measured