¿Se necesita una conexión a tierra entre maestro y esclavo para este escenario RS485/422?

Trabajaré en un pequeño proyecto en el que una placa de microcontrolador (como una placa Arduino) leerá los datos de salida SSI (datos de ángulo) de un codificador rotatorio y el microcontrolador enviará estos datos al PC a través del puerto USB. La distancia entre el codificador y la placa/PC Arduino no supera los seis metros.

Este tipo de encoders utilizan interfaz eléctrica diferencial RS422/RS485, un par para datos y otro par para reloj de la siguiente forma:

ingrese la descripción de la imagen aquí

Hice un dibujo para esta implementación en particular y la cadena de señal se verá así:

ingrese la descripción de la imagen aquí

La placa del controlador está enviando los datos a la PC a través de USB. La PC está conectada a tierra, lo que significa que su placa base está completamente conectada al chasis y luego a la red eléctrica. La placa Arduino también se alimenta a través del USB.

U1 y U2 son dos de estos transceptores de bus diferencial (parece que no hay aislamiento galvánico). Por lo tanto, estos transceptores se alimentarán con un suministro de 5V o desde el terminal de 5V de la placa Arduno. Los transceptores y la placa tendrán un terreno común como se muestra en el diagrama anterior.

Sin embargo, en el extremo del codificador, el codificador puede ser alimentado por una fuente de alimentación separada (al menos ese es el plan). En el diagrama, la conexión a tierra del codificador (también la conexión a tierra del suministro del codificador) es la conexión a tierra flotante del controlador.

Mis preguntas son:

  1. ¿Debería ser mejor conectar la tierra del codificador directamente a la tierra del controlador a través de un cable dedicado?

  2. Si utilizo la misma fuente para los transceptores y el codificador, ¿importa la ubicación de la fuente de alimentación? ¿Puede la fuente de alimentación del codificador ser remota al codificador?

  3. ¿Dónde deberían estar las resistencias de terminación?

Encontré este artículo pero es bastante confuso.

EDITAR:

Un diagrama más detallado:

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Nota al margen: con un cable de 6 m, se deben usar resistencias de terminación en los extremos de las señales del bus para eliminar los reflejos. Entonces, uno en el par diferencial de datos µC y otro en el par diferencial CLK del codificador.
Si no conocemos la impedancia característica de los pares, ¿serían suficientes 100 ohmios para la terminación? 100 ohmios da como resultado 50mA. ¿Violaría el límite de corriente del transceptor?
Regla general: el acoplamiento de CC siempre necesita [algún tipo de] conexión a tierra.
Por cierto, solo he votado negativo a uno de estos.

Respuestas (4)

En resumen: no se necesita tierra, debido a las características de RS485. El aislamiento es en la mayoría de los casos lo mejor.

TIA/EIA 485 especifica que no más de ±7 V de potencial entre las tierras de dos dispositivos separados (que se muestran a continuación como GPD).

El método correcto para diseñar un enlace de datos diferencial es sin cables de tierra. Para diferencias de potencial de tierra superiores a los ±7 V especificados en EIA-485, utilice transceptores con capacidad de modo común alto o transceptores de bus aislado.

ingrese la descripción de la imagen aquí
Fuente: https://www.planetanalog.com/signal-chain-basics-84-why-rs485-does-not-need-ground-wires/

En algunas aplicaciones industriales, es completamente posible tener grandes oscilaciones de tierra entre diferentes ubicaciones. Esto se puede medir usando un multímetro entre las dos ubicaciones a tierra. No debe exceder los 7 V (en los modos CC o CA). Si es así, para mantenerse dentro de las especificaciones, se necesitará aislamiento.

¿Debería ser mejor conectar la tierra del codificador directamente a la tierra del controlador a través de un cable dedicado?

La conexión a tierra del codificador debe volver a la fuente de alimentación, si la fuente de alimentación está alejada del Arduino, entonces no es necesario unir las conexiones a tierra (asumiendo que hay menos de ± 7 V entre Arduino y el codificador como se describe anteriormente).

