Cámara IP y transmisión de datos USB a través de cable Ethernet

Actualmente estoy trabajando en un proyecto que requiere la conexión de Arduino y la cámara IP a través de un solo cable Ethernet a una computadora portátil y, además, suministrar energía a un robot.

El objetivo es transmitir video desde la cámara y comunicarse con la placa Arduino.

  • Se requieren 4 hilos del cable Ethernet para la cámara.
  • Se necesitan 2 cables para la fuente de alimentación.
  • Eso me deja con 2 cables de repuesto para la conexión USB Rx/Tx pero no quedan cables para la conexión a tierra USB.

Mi pregunta es: ¿Necesito ejecutar un cable GND separado para la conexión USB? ¿O se compartirá GND a través del conector de cámara IP RJ45? ¿Y es seguro operar?

No estoy seguro de cómo funciona la transmisión de datos de la cámara, pero para mí es lógico suponer que la cámara y la computadora portátil comparten GND.

esquemático

simular este circuito : esquema creado con CircuitLab

Respuestas (3)

Realmente no debería intentar usar USB a una distancia no trivial o con cableado alternativo, pero afortunadamente no es necesario para un proyecto Arduino. Cambie a RS232 en su lugar, eso es lo que tenía el Arduino original , hoy necesitaría un cambiador de nivel adicional, y luego use un adaptador serie USB (es decir, con un conector DE9) en la computadora.

Ethernet no proporciona una conexión a tierra; pero si está suministrando alimentación de CC, estaría proporcionando una conexión a tierra allí. Los niveles de voltaje RS232 deberían darle un margen de ruido.

Para una solución aún mejor, utilice la señalización diferencial RS485 con transceptores y un protocolo de software que permite que los datos del dispositivo y del dispositivo compartan el mismo par diferencial.

Otra opción sería poner más de una "computadora" en el extremo del robot, lo que multiplexaría los datos de Arduino a través de Ethernet; la desventaja es que muchas de estas soluciones terminan teniendo un estado delicado del sistema de archivos que es difícil de mantener de manera confiable si su robot puede perder energía inesperadamente. Es probable que también aumente el consumo de energía. Pero algo como una placa MT7688 que trae dos puertos Ethernet distintos (uno para la cámara IP, otro para backhaul) podría ser una opción. O una sola Ethernet, y use un USB o una cámara dedicada en la computadora integrada, en lugar de una cámara IP completa.

Sí, estoy de acuerdo con Chris en que cambiar a niveles RS232 para su puerto serie Arduino sería mejor que USB. Mi experiencia es que 12 Mbit (velocidad completa) probablemente funcionará, pero puede causarle problemas, y 480 Mbit (alta velocidad) probablemente no funcionará en un cableado como este.

Un cable USB ya contiene una conexión a tierra, por lo que podría haber un bucle de conexión a tierra que puede generar ruido. Si eso es un problema, entonces puede considerar aislar los 12V.

El USB no debe pasarse por cables que no tengan la impedancia de línea de transmisión adecuada. Los cables USB deben tener una impedancia de 90Ω y par trenzado. De lo contrario, la tasa de error podría aumentar significativamente. El USB debe ejecutarse en su propio cable blindado y no con otras señales que puedan introducir diafonía.

No necesita una tierra separada para el arduino y la cámara IP. Puede compartir el único cable de tierra.

Desde el punto de vista de la integridad de la señal, su configuración puede ser sospechosa y podría tener errores de datos USB. Pero sospecho que si su longitud no es demasiado larga y está utilizando USB de 12 Mbit (en lugar de 480 Mbit de alta velocidad), probablemente funcionará. Asegúrese de usar los pares trenzados en su cable de manera adecuada: use un par para la alimentación/tierra y otro par para el USB Dp/Dn*.

* Solo como punto de aclaración, las líneas USB no transmiten y reciben como usted describe, sino que son un par diferencial (+/-) que se usa para la comunicación bidireccional.