2019-05-29 04:30 AM
Dear members,
I am currently trying to interface Arduino Atmega 328p with VL6180X via I2C Bus. I have prepared basic code for reading Range value in single shot and continuous mode, it is working file. Now I changed I2C SCL to 100 KHz, 50 KHz, 20 KHz , sensor seems to be working file. I have connected DSO Oscilloscope and checked the I2C data frames, everything seems to be fine.
Now due to project requirement I must use I2C SCL = 10 KHz only. With this freq, the data value always remains to either 0 or 255, and the RESULT__RANGE_STATUS registe r(0x04D) has value 0x01. I tried disabling sysrange__early_convergence_enable from register SYSRANGE__RANGE_CHECK_ENABLES (0x02D), still no help.
Surprisingly I can read device ID (IDENTIFICATION__MODEL_ID) at this frequency, which confirms that there is no any issue on I2C side. I suspect there is some issue on writing register value or some timing parameter on sensor side.
Does anyone has tried to use this sensor at 10 KHz.
2019-06-21 11:51 AM
Hi,
You may find the answer here:
https://community.st.com/s/question/0D50X0000Az2kJhSQI/vl6180x-not-working-with-10khz-i2c-frequency