Skip to main content
HHaje.1
Associate III
October 7, 2021
Solved

VL53L1X calibration process

  • October 7, 2021
  • 12 replies
  • 7306 views

Hi

Do we need to calibrate every sensor in the production line, or we just need to make the calibration once to the standard product?

Sensor: VL53L1X.

Thanks

This topic has been closed for replies.
Best answer by John E KVAM

Both of those are true.

The offset calibration must be done per device.

if you promise your glass quality is consistent and your production values are such that the air-gap between the glass and the sensor is consistent, then go ahead and crosstalk calibrate the first 100 of the line. Then use the worst of those calibration numbers in the rest of your production run, assuming they are all kind of close.

The reason for using the worst is the penalty for over calibrating is a slight under-range. The penalty for under calibrating is a false target. And you don't want that.

  • john

12 replies

John E KVAM
John E KVAMBest answer
ST Employee
October 8, 2021

Both of those are true.

The offset calibration must be done per device.

if you promise your glass quality is consistent and your production values are such that the air-gap between the glass and the sensor is consistent, then go ahead and crosstalk calibrate the first 100 of the line. Then use the worst of those calibration numbers in the rest of your production run, assuming they are all kind of close.

The reason for using the worst is the penalty for over calibrating is a slight under-range. The penalty for under calibrating is a false target. And you don't want that.

  • john
HHaje.1
HHaje.1Author
Associate III
October 8, 2021

Thanks for the information,

So an offset calibration must be done for every device whatever the consistency of the protection glass, Am I getting that right?

If so, I'm wondering why it can't go as the second one?

For the cross-talk calibration, you mean by 'worst number` is the highest crosstalk value in kcps/SPAD, right?

