2021-06-25 03:38 AM
Hello,
We ordered some VL53L1X and put them on our PCB. We ran into a problem at the moment of changing the address: we can give these sensors only two address options 0x52 (default) and 0x53 so that they work correctly, but at other addresses the sensor initialization procedure looks correct, and the sensor can be seen, but during the measurement it returns only 0 mm.
We are wondering if there is a possibility of defective modules that we ordered? Or do we need to find the problem somewhere else? (we do not think this is a code, because on one module of the Pololu board, changing the address works fine) .
Best regards,
Aliaksandra
Solved! Go to Solution.
2021-06-25 07:11 AM
In the software is a function to change the address. The procedure is to put them all in reset using the XSHUT pin.
then take them out one at a time and call the ChangeAddress function. For the VL53L1X UltraLite Driver it's
VL53L1X_ERROR VL53L1X_SetI2CAddress(VL53L1_Dev_t, uint8_t new_address);
Your software might be something different.
All I2C address have a write address where the least significant bit is 0.
That chips read address is the same address with the LSb set to 1.
0x52 is the write address, 0x53 is the read address by default. Some people spec the 7-bit address and call this 0x29.
To get multiple chips running, change the first one to be at least 2 away for the others .
To see an example of this, download from the ST web site
STSW-IMG017 2D LIDAR using multiple VL53L1X Time-of-Flight long distance ranging sensors
In the main.c I set up 9 sensors.
2021-06-25 07:11 AM
In the software is a function to change the address. The procedure is to put them all in reset using the XSHUT pin.
then take them out one at a time and call the ChangeAddress function. For the VL53L1X UltraLite Driver it's
VL53L1X_ERROR VL53L1X_SetI2CAddress(VL53L1_Dev_t, uint8_t new_address);
Your software might be something different.
All I2C address have a write address where the least significant bit is 0.
That chips read address is the same address with the LSb set to 1.
0x52 is the write address, 0x53 is the read address by default. Some people spec the 7-bit address and call this 0x29.
To get multiple chips running, change the first one to be at least 2 away for the others .
To see an example of this, download from the ST web site
STSW-IMG017 2D LIDAR using multiple VL53L1X Time-of-Flight long distance ranging sensors
In the main.c I set up 9 sensors.