Recomendación de un chip USB a RS-232 para un entorno industrial

Compré un dispositivo que tiene un microcontrolador ATmega y un chip FTDI que se conecta a una computadora a través de USB. El FTDI se usa solo como un adaptador RS-232 a USB.

Mi problema es que este dispositivo cuelga la PC cuando algunas de las máquinas están funcionando. Cambié los cables por unos gruesos y con blindaje pesado. También el cable está en un conducto de acero. Y el dispositivo en sí está dentro de una carcasa de acero inoxidable de 2 mm. El caso conectado es a tierra.

Sorprendentemente, el problema no está presente cuando se trabaja con este dispositivo, sino con una versión normal de RS-232. (La versión RS-232 funciona incluso con cable el-cheapo. No hay problemas).

Mis preguntas son:

  1. ¿El problema está relacionado con un mal diseño del dispositivo o es una falla del chip FTDI? Ahora estoy seguro de que se debió a un mal diseño del convertidor.
  2. ¿Cuál sería la mejor opción para un chip para convertir RS-232 a USB en un entorno industrial?
  3. ¿Cuánto trabajo es usar un microcontrolador con un puerto USB incorporado, por ejemplo, un microcontrolador Atmel? ¿Será más barato y más rápido?

El único requisito es que debe haber controladores tanto para Windows como para Linux para el convertidor.

¿Tienes un alcance? Si analiza las líneas TX y RX, es posible que vea el problema. Además, ¿a qué está conectada la tierra de la placa (Arduino?) o está apagada del USB?
Ah, y ¿cuán largo es el cable USB y por qué no solo usar rs232? ¿La placa tiene un chip convertidor de UART a rs232?
La máquina ahora está fuera de mi alcance. La placa era un pcb personalizado. La alimentación conectada a la fuente de alimentación de 12 V desde la PC con tierra común. Cable de unos 5 m de largo. Ahora funciona excelente con la versión RS232 del dispositivo. Sí, hay un chip para convertir RS232 a TTL. Estoy pidiendo un convertidor USB porque necesito construir un dispositivo similar pero con USB. He construido un dispositivo con FTDI en el pasado, pero ahora tengo miedo de que FTDI no sea tan bueno en condiciones de alto campo magnético.

Respuestas (4)

En mi última empresa descubrimos que los convertidores de USB a RS-232 pueden tener un problema cuando esperan una respuesta casi instantánea del dispositivo RS-232. El ingeniero de diseño de nuestro equipo me aconsejó que el USB usa paquetes de datos. Por lo tanto, al usar USB, a menos que el software o los controladores fuercen el envío de un paquete de datos USB, el controlador USB puede esperar más de un segundo (5000 ms) esperando que se complete el paquete antes de enviar el paquete de datos incompleto.

Esto significaba que muchos programas antiguos de DOS/Windows en los que monitorizaban las líneas de estado RS-232 caducaban. Los programas más antiguos a menudo usaban bucles de tiempo basados ​​en un cierto número de veces... Entonces, a medida que las PC se hacían más rápidas, el sondeo se hacía más rápido. A medida que el período de tiempo de la encuesta se acortaba, apareció el USB.

El sondeo se convirtió efectivamente en una ubicación de memoria... (Los controladores generalmente están optimizados para un rendimiento máximo de paquetes de datos y no transmitieron la información de estado porque estaban esperando para llenar un paquete). Los controladores a veces se pueden ajustar para ayudar con esto. Los controladores FTDI pueden ajustar muchos valores en su archivo de configuración. (Excelente para velocidades de datos no estándar).

Esto significaba que a menudo teníamos que ejecutar programas en computadoras de escritorio con puertos RS-232 o arrastrar la estación base de la computadora portátil hacia el equipo para que funcionara.

Información Adicional

Consulte la página 6 de la nota de aplicación Opciones avanzadas del controlador para los ajustes de tiempo de espera de USB...

Y para velocidades de transmisión impares de hasta 3 Mbit/s, consulte Configuración de velocidades de transmisión de FT232R, FT2232 y FT232B .

Los documentos del controlador FTDI estaban bien la última vez que miré y permitieron algunas soluciones fáciles.
Entonces, ¿qué chip/chips elegiría si tuviera que diseñar un dispositivo de serie a USB?
Yo clonaría este diseño. Al no haberlo usado no podría jurar que es lo que necesitas pero al menos puedes probarlo. ftdichip.com/Support/Documents/DataSheets/Cables/DS_Chipi-X.pdf
Consulte la página 6 de ftdichip.com/Support/Documents/AppNotes/… para conocer las opciones del controlador relacionadas con los problemas de latencia.
Cambiar el tiempo de espera de USB resolvió nuestros problemas ... vea la adición a la respuesta.
El tiempo de respuesta del hardware es muy importante para mí. Estoy muy agradecido por su consejo.
La respuesta de @Anindo relacionada con el aislamiento sigue siendo muy importante. Los osciloscopios USB demuestran lo peor de esto, donde el osciloscopio y la PC mueren porque faltaba el aislamiento...

Una posible causa del informe del problema descrito es una falta de coincidencia de nivel entre la conexión a tierra en la PC y en el lado del equipo industrial. Esto proviene de experiencias personales similares que diseñan para aplicaciones industriales.

O eso, o algunos transitorios significativos que atraviesan las conexiones: RS232 es más indulgente que USB en algunos aspectos.

Una cosa que debe verificar es si las dos tierras están conectadas, e incluso si lo están, si hay una diferencia de potencial lo suficientemente significativa para que la corriente sostenida medible, CC o transitoria, pase a lo largo de la conexión de tierra a tierra/blindaje del cable.

