¿Problemas de nodos esclavos MAX485, usando MAX487 para nodos esclavos RS485?

He diseñado algunos nodos basados ​​en ATMEGA328p usando MAX485, este es el esquema base:

sch

La única diferencia con el esquema es que el valor de las resistencias de polarización AB (R13-R12) es de 680 ohmios y el R12 se aplica manualmente en el maestro y el último nodo.

Produje 15 pcb para probarlos, los estoy conectando en cadena usando el cable Belden 7200A , funcionan a 9600 baudios, cada nodo está conectado usando 30 m de cable, direccionado por una identificación de esclavo única en el firmware y se alimenta usando fuente de alimentación externa de 12Vdc (cada pcb usa LM1117S-5.0 para regular de 12V a 5V).

Hice algunas pruebas... y estoy extremadamente confundido sobre lo que está sucediendo... cuando ejecuto 10 nodos (más el maestro), todo funciona como se esperaba: sin errores, sin ningún problema.

Cuando conecto más nodos, por ejemplo 1 nodo más, nada funciona: parece que el bus deja de comunicarse como se esperaba.

Si el nodo #12 toma el lugar del nodo #1/2/5 (eliminando el respectivo nodo #1/2/5), el nodo #12 comienza a funcionar.

Parece que hay una especie de limitación en la cantidad de nodos que puedo conectar al bus RS485... ¿es eso posible?

De todos modos, comencé a buscar este problema y encontré este tema del foro , el autor, refiriéndose a MAX485, informa esta oración:

Puede usar hasta seis módulos transceptores MAX485 (es decir, hasta cinco dispositivos esclavos) por bus RS-485.

Y recomienda usar MAX487 para poder conectar en el mismo bus RS485 más dispositivos esclavos y hacerlos funcionar sin ningún problema.

Entonces, en este punto mis preguntas son:

  1. ¿Por qué mi bus deja de funcionar con 12 nodos esclavos pero funciona sin problemas con 11 nodos esclavos?
  2. ¿Por qué el autor habla de un número máximo de cinco nodos esclavos MAX485?
  3. ¿Es el MAX487 un buen reemplazo directo sobre el MAX485 para conectar más nodos esclavos en el mismo bus RS485? (tenga en cuenta que quiero conectar un máximo de 20/25 nodos en el mismo bus RS485)
¿Cuántos esclavos tienen instalado su R12?
Solo el nodo final y el maestro, también intentaron poner R12 solo en el nodo final.
Sea absolutamente claro acerca de esto. No sé dónde se sienta el maestro en el cable. Entonces, ¿cuántos nodos esclavos tiene instalado el R12? Además... ¿leíste lo que dijo el chico del foro sobre las resistencias de 470 ohmios?
Puedo confirmar que el único nodo que tiene instalado el R12 es el último nodo al final del bus. El maestro se sienta en el otro extremo del autobús.
Está bien, eso está claro.
Esto probablemente podría responderse gráficamente con un oscilograma de los transitorios del bus con uno, diez y 13 esclavos conectados.
Muestra un conector de 2 pines para su bus RS-485: ¿son esos los únicos cables conectados entre todos sus nodos? Si es así, entonces eso es un problema: los nodos RS-485 deben compartir un terreno común . RS-485 no es un bucle de corriente: el voltaje en ambas líneas es positivo con respecto a tierra, y necesita ese cable de tierra común para asegurarse de no terminar con un voltaje de modo común que viole la especificación del transceptores

Respuestas (2)

esquemático

simular este circuito : esquema creado con CircuitLab

Eso sería más correcto. No puede polarizar todos los nodos con 680 ohmios, solo en ambos extremos, donde también está conectada la resistencia de terminación. Si desea una terminación de impedancia con características de 120 ohmios, debe calcular el equivalente de todas las resistencias, incluidas las resistencias de polarización.

EDITAR:

esquemático

simular este circuito

R T = 2 R B Z 0 2 R B Z 0 = 2 680 120 2 680 120 132 Ω

La diferencia básica entre un MAX485 y un MAX487 es la velocidad de respuesta del conductor. No debería haber diferencia en la cantidad de nodos que puede ejecutar con cualquiera de ellos. He realizado cientos de instalaciones con MAX485/487 con alrededor de 16 nodos en 1 km. Debe asegurarse de que el 0V esté conectado entre todos los nodos.

Además, sus resistencias de polarización de 680 ohmios son demasiado bajas. Con dos nodos la resistencia se convierte en 340 ohmios, con 4 nodos 170 ohmios y así sucesivamente. Usé 20k en mis diseños. El MAX485/487 realmente no necesita las resistencias de polarización del bus y tampoco necesité ninguna terminación.

¿Crees que las resistencias de 680 ohmios son demasiado bajas? que pueden causar?
¿Tiene R11,13 en cada nodo? Si lo hace, traté de ilustrar que las resistencias paralelas serían demasiado bajas. ¿Está conectado 0V a cada nodo?
Sí, R11 y R13 están en cada nodo y sí, el 0v conectado a cada nodo.
para diez nodos en paralelo, el maestro tiene que manejar 68 ohmios. Eso es una tontería. Si va a usar resistencias de polarización, solo tenga un juego por bus.
¿Entonces recomiendas eliminarlos? o reemplazarlos con 20k como informó? por favor explícalo
Lo siento, ¡quizás haya malinterpretado las especificaciones RS485! ¿Las resistencias de polarización tienen que estar solo en el primer nodo/maestro?
tiene tres opciones: 1. eliminarlos. 2.use 20k (o más o menos) en cada nodo. 3. Solo tiene 680 ohmios en un nodo. Elige una opción.
Explique cuál es la ventaja de tener resistencias de polarización de 20k en lugar de nada y cómo interactúan en un escenario con 20/25 nodos. ¿Cuál es la resistencia mínima/máxima que puede impulsar el maestro?
@VirtApp resistencias de polarización solo en un nodo en el bus (generalmente el maestro). Resistencias de terminación solo en cada extremo del bus y ninguna en el medio (no necesariamente tiene que ser el maestro, especialmente si el maestro está en el medio).