2011 Puerto Paralelo

Puerto Paralelo - Motor de Paso Construyendo Manejadores de Instrumentos con LabVIEW Un manejador de instrumentos es sof

Views 132 Downloads 0 File size 374KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Puerto Paralelo - Motor de Paso Construyendo Manejadores de Instrumentos con LabVIEW Un manejador de instrumentos es software que controla un instrumento en particular. LabVIEW, con su concepto de panel, es ideal para crearlos. El panel frontal puede simular la operación del panel frontal de un instrumento. El diagrama de bloques puede enviar los comandos necesarios al instrumento para realizar la operación que el panel frontal especifica. Cuando termina de construir un manejador de instrumentos, no necesita recordar los comandos necesarios para controlar el instrumento. Requiere sólo especificar la entrada del panel frontal. Existe muy poco valor en tener simplemente un panel frontal para controlar el instrumento. El valor real es que puede utilizar el manejador del instrumento como un sub VI en conjunto con otros sub VI en un VI mucho mayor para controlar un sistema completo. LabVIEW tiene una librería de manejadores muy grande. Existe una lista disponible de National Instruments. Si cuenta con un instrumento que no exista, puede encontrar instrumentos similares en la lista y fácilmente modificar su manejador. La siguiente sección permite introducirnos en el diseño de un manejador bien simple para encender un conjunto de leds conectados al puerto paralelo.

Puerto paralelo ¿Qué es el puerto paralelo?. Tal vez esta pregunta no sea muy difícil de responder para cualquiera que haya usado un computador alguna vez. Es el conector que usualmente se sitúa en la parte trasera de la torre del PC, y en donde se conecta la impresora u otros dispositivos, como escáneres y demás. Sin embargo, y en especial en aplicaciones electrónicas, se le puede extraer mucho provecho a este medio de comunicación entre el PC y el exterior, aprovechando con esto las grandes prestaciones de la misma.

Diagrama del puerto paralelo El puerto paralelo posee 3 registros

Instituto de Física Curso de Instrumentación

Universidad de Antioquia

The parallel port uses three registers, their bit assignment is shown in the diagram below.

Parallel Port Registers Descriptions of the different bits are listed in the table below. Pin Reg Bit

Description

Direction

Pin Reg Bit

Description

Direction

1 2 3

/C0 D0 D1

Strobe Data Bit 0 Data Bit 1

Output Output Output

14 15 16

/C1 S3 C2

A vance A utomatico(A UTOFD) Error Inicializacion

Output Input Output

4 5 6

D2 D3 D4

Data Bit 2 Data Bit 3 Data Bit 4

Output Output Output

17 18 19

/C3 -

Seleccion (SLCT IN) Tierra Tierra

Output -

7 8 9

D5 D6 D7

Data Bit 5 Data Bit 6 Data Bit 7

Output Output Output

20 21 22

-

Tierra Tierra Tierra

-

10 11 12

S6 /S7 S5

Acuse de recibo(A CK) Ocupado Papel vacio (PE)

Input Input Input

23 24 25

-

Tierra Tierra Tierra

-

13

S4

Select In

Input

En primer lugar, conviene aclarar que esta nota está dirigida a todos aquellos cuyos puertos paralelos sean IBM-compatibles, es decir, que poseen un conector DB-25. El conector es normalmente hembra (tiene orificios en lugar de patitas) para distinguirlo de los conectores serie que son habitualmente machos y que puede tener también la computadora a continuación se muestra un dibujo del tipo DB-25, indicándose en ella las diferentes funciones de los distintos pines. Notar que algunas de las líneas tienen una abreviatura convencional que se indica entre paréntesis Las tierras cumplen dos funciones: la primera es que vinculan las tierras de señal de los dos dispositivos que se interconectan de modo que puedan compartir una tierra común como referencia para la señal. La otra es que, puesto que, la conexión entre los dos dispositivos se realiza a menudo mediante un cable tipo cinta, las tierras (llamadas muchas veces retornos de tierra en este contexto) actúan como blindajes de las líneas más importantes. Como su nombre lo indica, la salida de datos transfiere información desde la computadora a un periférico en paralelo. Esto se hace con ocho bits (un byte) por vez utilizando los terminales 2-9. DO se considera el bit menos significativo (LSB) y D7 el más significativo (MSB). A este conjunto de líneas se las denomina "salidas de datos". A las otras cuatro líneas de salida (STB, AUTOFD, SLCT IN, IF)) se las denomina "salidas de diálogo" y envían señales específicas al dispositivo , interrogándolo para cumplir su labor. El funcionamiento detallado de este procedimiento escapa a los alcances de estas notas. Finalmente a las cinco líneas de entrada (SEL, PE, OCUPADO,

Notas de clase profesora: Lucelly Reyes

2

Instituto de Física Curso de Instrumentación

Universidad de Antioquia

ACK, FAULT), se las denomina "entrada de diálogo" y, junto con las salidas de diálogo, complementan el procedimiento de comunicación entre la PC y el dispositivo en cuestión. Un detalle importante de las líneas de entrada es que el pin ACK (pin 10) trabaja con pulso negativo (es decir está negado).

