Configuración del diseño del circuito SPI para su uso en el transceptor 485 para la transmisión de datos de largo alcance (más de 50 metros)

Salir tan rápidamente de las cosas que he hecho anteriormente al tratar de enviar señales de controlador SPI a través de rangos largos usando un cable de 18 AWG o, según todas las recomendaciones que hemos estado leyendo, usando transmisión/recepción bidireccional MAX485 o RS232 con cable cat5/6 .

La fase inicial 1 de nuestra construcción es permanecer con los controladores SPI para los LED y luego pasar a programables, por lo que se agrega Pi o basado en Arduino y se eliminan los controladores SPI. No queremos hacer eso para esta fase si podemos evitarlo.

Estoy usando varios controladores LED SPI diferentes, como btf lighting sp108e y 602e (en la foto). También tenemos 608es para integración de música (entrada de activación en el controlador SPI):

ingrese la descripción de la imagen aquí

Que tienen una señal de salida de 1,5 a 2 voltios nominalmente:

salida de controladores SPI

Queremos usar módulos de transmisión/recepción en ambos extremos del cable con entrada directa desde el controlador SPI al transmisor y el extremo de recepción termina en una tira de LED (WS2815).

Los módulos serían algo así:

ingrese la descripción de la imagen aquí

Para la conversión de TTL a 485, cuando conecto mi circuito a través de mi salida al lado del LED para la recepción ya no está limpia, y estoy viendo una salida de 200 mv en una forma de onda completamente diferente:

ingrese la descripción de la imagen aquí

  1. el 485 afirma que solo puede funcionar con datos de 3.3/5V. ¿Necesito cambiar mis datos de voltaje SPI a uno de esos y cuál sería la mejor manera de hacerlo?

  2. ¿El cambio de voltaje afectará la fase de datos? ¿También solucionará el problema con las líneas de transmisión A y B, ya que en este momento no obtengo el inverso de A en la línea B?

  3. ¿Necesito un terminador en el lado del receptor de este circuito? He leído que en muchos de estos circuitos lo haces.

Pensé que este circuito sería más sencillo con la salida TTL de los controladores SPI, pero algo se está perdiendo durante la transmisión/recepción; mi sospecha es el disparador de voltaje para el circuito, pero realmente no lo entiendo bien. suficiente y buscando ayuda.

ACTUALIZAR:

esquema actual de configuración de trabajo

Esta es la configuración actual que está funcionando, pero tengo algunas preguntas con respecto a la configuración RS485 de tierra.

El lado frontal 485 tiene una de las dos tierras vinculadas al RXD, ya que cuando se conectó a la tierra real provocó una duplicación del voltaje y un aumento en el brillo del LED.

Según otra recomendación, la transmisión (TXD) en el extremo del receptor RS485 se conecta a tierra, lo que una vez hecho, permitió el control de la tira WS2815.

La resistencia de terminación estaba causando problemas con el parpadeo de los LED cuando se apagó la alimentación a través del controlador, los 120 ohmios empeoraron y luego se cambiaron a 100 ohmios, lo que redujo el parpadeo.

Una vez retirada, la tira de LED no se desvaneció más. No puedo encontrar una hoja de especificaciones real para estos RS485 en particular, sin embargo, dicen que tienen un cortocircuito para el conjunto A+/B- (120 ohmios), particularmente para la transmisión de larga distancia agregada al controlador.

Por último, mirando los esquemas y el circuito recomendado para el WS2815, se recomienda que los datos secundarios (BI) se conecten a tierra para la primera ejecución, luego ejecuciones adicionales a los datos de las líneas primarias.

Para la configuración de conexión a tierra en esto, esto suena anormal, especialmente en el lado frontal 485 para mí, aunque la segunda conexión a tierra todavía está conectada a tierra a la fuente de alimentación para el 485 5V in.

¿Esto me va a causar problemas a largo plazo? En realidad, funciona perfectamente en esta configuración con el SP602E ingresando directamente a la línea de datos en el 485.

Usando el módulo UART a 485 como en este video.

