Estoy usando un convertidor de analógico a digital de 4 canales, el TI ADS1115 . Estoy leyendo los valores del bus i2c con una Raspberry Pi.
Trabajaron bien durante unas pocas semanas; leían de manera confiable aproximadamente el 95% del tiempo. Ocasionalmente, todos los canales leerían valores aleatorios durante unos minutos, luego volverían a leer correctamente. Los dispositivos ocasionalmente desaparecían del autobús, pero parece ser un problema conocido con el bus Raspberry Pi i2c.
Ayer, desaparecieron completamente del bus i2c. No puedo detectar su existencia en el bus o leer valores.
Tratando de depurar el problema, vuelven a aparecer cuando se desconectan de las entradas. A medida que conecto cada entrada, la probabilidad de que el ADC aparezca en el bus disminuye. Con un canal de entrada conectado al voltaje, el ADC aparecerá en su mayoría disponible para leer. Con los cuatro canales de entrada conectados a la tensión (todo dentro de la escala), nunca aparece disponible.
No puedo explicar este comportamiento. ¿Tiene sentido para alguien más?
Actualización: Aquí hay un dibujo por solicitud de lo que parecen ser las partes relevantes del circuito. El cuadro verde representa cosas que están en un PCB. He omitido otras conexiones que hacen que todo sea mucho menos comprensible (en su mayoría, 3.3V GPIO), pero creo que estas son todas las relevantes.
En pruebas adicionales, eliminar el bus de 1 cable o ejecutarlo con energía parásita resuelve el problema. Eso sugiere que los dos métodos de comunicación están interfiriendo entre sí, quizás a través de la línea de 3.3v. Si bien esto nos permite solucionar el problema de inmediato, ¿alguien entiende por qué ocurrirá esto para que podamos solucionar el problema de manera más exhaustiva?