Comunicación RS485 inestable

Muy buenas. Antes de nada gracias a toda la comunidad que es de mucha ayuda para principiantes como yo. Estos días estoy trabajando con unos módulos de comunicaciones RS485, para comunicar un arduino con una lectora de tarjetas RF, pero no logro un sistema robusto. Los modulos que uso son los típicos que podemos encontrar por ebay.

El esquema general es el de la imagen.


Y el funcionamiento es sencillo. El arduino se conecta al modulo por los pines 10 y 11 para transmitir usando un puerto serie software. Y pongo el modulo en lectura o escritura con el pin 3 del arduino. El modulo 485 lo conectamos al puerto 485 de la lectora.
rs485.PNGrs485 esquema.PNG

La distancia entre la lectora y el modulo 485 es de 5 cm o menos.

La secuencia también es fácil. El arduino manda la trama "lee tarjeta" por puerto serie software al modulo que a su vez lo manda por 485 a la lectora. La letora responde con la trama "numero de tarjeta" que va al modulo 485 (que ya esta escuchando) y este lo pasa al puerto serie software del arduino. Después lo imprime por consola por el puerto serie normal.

Esto funciona desde el principio. Pero aquí comienzan los problemas. En el primer diseño uní las las masas de (arduino y modulo) que funcionan a 5 V con la masa de la lectora que funciona a 12V. Y como ya he dicho funcionaba.
Después conecte el bus 485 a otro lector de 485 para ver si podía recibir el número de tarjeta en mas de un dispositivo y de repente dejo de funcionar.

Solté de nuevo el dispositivo que había añadido al bus para dejarlo como estaba y nada, seguía sin funcionar. Trasteando un poco, me di cuenta de que si soltaba el cable B del bus y lo hacia contactar con el terminal, en ese instante se recibía una única respuesta de la lectora y después continuaba sin funcionar. Entonces quite el GND de el módulo, y sorpresa, comenzó a funcionar. Bueno, "tema de masas me dije" y separe las masas del arduino y el modulo que van a 5 v y se alimentan del pc de la de la lectora, que funciona a 12V.

Listo, comenzó a funcionar correctamente. y así dos días que he estado controlando que funcionaba. Pero hoy, me puse a hacer unas cosas con una inyector Poe y lo enchufe en la misma regleta donde tenia el prototipo de la lectora y el arduino. y "plaf" dejo de funcionar. Y pense es casualidad así que desconecte el Poe, y comenzo a funcionar. Y después de quitar y poner el poe 100 veces y comprobar que era lo que dejaba KO la comunicación. Me pregunto, Que esta pasando?

Sospecho que el problema esta en la comunicación entre el modulo y la lectora. He estado leyendo muchos post en los que ponían resistencia pull up y down resistencias de terminación de bus. a unos les funcionaba con ellas, a otros sin ellas. Mi modulo las tiene integradas, la up down y la de terminación (en el esquema rs485). Me estoy planteando quitarlas.

La verdad es que estoy un poco perdido, y necesitaría alguna pista de por donde pueden ir los problemas.

Muchas gracias de antemano y felicidades otra vez por el foro.

rs485.PNG

rs485 esquema.PNG

tmb puedes ver acáDMX Shields

En ambos ves que la conexión GND debe mantenerse como referencia.
Ahora bien, cuando quitaste GND del módulo comenzó a funcionar pero olvidamos que el módulo 485 tiene mas conexiones.

Para mi el tema siempre ha sido la resistencia de 120 ohms. La usas o no la usas?
La norma que uso es que para cortas distancias no la uso. Se supone que la linea esta aun balanceada para corta distancia pero no cuando los metros aumentan y cuando es eso... yo comienzo a probar cuando no funcoina algo por encima de los 15 mts. Igualmente me ocurre como a ti, que tengo que probar todo y no luzco tan seguro como ahora te comento. En la práctica ocurre todo.

En el módulo no se si se puede desconectar el resistor de 120 ohms? Luego verifico y te digo aunque creo que no, que esta soldado y es SMD.

Gracias por contestar surbyte.

La resistencia de 120 la tiene el módulo. Haciendo pruebas, le he quitado las resistencias R5 y R6. que se supone son para evitar ruido mientras no se esta transmitiendo. (no es complicado)

No se si me he explicado mal. La GND del modulo la quité momentaneamente, es por lo que me di cuenta de que en ese instante de re conectar, se producía una única lectura. Por eso separe la masa de la lectora, de las de el modulo y el arduino, que si están juntas.

No se si estoy diciendo una barbaridad, pero pensaba que entre el modulo Rs485 y la lectora que se comunica con el, solo son necesarios los cables A y B. no se si es correcto?

Me esta dando mucha lata esta comunicación, estoy bastante perdido...