Bienvenido al sitio. ¿Puede publicar los enlaces a las hojas de datos, el diagrama de cableado, etc.?
¿Podría explicar qué significa SPI en su caso, porque sospecho que la mayoría de las personas aquí no comparten su definición de SPI? ¿Te refieres a la señal de datos en serie que se conecta a los LED WS1215? ¿Quiere extender esos datos a más de 50 metros, con transceptores RS-485?
El protocolo LED también requiere una velocidad de datos de al menos 800 kbps. ¿Qué conjunto de chips está usando el transceptor RS-485? ¿Puede funcionar a 800 kbps o más de manera confiable? Lo que también significa que es casi seguro que RS-232 está fuera de discusión aquí. Tus fotos son tan pequeñas que prácticamente no sirven para ver ningún detalle.
Estoy tratando de extraer los datos del conjunto de chips ya que las hojas de especificaciones del pedido no los tienen. Literalmente, estamos ordenando a múltiples fabricantes, ya que parece depender de quién los fabrica.
Las placas tienen un conjunto de chips MAX485 y 74HC04, las especificaciones del MAX485 lo colocan a 2.5 mbps como máximo, por lo que no creo que la tasa de datos sea un problema al pasar por los módulos.
@ LGTZ73: Hola, cerré su primera pregunta como un duplicado de su segunda pregunta , ya que la primera pregunta claramente se reemplazó y no obtuvo respuestas. Parece que, en lugar de editar la primera pregunta para agregar detalles, hiciste la segunda pregunta. Esta de aquí es ahora la tercera pregunta: el mismo tema. ¿Todavía está esperando respuestas a su segunda pregunta, o esta tercera pregunta ahora reemplazó a la segunda pregunta? Nota: No haga más preguntas nuevas sobre esto, sin justificar cómo sería una pregunta nueva y no una actualización de una existente. Gracias.
Edité mi segunda pregunta para centrarme en los controladores LED, esta pregunta me enfoco en los problemas de transmisión de datos 485 que tengo
Tengo miedo de decir que, mirando su diagrama de bloques, espero que tenga los mismos problemas con el diseño y la coincidencia de impedancia con el cable y la falta de atención a detalles como ganancia, compensación y CMRR
En este momento, lo estoy pasando a través de unos 150 pies de Cat6 y un cable de alimentación de 100 pies, ambos enrollados, por lo que en la peor configuración para ellos, con conexiones de cocodrilo bastante terribles para algunas de las configuraciones de 'prueba', protoboard parcial y no completo configuración o soldaduras. Eso es lo que no tiene sentido para esto....
SU esquema es insuficiente y necesita un diseño real que muestre la alimentación, las conexiones del blindaje del cable de tierra en el extremo del controlador solo también vea mi respuesta aquí electronics.stackexchange.com/questions/583693/…
El pin rs485 rx está cortocircuitado a GND. No es bueno. Además, en el segundo rs485, el controlador tiene que estar deshabilitado para que no intente transmitir. De lo contrario, ambos lados intentan transmitir al mismo tiempo y no funcionará.
Con el medio dúplex automático, ¿todavía necesitaría deshabilitar la transmisión? ¿Tendría que puentear los pines IC reales ya que no hay RE y DE sino solo para DI y RO pero solo un pin para transmitir y un pin para recibir en el módulo? El módulo es: TTL a RS485 Módulo 485 a Serial UART Nivel Hardware de conversión mutua Módulo de control de flujo automático 3.3V 5.0V Fuente de alimentación Transmisión de larga distancia amazon.com/dp/B07KD24YDL/…
¿Usaría una resistencia desplegable en el TXD del extremo lejano 485 para deshabilitar la devolución de datos para que no intente transmitir, lo mismo para el RXD en el lado frontal 485? Parecía que estos serían más fáciles de configurar, pero en realidad no lo han sido, pero funcionaron con nuestras señales de entrada más bajas.

Respuestas (3)

Parece que su suposición es correcta y que el voltaje del controlador LED no es lo suficientemente alto como para proporcionar transiciones de borde utilizables al convertidor TTL-RS485. Específicamente, el voltaje ALTO del controlador está por debajo del Vih de cualquier controlador de línea que esté en ese convertidor. Deberá usar algo como un SN74AVCH1T45 para subir los niveles.

Para la terminación, eso depende de si hay un terminador integrado en la placa que está utilizando, pero debe coincidir con el cable que esté utilizando. El cable ethernet antiguo normal es de 100 ohmios.

