He diseñado algunos nodos basados en ATMEGA328p usando MAX485, este es el esquema base:
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:
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:
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.
Andy alias
aplicación virtual
Andy alias
aplicación virtual
Andy alias
rdtsc
brahans