Una solución sería una implementación aislada galvánica u ópticamente: las líneas de control de actuadores/sensores industriales deben aislarse del lado de la PC a través de (a) acoplamiento de transformador u (b) optoacopladores, según los requisitos de diseño específicos. El dispositivo del microcontrolador podría colocarse a ambos lados de la barrera de aislamiento.

En términos prácticos, la forma más fácil de implementar esto, una vez que se establece la necesidad de aislamiento, es usar un dispositivo de aislamiento USB independiente como este de Olimex, en la conexión USB de la PC a la placa:

aislador USB.

Otro dispositivo de este tipo es el USB Port Guardian , bastante mejor empaquetado, pero esencialmente similar en funcionalidad.

Sin embargo, ninguno de estos dispositivos parece sobrevivir bien en entornos extremadamente hostiles: nos hemos enfrentado a algunas fallas de dispositivos en configuraciones implementadas, pero su entorno puede no ser tan desafiante.

A nivel de diseño, Analog Devices ofrece piezas de aislamiento USB de paquete único en su línea iCoupler . La incorporación de una pieza de este tipo en el diseño no es muy complicada, y el equipo de soporte de diseño de Analog Devices es muy proactivo si necesita ayuda.

Específico para los 3 puntos en la pregunta:

  1. Es más probable que el problema sea específico del diseño, como se indicó anteriormente, en lugar de un problema con la parte FTDI.
  2. Esto requeriría especificar los factores reales del entorno industrial, es decir, la temperatura, etcétera . Maxim y otros fabricantes tienen piezas especificadas para rangos de temperatura industrial, pero si su PC está ahí, y presumiblemente sus operadores, el entorno probablemente no sea tan duro.
  3. El jurado está fuera de esto: hay defensores de las escuelas de pensamiento FTDI y USB MCU integradas. La ventaja de costo real, incluido el costo de diseño, variaría según la situación.
¡Gracias por tu gran respuesta! El único factor son los grandes motores de inducción que crean campos magnéticos. Olvidé mencionar que otro dispositivo está conectado a la misma PC a través de RS485, por lo que probablemente no sea un problema con los niveles de señal.
@martini RS485 es muy indulgente en el espacio industrial, en comparación con USB: fue diseñado para entornos eléctricos más duros.
Estoy de acuerdo. RS485 es el ganador. Pero, en su opinión, ¿es USB mejor que RS232? ¡Creo que es! Porque USB usa señalización diferencial al igual que RS485. Solo con menor voltaje.
@martini Sí, preferiría USB (aislado) si no pudiera tener RS485, aunque solo sea porque cada vez es más difícil encontrar hardware RS232 en las computadoras. Sin embargo, la señalización industrial no es para lo que es USB, en ese espacio la regla tradicional de 4-20 mA, RS485 y quizás radio.
También he tenido mucho éxito con el aislador Keterex USB-150 .
Serías el ganador, pero la respuesta de @Spoon es más valiosa para mí en este momento. Agradezco su tiempo y esfuerzo en responder a mis preguntas. Su consejo con el aislamiento de la señal es muy bueno por varias razones. Así que gracias de nuevo por tu ayuda :)
El problema del aislamiento es muy real y lo sigo además del problema de sincronización USB-RS232 puro.

La respuesta de Anindo es precisa: sospecho firmemente que tiene demasiada conexión a tierra y que la maquinaria está arrastrando la conexión a tierra del USB de la PC.

En nuestra experiencia, los chips FTDI son los mejores, por lo que sería muy reacio a culparlos como la causa de la falla.

Las líneas de datos de USB pueden ser diferenciales , pero no están aisladas y las líneas de alimentación y GND pueden ir a cualquier parte del dispositivo de destino; no es bueno si el dispositivo de destino tiene conexiones a tierra que no son comunes con la PC.

Muchos chips controladores USB en las PC se apagarán si detectan condiciones de sobrecorriente, etc., por lo que es muy posible que la maquinaria esté arrastrando las líneas de alimentación/tierra y provocando un ataque cardíaco a la PC.

Vería ejecutar el 232 en la PC y luego tener el convertidor en el extremo de la PC, o incluso convertirlo a RS485/422 (muchos chips Maxim para hacer esto) y volver al extremo de la PC. Hay placas FTDI USB/232/485 en eBay por $10, usamos muchas.

Nuestras máquinas tienen puntos en común y no utilizan mucha energía. Son las otras máquinas (no conectadas a la nuestra) las que contaminan el aire con ondas magnéticas. El problema fue un mal diseño del convertidor. Mi pregunta ahora es ¿cuál de las fichas prefiere personalmente?
De hecho, aislar las líneas de datos en serie es probablemente una solución más robusta (y técnicamente más simple) que aislar el bus USB.

No estoy seguro de que este sea su problema, pero en mi PC anterior, el uso de un convertidor usb-serie en combinación con otras aplicaciones (especialmente audio y video) podría hacer que mi PC se bloquee y, a menudo, se reinicie. Esto no sucedió cuando usé el mismo dispositivo y aplicación con el puerto serie real (hardware). Nunca descubrí cuál era la causa, solo aprendí a evitar ver videos durante el uso intensivo del puerto serie USB. AFAIR esto sucedió tanto con FTDI como con convertidores prolíficos. Podría haber sido un problema de SW (versión de Windows, pila USB) o tal vez de hardware (placa base escamosa). Con mi nueva PC (versión de Windows diferente) nunca me he encontrado con este problema. (Lo cual es mucho mejor ya que no tiene un puerto serie de hardware).

Gracias por su respuesta. En mi caso el problema estaba directamente relacionado con el encendido de motores eléctricos de alta potencia. Pero sí, ahora estoy usando directamente el puerto serial del hardware y está funcionando bastante bien.