SI el para el codificador se ejecuta de nuevo al arudino y no está conectado a una fuente de alimentación en el otro extremo (o la fuente de alimentación está en el arudino), entonces el diseño anterior también debería funcionar (suponiendo que el ruido de modo común de la resistencia del cable es aceptable (grandes corrientes a través de cables largos pueden causar rebotes a tierra, y la corriente depende de la corriente del codificador) La caída de voltaje del cable también es una preocupación si la fuente de alimentación está ubicada en el Arduino.

Si utilizo la misma fuente para los transceptores y el codificador, ¿importa la ubicación de la fuente de alimentación? ¿Puede la fuente de alimentación del codificador ser remota al codificador?

Realmente depende de la resistencia de los cables entre el codificador y el transceptor/Arduino. Si la fuente de alimentación se encuentra en el extremo de Arduino, se debe tener en cuenta la pérdida del cable.

Por ejemplo: 22AWG tiene 0.053Ω de pérdida por metro. SI el codificador consume 10 mA de corriente, eso es solo 5 mV de pérdida por 10 m de cable. 100mA y son ~50mV, más de 50mV y podría ser un problema.

Por lo tanto, hay algunas opciones, un tamaño de cable más grande o colocar la fuente de alimentación en el codificador, lo cual está bien para RS485 (siempre que las conexiones a tierra estén dentro de la tolerancia)

¿Dónde deberían estar las resistencias de terminación?

Para una configuración Rs422, lo que tiene está bien (el diagrama a continuación tiene datos debajo y un reloj arriba, opuesto al suyo), una resistencia de terminación debe ir en el lado receptor maestro y en el dispositivo esclavo (el codificador) también debe estar encendido El receptor.

ingrese la descripción de la imagen aquí
Fuente: https://en.wikibooks.org/wiki/Serial_Programming/RS-485

Si usa solo un dispositivo RS845, una resistencia en el extremo del codificador y en el extremo del arudino es adecuada, como se muestra a continuación.

ingrese la descripción de la imagen aquí
Fuente: https://www.maximintegrated.com/en/design/technical-documents/tutorials/7/763.html

Si tuviera que usar varios codificadores, entonces necesita una resistencia en el último dispositivo y en el maestro (Arduino).

ingrese la descripción de la imagen aquí
Fuente: https://www.maximintegrated.com/en/design/technical-documents/tutorials/7/763.html

Los comentarios no son para una discusión extensa; esta conversación se ha movido a chat . Cualquier conclusión a la que se llegue debe volver a editarse en la pregunta y/o cualquier respuesta.

Como los transceptores no están aislados, permiten que los cables del bus estén 7 V por debajo de su pin GND y 7 V por encima de su pin VCC.

Esto significa que no puede haber más de 7 V de diferencia de potencial entre GND de esta placa y tierra del codificador.

Como esta placa tiene su potencial de tierra en el chasis de la PC conectado a tierra a través de una conexión USB, significa que la tierra del codificador también debe conectarse al mismo potencial de tierra a través de alguna ruta, con una impedancia adecuadamente baja que no permitirá más que los +/- 7V dados. diferencia entre ellos.

1) Basado en lo anterior, el codificador no puede flotar con referencia al controlador. Si el codificador se alimenta con una fuente de alimentación flotante separada en el lado del codificador, y esta fuente o codificador no tiene otra referencia al potencial de tierra, significa que debe haber un cable de tierra desde la placa del transceptor al codificador para mantener su potencial entre ambos. termina igual. No debe fluir corriente en este cable durante el uso normal, ya que es solo para mantener su potencial igual. Si la fuente de alimentación separada no es flotante pero tiene una referencia a tierra, es posible que no sea necesario un cable de tierra separado entre los dispositivos. Siempre puede elegir un conector y un cable para que la puesta a tierra pueda ser configurable, de modo que pueda decidir más tarde si conectar la puesta a tierra o dejarla desconectada, tal vez con un puente de soldadura o un puente.

2) Si usa el mismo suministro tanto para el codificador como para el controlador, entonces ya habrá una conexión a tierra entre el controlador y el codificador. La ubicación de la fuente de alimentación no importa si está cerca del codificador o del controlador. Debido a la corriente que fluye en el cable de tierra, habrá una pequeña diferencia de potencial entre los extremos, pero puede ignorar esto siempre que la caída de voltaje no sea demasiado y aún pueda proporcionar suficiente voltaje al extremo remoto para una operación adecuada. Pero tenga en cuenta que la tierra del controlador todavía está conectada a tierra a través de la conexión a tierra USB de la PC al controlador, incluso si el controlador recibe alimentación de una fuente separada en lugar de +5 V desde el USB.

