Patrocinado por...

lunes, 5 de septiembre de 2011

Ampliación a 32 canales por puerto paralelo

Me voy a basar en este articulo, para realizar el circuito y el programa en Gambas2, para controlar la aplicación de las salidas con leds:

Articulo Original:
----------------------------------------------------------------------------------------------------------------------
Autor: Pablo Canello


Dirección original del articulo:
http://www.pablin.com.ar/electron/circuito/computer/lpt32/index.htm

Este circuito permite conectar hasta cuatro módulos de control de potencia a un mismo puerto paralelo del PC. Dicho puerto no necesariamente debe ser bidireccional, por lo que cualquier PC por mas antiguo que sea servirá para controlar este sistema.
Si bien a simple vista el circuito parece demasiado complejo, en verdad no lo es. Veamos detalladamente su funcionamiento: Cada integrado es un latch octal, éstos sirven para retener un dato (presente en su entrada) en su salida solo cuando una señal específica se presente. Para hacerlo mas simple: Los pines 2 al 9 de cada integrado son las entradas de datos, los pines 12 al 19 son las salidas, el pin 11 se denomina en inglés Latch Enanble, una entrada de control que causa que los pines 12 al 19 reflejen el dato presente en los pines 2 al 9. Esto quiere decir, a su vez, que los datos presentes en las salidas del integrado no sufren cambios por mas que los datos en la entrada del mismo cambien constantemente siempre y cuando la entrada de control (pin 11) este a masa. Cuando esta entrada de control va a estado alto (a 5v) las salidas quedan conectadas con las entradas haciendo que lo presente en ellas quede reflejado en las salidas. Si dicho terminal de control (pin 11) se mantiene alto y el dato presente en las entradas cambia, el presente en las salidas cambiará también. Como vemos, las entradas de datos de los cuatro integrados están unidas en paralelo. Esto quiere decir que el dato presente en los pines 2 al 9 del puerto paralelo de la PC (los datos presentes en el bus de datos del puerto paralelo) estarán presentes en los cuatro integrados al mismo tiempo. Para que un dato presente en el puerto paralelo del PC solo vaya a modificar un grupo de salidas y no los cuatro usamos los pines de control para determinar cual o cuales integrados deseamos accionar. Esto se logra gracias a que cada pin de control del puerto paralelo maneja solo un integrado. De esta forma logramos controlar 32 salidas independientes (en grupos de 8 salidas por activación).
Cómo controlarlo:
El soft de la PC puede estar escrito en el lenguaje que queramos, siempre que éste tenga la capacidad de poder utilizar el puerto paralelo de la PC. Como no sabemos en que estado se encuentra el puerto paralelo y, por ende, nuestra placa de expansión, lo primero que tiene que hacer el soft es inicializar el circuito. Para eso, pone en 0 el bus de datos del puerto paralelo, con lo que todos sus pines (del 2 al 9) quedan a masa. Luego, espera 10mS para que el dato se establezca en las entradas de los integrados. En realidad, con 1mS alcanza y sobra, pero como el tiempo en este caso nos sobra mejor darle un poco de tiempo extra. Luego de transcurridos los 10mS activamos los cuatro integrados poniendo altos los cuatro pines de control del puerto paralelo. Seguidamente esperamos otros 10mS para que los latches retengan los datos en las salidas y por último ponemos bajos (en cero) todos los pines de control del puerto paralelo con lo que los integrados dejan en las salidas todas los pines apagados (a masa) sin importar el dato que aparezca en sus entradas de ahora en mas. Con esto el módulo quedará inicializado y todas las salidas apagadas.
Cuando se quiera modificar el estado de un grupo de salidas (cada grupo es de ocho salidas y están indicados como Salidas A, Salidas B, Salidas C, Salidas D) se deberá poner en el puerto paralelo (en el bus de datos de éste) el dato que se desea colocar en la salidas del integrado. Luego esperar 10mS para que el dato se establezca correctamente en las entradas de los integrados. Luego poner en alto (en uno) la salida de control del puerto paralelo que comande el integrado que se desea modificar y esperar otros 10mS para que el dato se fije correctamente en los latches de salida del mismo. Transcurrido este tiempo volver a bajar (poner a cero) la salida de control que se subió y el proceso habrá concluido. Es recomendable que, tanto la rutina de inicialización como la de control, esperen 10mS luego de terminar de ejecutarse, a fin de dar un tiempo entre cada ejecución para evitar posibles fallas de activación.
Otro factor muy importante a tener en cuenta es que algunos de los pines de control del puerto paralelo presentan un estado lógico invertido con respecto a la tensión. Esto quiere decir que, un pin con estado lógico normal presenta tensión cuando el bit que lo controla esta a 1 y está a masa cuando su bit se pone en cero. Pero, un pin con lógica inversa, presentará tensión cuando su bit este en cero y masa cuando este en uno. Hay que prestar atención a esto para evitar problemas de control con los integrados o activaciones erráticas.
Este circuito se utiliza en combinación con etapas de control de potencia que le permitirán al usuario manejar artefactos como cargas de 220V, motores, lámparas o incluso relés (que permitirán realizar cualquier acción eléctrica). En el caso de utilizar el sistema para manejar lámparas ú otras cargas resistivas es recomendable el uso de etapas de potencia con triacs, pero si se van a manejar motores, conmutar circuitos de combinación ú otro tipo de diseños que requieran llaves mecánicas entonces se deberán utilizar etapas de potencia con relés. Si lo que se desea es tan solo experimentar lo recomendable es colocar a la salida de cada pin de los integrados una resistencia de 470 ohms, un diodo led con su ánodo a masa tal como un monitor de puerto paralelo. Esto será útil para chequear que el sistema funcione correctamente sin necesidad de conectarle otros dispositivos.
Es muy aconsejable leer la nota "Puerto paralelo estándar o SPP" disponible en la sección Información general de electrónica en nuestro sitio. Leer y analizar la hoja de datos del 74HCT573 es algo muy aconsejable también.

