Niveles de voltaje extraños en un bus rs485 full-duplex multiesclavo

Estoy trabajando en un proyecto que usa el bus rs485 para la comunicación. Aquí están los parámetros de diseño:

  • El bus puede incluir 1 maestro y 30 esclavos
  • La configuración es full duplex usando 4 hilos.
  • Todos los esclavos conectados SLAVE(Y-Z) -> MASTER(A-B)para transmitir
  • Todos los esclavos adjuntos SLAVE(A-B) -> MASTER(Y-Z)para recibir
  • El Maestro siempre está escuchando. (Recibir habilitado)
  • El maestro siempre está conduciendo. (unidad habilitada)
  • Los esclavos siempre están escuchando. (Recibir habilitado)
  • Los esclavos siempre NO conducen. Excepto cuando quieren enviar datos y luego activar la unidad. De acuerdo con la hoja de datos, cuando no se habilita la unidad, las salidas son de alta impedancia.
  • El maestro y todos los esclavos usan max491.
  • Hay una sola fuente de alimentación de 12V. Cada esclavo y maestro está conectado a esta fuente de alimentación en paralelo entre sí y tiene sus propios convertidores reductores para producir los voltajes necesarios. Por lo tanto, todos los sistemas comparten un terreno común.
  • Probé la polarización a prueba de fallas en el lado maestro y funcionó. Con polarización a prueba de fallas, 4 esclavos y 1 maestro, la comunicación funciona bien. (pero la pregunta es sobre el cálculo de polarización de 20 esclavos)

OBSERVACIÓN

These plots are excel plots simplified from actual scope measurements

Cuando el sistema se compone de 1 esclavo y 1 maestro, los voltajes en el bus Slave YZ (bus de transmisión esclavo) son así:

1 esclavo, 1 maestro

Así la comunicación ocurre con éxito.

Cuando el sistema está compuesto por 2 esclavos y 1 maestro, los voltajes en el bus Slave YZ (bus de transmisión esclavo) son así:

2 esclavos, 1 maestro

De esta manera, la comunicación ocurre con éxito. Como vemos hay un cambio en los niveles de voltaje. Comm sucede porque los voltajes todavía están en los lados correctos de la zona media sin sentido (que es +-0.2v desde el centro)

Cuando el sistema está compuesto por 3 esclavos y 1 maestro, los voltajes en el bus Slave YZ (bus de transmisión esclavo) son así:

3 esclavos, 1 maestro

De esta manera, como puede ver, no se produce comunicación porque los voltajes están en el lado equivocado de la zona sin sentido. Y los niveles son extraños (para mí).

Profundizando en el análisis, hice 4 esclavos y 1 configuración maestra. Aquí está el resultado:

4 esclavos, 1 maestro

Los voltajes suben un poco más.

La diferencia de voltaje entre las líneas Y y Z en cada configuración muestra que el max491 tiene una impedancia importante en la línea cuando está en modo de alta impedancia.

Compré estos chips max491 de un distribuidor local y luego verifiqué el precio de digikey. Lo que vi es que mis precios son 3 veces más bajos que los precios de Digikey para el chip. Tal vez los chips sean clones. No sé. Pero tengo que usarlos.

PREGUNTA

La pregunta es ¿cómo puedo calcular esta impedancia "parásita" y construir un circuito de polarización para esto y cuál puede ser la razón? Estoy un poco confundida. Voy a construir 20 configuraciones esclavas y 1 maestra y no puedo imaginar cuáles serán los voltajes.

NOTAS

  • No hay problema en el bus receptor esclavo
  • Estas observaciones son casi las mismas cuando se usa la resistencia de terminación del lado maestro.
  • No hay posibilidad de que 2 o más esclavos transmitan al mismo tiempo. Hay una sincronización de hardware incorporada. Esto está probado.

Editar

El esquema es así. Nada mas. La longitud media del cable entre esclavos es de 1,5 metros. El cable es CAT6 - UTP8. Para transmitir y recibir se utilizan pares trenzados.Esquemático

