Nivel I2C cambiando a múltiples voltajes dentro de un BMS

1

Estamos creando un BMS que tiene un micro en cada celda del paquete. Sé que esto no es estándar y los problemas que vienen con él, sin embargo, el paquete no es un diseño estándar, y los beneficios sopesan los problemas (si puedo encontrar soluciones;))

El problema principal en el que estoy atascado es la conexión de micros a diferentes niveles de voltaje al mismo bus I2C (en realidad, SMBus) a un costo razonable (con el objetivo de 50c, cualquier valor inferior es un bono)

Ideas miradas:

Opto / Aislamiento capacitivo

Aislamiento opto / capacitivo para cada canal, mientras que este es el más simple, creo que esto es demasiado caro $ 2 por canal. (Feliz de ser corregido)

(recurso muy útil para aquellos interesados AN10364: aislamiento optoeléctrico del bus I²C www.nxp.com/documents/application_note/AN10364.pdf)

Desplazadores de nivel

simular este circuito : esquema creado usando CircuitLab

El primer lugar obvio para mirar es en gnd: 3.3V - > gnd: los variadores de nivel de 5V que se usan en las redes i2c, hay dos maneras en que puedo ver que se usan, pero con sus propios problemas.

Cadena de margaritas

simular este circuito

Si cambias de nivel entre cada celda, obtienes cambios de bajo voltaje (lo que hace que su costo sea menor) y una escala infinita (en teoría) en términos de celdas en serie.

Sin embargo, no tiene una base común, por lo tanto, mientras trabaja en una dirección (la señal de 3.3v saca la señal de 5v baja) no lo hace en la otra (5v no puede la señal de 3.3v baja)

Ramas

simular este circuito

Con este diseño, es un reemplazo directo del aislamiento opto / cap. Pasa de lo que sea el voltaje en la celda a 3.3V en el bus i2c. Esto debería ajustarse más al desplazador de nivel tradicional, pero cuando la señal cae a O digital en el lado alto, solo debe caer al voltaje de la celda,

Adiferenciadetodoelcaminoatierra.

Intrigado por saber si

a) Perdí totalmente una forma más fácil de hacer esto,

b) Si alguien tiene algún indicador útil para alguien que haya hecho esto antes,

c) Soy un buffoon burbujeante y nunca funcionará.

    
pregunta Daniel Crowley

1 respuesta

1

Si usa la palanca de cambios de nivel MOSFET con el paquete de baterías, en cualquier caso, usted propone que algo se fríe.

Los cambiadores de nivel MOSFET solo funcionan si todas las piezas están referenciadas a tierra. Cuando esta palanca de cambios está conectada entre dos dispositivos de voltaje diferentes, el estado bajo de cada dispositivo es a tierra. En su caso, cada celda por encima de la más baja no tiene una referencia básica.

Por ejemplo, la celda 2 tiene una referencia en 3.7v. Cuando el micro principal cambia el bus de estado alto a estado bajo (tierra), el micro principal arrastra la línea de la celda 2 a tierra, que es -3.7v por debajo de su referencia. Algo va a fallar. A medida que aumenta el número de células, el problema empeora.

Lamentablemente sus únicas opciones involucran optos. Si desea mantener SMbus, la solución de búfer NXP con optos es la mejor, como se menciona en los comentarios. Si desea una solución más sencilla, cambie a un sistema unidireccional como UART, como se sugiere en los comentarios. Esto necesitaría menos opciones y, al disminuir la velocidad, se podrían usar opciones más baratas.

    
respondido por el vini_i

Lea otras preguntas en las etiquetas