For the last sentence, I didn't get the 'slight under-range`. And for the 'false target', would that be the protection glass itself?

John E KVAM
ST Employee
October 8, 2021

The offset depends on how much your sensor was affected by the wave solder operation. For some reason the temperature causes a bit of a drift.

So you have to do that one.

Worst does mean "the highest crosstalk value in kcps/SPAD." Right!

When over calibrated you will anticipate more photons at zero range than were really there. It throws off the results slightly.

But if under calibrated the sensor will 'see' the photons from the coverglass and assume they are from a real object. This leads to a false detect.

HHaje.1
HHaje.1Author
Associate III
October 9, 2021

Thanks, it's a step forward.

To fully grasp the offset calibration purpose and effects, I think the error would be measured in several millimeters if not done per piece, regardless of the measured distance, right?

For the cross-talk calibration, is the glass cover the only false detected object, or it could affect the measurements accuracy ahead?

John E KVAM
ST Employee
October 11, 2021

If it's an offset issue, you will be off by the same number of mm in all your measurements on that sensor. A different sensor will have a different offset.

If it's a crosstalk issue a good, strong, near object will give you the right answer. But a dull, small, more distant object will measure shorter and shorter as it moves away.

(And you could even get ghost targets.)

The crosstalk issue is the photons hit the coverglass and bounce back. So you get a couple thousand photons at distance 0. If you get 20Million at distance 20cm, clearly it doesn't matter much. But if you get a couple thousand photons at distance 1M, you will average to 50cm.

So, if coverglass, then please calibrate.

HHaje.1
HHaje.1Author
Associate III
October 11, 2021

Thanks, that's very clear now, and it explains the false readings of water tanks at dark (Just after the sunset).

Here, I'll do the calibration for sure!

However, I'm concerned about the requirements, so I've searched and come out and read this thread. I just would to make sure that I don't really need that gray 17% sheet (stated at user manual) to perform the calibration, just a well-known wide object, right?

Thanks again for your support :)

John E KVAM
ST Employee
October 11, 2021

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.

When you have that, you can run the crosstalk calibration and give it the real distance.

Knowing the real distance, and the measured distance and the signal strength of the measurement, the calibration software can work out how many photons were returned by the coverglass. And that's the crosstalk number.

By choosing a reasonably dull (non-reflective) target, the distance at which you have to calibrate is reduced - as is the size of the target.

A dark gray target works well for this. It doesn't have to be 17%, but it should be reproducible. So you could buy a commercial white balance card set. Something like:

https://www.bhphotovideo.com/c/product/1365030-REG/vello_wb_clii_white_balance_card_set.html/specs

But be careful - the diameter of the target has to be at least 1/2 the distance to the target to work well. (That's why the dark target is specified. It can be smaller.)

And that black is closer to 17% than is the gray. I'd try them both.

And buy a couple of sets - and keep one locked away in case you need it. They are not guaranteed to be calibrated. So buy a few sets at the same time.

You can buy Munsel calibrated paper from X-rite.com but it's really expensive.

HHaje.1
HHaje.1Author
Associate III
October 12, 2021

I've well received the notes for the calibration procedure.

Thank you very much

Eln.1
Visitor II
September 29, 2022

Hi HHaje.1, I see that you were able to measure water level with the VL53L1X, I was doing some testesting but the values I am getting are always less(~3 or 5cm) that the real distance.

It's not a linear factor, but it seems to be something with the water refraction. With solid targets the sensor measure very accurate.

My question is how did you calibrate/setup the device to make it work?

Thanks

John E KVAM
ST Employee
September 29, 2022

I'm going to guess that some of your photons are penetrating the water, hitting the botton and reflecting back. I used a clear plastic container and a matte finish very black surface under the water.

That keeps the reflection down.

if you are using the VL53L1X, narrow the FoV. Only the photons that are perpendicular to the water do what you want. All the others screw up the numbers.

  • john
Eln.1
Visitor II
September 29, 2022

Hi John E KVAM, I think that's happening, some photons are penetrating the water and giving noisy measurements. I will try to set the FoV to 20° ROI 8x8 and see what happens. I didn't that previously because I don't want to lost distance range.

After set the ROI 8x8 it's needed to recalibrate? if yes, what to do?

John E KVAM
ST Employee
September 29, 2022

I'd first try without a re-cal, just to see if you get closer to the right answer. If you see an effect from your change, then do the cal. I'm very sure the offset cal will not change, but crosstalk is probably going to be different. Set your FoV, then ranging on a dull target (cardboard is probably a good target) find that point where you are underranging by 20%. Then run the calibration software.

  • john
Eln.1
Visitor II
September 30, 2022

Hi, after some testings with water I finally know that the black/dark container color is crucial to get better results. What I am still struggling with is to understand the correct/best way of calibration.

I know that if we use a transparent liquid the VL53L1X must be recalibrated.

(Assuming that I don't have the ST Calibration GUI yet and I am using a customized version of the pololu library)

Document UM2356 (page 18) says:

Three calibrations are needed: RefSPAD, offset, and crosstalk.

The order the calibration functions are called is important: RefSPAD should be called first,

offset second, and crosstalk third.

I will try to do such process and wait good measurments

HHaje.1
HHaje.1Author
Associate III
October 12, 2022

Hi there,

Sorry I got so busy just since before you've posted, @Eln.1​ .

I really didn't make a successful calibration yet, I've done it to one device (results are shown here, setup is different to the question), I'm going to do that for more devices now and check the precision of results.

Narrowing FoV would shorten the range, I don't know to what degree one can narrow it, and yet get an accurate result.

In our application, painting tank internals isn't an available choice, really.

The tanks in our application might be 2 meters height or 1 meter, water or diesel liquid.

One can checkout my calibration code and adapt to his hardware/needs, I'm using SparkFun_VL53L1X library.

Have you found 'The recipe`?

HHaje.1
HHaje.1Author
Associate III
October 12, 2022

Hi there,

I've tweaked and implemeted the black page (dull to a percent) better than the previous setup (more flat across the page).

So uncalibrated measurements were only down by 1.4% in average, further xTalk calibration has went down to around 121.

What was interesting to note is that by narrowing FOV, the range is overly measured:

The average measurements at 8*8 ROI centered (Long mode, 100ms TB) is 1609.

The average measurements at 4*4 ROI centered (Long mode, 100ms TB) is 1978.

The calibration environment is set as shown in images:

0693W00000UnwAlQAJ.png0693W00000UnwB0QAJ.png 

Any hints?