2022-01-06 10:59 PM
Hi,
I'm using the VL53L1X sensor with my raspberry Pi3.
Using the python code to read from the two sensors. On starting changing the address using the XSHUT pin.
The Pi3 is powered from a battery via regulator. The setup also has an option of being charged via external circuitry.
From the past month I'm observing an issue where sometimes the sensor address are being reset when the charging starts. The issue happens very random.
I could identify that whatever code (C, python) I use i observe this.
I could verify that during the initiation of charging the Pi3 is not getting any error but the sensors are only reset, rest everything is working fine.
Also When I searched the Pi forums I saw a post where a guy was claiming that the sensor powers off when an EM interference happens. I think in my case also there could be an EM interference when the charging starts.
https://forums.raspberrypi.com/viewtopic.php?p=1828654&hilit=vl53l1x#p1828654
Could you please help me on what could cause this issue?
Thanks in advance.
2022-01-11 07:25 AM
There are only 2 ways to reset the I2C address. Toggle the power, or toggle the XShut line. But it doesn't take much of a toggle. An EMI hit on either line could do it.
I'm thinking larger caps and stronger pull-ups might fix your issue. And putting those caps as close as yo can is a good idea too.
Good luck,
2022-01-12 08:31 PM
Thanks John for the reply.
In my case i'm sure that the power and XSHUT pins are not driven low/toggled by the software. Also couldn't see any power issues on the raspberry Pi that could toggle the power line or XSHUT pin.
Also I'm using two different boards with the VL53L1X, one is the the VL53L1X-SATEL & the other is AE-VL53L1X. The AE-VL53L1X chip seems to have more probability for the issue. I've ensured that both sensors have 10k pullups for XSHUT pins.
I'm using these sensors on my drone and there are motors & it's wirings nearby the sensor so EMI could also be there.
Regarding your suggestion of using caps and pullups, could you please suggest what additional values should I be using to avoid this issue. I'm also attaching the schematics of the VL53L1X sensors that I'm using.
Thank you.