Según la descripción, tiene 120 ohmios que deberían coincidir con el gato 6. Tenemos un SP901E que era un amplificador para la entrada LED que pensamos que se suponía que debía dar salida al TTL de 5v, pero en realidad no funcionó como se pensó ( superlightingled.com/… )
120 ohmios no coincidirán con el cable cat6; cat5 y cat6 son ambos de 100 ohmios. Para velocidades de datos bajas y tiradas cortas, generalmente puede salirse con la suya con la falta de coincidencia, pero no soy optimista en su aplicación específica. Le invitamos a probar, por supuesto, el cable ethernet es barato y siempre puede reutilizarlo para un cable de conexión.
Tenemos cableado cat5e, cat 6 y cat7 que podemos usar, pero también ejecutamos 18 AWG inicialmente para las líneas de alimentación y datos 1 datos 2. Prefiero no usar el cat7, ya que en realidad lo usamos en la casa, pero definitivamente podemos cambiarlo por el de 100 ohmios para el cat6. La descripción de la placa dice que tiene un cortocircuito de 120 ohmios (R0) para tramos largos de cable y ¿dejarlo así para tramos largos? ¿Necesito cambiar eso en el tablero representado?

Podría estar equivocado, pero según su pregunta, sospecho que puede estar confundiendo algunas cosas. Menciona RS232 pero luego también menciona 485, que son diferentes protocolos de transmisión de señal de "alcance más largo".

En general, lo que intenta hacer puede funcionar: codificar las señales en un extremo, enviarlas a través del cable largo y reconstruirlas en el otro extremo. Pero faltan algunas cosas.

No especificas los detalles de tu "SPI"; por lo general, un protocolo SPI tiene 4 cables, Salida/Entrada/Reloj/Habilitar. La Salida/Reloj/Habilitar van en una dirección y la Entrada va en otra; sin embargo, usted menciona los LED de conducción que generalmente usan un protocolo similar a SPI con solo OUT y Clock, tal vez también una línea de habilitación. La única razón por la que señalo esto es que si necesita la línea "In" (también conocida como línea MISO), deberá codificarla a la inversa. Lo que está mostrando en el alcance podría ser una de estas señales: una señal diferencial podría parecer muy ruidosa, pero la idea es que la información se transmita como la diferencia entre el primer y el segundo cable, y ambos cables se ven afectados más o menos. lo mismo, la diferencia es inmune al ruido.

Sabiendo eso, ¿ha puesto un chip receptor en el otro extremo? No puede tomar la señal RS485/RS422 y simplemente enviarla a su dispositivo (en realidad podría, pero dejemos esto por ahora). Necesita un receptor compatible que tome la señal diferencial de dos hilos y la convierta de nuevo en una señal que alimenta a su circuito. Lo mismo si está utilizando RS232: ese es un protocolo de un solo cable, pero los niveles de voltaje oscilan hacia arriba o hacia abajo para hacerlos más inmunes al ruido, pero aún necesita un receptor en el otro extremo.

Y, por supuesto, si necesita la línea de retorno, necesitará un chip codificador en el otro extremo y un chip receptor en el otro lado.

Por último, y eso se aplica si usa RS485 o RS232, deberá asegurarse de que los chips del transmisor y el receptor puedan operar a una frecuencia lo suficientemente alta para su protocolo. En RS485/422, no es raro tener chips que solo pueden llegar a 250 KBps versus otros que pueden llegar a 10 MBps.

En este caso, "SPI" significa la abreviatura de "Protocolo para LED RGB direccionables como WS2815". Y si bien existen transceptores RS-232 de hasta 1 Mbps, permiten una distancia de aproximadamente 5 pies, por lo que RS-232 está prácticamente fuera de discusión aquí.

Hay varias razones por las que puede no estar funcionando.

  1. Niveles de voltaje.
  2. Terminación.
  3. Tiempos para su transceptor
  4. Todo el sistema.

Vamos a abordarlo uno por uno:

  1. Niveles de voltaje. El LED WS2815 con ficha técnica es un LED inteligente de 12V. La entrada digital considera
    V I H = 0.7 V D D
    y
    V I L = 0.3 V D D
    .

En tu caso

V D D = 12 V
V I H = 8.4 V
V I L = 3.6 V
Niveles de voltaje WS2815

