¿Cómo podemos transferir una señal USART (3.3v) a través de un cable de 12 metros sin ningún controlador?

Tengo dos placas atmega328p trabajando a 3.3v. Las primeras placas leen un valor de sensor y lo envían a la segunda placa a través del USART. Los dos tableros tienen 12 metros de distancia. Las dos placas están conectadas por conector y cable RJ45. Las líneas de cable son VCC (3.3v), GND, RX, TX. Dos placas se alimentan de la misma batería que se encuentra cerca de la segunda placa. Entonces, la primera placa obtendrá energía a través del cable. Importante: - El entorno de instalación tendrá motores de grandes rpm.

¿Es posible transferir la señal USART sin ningún controlador RS232 a más de 12 metros?

Es posible pero no confiable.
¿Puedes decir por qué? ¿Cómo hacer que sea confiable de usar?
si quieres usar un controlador confiable.
Amigos, en realidad tenemos que hacerlo sin conductor?.
¿Hay algún controlador que funcione en 3v? Si es así, ¿es posible transferir más de 30 pies?
3.3V y 30 pies? Eso es fácil con cualquier transceptor RS232.
Bueno, gracias. Este es un segundo enfoque. En realidad, mi jefe necesita implementar esto sin controlador. Entonces, ¿qué problemas tendré si voy sin conductor?
Sería posible añadir un receptor más robusto (comparador con histéresis) a la otra placa. Pero una mejor solución sería despedir a ese jefe.
vishnu mc: Si el problema es el nivel de voltaje de 3,3 V, entonces hay transceptores de 3,3 V, por ejemplo, de Maxim. Utilizan chargepump para alcanzar voltajes compatibles con RS232. para.maximintegrated.com/en/results.mvp?fam=rs232&793=3.3
¿velocidad? >100k? 9600?

Respuestas (3)

En un entorno hostil, es posible que realmente necesite un controlador para obtener resultados confiables. Los motores grandes pueden influir en los voltajes del cable y causar errores de transmisión.

Entonces, si tu jefe es verdaderamente una montaña inmóvil:

  • utilizar una velocidad de transmisión baja,
  • comprobar si hay errores (USART, CRC),
  • reenviar (o descartar) los datos si se producen errores,
  • prueba a fondo antes de entregar;

Además, si hace esto, no le diga a sus clientes que usa RS-232; RS232 también especifica la capa física... El uso de 0 y 3V3 lo convierte en 'no RS-232'.

Haces que suene como si fuera factible hacer este proyecto sin transceptores. No lo es.
Lundin: La pregunta no es si es factible, sino si es posible.
@GB Este es un sitio de ingeniería eléctrica . Un ingeniero siempre cuestiona los requisitos y aplica el pensamiento crítico. Si todos los involucrados son charlatanes, entonces pueden hacer lo que quieran, hasta que terminen en los tribunales por no cumplir con las normas de seguridad y EMC.
@Lundin: No encuentro ninguna declaración que diga que esto será un producto. Y todo el mundo sabe que es posible con el controlador RS232. La pregunta es esta: "¿Es posible transferir la señal USART sin ningún controlador RS232 a más de 12 metros?"
@GB Sigue siendo la misma categoría de preguntas que "¿puedo frotar mi gato contra la PCB en lugar de contratar una pistola ESD?". No es ingeniería.
Si no tengo una pistola ESD, frotaré mi gato contra la PCB antes de enviarlo a un laboratorio de ESD. Para un dispositivo de prueba de concepto, ciertamente es aceptable para mí no usar un controlador, si eso significa no tener que diseñar y esperar una nueva PCB. Nuevamente: nadie dijo que la pregunta es sobre un producto y nadie dijo que no lo es.

Déjeme ver si entiendo su especificación: debe usar UART, no debe usar transceptores, debe tener un cable de 12 m y debe impulsar motores grandes, que potencialmente se alimentan a través del mismo conjunto de cables.

Lo siento si parezco grosero, pero quienquiera que se le ocurrió esta especificación es un charlatán incompetente.

El uso de UART para largas distancias no es confiable y es completamente poco profesional, particularmente si hay motores y otras cosas ruidosas presentes en el sistema. RS-232 mejoraría un poco la situación, pero es una tecnología repugnante de los años 60. La solución profesional sería utilizar transceptores RS-485 y una señal diferencial. Estos son relativamente baratos y más fáciles de usar incluso que RS-232. Mucho más barato que un producto irremediablemente roto que no se puede usar con seguridad. Hay pines estandarizados para RS-485 sobre RJ-45.

No hace falta decir que, además de eso, necesita seguridad de capa de protocolo con CRC y palabras de sincronización, etc.

Además, proporcionar 3V3 de una batería a través de un cable de 12 m generará caídas de voltaje, según el consumo de corriente y el grosor del cable. Eso tampoco es muy factible. ¿Por qué está usando baterías en primer lugar, ya que parece ser una instalación fija? ¿Por qué no puede usar el estándar industrial de 24 V con reguladores de voltaje descentralizados?

¿Puede proporcionar una fuente para "conectores estandarizados para RS-485 sobre RJ-45"?
@Rev1.0 Bueno, pensé que seguramente debe haber un estándar RJ45 para RS-485 como lo hay para CAN, Ethernet, etc. Luego busqué en Google y aparentemente hay innumerables pin-outs de basura para estos. Hasta el punto en que ni siquiera puedo confiar en fuentes generalmente confiables como Siemens, Phoenix, etc. Supongo que tienes que desenterrar el estándar EIA 485 real.

Si solo el controlador RS232 no está permitido, algunas ideas:

  • LVDS: necesita cables de par trenzado
  • Transceptor UART controlado por software que cambia 2 pines invertidos (en el mismo puerto) -> transferencia a través de cables de par trenzado (como si fueran diferenciales) -> receptor UART controlado por software (con lógica de detección de errores). Es posible que esto solo funcione con velocidades de transmisión bajas debido a la inestabilidad de procesamiento de uC. No creo que sea muy fiable.
  • En el peor de los casos: utilice cables blindados (¿coaxiales?) con protocolos de detección/corrección de errores y baja velocidad
"En el peor de los casos: use cables blindados (¿coaxiales?) Con protocolos de detección/corrección de errores y baja velocidad" Esto no funciona. He mantenido basura como esa, UART puro sobre un cable de unos pocos metros en un entorno industrial, cables blindados. ¿Suena bien? No, era una mierda completamente rota. El sistema dejaría de funcionar si una mariposa batiera sus alas cerca. CRC no lo salvará, la baja velocidad no lo salvará. No diseñes basura de la que se avergonzarían en la década de 1960, tan simple como eso.
Lundin: No estoy de acuerdo. He visto SPI trabajando en 1MHz en un cable de más de 2m funcionando de manera confiable. Pero, por supuesto, solo si las impedancias coinciden, el blindaje es correcto (todas las líneas son coaxiales) y la conexión a tierra está bien. En realidad, era un equipo de prueba para sensores de por vida, por lo que funcionó durante meses de forma continua. La pregunta es si se puede hacer que funcione con las placas Atmega.
SPI es una bestia completamente diferente: registra cada bit y puede implementar la detección de errores más cerca del hardware. UART registra cada 10 bits y su detección de errores es casi inexistente.
En cualquier caso, inventar algún sistema de basura exótico no estándar por miles y miles de dólares en lugar de usar un transceptor RS-485 estándar de la industria de $ 1 no tiene mucho sentido.
En eso estoy de acuerdo. Pero si esa es la tarea, entonces esa es la tarea.