Activar muchas salidas por puerto serie

Hola,

Necesito activar bastantes relés (unos 50) desde el ordenador por el puerto serie. ¿Alguien podría darme algún tipo de información sobre dónde encontrar material para hacerlo (o comprarlo si está hecho)?

Muchísimas gracias, Juan P.

Reply to
Juan P.
Loading thread data ...

Estimado Juan,

En referencia a tu mensaje publicado en el grupo de news es.ciencia.electronica, en ADVANCARE

formatting link
la ingenier=EDa de dise=F1o electr=F3nico a la que pertenezco, tenemos desarrollado un sistema que permite controlar hasta 2 rel=E9s mediante un puerto serie. Este equipo, viene siendo utilizado con =E9xito por algunos de nuestros clientes desde hace ya un tiempo y aunque =E9ste dista ligeramente del que precisas tu, con 50 rel=E9s, el dise=F1o necesario para adaptarlo es poco.

Si lo crees conveniente, dime saber, por favor, la potencia que deben controlar los rel=E9s y la cantidad de placas que necesitas y te haremos un presupuesto para este dise=F1o. Si tienes otras especificaciones (dimensiones de la placa, alimentaci=F3n, si deseas que te venga en una caja, etc.) no dudes en hac=E9rmelo saber tambi=E9n.

Y para cualquier otra pregunta al respecto, no dudes en coment=E1rmela.

Un saludo, atentamente,

Marc

Juan P. wrote:

re d=F3nde

Reply to
Quitus

Buenas, Si lo quieres dise=F1ar tu mismo, en principio a mi lo que se me ocurre seria construir una placa con:

- Un integrado MAX232 (o MAX233) para convertir la se=F1al serie de los niveles de tensi=F3n RS232 a TTL

- Un microcontrolador PIC de la gama m=E1s baja y mas peque=F1o posible que tubiese un puerto serie, y un puerto SPI/I2C (el PIC16F876 servir=EDa, pero seguro que hay alguno mas peque=F1o y econ=F3mico).

- Varios registros de desplazamiento serie-paralalo con intefaz SPI (74hc164)

- Finalmente un driver ULN2803A que convertira de niveles de tension TTL al valor de tension que necesiten los reles (con un l=EDmite de intensidad). Creo recordar que cada driver puede manejar sin problemas

8 reles de 12V de se=F1al de gobierno y 2A de potencia de corte.

El montaje que yo haria consistir=EDa en los siguiente:

- La se=F1al serie que llega desde el PC pasa por el MAX y entra en el PIC.

- El PIC la convierte a una se=F1al SPI y la envia a un montaje de registros 74hc164 en cadena, tantos como necesites para llegar a 50 salidas.

- Las salidas paralelo de los registros las pasas por los ULN2803A y estos comandan directamente los reles.

Una mejora ser=EDa emplear unos integrados que existen que son al mismo tiempo conversor serie-paralelo y driver 2803A y que en alg=FAn sitio he visto alguna vez, pero que no recuerdo.

Por supuesto tambi=E9n te sirve cualquier otro microcontrolador, o cualquier otro integrado que te permita convertir de una se=F1al serie asincr=F3nica (RS232) a un se=F1al serie sincr=F3nica (SPI)

Saludos,

V=EDctor M.

Juan P. wrote:

re d=F3nde

Reply to
vpelaez

No conozco mucho el spi, pero creo que son solo dos lineas y que no tiene un requerimiento de temposizacion exacto en los dos extremos. ¿ No existe algún programa que use las salidas de control del rs232 como interface spi ? Así se evitaría incluso el PIC. Se me acaba de ocurrir sobre la marcha, igual estoy diciendo una tonteria.

Reply to
Nolo Pongo

A mi la primera que me vino a la cabeza es la de vpelaez, el problema es que además tienes que programar el pic (quiero decir si nunca has trabajado con ellos), que tampoco es insalvable, se aprende. La otra opción sin electrónica no programable, es que utilices el puerto serie del ordenador (si lo tienes diponible) ya que solo necesitarás los multiplaxores y los 13 drivers (te sobrarán dos puertas de un ULN2003). Saludos. P.D:Soy un profano en electrónica digital (más bien diría en electronica ) así que si alguien puede aportar algo más para manejar las 50 señales desde el puerto paralelo (registros, contadores, mux, etcs).... a lo ejor lo que propongo es irrealizable con tantas señales.

Reply to
Fleming

Si no me falla la memoria, el SPI utiliza una línea de chip-select para cada chip con el que quiere comunicar, así que eso casi descarta hacerlo directo, por falta de señales (incluso con chips de 16 salidas, necesitarías tres y pico).