3) La parte del controlador del transceptor puede manejar una carga de hasta 60 mA o hasta 54 ohmios, o una terminación de aproximadamente 110 ohmios en ambos extremos. Como las líneas de transmisión son solo unidireccionales y solo entre dos dispositivos como una conexión punto a punto en lugar de un bus de múltiples receptores, a menudo es suficiente terminar en el receptor con la impedancia característica del cable. También es común terminar ambos extremos de la línea de transmisión, por lo que en este caso las resistencias de terminación estarían justo en los pines del chip del transceptor. Entonces dibuje las resistencias en el chip, y puede omitir la resistencia de terminación del transmisor si descubre que no es necesaria, o coloque un puente o puente de soldadura para habilitarlo/deshabilitarlo.

Cita de la nota de aplicación de TI slla070d.pdf página 18:

Por lo general, las configuraciones del sistema RS-422 y RS-485 se presentan sin un cable de tierra separado. Sin embargo, las leyes de la física aún requieren una conexión a tierra sólida para garantizar una comunicación sin errores entre los controladores y los receptores.

Cita de "Understanding EIA-485 Networks" de Contemporary Controls:

El estándar establece claramente que los generadores y receptores requieren una ruta de retorno entre las tierras del circuito en cada extremo de una conexión. Esta ruta de retorno podría ser un alambre real en el cable que conecta cada una de las tierras lógicas juntas o la tierra puede proporcionar la ruta de retorno haciendo que cada tierra lógica regrese a tierra.

Cita de la versión 1 de las Notas de aplicación de Integrity Instruments:

La conexión a tierra es esencial para el funcionamiento confiable de cualquier red RS-485. También es el más pasado por alto y el menos comprendido. La forma más fácil de conectar a tierra su red RS-485 es simplemente usar la conexión a tierra como su ruta de retorno. Si bien es fácil, este puede no ser el mejor método para conectar a tierra su aplicación, ya que la fuga de corriente del equipo, las descargas electrostáticas (ESD) y los rayos impulsan la corriente a través de esta ruta, lo que da como resultado un alto contenido de ruido. La razón de este aumento del nivel de ruido se debe al hecho de que la tierra “tierra” presenta una resistencia relativamente alta. RS-485 está diseñado para funcionar normalmente con una diferencia de potencial de tierra de +/- 7 voltios. ... Una buena manera de reducir esta conexión a tierra y mantener esta diferencia de potencial de conexión a tierra dentro de los estándares es colocar un tercer cable

Cita de la nota 5 de Robust DataComm, supuestamente citando el propio estándar RS485. ( Enlace a la nota ):

"La operación adecuada de los circuitos generador y receptor requiere la presencia de una ruta de retorno de señal entre las tierras del circuito del equipo en cada extremo de la interconexión. La referencia del circuito puede establecerse mediante un tercer conductor que conecta los cables comunes de los dispositivos, o pueden establecerse mediante conexiones en cada equipo de uso a una referencia de tierra".

Explique los votos negativos y mejoraré la respuesta. Lo mejoraré pronto de todos modos, debido a toda la información que encontré en el sitio para respaldar mis afirmaciones. Pero, en resumen, cuando el lado de la PC está referenciado a tierra, el codificador también necesita una referencia a tierra, ya sea a través de una fuente de alimentación conectada a tierra o, en el caso de una fuente de alimentación flotante/sin conexión a tierra, desde el lado de la PC con el cable de referencia a tierra.

Es sencillo. Sí, necesita una conexión a tierra para asegurarse de que el modo común no se salga de las clasificaciones del receptor. La conexión a tierra puede no ser necesariamente buena, corta o lo que sea, pero tiene que estar ahí.

La única exclusión es cuando tiene alguna otra forma extraña de asegurarse de que no flote, como quizás conectar gnd en un lado a un vcc aislado en el otro lado. Pero es raro y requiere un análisis muy cuidadoso de ambos lados.

