I'm using a 4-channel analog to digital converter, the TI ADS1115. I'm reading the values off the i2c bus with a Raspberry Pi.
They worked ok for a few weeks- they read reliably about 95% of the time. Occasionally, all the channels would read random values for a few minutes, then they would go back to reading correctly. The devices occasionally disappeared off the bus, but that seems to be a known problem with the Raspberry Pi i2c bus.
Yesterday, they completely disappeared off the i2c bus. I can't detect their existence on the bus or read values.
Trying to debug the problem, they reappear when disconnected from inputs. As I connect each input, the probability that the ADC will appear on the bus decreases. With one input channel connected to voltage, the ADC will mostly appear available for read. With all four input channels connected to voltage (all within scale), it never appears available.
I can't explain this behavior- does it make sense to anyone else?
Update: Here's a drawing per request of what appear to be the relevant parts of the circuit. The green box represents stuff that is on a PCB. I've omitted other connections that make the whole thing a lot less comprehensible (mostly 3.3V GPIO), but I think these are all the relevant ones.
On additional testing, removing the 1-wire bus or running it on parasitic power resolves the issue. That suggests that the two communication methods are interfering with one another, perhaps through the 3.3v line. While this let's us fix the problem immediately, does anyone understand why this would be occurring so we can more thoroughly fix the problem?