Si usa un transceptor RS-485, normalmente funcionan con 0~5 V o 0~3,3 V. Significa que los niveles de salida no son compatibles con su LED. Necesitará algún nivel de cambio entre el transceptor y el primer LED. Por ejemplo , CD40109B La hoja de datos SW2815 puede tener algunos errores, realmente creo que los niveles de comunicación no son VDD sino VCC, por lo que probablemente no necesite un cambiador de nivel. ingrese la descripción de la imagen aquí2. Terminación de bus de 100 ohmios a 120 ohmios entre A+ y B- en el extremo del receptor (lado cerrado a los LED).

  1. Tiempos para su transceptor Si desea recuperar una forma de onda que en este caso tiene un ancho de pulso de 220 ns ~ 380 ns, un transceptor de 1 Mbit puede no ser suficiente. Horarios WS2815Por ejemplo, el transceptor SN65HVD1792 ( Hoja de datos ) muestra el tiempo de subida/bajada de la salida diferencial del controlador hasta 300 ns, que está muy cerca de su límite. Esto puede o no ser un problema.

  2. Todo el sistema

Este es el aspecto que debería tener su sistema. EDITAR: No es que sepamos que el emisor es un SP601E, es posible que necesite un convertidor de nivel para adaptar el nivel para el transceptor RS-485, el mismo razonamiento que el n. ° 1, pero al revés.

esquemático

simular este circuito : esquema creado con CircuitLab

Entonces, para la entrada, todavía necesitaría el convertidor de nivel para el sistema que podría probar usando mi arduino hasta que los ingrese, tanto para la parte frontal como para la parte posterior para disminuir la entrada a los datos en el ws2815 dentro de Vih y Vil? ¿Puedo usar los mismos mandos de nivel para la parte delantera y trasera?
Cualquier otra idea sobre los convertidores de nivel como los que mencionaste ti.com/lit/gpn/cd40109b parece estar agotado en bastantes lugares. Los otros cambiadores de nivel que estoy encontrando son principalmente para conversiones entre 3.3 y 5v solamente.
Primero la salida de SP601, si la señal es de 0~5V, entonces no necesita convertidor lvl. Si la señal es de 0~12V, la necesita, ya que la entrada del transceptor aceptará un máximo de 5V. * Para el convertidor de primer nivel (si lo necesita) puede probar con solo un divisor de voltaje. * Para el convertidor de segundo nivel, creo que la hoja de datos del LED está equivocada y probablemente no la necesite.
Voy a intentar usar un conjunto diferente o 485 o un receptor diferente. Tengo la configuración a continuación, todo se ve mejor hasta que el decodificador/receptor luego el lado de salida para la línea LED está a 0,03 voltios.
ACTUALIZACIÓN: se intercambió con el nuevo conjunto de módulos rs-485 y parece que todo funciona correctamente (más o menos) con una conexión directa desde el sp602e que hemos conectado; no se aplicaron conexiones de voltaje, según toda su ayuda. El único problema que tengo parece ser una interferencia de bucle de tierra, y parece que si tengo la tierra (desnuda) para el transmisor conectado, obtengo una señal fuera de fase (o veo una iluminación LED falsa y algunos problemas con el inteligente controlador). ¿Necesito agregar la resistencia a tierra también?
¿Aplicó energía al transceptor rs-485? Debes hacer 4 medidas. 1 . Salida de SP602 2 . Salida de RS-485 A+ y B- 3 igual que 2, pero en el lateral del receptor. 4 la señal Rx que entra en el WS2815
Con el osciloscopio, espero ver el nivel de voltaje alto o bajo.
La salida del SP602 es: 1,65 v, en el lado de salida, A 2,64, B es 2,08, en el lado de recepción A es 2,62, B ​​es 2,08, la salida a los datos del LED es de 2,21 voltios. Con todas las tierras conectadas, con el primer rs-485, la tierra desconectada del bucle, todos los voltajes se duplican pero el LED está más cerca de lo que son los programas y los colores, todavía hay LED falsos y cuando se apaga, la tira de LED permanece encendido, como si no se recibiera el comando de apagado.
Tenga en cuenta que los nuevos módulos son solo de 5 voltios, no se puede distinguir el conjunto de chips ya que se han desinfectado de ellos, por lo que el LED se alimenta desde la fuente de alimentación LED y un 2A 2 hilos de 5 voltios por separado para los módulos RS-485