extender i2c a través de rs485

Muy buenas a todos:

Estoy enfrascado en un proyecto para controlar un sistema de calefacción. El proyecto en si no me es muy complejo pero tengo el problema que me gustaria tener una visualizacion de la temperatura en cada estancia es decir necesitaria conectar 10 lcd. Habia pensado en conectarlos mediante i2c ya que con 2 cables puedo controlarlos todos, pero me surge el problema de la distancia, ya que i2c solo sirve para unos pocos metros. Por ello se me habia ocurrido convertir las señales de SDA y CLK del i2c a señales que se pudiesn transmitir a mas distancia usando max485. mirando por internet he encontrado este esquema. Y en principio parece que debería de resolver mi problema. ¿que opinais vosotros? mis conocimientos de electrónica están un poco oxidados.
por cierto de que valor deberian de ser las resistencias por mas que he mirado no he visto nada al respecto.

Nota en el max485 de la parte inferior no está dibujado el Q3 que seria como el de arriba.

conversor i2c a rs485.png

Muchas gracias a tod@s

interesante, seria cuestion de pronbar

es que le veo muchas posibilidades, combinar la relativa sencillez del i2c con la posibilidad de transmitir a grandes distancias con el rs485, pero es que por más que he mirado por toda la red no he encontrado cual debe de ser el valor de las resistencias

Con todas las cautelas, pues en electrónica estoy pez, y al principio de la página pone "status: not implemented". Pero tras una rápida búsqueda creo que esto sería medio circuito. Puedes mirar más cosas en san google. Si finalmente te atreves con ello, sería interesante que expusieras por aquí tus resultados. Me parece muy interesante. Saludos.

muchas gracias por esta respuesta, seguramente previo a montarlo en el arduino, realizare unas pruebas en la board, para comprobar tensiones e intensidades,

erikblade: es que le veo muchas posibilidades, combinar la relativa sencillez del i2c con la posibilidad de transmitir a grandes distancias con el rs485, pero es que por más que he mirado por toda la red no he encontrado cual debe de ser el valor de las resistencias

r7 yr 8 son de pullup del bus, generalmente 4k7 o dependiendo de la velocidad que quieras manejar, en las especificaciones de philips está bien explicado. r5 y r2 son de pullup tambien pudes poner 10k las de r1, r3, r4, r6 son para saturación y corte puedes calcularlas por el beta del transistor a usar o probar desde 2k2 hasta 4k7

bueno pues vengo a informaros de los resultados del montaje que comente en el primer post.

no he conseguido que funcione del todo bien algunas de las señales no parecen llegarle bien a los lcd ,con uno funciona bastante bien pero al ir añadiendo más el funcionamiento se ve perjudicado y con 4 conectados al mismo tiempo empiezan a salir cosas raras en las pantallas. no he entrado mas a fondo pero consultando con algun conocido me ha dicho que el problema puede venir del hecho que existen varios buses i2c (por una parte el del arduino y luego el de cada uno de los lcd) y que es posible que con uno o dos elementos no se vean afectadas las señales pero con mas la cosa cambia. en fin seguiré mirando mas opciones por ahi

el i2c esta pensado para trabajar en el mismo circuito y quizas un metro fuera. pero al irse mas lejos empieza a haber ruidos.
para eso esta re probado el rs485 que llega hasta 1200metros con seguridad

erikblade:
bueno pues vengo a informaros de los resultados del montaje que comente en el primer post.

no he conseguido que funcione del todo bien algunas de las señales no parecen llegarle bien a los lcd ,con uno funciona bastante bien pero al ir añadiendo más el funcionamiento se ve perjudicado y con 4 conectados al mismo tiempo empiezan a salir cosas raras en las pantallas. no he entrado mas a fondo pero consultando con algun conocido me ha dicho que el problema puede venir del hecho que existen varios buses i2c (por una parte el del arduino y luego el de cada uno de los lcd) y que es posible que con uno o dos elementos no se vean afectadas las señales pero con mas la cosa cambia.
en fin seguiré mirando mas opciones por ahi

yo creo que puedes usar unos arduinos pro mini con cada lcd y así comunicarte a través de rs485 y luego le pasas la información a cada pantalla

Yo creo tmb que debes ver las fechas de los post El mensaje era del 23-06-2014, de hace 3 años!! NO revivas hilos viejos por favor!! Hilo cerrado