Vista del equipo terminado y funcionando (con LED's de prueba).
El programa Panel 32:
Este programa permite controlar fácilmente cada una de las 32 salidas de este módulo. Para ello basta con hacer un click sobre el interruptor que se desea accionar y la salida correspondiente adoptará el estado debido. Como funciones extra, este programa contiene memoria de encendido, que permite "recordar" la configuración actual de los interruptores y adoptarla en cada encendido. También dispone de cinco memorias las que se pueden establecer, modificar o eliminar con mucha facilidad. Para evitar confusiones a la hora de activar algo hemos incluido un sistema de títulos que el usuario puede definir y aparecerán cuando el mouse pase por sobre cada interruptor. Estos títulos se definen haciendo click derecho sobre los botones y para que los mismos no se pierdan cuando el programa se cierre hay una opción dentro del menú 'Archivo' para salvarlos en un archivo. Por último el menú 'Configuración' permite elegir el puerto paralelo a utilizar y establecer el tiempo de delay (que varía en algunas máquinas). Este delay es un ciclo for next que itera normalmente diez mil veces luego de enviar datos al puerto para que los latches retengan los mismos.
El programa Control 32:
Este otro programa si bien parece mucho mas complejo en verdad tiene menos código operable que el anterior y, adicionalmente, no es tan automático. Lo hicimos con la idea de mostrar al que este interesado en programar para esta placa de 32 salidas como debe hacerlo para que funcione eficientemente y, para facilitar aún mas las cosas, incluimos una suerte de ticket donde se puede observar las funciones ejecutadas en el programa. En este caso el dato a enviar debe establecerse presionando con el mouse sobre los ocho LED's contenidos en el recuadro 'Dato:'.Una vez que encendimos los LED's que queremos ver encendidos en el módulo presionamos El control correspondiente. Si presionamos el botón 'Todos los latch's' se enviará el dato a los cuatro latches, quedando el mismo igual en todas las salidas. Por último el botón 'Inicializar' apaga todos los LED's y envía eso a los cuatro latches, quedando todo en cero. El casillero 'Limpiar' ubicado sobre el monitor o ticket de actividad permite vaciar la lista con la próxima actividad a registrar.
Bajar el programa Control 32
----------------------------------------------------------------------------------------------------------------------


Lo voy a montar con estos componentes

ficha técnica (data sheet) de los que compré:

comprado en ebay en agosto de 2011

N.º Ref. del fabricante:

74HC573N,652

Fabricante:

NXP Semiconductors  




Esquema de pinning:

No hay comentarios:

Publicar un comentario