En definitiva y, en base a lo expuesto arriba, disponemos de 12 salidas y 5 entradas, una de las cuales está negada. Veamos ahora cómo controlarlas y manejarlas. Para tener pleno acceso al puerto paralelo es necesario, en primera instancia, algún compilador, cualquiera es válido desde ensamblador hasta visual basic o visual C++ pasando por "C" y basic. Sin embargo, y a pesar de la gran diversidad de lenguajes, la sintaxis de las respectivas instrucciones para enviar (escribir) y recibir (leer) datos del puerto es similar. En lo que respecta a escribir la instrucción se compone de dos parámetros que son la dirección y el dato. La dirección es el lugar en dónde va a ser escrito el dato. Existen tres direcciones posibles en los sistemas IBM compatible, en dónde ubicar al puerto paralelo estas son 0x378 (888), el 0x278 y el 0x3BC. La más frecuentemente utilizada es la primera. Una aclaración importante es que las direcciones corresponden a las salidas de datos, es decir, en la dirección 0x378 (o cualquiera de las otras), se tiene acceso a los ocho bits denotados desde D0 a D7. Para acceder a los otro cuatro bits de salida se le debe sumar dos unidades a la dirección original (0x37Apor ejemplo) y se tiene acceso a los cuatro bits más significativos. La segunda parte de la instrucción, es decir, el dato; corresponde a la combinación de unos y ceros lógicos que se enviarán al puerto. Conviene aclarar que los unos se presentan como + 5 a 3,8 voltios y los ceros como una tensión inferior a los 0,8 V. Además es conveniente no extraer de cada línea más de 5mA, por lo que se hace imprescindible el uso de algún buffer para aislar el puerto. Habitualmente el dato a escribir es representado en hexadecimal por la comodidad que esto conlleva. Así, por ejemplo, para poner todos unos en los datos deberíamos escribir un 0xFF. Análogamente para poner todos los bits en cero el número sería 0x00. La sintaxis de las instrucciones para la escritura en el puerto en los diversos lenguajes es similar aunque, obviamente, existen ciertas diferencias. Veamos cómo se procede en cada lenguaje. En "C" se utiliza la instrucción outport, o bien outportb, ambas incluidas en la cabecera "dos.h". Un ejemplo muy simple de cómo escribir un 0xFF en el puerto es el siguiente:

Notas de clase profesora: Lucelly Reyes

3

Instituto de Física Curso de Instrumentación

Universidad de Antioquia

#include void mai n( void) { outpor t(0 x378,0 xFF); exit(1) ; } En este ejemplo simplemente colocamos las salidas D0 a D7 en uno. Esto lo podemos comprobar si medimos dichas salidas con un multímetro, observando que el valor de tensión respecto de masa es de 5V aproximadamente. Para realizar esta misma tarea en ensamblador utilizamos la instrucción out. El dato a escribir se encuentra en el registro AX (AL, AH) y la dirección en el DX (DL, DH). En BASIC la instrucción recibe el mismo nombre, es decir, out. la sintaxis es similar que en "C", osea, dirección y dato en ese orden. En este caso se omiten los paréntesis y el punto y coma final, propios del lenguaje "C". Finalmente, veamos cómo controlar el puerto a través de Visual Basic (cualquier versión de 32 bits). Para ello, necesitaremos tener en nuestro directorio de sistema ("C\windows\system") una librería especial llamada INPOUT32.DLL. Además de la mencionada librería se incluye un módulo (denominado "inpout32.bas") con las correspondientes llamadas a la DLL.

Aplicación En este momento estamos en condiciones de desarrollar un primer circuito básico de prueba. Éste va a consistir en prender o apagar 8 Leds conectado cada uno a los pines D0 a D7. El diagrama esquemático es el siguiente:

