Cómo solucionar problemas de conexión RS232 a USB que no funciona

0

Compré un inclinómetro RS232 y un Cable FTDI USB a RS232

Los estados de las hojas de especificaciones del inclinómetro:

  • comunicación dúplex completa RS232
  • Tensión de alimentación 4.9 - 15V
  • cables:
    • Rojo: + ve
    • azul: suelo
    • Amarillo: Tx RS232
    • Verde: RS232 Rx

Las especificaciones del cable USB:

  • Voltaje de alimentación 5V
  • cables:
    • Black: Ground
    • Brown: CTS #
    • Rojo: Poder
    • Naranja: TXD
    • Amarillo: RXD
    • Verde: RTS #

Los he conectado de la siguiente manera:

  USB cable        Inclinometer
     Red    < - >    Red  
   Black    < - >    Blue
  Orange    < - >    Yellow
  Yellow    < - >    Green

Cuando conecto el cable USB e intento acceder al inclinómetro, solo aparece una pantalla en blanco. He intentado usar el terminal ( screen /dev/tty.usbserial 9600 ), probé CoolTerm y probé el software de inclinómetro proporcionado por el fabricante . Todos los métodos solo me muestran una pantalla en blanco, sin datos.

¿Cómo puedo solucionar este problema?

    

3 respuestas

3

TX y RX (transmisor y receptor) en UART / RX232 generalmente se indican desde el punto de vista de cada dispositivo. Significa que uno necesita conectar el cable TX a RX en el otro lado y RX a TX en el otro lado. De acuerdo con su descripción, están conectando ambos RX juntos y ambos TX juntos, lo que está mal.

Por lo general, puede verificar dos veces en la hoja de datos / hoja de especificaciones si un pin o cable en particular se describe como salida o entrada. El manual FTDI menciona que el cable naranja (TXD) se está emitiendo y el amarillo (RXD) entra. No veo ninguna información explícita similar en la hoja de datos del inclinómetro, pero en la mayoría absoluta de los casos, el cable TX se emite y la entrada RX. Y generalmente no es una buena idea conectar dos salidas juntas.

    
respondido por el Martin
5
  

¿Cómo puedo solucionar este problema?

Además de tener que intercambiar TxD y RxD en uno de los dos extremos de la conexión RS232, como han mencionado amablemente otros miembros, encontré 2 problemas potenciales más que debe tener en cuenta:

  • Has dicho:

      

    USB cable Inclinometer
    Red < - > Red

    Eso muestra que espera alimentar el inclinómetro desde 5 V suministrados desde el cable FTDI. Sin embargo, tenga en cuenta que el documento que vinculó desde FTDI muestra que el voltaje predeterminado proporcionado en el cable rojo FTDI es 0V . No menciona la medición del voltaje real proporcionado por su cable FTDI. Teniendo en cuenta esta información de FTDI, le recomiendo que mida ese voltaje:

    Siesnecesario,basadoeneldiagramaesquemáticocercadelfinaldelahojadedatos,parecequesepuedecambiarelvoltajeprovistoenesecable.Sinembargo,tambiéntengaencuentaque,segúnlaslimitacionesactualesmencionadasenlahojadedatos,el5VnoseproporcionaríadirectamentedesdeelpuertoUSB.Definitivamentealgoparaunamayorinvestigación.

  • Hasdicho:

      

    Heintentadousarelterminal(pantalla/dev/tty.usbserial9600),probéCoolTermyprobéelsoftwaredeinclinómetroproporcionadoporelfabricante.

    Sinembargo,tengaencuentaestepuntoeneldocumentodeinclinómetroquevinculó:

    ¡Tendría que escribir muy rápidamente, para dejar < 100 ms entre los caracteres! Esto sugiere que se ignorarán los comandos escritos manualmente al inclinómetro, ya que una persona probablemente dejaría espacios y gt; 100 ms entre los caracteres. Por lo tanto, debe ejecutar los comandos de prueba utilizando el software de terminal (asegurándose de que no exceda ese intervalo de espacio entre caracteres) o utilizar el software del fabricante.

    Me doy cuenta de que mencionas que ya has usado el software del fabricante. Mi punto es que, a menos que tome precauciones especiales para no exceder el tiempo de separación entre caracteres, se espera que las pruebas que escriben manualmente en CoolTerm y un terminal estándar fracasen de todos modos. Por lo tanto, no pierda el tiempo y el análisis de esos 2 resultados en esta etapa (o bien, si continúa usándolos, asegúrese de no exceder ese tiempo máximo entre caracteres). No trate sus resultados como fallas con 3 paquetes de software diferentes por la misma razón subyacente, eso puede no ser cierto, como se explica en este punto, y puede confundir su análisis de resultados de pruebas futuras.

Técnicas a considerar:

  • Desconecte el inclinómetro, cortocircuite los cables RS232 TxD y RxD en el cable FTDI (es decir, conecte un bucle de retorno de datos solamente). Configura el software de tu terminal para que no haya handshaking (por lo que no importa que CTS# esté desconectado) y sin eco local . Luego, cuando escribe, debería ver cada carácter que escriba mostrado en la pantalla a medida que se recibe. Verifique que este eco se detenga cuando desconecte la conexión de bucle invertido. Si todo funciona como se describe, confirma el funcionamiento correcto del cable FTDI para datos.

  • Use un multímetro para medir el voltaje entre el rojo y amp; Cables negros del adaptador FTDI, como se mencionó anteriormente. Si este voltaje no es de 5 V, debe corregirlo (ya sea adaptando ese cable o utilizando un cable USB diferente) para poder suministrar energía al inclinómetro.

  • Aunque la hoja de datos del inclinómetro indica que la tasa de datos RS232 predeterminada es de 38.4 kbps, cualquier cambio realizado es persistente. No me queda claro si el valor predeterminado para el dispositivo es generar datos continuos. Sin embargo, me aseguraré de que el dispositivo tenga una fuente de alimentación adecuada (que puede no ser el cable FTDI, dependiendo de los resultados de sus pruebas de voltaje) y utilizar un 'alcance' para ver el pin RS232 TxD.

    Si se están enviando datos, mida el ancho de bits para verificar si la velocidad de datos es realmente de 38.4kbps. Si no es ese valor, obviamente, configure el software del host para que coincida con la velocidad de datos que el dispositivo en realidad está usando.

respondido por el SamGibson
0

Parece que tienes TX y RX invertidos. TX de un dispositivo se conecta a RX del otro.

Fabriqué y apoyé un dispositivo serial. El 99.9% de los problemas fueron con Windows. Más a menudo el controlador de dispositivo y la configuración del puerto.

Este dispositivo es un poco más complejo que su dispositivo serial típico. Y hay muchos problemas con los dispositivos simples.

Para minimizar los diversos problemas, sería mejor que el dispositivo funcione con el software del fabricante que se ejecuta en Windows. Su software llevará el dispositivo a un estado conocido.

¿Conoces el número de puerto COM? Esto se puede encontrar en el administrador de dispositivos en los puertos COM y LPT.

Si no hay una lista de controladores USB en los puertos COM y LPT, entonces el controlador no está instalado.

¿A qué baudios está configurado el terminal? 38400?

¿El dispositivo está en binario o ASCII?

    
respondido por el Misunderstood

Lea otras preguntas en las etiquetas