Está en la página 1de 5

Usando el port paralelo de una PC como medio de control

Usando el puerto paralelo de una PC

Proyecto: Interfaz para el Puerto Paralelo Fecha: 3 de Setiembre de 2000 Autor: Todorobot IMPORTANTE: Ya est disponible la nueva versin del software de control para Windows 9x, NT, 2000 y XP

Introduccin:
El puerto paralelo de una PC es ideal para ser usado como herramienta de control de motores, rels, LED's, etc. El mismo posee un bus de datos de 8 bits (Pin 2 a 9) y muchas seales de control, algunas de salida y otras de entrada que tambin pueden ser usadas fcilmente. Las PC's generalmente poseen solo uno de estos puertos (LPT1) pero con muy poco dinero se le puede adicionar una tarjeta con un segundo puerto paralelo (LPT2). En reglas generales la direccin hexadecimal del puerto LPT1 es igual a 0x378 (888 en decimal) y 0x278 (632 en decimal) para el LPT2. Esto se puede verificar fcilmente en el setup de la PC o bien en el cartel que generalmente la PC muestra en el momento del booteo. Puede darse el caso que el LPT1 asuma la direccin 0x3BC (956 en decimal) y el LPT2 0x378, en ese caso habr que tratar de corregir el setup y/o los jumper de las tarjetas en caso que sea posible. De lo contrario se puede modificar el software que veremos mas adelante para aceptar esas direcciones.

Breve descripcin del puerto paralelo:


El puerto paralelo de un PC posee un conector de salida del tipo DB25 hembra cuyo diagrama y seales utilizadas podemos ver en la siguiente figura:

file:///C|/Documents%20and%20Settings/Administrad...O%20PARALELO/informacion%20del%20P%20paralelo.htm (1 de 5)16/10/2006 16:56:30

Usando el port paralelo de una PC como medio de control

Si deseamos escribir un dato en el bus de salida de datos (pin 2 a 9) solo debemos escribir el byte correspondiente en la direccin hexadecimal 0X378 (888 en decimal) cuando trabajamos con el LPT1 y 0x278 (632 en decimal) cuando trabajamos con el LPT2. Los distintos pins (bits) de salida correspondientes al bus de datos no pueden ser escritos en forma independiente, por lo que siempre que se desee modificar uno se debern escribir los ocho bits nuevamente. Para leer el estado de los pins de entrada (10, 12, 13 y 15) se debe realizar una lectura a la direccin hexadecimal 0x379 (889 en decimal) si trabajamos con el LPT1 o bien leer la direccin 0x279 (633 en decimal) si trabajamos con el LPT2. La lectura ser devuelta en un byte en donde el bit 6 corresponde al pin 10, el bit 5 corresponde al pin 12, el bit 4 corresponde al pin 13 y el bit 3 corresponde al pin 15. En la siguiente tabla se puede ver lo antedicho en una forma ms grfica:

Escritura: Salida de Datos


Escritura en direccin 0x378 (LPT1) o 0x278 (LPT2) DATO DB25 CN5 CN4 BIT 7 Pin 9 TTL 7
No usar

BIT 6 Pin 8 TTL 6 HP 6

BIT 5 Pin 7 TTL 5 HP 5

BIT 4 Pin 6 TTL 4 HP 4

BIT 3 Pin 5 TTL 3 HP 3

BIT 2 Pin 4 TTL 2 HP 2

BIT 1 Pin 3 TTL 1 HP 1

BIT 0 Pin2 TTL 0 HP 0

file:///C|/Documents%20and%20Settings/Administrad...O%20PARALELO/informacion%20del%20P%20paralelo.htm (2 de 5)16/10/2006 16:56:30

Usando el port paralelo de una PC como medio de control

Lectura: Entrada de Datos


Lectura en direccin 0x379 (LPT1) o 0x279 (LPT2) DATO DB 25 CN6 BIT 7
No usar No usar

BIT 6 Pin 10 Input 3

BIT 5 Pin 12 Input 2

BIT 4 Pin 13 Input 1

BIT 3 Pin 15 Input 0

BIT 2
No usar No usar

BIT 1
No usar No usar

BIT 0
No usar No usar