Una vez construido el circuito se ve asi...

Notas de clase profesora: Lucelly Reyes

4

Instituto de Física Curso de Instrumentación

Universidad de Antioquia

En donde J1 es la ficha DB-25 del puerto paralelo, R1 a R8 son resistencias de 1/8W de 330 Ω. D1 a D8 son leds. Una vez montado, este circuito será de gran utilidad para probar cualquier programa que utilice el puerto paralelo. Las distintas aplicaciones de éste son inmensas.

Como encontrar la dirección del puerto paralelo

El siguiente programa gráfico permite configurar el puerto paralelo del PC, recuerde que la dirección de este puerto es 378.

Notas de clase profesora: Lucelly Reyes

5

Instituto de Física Curso de Instrumentación

Universidad de Antioquia

Ejercicios prácticos: Juego de luces 

Conecte 8 leds al puerto paralelo según el siguiente esquema. (Modulo de Laboratorio). Con una secuencia temporal adecuada, puede crear un conjunto de pilotos luminosos que se persigan.

Notas de clase profesora: Lucelly Reyes

6

Instituto de Física Curso de Instrumentación

Universidad de Antioquia

Pequeña introducción a los motores Paso a Paso Los motores Paso a Paso son motores en los que podemos controlar el desplazamiento del rotor en función de tensiones que se aplican a las bobinas. Por lo que podemos conseguir controles de los desplazamiento adelante y detrás y determinado número de pasos por vuelta. En los motores paso a paso debemos diferenciar los motores unipolares de los bipolares, los unipolares . Los motores unipolares se llaman así porque la corriente que circula por los diferentes bobinados siempre circula en el mismo sentido. En los motores bipolares para que el motor funcione la corriente que circula por los bobinados cambia de sentido en función de la tensión que se aplica. por lo que un mismo bobinado puede tener en uno de sus extremos distinta polaridad (bipolar). Algunos motores tienen los bobinados de tal manera que en función de puentes pueden convertirse en unipolares o bipolares. Lo más importante de un motor es saber el tipo de motor que es, la potencia, el numero de pasos, el par de fuerza, la tensión de alimentación y poco mas si son motores sencillos. En los motores unipolares el punto medio de ambos bobinados es alimentado eléctricamente por uno de los polos y el otro polo de alimentación se aplica a los diferentes terminales de los bobinados siguiendo un determinado ritmo que hace que el motor funcione en determinada dirección y velocidad. Para el funcionamiento del un motor unipolar, uno de los sistemas más sencillos y económicos es hacerlo funcionar a través de un circuito integrado denominado ULN2003.

Notas de clase profesora: Lucelly Reyes

7

Instituto de Física Curso de Instrumentación

Universidad de Antioquia

El esquema de funcionamiento seria el de la figura siguiente, lógicamente la entrada a este circuito integrado esta controlado por un microcontrolador, las entradas 1,2,3,4 corresponden a las puertas de salida de un microcontrolador y las salidas denominadas 1, 2, 3 y 4 corresponden a las entradas del motor .

El ULN2003A es un circuito integrado compuesto por una serie de componentes tipo Darligton con las siguientes características básicas. Tensión máxima de entrada 30 Vlts Tensión máxima de salida 50 Vlts Intensidad máxima de salida 500 mA Potencia máxima disipable 1W

La rutinas que deben de ser aplicadas a las entradas 1,2,3,4 son las siguientes Tabla de lógica para sentido horario 1ª 0 1 1 1

1b 1 0 1 1

2a 1 1 0 1

2b 1 1 1 0

Tabla de lógica para sentido anti horario 1ª 1b 2a 2b

Notas de clase profesora: Lucelly Reyes

8

Instituto de Física Curso de Instrumentación

Universidad de Antioquia

1 1 1 0

1 1 0 1

1 0 1 1

0 1 1 1

Si se trabaja con un ULN2003 hay que tener en cuenta que este circuito integrado trabaja con lógica negativa por lo que la señal binaria enviada por el microcontrolador es invertida por el ULN2003 Otro tema muy importante a tener en cuenta es la rutina de tiempo entre diversas instrucciones esta rutina debe de ser de aproximadamente 350 milisegundos para que el giro del motor tenga un régimen continuo y sin saltos.

Notas de clase profesora: Lucelly Reyes

9