cancel
Showing results for 
Search instead for 
Did you mean: 

VL6180x Offset and Crosstalk Calibration method range measurement

BVinc
Associate

Hello my company we use VL6180X for proximity sensing, in a robot gripper's finger. The sensor is located in the middle of the finger 10mm deep 7mm wide hole.

The range measurements data of the finger's sensors are so different. I think this is caused by reflection of the hole's wall like a crosstalk event. We want to make an offset and and a crosstalk calibration method, but it's not clear for me how to calculate the offset difference and the crosstalk difference . Should it be measured from the top of the sensor chip or from the top of the sensor house, like it would be a very thick glass cover? The datasheet writes "from top of the cover glass" but we don't have a cover glass.

5 REPLIES 5
IKhly
Associate II

Hi vincze.balazs, I have a similar issue and nobody reply here as well. Seems st support completely dead.. I try to use low level commands to measure a distance but VL6180x shows ******** instead of promised tolerance )) The minimum range is 160mm max 300mm instead of 0:100mm, and far not linear, <160mm I see only 15mm result )) I'll try to revers engineering their stupid API for couple days, if I spend more time, I gonna switch my product to avago stuff ))

John E KVAM
ST Employee

​Sorry for the lack of support. Completely my fault for not tracking the site correctly.

If no coverglass, then no crosstalk calibration is required. The trick is to make the hole wide enough so the sensor does not 'see' the side of any hole.

Use the enclosed excel spread sheet to calculate the keep-out.

To calculate the offset, put an object at some well-known distance and range on it, the offset is the difference between the two numbers. Use that as your offset. All numbers should be from the top of the sensor, or cover glass if you have one.


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.
RCres.1
Associate III

Hi John E KVAM,

Using Manual offset calibration procedure of https://www.st.com/resource/en/application_note/dm00122600-vl6180x-basic-ranging-application-note-stmicroelectronics.pdf I get:

  • Initial measurement with default factory offset (value for register 0x24 = 11) when target is at 50mm is 0
  • Changing 0x24 to 0 and collecting more than 10 measurements ( All measurements = 0 mm range)
  • Offset = 50 - 0 = 50
  • Appying offset = 50 into 0x24 in C2s format --> Now measured range when target is at 50 mm is 25 (target from 0 to 50mm I get 25mm as range measurement), and maximum length measured is 225
  • Applying offset = 60 -> Range measurement from 35 to 235
  • Applying offset = 70 -> Range measurement from 45 to 245
  • Applying offset = 80 -> Range measurement from 55 to 255

So.... What I'm missing?

John E KVAM
ST Employee

Could you move this question to a different thread? Too much time has elasped between posts.

it bothers the heck out of me that you get 0 at 50mm. 0 may be a distance, but it's also what you get if something is not working.

Before your calibration, choose a distance where you actually get a distance.

By adding 10mm to your offset, you get distances that are 10mm longer. It's nothing but applying the offset to your range.

The calibration goes like this:

Disable the offset registor.

range 50 times and average the results

Compare that average to the known distance.

The delta is your offset - put that in your register.

Then the delta is added to all the results.

I'm thinking you are getting crosstalk - and that might be why you are getting 0 for an answer.

Did you use a highly reflective target to do your offset?

It needs to be bright enough to overcome the crosstalk effects.


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.
RCres.1
Associate III

I have moved it to https://community.st.com/s/question/0D53W00000KolaQSAR/vl6180x-offset-issues

I am not using cover glass, so I don't think crosstalk may be the problem. Anyway, I will try to adjust cross-talk

For testing we are using white sheet of paper, my hand, whatever. Behaviour is the same.

Kind Regards,

Rafa