cancel
Showing results for 
Search instead for 
Did you mean: 

VL53L1X calibration process

HHaje.1
Associate II

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

20 REPLIES 20
John E KVAM
ST Employee

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

If this or any post solves your issue, please mark them as 'Accept as Solution' It really helps. And if you notice anything wrong do not hesitate to 'Report Inappropriate Content'. Someone will review it.

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

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

If this or any post solves your issue, please mark them as 'Accept as Solution' It really helps. And if you notice anything wrong do not hesitate to 'Report Inappropriate Content'. Someone will review it.
Eln.1
Associate II

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
Associate II

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
Associate II

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?

John E KVAM
ST Employee

the solution to your crosstalk issue is to use a coverglass that is immune to crosstalk.

Go to hornix.com.tw and click on 'product'. Scroll to the bottom and you will find:

0693W00000Uo1NpQAJ.pngThat coverglass will not have any crosstalk - because of the opaque barrier between the two sides of the chip. A bit more expensive this way, but worth it. No crosstalk, even if it gets dirty.

Buy this - or just use it as a reference.

But if you use a narrow FoV, you must set the FoV before your calibrate. (I know, it's a pain.)

The reason you under-range when you narrow the FoV is you get about the same number of photons from the glass, but fewer from the target. This throws off your answer.


If this or any post solves your issue, please mark them as 'Accept as Solution' It really helps. And if you notice anything wrong do not hesitate to 'Report Inappropriate Content'. Someone will review it.

Thanks for your input,

I really need to ensure a point: I don't really perform any kind of calibration set after changing FoV, Should I perform it? (offset calibration, calibration of xTalk with uncalibrated offset returned xTalk of zero (0), as it over-ranges)

I'd like to mention that without performing the calibration, I get 'over-range' not vise-versa (160cm 8*8, 198cm 4*4), seems strange really, but this is the observation.

I appreciate your suggestion, it'll be in our option list for sure, but genuinely we are heading towards providing working prototypes to clients as quick as possible (We'd be testing on a test tank before that for sure).

Back to the issue: The sensor at daytime just reads the liquid level sufficiently, but starting at sunset and until the next day, the sensor sees the dear ghosts continuously xD.

Removing the coverglass will kill the chip (It goes decapped and defect) (because of water vapour, to our observations).

To recap, we currently have these options:

  • FoV adjustment.
  • xTalk calibration*.
  • Distance mode (Set to Long)**.
  • Zero-offset coverglass (extra hardware and delay).

* I'll try a cardboard instead of the black paper, perhaps to get the right condition.

** Short distance mode is limited to about 1.3m, by my tests xTalk calibration couldn't eliminate under-ranging, so I've set it back to Long (Medium is abscent at SDK).

Any ideas?

John E KVAM
ST Employee

Notes: Coverglasses are always recommended. Unless you are in a lab setting. Reducing the FoV is a good idea, but it does limit the ranging distance.

Water is a difficult problem. If you can 'see' a reflective bottom, then you will overrange. Only solution is to carefully create a look up table. You hvae to compensate for the photons that are slowed by the water and reflect off the bottom.

If you under-range, it's a crosstalk problem. If you over-range, you are 'seeing' the bottom.

If you change the FoV, you really should load the crosstalk calculation you did with that FoV.

Each different FoV should have it's own Xtalk calibration.

Or you could use the crosstalk free coverglass.


If this or any post solves your issue, please mark them as 'Accept as Solution' It really helps. And if you notice anything wrong do not hesitate to 'Report Inappropriate Content'. Someone will review it.

Hi John, sorry again for incomplete statement.

The over-ranging with narrow FoV is observed at lab setting shared earlier. so there's no real thing it can see further 150 cm, I've made sure that the sensor faces the center of the black paper.

I'll try a cardboard instead and I will share updates soon.