Quizás fuera más fácil usar I2C, que sí que es fácil de emular con el RS232 y un pequeño adaptador de niveles, y usar I/O ports con comunicación I2C (Philips tiene alguno, y Microchip también, de 8 y de 16 puertos). Incluso es fácil que haya I/O ports I2C con driver de potencia incluido, para excitar directamente un relé.

De todas formas, parece realmente extraño que interese implementar algo con

50 relés (una placa estilo central telefónica antigua, chupando unos cuantos amperios). Pero como siempre, será mucho pedir que Juan P. nos diga qué tipo de relés va a usar, ni nada de eso, y mucho menos, qué es lo que quiere hacer, por si hay soluciones mejores que los relés.
--
Saludos de Jose Manuel Garcia
jose.mgg@terra.es
 Click to see the full signature
Reply to
Pepitof

OLEEEEE!!!! sorry, el puerto paralelo quería decir...

Reply to
Fleming

cada

ecto,

res y

No necesitas emplear el chip-select de cada registro de desplazamiento, bastar=EDa conectarlos en serie uno detras de otro, de forma que cada vez que quieres actualizar una salida, desplazas las 50. Cada registro de desplazamiento tiene una entrada de reloj, una entrada de datos, una salida de reloj y una salida de datos. Si encadenas las salidas de datos y reloj, con las entradas de datos y reloj del siguiente, y haces

16 desplazamientos desde el pic, consigues llevar los 8 primeros bits al registro mas alejado del pic y los otros 8 restantes al mas cercano.

Yo esto lo tengo probado con dos encadenados, y mientras consigas que la distancia entre chips no sea muy grande, deberia funcionar con n chips, otra cosa es el tiempo de respuesta. Es simpl=F3n, pero funciona bien.

con el RS232

I2C

uso

Esto ser=EDa mucho mejor que lo que yo propongo... alguna vez estube buscando documentaci=F3n de como generar una se=F1al I2C desde el puerto serie, sin emplear ningun tipo de microcontrolador, pero no llegue a nada, =BFalgui=E9n lo ha conseguido con =E9xito? Cuando lo mire si que encontre bastantes productos comerciales que permitian convertir entre USB e I2C.

En cuanto a los chips de expansi=F3n de salidas por I2C, los de microchip de 16 puertos son los MCP23016.

con

cuantos

=E9 tipo

re

Saludos, V=EDctor M.

Reply to
vpelaez

Sí, es otra forma, pero yo me refería a cómo hacerlo por SPI como habían propuesto, no con registros de desplazamiento.

De todas formas, si se quiere hacer con registros de desplazamiento habrá que elegirlos bien, que tengan la salida "latcheada", o usar chips con latches para las salidas (me suena el 74HC373), usando otra señal del puerto serie para manejarlos, porque si no, los continuos desplazamientos le harán bastante daño a los relés (y a lo que éstos manejen, dependiendo de lo que sea).

Hay por ahí una página de un particular con bastante información útil sobre cómo usar un puerto serie para comunicar con buses I2C o RS485. Yo he implementado conexiones RS232-RS485 siguiendo en gran parte sus indicaciones, y me imagino que con I2C será similar.

En cualquier caso, piensa que hay programadores con 6 o 7 componentes discretos, capaces de comunicar el puerto serie del PC con una EEPROM I2C, así que a nivel hardware, muy complicado no debe ser (cuestión de software).

--
Saludos de Jose Manuel Garcia
jose.mgg@terra.es
 Click to see the full signature
Reply to
Pepitof

Tal como sospechaba, dije un tontería pues confundí spi con i2c :-)

Reply to
Nolo Pongo

Juan P. ha escrito:

re d=F3nde

Te recomiendo: adaptador 232 a 485 y te compras cualquier modulo de reles controlable por 485 (en

formatting link
tienen) creo que cada modulo de reles 8 vale unos 50 euros y el adaptador otro tanto. En su web tambien tienen manuales y ejemplos de programacion. Asi te quedaria un sistema sencillo de ampliar, y no tendrias que dise=F1ar nada, con un bus 485 que te soportaria una distancia bastante grande.

Reply to
Enriquito

Juan P. ha escrito:

re d=F3nde

Te recomiendo: adaptador 232 a 485 y te compras cualquier modulo de reles controlable por 485 (en

formatting link
tienen) creo que cada modulo de reles 8 vale unos 50 euros y el adaptador otro tanto. En su web tambien tienen manuales y ejemplos de programacion. Asi te quedaria un sistema sencillo de ampliar, y no tendrias que dise=F1ar nada, con un bus 485 que te soportaria una distancia bastante grande.

Reply to
Enriquito

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.