VL6180 part to part variation
Hi all,
What is the part to part variation of ST VL6180 ToF sensor? During testing, we keep the sensor at a distance of 50mm from a retro reflector tape. In a batch of 50 sensors, the readout was from ~ 37 mm to ~51 mm (expected readout is 50).
We made a larger batch of 1800 boards and ~130 boards had a readout from 25 mm to 60 mm (expected readout is 50) .
We have used the below settings as per the datasheet.
# Recommended settings from datasheet
self.writeI2C(0x0207, 0x01)
self.writeI2C(0x0208, 0x01)
self.writeI2C(0x0096, 0x00)
self.writeI2C(0x0097, 0xfd)
self.writeI2C(0x00e3, 0x01) #VL6180_WriteByte(0x00e3, 0x00); (seen this in ST forum)
self.writeI2C(0x00e4, 0x03) #VL6180_WriteByte(0x00e4, 0x04); (seen this in ST forum)
self.writeI2C(0x00e5, 0x02)
self.writeI2C(0x00e6, 0x01)
self.writeI2C(0x00e7, 0x03)
self.writeI2C(0x00f5, 0x02)
self.writeI2C(0x00d9, 0x05)
self.writeI2C(0x00db, 0xce)
self.writeI2C(0x00dc, 0x03)
self.writeI2C(0x00dd, 0xf8)
self.writeI2C(0x009f, 0x00)
self.writeI2C(0x00a3, 0x3c)
self.writeI2C(0x00b7, 0x00)
self.writeI2C(0x00bb, 0x3c)
self.writeI2C(0x00b2, 0x09)
self.writeI2C(0x00ca, 0x09)
self.writeI2C(0x0198, 0x01)
self.writeI2C(0x01b0, 0x17)
self.writeI2C(0x01ad, 0x00)
self.writeI2C(0x00ff, 0x05)
self.writeI2C(0x0100, 0x05)
self.writeI2C(0x0199, 0x05)
self.writeI2C(0x01a6, 0x1b)
self.writeI2C(0x01ac, 0x3e)
self.writeI2C(0x01a7, 0x1f)
self.writeI2C(0x0030, 0x00)
# Recommended settings from "Interpreting ALS and Range Results" section
self.writeI2C(0x0011, 0x10)
self.writeI2C(0x010a, 0x30)
self.writeI2C(0x003f, 0x46)
self.writeI2C(0x0031, 0xFF)
self.writeI2C(0x0040, 0x63)
self.writeI2C(0x002e, 0x01)
self.writeI2C(0x001b, 0x09)
Is there something that we are missing ?