Una cosa más. Existe una forma estándar de manejar los encoders: suministrar alimentación (5V y GND) en el mismo cable por donde va la comunicación. De todos modos, en el lado del codificador no hay nada eléctrico. Una especie de callejón sin salida.

  1. Siempre debe tener una CONEXIÓN (no necesariamente un cable) ya que no está aislada galvánicamente. Sin embargo, no es necesario un cable de tierra dedicado a menos que esté alimentado por batería o un extremo no esté conectado a tierra. Eso es lo que dice el artículo que vinculaste.

  2. No importa. Para eso están los condensadores de desacoplamiento.

  3. Con RS422/RS485, se usa una terminación en paralelo, por lo que va a continuación (idealmente más allá) del último receptor en la conexión en cadena.

Estaba actualizando con un diagrama más detallado. Encontré un ejemplo y dibujé un diagrama. ¿Qué piensas sobre esto?: i.stack.imgur.com/VULz5.png No sé el propósito de R1 y R2 y DE RE.
RE y RE son señales de habilitación para transmisor y receptor. Se utiliza para RS485 cuando las comunicaciones son semidúplex. Debería buscar qué significan los pinouts en la hoja de datos, ya que los nombres de los pines no son universales.
R1 es para evitar una señal flotante cuando el receptor está desactivado. Sin embargo, no es necesario si el transceptor no pasa a alta impedancia cuando está deshabilitado. Pero ese no es el caso de este chip. Consulte la Tabla 3. Tabla de funciones del receptor de la hoja de datos de TI.
Según lo que dice, ¿la ubicación de las resistencias de terminación R3 y R4 es correcta aquí?: i.stack.imgur.com/zuFMw.png
@floppy380 Sí.
también escribiste "(no necesariamente un cable)". Pero, ¿cómo se puede establecer un terreno común sin un cable? No entiendo esa parte.
@ floppy380 Hay un cruce entre los nombres. ¿Entiende qué son caliente, neutral y tierra para CA? Para CC hay V+ y tierra, pero la tierra de CC es en realidad equivalente al neutro de CA, no a tierra de CA. La tierra es una tercera conexión para CC y es la misma que la tierra para CA.
Sí, los sé todos. Pero sin un cable entre la tierra del codificador y una tierra Arduino lejana, ¿cómo serían comunes las tierras? Espero que no estés hablando de la tierra aquí...
@floppy380 ¿Qué tan lejos es lejos? Hay una diferencia entre las instalaciones fijas donde ambos lados están conectados a tierra (puestos a tierra) por seguridad y las configuraciones sin conexión a tierra. El rango de modo común en los transceptores toma la diferencia en el potencial de tierra de CC entre ambos extremos debido a una conexión imperfecta a través de la tierra y los transceptores usan señalización diferencial para que no usen la tierra como voltaje de referencia, pero los electrones deben poder encontrar su camino de regreso, sin embargo.
¿Por qué no dibujas lo que quieres decir? Hace que sea más fácil de leer. Los diagramas son la única manera de ver. Por favor, dibuje un diagrama. El codificador y la placa arduino están a seis metros de distancia. Me pregunto qué más, entonces un cable puede establecer un terreno común entre ellos.
La única forma en que puedo pensar es si ambos terrenos analógicos están conectados a tierra. Pero eso provoca bucles de tierra.
@ floppy380 Su dibujo tiene detalles insuficientes porque omite detalles de suministro, pero a 6 m nada de esto importa porque la diferencia de potencial entre dos puntos de tierra es pequeña. Simplemente conecte a tierra ambos extremos, pase un cable de cobre o ambos porque la distancia es demasiado pequeña para que la conexión a tierra sea diferente a la conexión a tierra en ambos extremos. Esos artículos hablan de decenas o cientos de metros.
Creo que está confundiendo un camino para las corrientes de retorno con lo que se usa como referencia de voltaje para las señales. Por lo general, son los mismos para sistemas con señales no diferenciales. No es así aquí. Las fotos están en el artículo que vinculaste. El mío sería un poco diferente.
¿Conectar a tierra ambos terrenos analógicos?
@ floppy380 Podrías. No tiene mucho sentido a 6 m, especialmente si no es una instalación fija (lo que supongo que no es debido a Arduino). Incluso a 6 m, solo puede conectar a tierra un extremo. Como dije, la distancia es demasiado pequeña para que haya una gran diferencia en los potenciales de tierra. Pero si no está conectado a tierra, conecte un cable a tierra entre los dos para las corrientes de retorno (es decir, si ambos extremos fueron alimentados por baterías diferentes), pero lo necesita de todos modos debido a que comparte suministros