fbpx

Expresate

Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:

Avisos
Vaciar todo

Placa Interface.

11 Respuestas
4 Usuarios
0 Reactions
10.2 K Visitas
furdex
Respuestas: 10
Topic starter
(@furdex)
Active Member
Registrado: hace 13 años

Hola.

Necesito sacar datos digitales (0's y 1's) al mundo exterior del PC para, de esta manera, poder sacar bytes enteros (de 00000000b a 11111111b) y poder conmutar (1) y descomutar (0) toda una serie de relés.

He estado probando a través del puerto paralelo en modo EPP (Libro "Parallel Port Complete" de Jon Axelson), pero ahora, después de haberme funcionado la placa que había diseñado, la BIOS no me deja conmutar el modo EPP 1.9 (es posible que haya sido al cambiar la placa base del PC, que es donde reside la ROM BIOS).

En su día hice una placa electrónica que se insertaba en el Bus ISA (y también me funcionaba). Pero ahora ese bus ha desaparecido (al menos mi ordenador actual no tiene este SLOT, sino el PCI). Por lo que tendría que empezar a diseñar de nuevo la placa de expansión ISA, pero para PCI.

He pensado también en transmitir los bits o bytes por el puerto serie pero carezco de conocimientos tecnológicos suficientemente consolidados como para implementar la recepción de esos datos y llevar esos bits recibidos a la base del transistor que conmute un relé. Esta tarjeta tendría que, NO solo recibir datos, sino también transmitirlos al PC por el puerto serie (instrucciones IN y OUT en Ensamblador para el 80x86).

La programación de la UART en el lado del PC lo tengo solucionado (soy programador en Ensamblador y ya he hecho alguna que otra transmisión (y recepción) a través de este puerto.

Lo que necesito es una tarjeta interface entre los relés y:
- Puerto serie o

- Puerto paralelo (mode EPP/ECP) o

- Slot PCI.

a la que se le pueda transmitir los datos.

Cabría la posibilidad de montar más de 8 relés por lo que habría que contemplar la coexistencia de dos placas iguales. Es decir, montar un decodificador o mandar primero el número del grupo de relés y luego el dato.

Existe algo en el mercado ?.

O hay algún ingeniero por aquí que me la pudiera diseñar ?.

O alguna empresa especializada ?.

Pagaría el trabajo previo presupuesto.

Mi Email es:
citfem arroba gmail punto com

Gracias anticipadas y saludos.

Responder
10 respuestas
heli
Respuestas: 748
 Heli
(@heli)
Ardero
Registrado: hace 19 años

Hay muchas formas de hacerlo:
Lo mas sencillo es usando registros de desplazamiento, y unas pocas señales de control. De esta forma no se necesita micro en la parte externa del PC. Puede hacerse usando las señales de control CTS/RTS/CDC etc del puerto serie y una placa similar a esta mia de 64 entradas y 64 salidas: http://heli.xbot.es/ampliacion/ampliacion.htm " onclick="window.open(this.href);return false;
Un poco mas complejo pero bastante estándar es usando el puerto serie y un micro. Se programaría a través la api de comunicaciones estándar de windows. Puede usarse un protocolo diseñado a medida para la comunicación o uno estándar (MODBUS).
Usar un micro con USB y un puerto serie virtual en el usb, el resto como si fuera serie. Es mas universal y trabajaría incluso en un netbook sin puerto serie (solo usb).

Para MODBUS existen soluciones comerciales: http://www.advantech.com.tw/ia/newsletter/Modbus_page2.htm " onclick="window.open(this.href);return false;
También existen módulos de I/O para modbus/tcp que trabaja sobre ethernet.
Advantech también tiene placas I/O digitales y analógicas PCI.
Según la aplicación yo me decantaría por placas o módulos advantech o la solución micro con USB.

Si necesitas mas ayuda puedes mandarme un privado.

Responder
furdex
Respuestas: 10
Topic starter
(@furdex)
Active Member
Registrado: hace 13 años

Hola.

No estoy en casa. Por lo que voy a ser breve.

He estado mirando por encima tu enlace http://heli.xbot.es/ampliacion/ampliacion.htm " onclick="window.open(this.href);return false; pero me parece que esa placa está diseñada para un PIC (16F84 o similar). Podría valarme, pero prefiero que sea sin micro, por lo que habría que hacer latransformación (creo).

En cuanto a la egunda opción (uso de API de Windows), preferiría no usar Windows. Usaré otro sistema operativo tipo MS-DOS (sSi. Ya sé que no se lleva, pero la plac es para so personal (standard y/o universal)). En este caso, no me importaría que llevara un micro.

Estarías dispuesto (tienes conocimientos electrónicos) a hacer tú dichos cambios ?.

Estamos en contacto.

Saludos y gracias por tu ayuda.

Responder
heli
Respuestas: 748
 Heli
(@heli)
Ardero
Registrado: hace 19 años

Si no vas a usar Windows, entonces mucho mejor!!
Es mucho mas facil controlar el hardware directamente desde MSDOS, DRDOS o similar (realmente el acceso al hardware es directo, el SO no interviene para nada. Windows interfiere en el input output y hay que usar su API...).
En ese caso la mejor solución es usar mi placa http://heli.xbot.es/ampliacion/ampliacion.htm " onclick="window.open(this.href);return false;
No esta diseñada para PIC, realmente funciona con cualquier micro que tenga 3 ó 4 pines de salida libres para las salidas y 2 pines de salida más 1 de entrada libres para las entradas. En conjunto con 4 pines de salida y 1 de entrada (o 3 pines de salida y uno bidireccional) bastaría para controlar las 64 entradas y las 64 salidas (o mas si se encadenan mas módulos).
En origen yo la utilizaba con un intel i8051, llamarla "ampliación para pic" es debido a que el pic es mas popular hoy en día, si digo apliación para i8051 nadie sabe de que hablo.
Para conectarla a un PC puede usarse el puerto paralelo directamente, o el puerto serie con transreceivers RS232 (para adaptar los niveles de tensión). En cualquier caso el control es igual, a través de input / output a los puertos de entrada/salida adecuados 0x378, 0x278 ó 0x3f8, 0x2f8
Como te comenté mándame un privado y hablamos mas del tema.

Responder
furdex
Respuestas: 10
Topic starter
(@furdex)
Active Member
Registrado: hace 13 años

Vale. Te mando un privado.

Por cierto.....he leido tu firma......Que razón tienes. Enhorabuena por ella.

Saludos.

Responder
Página 1 / 3
Compartir: