Proyecto Puerto

4
Proyecto: Interfaz para el Puerto Paralelo Fecha: 3 de Setiembre de 2000 Autor: Todorobot IMPORTANTE: Ya está disponible la nueva versión del software de control para Windows 9x, NT, 2000 y XP Introducción: El puerto paralelo de una PC es ideal para ser usado como herramienta de control de motores, relés, LED’s, etc. El mismo posee un bus de datos de 8 bits (Pin 2 a 9) y muchas señales de control, algunas de salida y otras de entrada que también pueden ser usadas fácilmente. 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 dirección hexadecimal del puerto LPT1 es igual a 0x378 (888 en decimal) y 0x278 (632 en decimal) para el LPT2. Esto se puede verificar fácilmente 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 dirección 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 descripción del puerto paralelo: El puerto paralelo de un PC posee un conector de salida del tipo DB25 hembra cuyo diagrama y señales utilizadas podemos ver en la siguiente figura: Si deseamos escribir un dato en el bus de salida de datos (pin 2 a 9) solo debemos escribir el byte correspondiente en la dirección 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 deberán escribir los ocho bits nuevamente.

description

PROYECTO PUERTO PARALELO

Transcript of Proyecto Puerto

Page 1: Proyecto Puerto

Proyecto: Interfaz para el Puerto Paralelo

Fecha: 3 de Setiembre de 2000

Autor: Todorobot

IMPORTANTE: Ya está disponible la nueva versión del software de control para Windows 9x,

NT, 2000 y XP

Introducción:

El puerto paralelo de una PC es ideal para ser usado como herramienta de control de motores,

relés, LED’s, etc. El mismo posee un bus de datos de 8 bits (Pin 2 a 9) y muchas señales de

control, algunas de salida y otras de entrada que también pueden ser usadas fácilmente.

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 dirección hexadecimal del puerto LPT1 es igual a 0x378 (888 en decimal)

y 0x278 (632 en decimal) para el LPT2. Esto se puede verificar fácilmente 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 dirección 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 descripción del puerto paralelo:

El puerto paralelo de un PC posee un conector de salida del tipo DB25 hembra cuyo diagrama y

señales utilizadas podemos ver en la siguiente figura:

Si deseamos escribir un dato en el bus de salida de datos (pin 2 a 9) solo debemos escribir el

byte correspondiente en la dirección 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 deberán escribir los ocho bits nuevamente.

Page 2: Proyecto Puerto

Para leer el estado de los pins de entrada (10, 12, 13 y 15) se debe realizar una lectura a la

dirección hexadecimal 0x379 (889 en decimal) si trabajamos con el LPT1 o bien leer la

dirección 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 más gráfica:

Escritura: Salida de Datos

Escritura en dirección 0x378 (LPT1) o 0x278 (LPT2)

DATO BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0

DB25 Pin 9 Pin 8 Pin 7 Pin 6 Pin 5 Pin 4 Pin 3 Pin2

CN5 TTL 7 TTL 6 TTL 5 TTL 4 TTL 3 TTL 2 TTL 1 TTL 0

CN4 No usar HP 6 HP 5 HP 4 HP 3 HP 2 HP 1 HP 0

Lectura: Entrada de Datos

Lectura en dirección 0x379 (LPT1) o 0x279 (LPT2)

DATO BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0

DB 25

No

usar

Pin

10

Pin

12

Pin

13

Pin

15

No

usar

No

usar No usar

CN6

No

usar

Input

3

Input

2

Input

1

Input

0

No

usar

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 tensión de 5v y solo se les puede

exigir un mínimo de corriente, apenas suficiente para activar un transistor o bien un par de

compuertas TTL.

Page 3: Proyecto Puerto

Así mismo las entradas TTL deben ser alimentadas con una tensión máxima de 5v o de lo

contrario el chip resultará dañado. Esta tensión se obtiene desde VDD a través del regulador

U1 (7805).

Las 7 salidas de potencia no son mas que la amplificación 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 máxima 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 teoría 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 tensión de entrada (VDD) a 5v (Vcc). La tensión VDD debe estar

comprendida entre 9 y 12v.

La tensión de entrada VHH alimenta directamente al ULN2003 para obtener mayor voltaje en

caso de querer manejar un relé o bien un pequeño motor. La tensión VHH debe estar

comprendida entre 3 y 15v. VHH podrá conectarse directamente a VDD (y de esa forma usar

solo un fuente de alimentación) 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 análoga podríamos conectar también un pequeño

motor DC.

Programa para manejo de la interfaz:

Page 4: Proyecto Puerto

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í. También puede bajar el ejecutable (.exe)

directamente si así lo desea haciendo click aquí.

El funcionamiento de este software es muy simple y básico. 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 , también se altera el mismo pin en la salida

de potencia (solo pins 0 a 6, el 7 no tiene salida de potencia).

Mediante el análisis de este programa Basic se puede intentar hacer programas mas

elaborados en lenguajes más modernos.

Programa “Control para la IPP01″ para W9x – NT – 2000 – XP

Aquí puedes bajar un programa realizado en VisualBasic (versión 6.0) que te permitirá

controlar las salidas y ver 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 Paralelo-v2-Installí. También puede bajar los fuentes haciendo

click Paralelo-v2-Source.

En nuestra sección DOWNLOAD podrás encontrar las io necesarias para manjar el puerto

paralelo desde el entorno Windows. La misma está siendo utilizada en el programa “Control

para la IPP01″ arriba mencionado.

Conclusión:

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 señales mediante equipos microprocesados.

Podemos por ejemplo conectar un pequeño robot y tomar datos de sus sensores y analizar las

decisiones a tomar mediante un programa hecho en cualquier lenguaje de PC actual.

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

podría llegar a dañarse permanentemente.