Esquema RS485

Hola a todos,

Estoy diseñando un circuito que entre otras cosas lee una señal nmea 0183, ( esta señal se trasmite por lineas diferenciales sobre RS485/422) el tema esta en que yo soy informático y no electrónico y me cuesta una barbaridad este tema.

Tengo un pequeño circuito con unos octoacopladores de 4 vías ( PS2801-4 ) y para manejar el RS485 a TTL ( AM26LS32ACDR para las entradas y AM26LS31CDR para las salidas)

Ya se, que la salida 3 y 4 no están conectadas, y no las voy a conectar por el momento. Os he puesto solo la parte del RS485 para que no fuera pesado.

El problema esta, en que no se si el esquema esta ok, por favor le podéis pegar un vistazo?

Gracias
 
No entiendo nada no he encontrado el datasheet de esos transductores.
¿Cuantas líneas de 485 vas a montar, 4, 8...?
Sin leer el datasheet, dudo que funcionen si no activas G
Dudo que puedan ir los optoacopladores sin resistencia en los diodos,

Lo poco que he visto de el NMEA0183 es un solo canal 485 a dos hilos.
485 es bus y admite múltiples dispositivos sobre dos hilos.
¿Vas a hacer todas esas uarts por software? Si necesitas un saco de UARTs a lo mejor te interesa poner un circuito de puertos serie asíncronos a puerto serie síncrono SPI que creo que hay.
 
Enlaces a los datasheet

https://datasheet.lcsc.com/szlcsc/Texas-Instruments-TI-AM26LS31CDR_C6179.pdf
https://datasheet.lcsc.com/szlcsc/Isocom-Components-PS2801-4_C89880.pdf
https://datasheet.lcsc.com/szlcsc/Texas-Instruments-TI-AM26LS32ACDR_C6180.pdf


Si, NMEA0183 son lineas diferenciales de dos hilos, quiero poner cuatro entradas y dos salidas, las UARTS irían por software (hay pines de sobra) eso no seria un problema.

Mi problema esta en si necesita resistencia los diodos de entrada y de cuanto ( 4K7 ?) creo que son señales de 5 V y no se si tengo que conectarlos a 3.3 los drivers RS485
 
¿Para que has puesto los optoacopladores?
No hacen nada ahí, aparte de quemarse los diodos, claro.
¿Son para adaptar de 5 a 3V3? Hay soluciones muuucho mas compactas y sencillas.
Aparte te van a limitar la velocidad máxima, puede que no te afecte o puede que si...
Los diodos led si o si tiene que llevar algo que limite la corriente. Por ejemplo una resistencia. Aplica la ley de ohm según que corriente quieras,
Los transistores lo mismo, o pones una resistencia de pullup o activas por software la del pin pero ojo que entonces dan un 1 y un 0 invertidos, los tendrás que poner al revés , con resistencia push down.

Depende de como estén implementadas las uart software puede quemar CPU como si no hubiese un mañana. Si, un ESP32 tiene una bonita CPU pero no afirmaría que soporta varias uart software sin verificcarlo, puede que si o puede que no, depende de lo habilidoso-cuidadoso del que hizo la librería.
 
Gracias Scooter

Al parecer en el standard nmea define los requerimientos de las señales eléctricas, el protocolo, el tiempo y el formato de las sentencias ( que son ASCII) y según he leido en algún sitio las señales tienen que estar optoacopladas, ademas que para que lo lea el ESP32 tienen que estar en el rango de 3.3V
La velocidad maxima de transmisión son 4800 baudios y creo que eso no sera un problema.
Respecto al numero de uart soft, no lo se, normalmente esto lo implementan con un ST32 y funciona ok,

me puedes orientar como hacerlo en los transistores?


1617369431441.png
 
Pero lo que has hecho es un engendro que no optoacopla nada; hay optoacopladores no sé muy bien haciendo que.
Si los pares no están optocoplados porque usas esos trasceptores pues después como si pones lo que se te ocurra a ti.

Tiene mucho sentido optoacoplar porque no sabes que refernecias tienes etx pero optoacopla a la entrada, no a medio circuito. Y una vez optoacoplado ya sobra el AM26xxxx

Seguramente esté publicado por algún sitio el circuito que necesitas, a mi se me ocurre algo así para las entradas, para las salidas habrá que pensarlo un poco mas...
1617371476124.png
 
Última edición:
Si te sirve, yo en su momento para convertir RS232 (3,3V CMOS) a RS485 usé el MAX3485 sin problemas (bastante transparente) y no tuve necesidad de usar optoacopladores, pero sería sencillo agregárselos del lado del uC.

Eso si, era half-duplex, para una comunicación full-duplex necesitarías el MAX3490 o MAX3491 (con enables).
 
Última edición:
Muchas gracias

Realmente no esta en medio, esta al final

La linea Rx_1A y Rx_1B vienen de un emisor Tx_A Tx_B del que queremos escuchar ( por lo que esta al final ) según he leido los voltajes en RS422/485 pueden ir desde -7V a 12V (y no se lo que el fabricante del aparato estará mandando), entonces yo pensaba que habían que llevarlos desde esa entrada y pasarlos a 3.3V con el optoacoplador y una vez allí el AMS26xxxxx realiza la lectura diferencial pasándolo a TTL que el pin de entrada del ESP pueda leer.

Para la salida el mismo proceso pero a la inversa ( ESP- AMS26xxxx - Opto - cable)

Genial porque el circuito que me propones es mas sencillo. ahora voy a ver como enviar,

Según el standard hay Talkers ( que solo mandan info) y Listeners (que solo escuchan) es decir no hay comunicación full-duplex,
Esto que estoy intentando hacer es un multiplexor ( hay comerciales pero cuestan una pasta) entonces lo que quiero hacer es escuchar en todas las entradas re-empaquetarlo todo y mandarlo por las salidas ( o por el wifi) pero no se lo mando de los que estoy escuchando.

Realmente el standard dice que los listener tienen que estar aislados pero no dice nada de los talkers ( igual lo mando sin aislar AMS26xxxxx y carretera :) )

Insisto que no se de electronica, estoy intentando empezar en este mundillo pero sin base es bastante jodido, (yo solo se programar y no mucho) gracias por vuestra paciencia.


Perfecto Cosmefulanito
pásame el enlace y le pego un vistazo para aprender.
Gracias
 
Última edición:
Si está en medio a un lado o al otro en el esquema no se ve porque el conector no está. Ahora que me fijo si que está a un extremo interpretando etiquetas. Entonces te confirmo dos cosas: no funciona y los adaptoadores AM26 sobran.

Pasas de una entrada diferencial por un opto que lo desdiferencia y de nuevo lo metes a una entrada diferencial pero con las masas comunes lo que desoptoacopla lo optoacoplado. No funciona. Pon los diodos como te he indicado, uno en un sentido da un 1 y el otro en el otro sentido da un 0


Quizás me esté volviendo a equivocar, te pido disculpas si es así, pero el esquema en modo listado se me hace incomprensible. Un esquema-plato de fideos con todo cables se hace ilegible, pero un esquema sin un cable con todo listado con todo etiquetas también se me hace incomprensible.

Si solo tienes que optoacoplar las entradas pon un AM26 para las salidas y las entradas como te he dicho. Ese esquema funciona seguro.
 
Arriba