Problemas de ruido RS485: ¿señal de tierra / tierra común / aislamiento?

2

Estoy experimentando mucho ruido en una red RS485 que armé utilizando chips ST485. Las longitudes de los cables son muy cortas (< 1m de longitud total del cable), estoy desviando correctamente las señales A y B y he intentado con y sin un terminador (parece que no hay diferencia), y solo estoy corriendo a 19200 baudios.

Sospecho que el problema es el ruido de fondo, ya que estoy usando las señales de entrada RS485 para configurar los niveles de PWM para los LED de alta potencia (hasta 1000 mA momentáneamente a 3.8 V). Estoy usando una conexión de cuatro cables entre cada nodo (+ 12V, GND, RS485-A, RS485-B, con RS485-A & -B un par de cables de conexión auto-torcidos).

Aunque no se sugiere en la hoja de datos ST485, ¿sería suficiente agregar un cable de tierra de señal entre las entradas de tierra del dispositivo RS485, con resistencias de 100Ω en serie entre la tierra del dispositivo RS485 y el cable de tierra de la señal? ¿O debería pensar en agregar aislamiento completo al dispositivo RS485, incluido un transformador para fuente de alimentación flotante y optoaisladores en las líneas de señal A y B? ¿O esto es excesivo?

Gracias de antemano.

EDIT Sé que estoy recibiendo ruido porque para obtener el efecto deseado (brillo particular de luces LED particulares), tengo que usar un CRC-8 en cada paquete (para que caiga mal) paquetes en el extremo de recepción) y enviar cada mensaje dos veces (para compensar la pérdida de paquetes defectuosos), e incluso entonces todavía estoy recibiendo paquetes incorrectos en el extremo de recepción.

EDIT Se eliminaron los comentarios de error de velocidad en baudios, ya que la velocidad en baudios es, de hecho, muy precisa.

    
pregunta damian

3 respuestas

4

Supongo que el consumo de corriente pulsada en la fuente de + 12v es lo que pone el ruido en las señales RS-485. Para propósitos de depuración, intente desconectar los LEDs. Si sus problemas de ruido desaparecen, entonces sabe que es la corriente de 1 amperio pulsada. Suponiendo que ese sea el caso, entonces su trabajo será reducir los picos de corriente en el cable de + 12v (que también están en el cable GND). Un filtro que use un inductor + large_cap ayudaría. El uso de un cable diferente donde la energía esté aislada de los datos también podría ayudar.

    
respondido por el user3624
0
  

mi baud real es 19966, un 3.8%, ¿podría ser mi problema?

Tendré que decir que sí, especialmente si utiliza el modo maestro / esclavo de 9 bits. Con el inicio y la parada hace 11 bits que tienen que pasar. Incluso con 8 bits "normales" (lo que resulta en 10 bits transferidos), el error debería ser mucho menor que el 5%.

  

mi F_CPU a 8MHz

¿Cómo se genera este 8 MHz? Un "reloj interno" generalmente tiene un 1% o más de error. Con ese 1% agregado, su 3.8% cae "fuera de la ventana".

Tenga en cuenta que también debe tener en cuenta los errores de reloj del lado receptor. Esta es la razón por la que la mayoría de la gente usa el llamado "cuarzo de velocidad en baudios".

    
respondido por el Turbo J
0

Un error de 3.8% es demasiado alto, cambia tu cristal o usa una velocidad en baudios que tenga un error menor. No causará su problema de ruido, aunque el ruido tendrá más efecto que si el error fuera más pequeño.

    
respondido por el Leon Heller

Lea otras preguntas en las etiquetas