No se puede comunicar con un dispositivo a través de rs485 [duplicado]

1

He estado atascado en este tema durante bastante tiempo. Estoy tratando de usar un arduino para comunicarme con otro dispositivo usando RS485. El problema es que puedo ver los datos que se envían, pero el dispositivo no responde en absoluto. Aquí está el desglose hasta ahora:

  • Estoy usando un puerto serial de hardware y un transceptor rs485 Max487 que se adjunta a un sheild personalizado.

  • Puedo hacer que el dispositivo funcione a través de RS232 usando una biblioteca que tengo escrito así, no creo que sea un problema de software.

  • También he podido comunicarme con el dispositivo usando un usb para convertidor rs485. Esto no estaba adjunto a mi arduino, envié los datos. utilizando realterm. Entonces, no creo que sea un problema con el dispositivo.

  • Estoy usando un cable plano con 2 pares trenzados. Un par que estoy usando para tierra, el otro para las señales que no invierten / invierten. El cable tiene una impedancia de 120Ohms. Mi cable mide unos 11 m de largo.

  • Tengo una resistencia de terminación de 120 ohmios en mi PCB y he habilitado la terminación de polarización en el dispositivo. (La línea de desvío tiene una polarización de 5V, la no inversión está en 0v).

  • Cuando miro las huellas, puedo ver que se están enviando todos los datos, junto con la paridad y los bits de parada. He adjuntado una imagen de las 2 trazas y el resultado de (línea no invertida - línea invertida)

  • ¡Estoy escribiendo! (Habilitar receptor) y los pines de Habilitación del controlador están altos cuando se transmite, y baja tan pronto como se complete la transmisión.

  • Cuando no pude hacer que funcionara con mi primer sheild, hice otra. Desafortunadamente, todavía estoy teniendo problemas.

En resumen, no creo que sea un problema de software. He leído mucho pero no he podido encontrar nada que haya ayudado. ¿Alguien tiene alguna sugerencia sobre lo que podría estar impidiendo que el dispositivo responda? Cualquier ayuda sería muy apreciada

Gracias de antemano

    
pregunta Andre

1 respuesta

0

Está demostrando que el Arduino utilizará una sola fuente para los 485 niveles de voltaje. Muchos dispositivos RS232 y 485 están basados en suministros duales y no serían compatibles con su esquema de un solo lado. Compruebe si el dispositivo utiliza un suministro dual. Si hay +/- 5 o 12 V en el transciever, entonces no puede Rx con su Arduino Tx.

Supongo que está utilizando sondas 10x pero no ha establecido la escala de alcance. Esos voltajes son bajos incluso con 10x. En segundo lugar, considere qué niveles de voltaje de señal espera su dispositivo. No he visto dispositivos seriales que funcionen con excepción de +/- 12V

    
respondido por el jdr5ca

Lea otras preguntas en las etiquetas