# varios puerto seriales a un serial de la pc



## emilianolopez (Feb 16, 2011)

Estimados, he escrito previamente y con razón me mandaron a leer. Aquí estoy de nuevo luego de haber buscado, leido y realizado algunas pequeñas pruebas.

De más está decir que soy un principiante.

Mi problema es el siguiente:
Tengo una pc con un solo puerto serie y varios equipos también con puerto serie. Al día de hoy, me conecto manualmente a un equipo, uso su software, desconecto el equipo en cuestión y conecto a otro, siguiendo el mismo proceso.

Lo que pretendo hacer es una especie de llave electrónica, para conmutar por software y conectarme a uno u otro equipo. Mi intención es manejar esta llave a partir del puerto paralelo, programando el controlador usando python.

He adquirido un par de CD4066B (cuadruple interruptor bilateral), y he programado pequeñisimas aplicaciones para encender leds a través del CI usando python.

Les adjunto el diagrama de lo que he probado.

Lo que quisiera es que alguien me de una mano, o me oriente un poco en cómo permitir que pase a través del 4066 las señales seriales RS-232 (Tx, Rx, ...etc). 
No me queda claro si previamente entre la pc y el 4066 debo usar un MAX232 para adaptar la señal o si necesito algo más.

Desde ya les agradezco.
Saludos.

Emiliano.-


----------



## rojjo (Feb 16, 2011)

Hola:

puedes usar cables convertidores de serie a usb, a cada dispositivo le asigna un com virtual y tu solo deberás verificar que número de com te asignó para conectarte a él.

saludos


----------



## Unikfriend (Feb 16, 2011)

Hi,
las señal de del RS232 es de -12V a 12V, y el C4066 no acepta voltajes negativos,
por lo que tienes que convertirlo al entrar y al salir,

Si es para practicar adelante,
pero si va que dar implementado de esta forma, te conviene mas
los convertidores USB-RS232 o una tarjata multipuertos.


----------



## marcelorenz (Feb 16, 2011)

podes usar CD4052, tienen 2 llaves de 4 posiciones, usas cada posicion para cada equipo, y cada llave para tx/rx.
las señales de salidas de los equipos en rs-232 es de teoricamente +/-12v, el 4052 no las puede conmutar, pero con +/-4V el rs-232 funciona correctamente para distancias de menos de 2 metros, asi que podes dividir las señales de los TX con un divisor resistivo de 47k + 47k, para dividirlo por 2, que quede en +/-6v ( para que las pueda cnmutar el cd4052 ), alimentas la parte analogica del 4052 con +/-8V y deberia andar joya.


----------



## Black Tiger1954 (Feb 16, 2011)

Cuantos son los equipos con los que querés comunicarte vía RS232?


----------



## emilianolopez (Feb 17, 2011)

En algunos casos solamente 2, en otros 3 y 4 equipos.


----------



## Unikfriend (Feb 17, 2011)

Es un proyecto propio o escolar?


----------



## emilianolopez (Feb 17, 2011)

Es parte de un proyecto propio, para mi laburo. 
El tema que mas me dificulta usar los adaptadores usb-rs232 o pci-rs232 porque algunos de los equipos se resetean solos si se los deja conectados a la pc.

De ahi que pense que podía ser la mejor opción alguna placa con un circuito que esté abierto y que mediante un programa conmute y conecte a uno u otro equipo.

Pero estoy viendo que realmente estoy muy verde en la parte electrónica y que no es tan simple como iniclmente parecía, por supuesto debido a mi extensa ignorancia.


----------



## Black Tiger1954 (Feb 17, 2011)

> Pero estoy viendo que realmente estoy muy verde en la parte electrónica y  que no es tan simple como iniclmente parecía, por supuesto debido a mi  extensa ignorancia.


Eso por supuesto depende de vos 
Cuantas señales debés conmutar solo tx y rx o alguna de control?


----------



## Mandrake (Feb 17, 2011)

Unikfriend dijo:


> . . . las señal de del RS232 es de -12V a 12V, y el C4066 no acepta voltajes negativos,
> por lo que tienes que convertirlo al entrar y al salir . . .



¡Que mentira!, cualquier integrado CMOS admite fuente simetrica (+V y -V), pero la diferencia no debe ser superior a 15V. En la practica, yo construi un convertidor de puerto serie, para una calculadora cientifica con un CMOS como interface.


----------



## emilianolopez (Feb 17, 2011)

Las señales que utilizan los equipos son Tx, Rx y GND. 
Nada más. 

Por lo del nivel de voltaje. 
En la hoja de datos leí que el rango va desde -0.5 hasta VDD + 0.5.
En mi caso lo estoy alimentando con 4 V, así que permitiría en cualquiera de las entradas hasta 4.5.
Por supuesto que a esto lo podría modificar, pero los -12V no tengo como manejarlos facilmente.


----------



## Black Tiger1954 (Feb 17, 2011)

Si estás dispuesto a trabajar un poquito se puede hacer.
El tema sería que estés dispuesto a hacer algunas pruebas, no complicadas, pero hay que hacerlas.
Para eso vas a necesitar al menos 1 protoboard (placa de prototipos), una fuente de alimentación, un tester y algunos pocos componentes.
Si estás dispuesto, lo hacemos.


----------



## emilianolopez (Feb 17, 2011)

Claro que  estoy dispuesto.
Desde ya mi gracias por tu ayuda!
Ya tengo todo eso. Protoboard, resistencias, leds, fuente variable, cables, etc..
Incluso estuve haciendo unas pruebas ayer.

Al primer diagrama que envié acá al foto, le hice unas modificaciones para probar nomás. 
Adjunto la figura de lo que intenté.