Interfaz:
En la archivo IPP01-CIRCUIT.PDF podemos apreciar el circuito correspondiente a la interfaz para el puerto paralelo. La interfaz nos provee 8 salidas TTL, 7 salidas de potencia (500ma) y cuatro entradas TTL. Es importante tener en cuenta que las salidas TTL entregan una tensin de 5v y solo se les puede exigir un mnimo de corriente, apenas suficiente para activar un transistor o bien un par de compuertas TTL. As mismo las entradas TTL deben ser alimentadas con una tensin mxima de 5v o de lo contrario el chip resultar daado. Esta tensin se obtiene desde VDD a travs del regulador U1 (7805). Las 7 salidas de potencia no son mas que la amplificacin mediante un array de transistores Darlington (ULN2003) de las salidas TTL 0 a 6 (la salida 7 no es usada). Este chip puede drenar una corriente mxima de 500ma, lo que es suficiente para activar un LED, un rel y hasta un motor DC de bajo consumo (tipo motor de grabador). La teora de funcionamiento es muy simple, solo se usan unas compuertas del tipo Buffer (74HC245) para poder conectarnos con seguridad al puerto paralelo, y un array de transistores Darlington (ULN2003) para brindar una salida de mayor potencia. Cabe aclarar que los dos integrados 74HC245 se alimentan del regulador de voltaje 7805, el cual se encarga de reducir la tensin de entrada (VDD) a 5v (Vcc). La tensin VDD debe estar comprendida entre 9 y 12v. La tensin de entrada VHH alimenta directamente al ULN2003 para obtener mayor voltaje en caso de querer manejar un rel o bien un pequeo motor. La tensin VHH debe estar comprendida entre 3 y 15v. VHH podr conectarse directamente a VDD (y de esa forma usar solo un fuente de alimentacin) siempre que esto no provoque problemas de ruido. En los siguientes diagramas se pueden apreciar un ejemplo de conexionado de un LED y un Rel a las salidas de potencia. En forma anloga podramos conectar tambin un pequeo motor DC.

file:///C|/Documents%20and%20Settings/Administrad...O%20PARALELO/informacion%20del%20P%20paralelo.htm (3 de 5)16/10/2006 16:56:30

Usando el port paralelo de una PC como medio de control

Programa para manejo de la interfaz:


El siguiente es un programa hecho en Qbasic en donde se puede apreciar como se debe trabajar con el puerto paralelo y como se puede sacar provecho de la interfaz. Para visualizarlo o bajarlo a la PC haga click aqu. Tambin puede bajar el ejecutable (.exe) directamente si as lo desea haciendo click aqu. El funcionamiento de este software es muy simple y bsico. Primero le solicitar que elija el puerto a usar (LPT1 o LPT2). Luego puede elegir "Leer Port" para recuperar el estado de los pins de entrada (0 a 3) o bien "Escribir Port" para cambiar el estado de los pins de salida (0 a 7). Recuerde que si cambiamos el pin de salida 0 , tambin se altera el mismo pin en la salida de potencia (solo pins 0 a 6, el 7 no tiene salida de potencia). Mediante el anlisis de este programa Basic se puede intentar hacer programas mas elaborados en lenguajes ms modernos.

Programa "Control para la IPP01" para W9x - NT - 2000 - XP


Aqu puedes bajar un programa realizado en VisualBasic (versin 6.0) que te permitir controlar las salidas y ver
file:///C|/Documents%20and%20Settings/Administrad...O%20PARALELO/informacion%20del%20P%20paralelo.htm (4 de 5)16/10/2006 16:56:30

Usando el port paralelo de una PC como medio de control

el estado de las entradas disponibles en la Interfaz para Puerto Paralelo compatible con Windows 95, 98, ME, NT, 2000 y XP. Para bajarlo a tu PC has click aqu. Tambin puede bajar los fuentes haciendo click aqu. En nuestra seccin DOWNLOAD podrs encontrar las DLL necesarias para manjar el puerto paralelo desde el entorno Windows. La misma est siendo utilizada en el programa "Control para la IPP01" arriba mencionado.

Conclusin:
Esta interfaz es tan sencilla como til, ya que nos permite realizar todo tipo de pruebas sin la necesidad de usar un microcontrolador. Y de paso nos permite tomar experiencia en el manejo de seales mediante equipos microprocesados. Podemos por ejemplo conectar un pequeo robot y tomar datos de sus sensores y analizar las decisiones a tomar mediante un programa hecho en cualquier lenguaje de PC actual. Si lo desea puede adquirir esta interfaz completamente armada o en forma de kit en nuestra seccin Productos.

IMPORTANTE
Al conectar o desconectar la interfaz al puerto paralelo de la PC, se debe asegurar de que tanto la PC como la interfaz se encuentren apagadas. Caso contrario el puerto paralelo de la PC podra llegar a daarse permanentemente.

file:///C|/Documents%20and%20Settings/Administrad...O%20PARALELO/informacion%20del%20P%20paralelo.htm (5 de 5)16/10/2006 16:56:30