Tengo un RPi que controla un sistema solar que usa sensores de temperatura en el bus I2C, los sensores están lejos del RPi (20 m). El problema es que tengo torres de refrigeración y compresores de refrigeración que tienen altas corrientes de conmutación. Al principio probé el I2C y no funcionó con la frecuencia predeterminada. Así que reduje la frecuencia con la que funcionó por un tiempo. Sin embargo, cada vez que algunos de los fanáticos comienzan a funcionar, pierdo algunas lecturas durante un par de segundos y los sensores comienzan a actuar de forma extraña.
Creo que es un problema de ruido, especialmente porque mi fuente de alimentación de 230 VCA proviene de la misma fuente de alimentación de 3 ~ ph de los ventiladores.
¿Cuál sería la mejor manera de proteger las señales en el bus I2C? Ahora uso cable CAT5 para cablear los sensores. Quería usar CAT7, pero luego leí que esto en realidad lo empeoraría ya que CAT7 tiene una capacidad más alta, lo que es peor para el autobús en distancias más largas.
Más información:
Actualmente estoy usando 10kHz ya que el valor predeterminado de 100kHz no funcionó. Sin embargo, en una configuración similar (pero sin los ventiladores cercanos) me salí con 100kHz y más de 20m sin extensores ni nada. El sistema ha estado funcionando sin problemas durante más de 2 años. Por eso creo que es un problema de ruido.