Lo que hice fue, con un monitor/controlador serial, enviaba caracteres por Tx, conecté esa linea a la pata 1 del 4066, y el Rx a la pata 2 del 4066.
Independientemente si habilitaba o no el switch (SWA) del 4066, mandando desde el puerto paralelo a la pata 13 un estado alto o bajo, siempre recibia en Rx lo que había mandado desde Tx.

Entiendo que lo que hice debe ser una animalada, era solo para probar qué pasaba.
Cuando lo probé a esto con leds me andaba perfecto, pero bueno, eran todos voltajes permitidos por el 4066.

Gracias nuevamente.
Saludos.


----------



## Black Tiger1954 (Feb 17, 2011)

Bueno Emiliano. Lo primero es lo primero.
Hace muchos años, cuando las redes se hacían vía RS232 (para uso "doméstico"), buscando información, me topé con una que me dejó perplejo. El sistema era simple: varios opto diodos, un opto emisor, un motor por pasos, y con eso conmutaban hasta 255 puertos serie.
Obviamente no es lo que te voy a proponer, pero ya te voy dando una pista.
La ventaja de esto, es que la señal queda totalmente aislada, por ende, no hay problemas de reseteos, corrientes parásitas y esas cosas.
A qué velocidad te estás interconectando?


----------



## emilianolopez (Feb 17, 2011)

La verdad es que no se a qué bps se están conectando los softwares de los equipos. 
Es muy limitado el software que trae cada equipo, solamente se le configura el com y dos o tres detalles. 

Luego haré una captura con el monitor a ver si puedo saber a qué velocidad se interconectan y te doy mas información. 

Mi experiencia con el puerto serie ha sido bastante limitada. He programado en materias de mi facultad, para hacer transferencias de datos, conectar a modems para discar, etc.. 
De esto hace bastante, lo haciamos en assembler desde turbo pascal 7.

Gracias nuevamente por tu buena predisposición.


----------



## Black Tiger1954 (Feb 17, 2011)

Nada de gracias, lo hago con gusto, y si no estoy a gusto, posssssssss no lo hago 
Te pregunto la velocidad para la elección de un optoacoplador. Lo cual en realidad es todo el secreto, además de algo que se llama "totem pole".

PD: los puertos serie no son mi especialidad, pero hice mis propios drivers para registradoras fiscales con QBasic. Aprendí todo su protocolo, mensajes de respuesta, CRC, etc. Aún funcionan, y como cereza para el postre, base de datos BTrieve: indestructible (salvo fallo de hardware).


----------



## Meta (Feb 21, 2011)

Hola:

Puedes usar el LPT o COM. Tengo tutoriales hechos von Visual studio .net
http://electronica-pic.blogspot.com/2009/03/manual-interfaz-vc-y-visual-basic.html
http://electronica-pic.blogspot.com/2008/11/electrnica-pic.html

Aquí puerto paralelo.
http://electronica-pic.blogspot.com/2010/07/interfaz-puerto-paralelo-lpt.html






Saludo.


----------



## emilianolopez (Feb 21, 2011)

Gracias por los links!
Pero por ahora estoy mas o menos bien accediendo a los puertos.
Estoy complicado para poder conmutar a través de algún integrado para conectarme desde un solo serial de la pc a distintos equipos seriales.

Si lo puedo realizar sin un pic sería bárbaro, es por eso que aún ando indagando a ver cómo puedo resolver esto.

Igual, gracias por la info, ya la voy a leer.
Abrazo.


----------



## Black Tiger1954 (Feb 21, 2011)

Buscá datos del MAX4533, con ese integrado lo podes resolver.


----------



## Meta (Feb 21, 2011)

Parece que está bien.






http://datasheets.maxim-ic.com/en/ds/MAX4533.pdf

Hay qu epedir bajo pedido este integrado al menos en mi caso y no es cuestión.

Puede que un CD4016 o un CD4066 funcione bien, hay que hacer pruebas.


----------



## DOSMETROS (Feb 21, 2011)

Che , ¿ y ponerle a la PC una placa de las que vienen con dos puertos paralelos ?

Saludos !


----------



## emilianolopez (Feb 21, 2011)

Como explicaba en los post previos, el problema es que si los equipos están conectados constantemente, por ejemplo usando las placas pci para expandir los seriales, se reinician.

Es por eso que, como explicaba previamente, necesito tenerlos desconectados todo el tiempo y a partir de una instrucción conectarlos. 

En siguiente diagrama ascii intento re-explicarlo. Desde el paralelo pretendo controlar el circuito, que conmutaría y cerraría el cicuito para el equipo 1, 2 o 3.


[[adjunto la imagen]]

Como también dije antes, estoy haciendo unas pruebas con el 4066, pero aún no tuve éxito!
Espero haber sido claro.

Saludos.


----------



## Meta (Feb 21, 2011)

Hola:

Lo que dices se puede hacer. Si es con el puerto serie o paralelo. Puedes dejar los pines desconectados. Sólo usas el que quieras usar. Si usas solo el COM, debe estar siempre el puerto cerrado, sólo lo abres cuando hay que usarlo y luego lo vuelvas a cerrar, lo hace automáticamente y está escrito en el manual que puse atrás.

https://www.forosdeelectronica.com/f26/varios-puerto-seriales-serial-pc-51755/#post454387

Saludo.


----------



## emilianolopez (Feb 21, 2011)

Cuando la pc se reinicia, en el chequeo (POST: power on self test) testea los puertos. 
Este testeo es el que me reinicia los equipos.


----------



## Meta (Feb 21, 2011)

Si te refieres al LPT hay que tener mucho cuidado, en cuanto al puerto serie no pasa nada. Dependiendo de uno o otro se puede controlar mediante programación de la interfaz del PC y sobre todo del propio PIC.


----------