¿Hoja de datos de esclavos tal vez?
Los esclavos también están usando el max491. Mcu es atmega328.
¿Dónde está el esquema?
Será añadido. :)
@MertGülsoy "El esquema es así. Nada más". Si ese esquema está completo, entonces falta un terreno común entre los dispositivos. El efecto probable de esa referencia faltante es difícil de adivinar, sin muchos más detalles sobre los dispositivos maestro/esclavo y sus fuentes de alimentación (observo que no ha proporcionado detalles sobre las fuentes de alimentación; ¿es secreto o puede dar más información?) . O podría analizar la mejor manera de agregar el terreno común y probarlo. ¿O realizó pruebas y decidió que no se requiere una conexión a tierra común? Si es así, comparta esa configuración de prueba y sus resultados.
@SamGibson Lo siento pero no puedo compartir el circuito. Es una especie de secreto. Pero haré todo lo posible para presentar tanta información como pueda. Agregué los detalles que mencionaste. Gracias por el interés.
@MertGülsoy Gracias por la actualización. "No puedo compartir el circuito". Eso es un problema, ya que las palabras no son suficientes aquí (demasiado ambiguas, etc.) para una solución de problemas eficiente :-( "Hay una sola fuente de alimentación de 12 V". No está claro exactamente cómo se distribuye la energía sin un esquema y números de pieza, etc. " Cada esclavo y maestro tiene sus propios convertidores reductores para producir los voltajes necesarios. Por lo tanto, todos los sistemas comparten una base común". Todavía no puedo estar de acuerdo, dependiendo de los "convertidores reductores" exactos , etc., etc. La polarización a prueba de fallas (que agrega una referencia a tierra) es una pista. ¡Buena suerte!
La cuestión de la continuidad de tierra se comprueba fácilmente. Los pines 6 y 7 del MAX491 están conectados a tierra. Realice una verificación de resistencia entre el pin 7 en cada controlador. Tierra maestra a tierra esclava para todas las unidades. ¿Cuál es la resistencia máxima? Es mejor que sea menos de unos 10 ohmios. No confundas lo que crees que está pasando con lo que realmente está pasando, no cuando puedes comprobarlo. Tenga en cuenta que una verificación de voltaje desde la tierra maestra a la tierra esclava no es adecuada. Si no hay continuidad, habrá poca o ninguna diferencia de voltaje.
Lo comprobaré y volveré aquí con el resultado.

Respuestas (2)

Me parece que sus líneas DE en los esclavos están siendo mal conducidas. Los voltajes de su bus son (cualitativamente) lo que esperaría si los esclavos "no seleccionados" de hecho se activaran con una entrada alta para cada DI esclavo "no seleccionado".

A medida que aumenta el número de esclavos, aumenta el control total del bus de las unidades no seleccionadas y la salida seleccionada tiene cada vez menos efecto sobre el voltaje del bus.

La verificación obvia sería obtener los efectos que ha mostrado, luego extraer el chip esclavo seleccionado del circuito y observar el voltaje del bus. Si los otros chips están inactivos, el voltaje diferencial del bus debería caer a más o menos cero.

je. O, por supuesto, la razón por la que sus chips cuestan 1/3 de la tarifa de Digikey podría ser que no funcionan correctamente y la línea DE no tiene ningún efecto. Sólo digo'.

Parece que las líneas DE simplemente cortan el lado alto. El lado bajo todavía está conectado (sin alta impedancia) porque los voltajes cambiantes son el lado bajo en la salida no inversora y el lado alto en la salida inversora.
@MertGülsoy: eso es irrelevante e incorrecto. Efectivamente, cada salida se conectará a tierra, +5, o no hará ninguna conexión, según el estado del circuito. Pero no importa Haz lo que te dije. Configure el circuito como ha mostrado, luego extraiga el esclavo seleccionado (el que cree que está seleccionado). Asegúrese de que se aplique energía a todos los esclavos. ¿El voltaje diferencial del bus llega a cero? Si no, tienes problemas de habilitación.
Intentaré escribir aquí el resultado.
Después de una inspección aquí con las respuestas dadas, creo que esta respuesta es aceptable porque llegué a las mismas conclusiones. Gracias.

En primer lugar, para aclarar la terminología, la topología que usted describe es RS-422, ya que RS-485 es un esquema semidúplex de dos hilos. He implementado miles de grandes redes RS-422 sin los problemas que está experimentando.

Compruebe que está utilizando la lógica de habilitación de transmisión correcta. Es lo opuesto a la lógica de habilitación de recepción. Coloque un osciloscopio o sonda lógica de alta velocidad en cada uno para confirmar su estado y que no tenga transitorios.

Los dispositivos que ha elegido no están limitados por la velocidad de respuesta, por lo que la impedancia del cable, la capacitancia del cable, los reflejos, las terminaciones y la diafonía se vuelven preocupaciones más críticas. Debe ejecutar un único experimento de eliminación de cambios para cada uno de estos factores.

Disminuir drásticamente la velocidad en baudios puede brindarle más pistas sobre la causa de su problema.

Su método de trazar los voltajes del bus podría ser parte del problema si no emplea sensores diferenciales de alta impedancia.

Usted mencionó específicamente que las condiciones son las mismas cuando se usa la terminación del lado maestro. Según la topología de distribución y la velocidad del reloj, es posible que necesite colocar terminaciones en ambos extremos del cable. Asegúrese de tener terminaciones resistivas puras; no todas las resistencias de película lo son.

Si nada de esto resuelve el problema, publique su esquema, especificaciones de cable, valor(es) de terminación y ubicación(es), e imágenes de su configuración de prueba para permitir más información. También debe comentar cómo tomó las medidas de su bus, ya que los gráficos obviamente tienen un ancho de banda muy bajo y, por lo tanto, faltan detalles importantes. Y no olvide incluir una escala de eje X adecuada con tales gráficos.