Duda sobre pcb y bus I2C

Hola compañeros.

No soy un experto en electrónica pero me gusta mucho curiosear y probar cosas y creo que me he enganchado a esto de encender y apagar leds :slight_smile: :slight_smile: :slight_smile: .

Estoy desde hace tiempo con un proyecto personal, la fabricación de un invernadero, ya se que no es algo nuevo, muchas ideas las he conseguido llevar hacia delante gracias a otros proyectos que ya están por este foro y desde luego os doy las gracias a todos.

Después de diseñar y programar las funciones básicas (leer temp, humedad, luz, datalogger, apertura ventanas, ventiladores, control deposito agua, sistema de riego, etc..) me he puesto con la implementanción, lo que me ha enpujado al mundo del PCB.

Ahora mismo, ya he hecho mi primera pcb y esta funcionando. No esta terminada y ahora es el momento de implementar el bus i2c para los componentes que los usen. Mi idea es crear una serie de puertos donde poder conectar los dispositivos i2c, pero me surge una duda en torno a la alimentación.

Actualmente uso un sistema solar, así que desde el regulador que tiene salida DC alimento al arduino y al pcb. Mi idea es llevar SDA Y SCL desde arduino al pcb con dos cables, entonces me faltarian VCC y GND y ahi esta mi duda

¿Puedo usar VCC y GND del pcb ya que la fuente de origen es la misma que la del arduino?

Siento haberme enrollado mucho.

Gracias

Si el voltaje del módulo/componente I2C es el mismo al de la fuente, seguro!. Pero siempre acuérdate de unificar las masas de todos los componentes en lo posible.

Hay muchos sensores I2C que usan 3.3V y otros 5V. Tendras que tener mucho cuidado en la selección de los mismos.

Gracias a ambos por la información, ahora me queda mas claro. El componente del pcb llamado U2 es un LM7805 lo que me reduce los 12VDC del regulador a 5VDC. He mirado todos los componentes que uso y admiten 5VDC sin problemas. Pero se me esta ocurriendo hacer una salida de 3,3V mediante un divisor de tensión o con un LM7803 por si el día de mañana le meto algún dispositivo con ese nivel de tensión.

Gracias de nuevo, me pongo con el rediseño, ya os contaré.

:wink: :wink: :wink:

pero se me esta ocurriendo hacer una salida de 3,3V mediante un divisor de tensión o con un LM7803 por si el día de mañana le meto algún dispositivo con ese nivel de tensión.

Como poder puedes poner el regulador LM7803 pero olvida un divisor de tensión para alimentar algo.. no funcionará salvo para la carga que calcules. Si sabes ley de ohm me comprenderás.

Por otro lado... creo que no comprendes un pequeño problema que te he advertido.
Debes seleccionar los sensores con anterioridad. Existen sensores que trabajan a 5V, existen otros que trabajan a 3.3V. Existen algunos que trabajan a 3.3V y son tolerantes a 5V.
Son 3 cosas distintas.
El problema es si tienes un sensor de 3.3V con otro de 5V. No hablo de las alimentaciones, hable del BUS I2C.
Si ese es el caso tendrás que usar adapatores de nivel en el sensor de 3.3V.
Asi que todo este posible dolor de cabeza lo solucionas RESTRINGIENDO que sensores pueden y cuales no deben usarse con tu PCB.

Buenas compañeros

Como poder puedes poner el regulador LM7803 pero olvida un divisor de tensión para alimentar algo.. no funcionará salvo para la carga que calcules. Si sabes ley de ohm me comprenderás.

La idea del divisor de tensión no es buena, siguiendo al señor ohm, si el dispositivo i2c varia el consumo por ende variara tambien la tensión lo que afectará al bus y seguramente (seguro) algún dispositivo se queme.

Por otro lado... creo que no comprendes un pequeño problema que te he advertido.

Realmente no lo entendía. Pensaba que si alimentaba un dispositivo con la tension que me pide sobraba, pero no he tenido en cuenta su impacto en el bus i2c. El i2c no puede mezclar tensiones ya que todo viaja por el mismo canal (creo que se llama asincrono), a nivel logico seria como hablar chino y aleman a la vez, conclusion: no hay comunicacion o el receptor se suicida (se quema).

Empapandome del tema e investigando he encontrado un circuito con el TCA9406 para los niveles de tensión. Mi siguiente paso va a ser usar un LM7803 que junto con el LM7805 me serviran las dos tensiones de alimentacion (3,3 y 5) y se las conecto a VCCa y VCCb, de esta forma tendré la posibilidad de conectar dispositivos i2c de ambas tensiones (en el pcb indicare la tension).

Una cosilla más, en la imagen me sale que el master usa 5v, ¿ puede que sea un error y deba poner 3.3 V?

Gracias por todo. Este foro empuja a la investigación. :slight_smile: :slight_smile: :slight_smile:

i2c niveles de tension.jpg

i2c niveles de tension.jpg

Tal vez insista demasiado pero porque no nos cuentas que sensores I2C piensas usar asi no te complicas tanto o si, y puedes tomar las precauciones del caso?

Por ahora son dos:

  1. Luxometro BH1750 (gy-302) en cuyo datasheet observo:

  1. Datalogger DS3231SN en cuyo datasheet observo:

Estos son por ahora los que voy a usar.