INFORME PUERTO PARALELO.docx

25
D 2012 Instituto Superior Salesiano 06/01/2012 INTERFAZ PUERTO PARALELO Néstor D. Gonzales Arévalo Jesús Palacios Soto

Transcript of INFORME PUERTO PARALELO.docx

Page 1: INFORME PUERTO PARALELO.docx

D

Instituto Superior Salesiano

06/01/2012

2012INTERFAZ PUERTO PARALELO

Néstor D. Gonzales Arévalo

Jesús Palacios Soto

Raúl Robles León

Page 2: INFORME PUERTO PARALELO.docx

TEMA: INTERFAZ PUERTO PARALELO

CAPACIDAD TERMINAL:

Construye un circuito de control para motor AC de 3 velocidades utilizando como

interfaz el puerto paralelo (LPT1) de una PC.

OBJETIVO:

Realizar un control de periféricos utilizando la interfaz del Puerto Paralelo.

I. DATOS TÉCNICOS

El Puerto Paralelo

Un puerto paralelo es una interfaz entre un ordenador y un periférico. La transmisión de datos paralela consiste en enviar datos en forma simultánea por varios canales (hilos). Los puertos paralelos en los PC pueden utilizarse para enviar 8 bits (un byte) simultáneamente por 8 hilos. Las direcciones base de los dos primeros puertos son:

LPT1 = 0x378. LPT2 = 0x278

La estructura consta de tres registros:

El registro de control es un bidireccional de 4 bits, con un bit de configuración que no tiene conexión al exterior, su dirección en el LPT1 es 0x37A.

El registro de estado, se trata de un registro de entrada de información de 5 bits, su dirección en el LPT1 es 0x379.

El registro de datos, se compone de 8 bits, es bidireccional. Su dirección en el LPT1 es 0x378.

Page 3: INFORME PUERTO PARALELO.docx

Configuración del Puerto Paralelo

1. Para realizar la configuración del puerto debemos de ingresar al administrador de dispositivos de Windows, para ello hacemos click derecho en Mi PC, y elegimos la opción Propiedades.

2. Escogemos la pestaña Hardware, y hacemos click en Administrador de dispositivos.

3. Vayamos a Puertos (COM & LPT), y hagamos click derecho en Puerto de Impresora ECP (LPT1), y elegimos la opción Propiedades.

Page 4: INFORME PUERTO PARALELO.docx

4. Vamos a la pestaña Configuración de puerto, seleccionamos la opción Usar cualquier interrupción asignada al puerto, y escogemos el Número de puerto LPT, la cual nosotros hemos seleccionado LPT1 que es la más convencional.

Dentro de la pestaña Recursos se puede observar los Intervalo de Entradas y Salidas que van desde 0378 hasta 037F

5. De esta manera hemos configurado nuestro Puerto Paralelo para hacer uso de él.

II. PROCEDIMIENTO

2.1 Interfaz del Puerto Paralelo

La interfaz del puerto paralelo está realizada a través del lenguaje Java, para ello utilizamos el software Netbeans 7.1 de Oracle.

Primeramente no podemos controlar directamente el puerto paralelo (LPT1) para ello necesitamos una librería llamada inpout32.dll para poder controlarlo. Esta librería la descargamos por internet.

Otra de las librerías a utilizar, pero esta vez para controlar nuestro puerto paralelo desde Java, es el jnpout32pkg.dll y jnpout32pkg.jar

Y por última una librería para poder simular el Puerto Paralelo: Port.dll.

A continuación se muestra el código y la aplicación en Java para realizar nuestra interfaz del Puerto Paralelo.

Page 5: INFORME PUERTO PARALELO.docx

Programa Principal:

/* * To change this template, choose Tools | Templates * and open the template in the editor. */package interfazpalacios;import jnpout32.*; /se importa la librería jnpout32.dll/** * * @author USUARIO */public class consola {

/** * @param args the command line arguments */ public static void main(String[] args) { pPort lpt1 = new pPort(); short valor = lpt1.input((short)0x378); /valor de lectura System.out.print(valor); valor = 250; lpt1.output((short)0x378, valor); / valor que se envia }}

Programa de la Interfaz:

/* * To change this template, choose Tools | Templates * and open the template in the editor. */package interfazpalacios;import jnpout32.*;/** * * @author USUARIO */public class principal extends javax.swing.JFrame {

/** * Creates new form principal */ public principal() { initComponents(); }

/** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked")

private void jButton1MouseClicked(java.awt.event.MouseEvent evt) { ltp1 = new pPort(); }

private void jButton2MouseClicked(java.awt.event.MouseEvent evt) { short valor = ltp1.input((short)0x378); / botón de lectura jLabel1.setText(String.valueOf(valor)); }

private void jButton3MouseClicked(java.awt.event.MouseEvent evt) { ltp1.output((short)0x378, (short)17); / “velocidad 01” }

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: }

Page 6: INFORME PUERTO PARALELO.docx

private void jButton4MouseClicked(java.awt.event.MouseEvent evt) { ltp1.output((short)0x378, (short)18); / “velocidad 02” }

private void jButton5MouseClicked(java.awt.event.MouseEvent evt) { ltp1.output((short)0x378, (short)20); / “velocidad 03” }

private void jButton6MouseClicked(java.awt.event.MouseEvent evt) {

}

private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) { System.exit(0); / Botón Salir }

private void jButton7ActionPerformed(java.awt.event.ActionEvent evt) { ltp1.output((short)0x378, (short)8); / botón de “Parar” }

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: }

/** * @param args the command line arguments */ public static void main(String args[]) { /* * Set the Nimbus look and feel */

/* * Create and display the form */ java.awt.EventQueue.invokeLater(new Runnable() {

public void run() { new principal().setVisible(true); } }); } // Variables declaration - do not modify / Declara Variables private javax.swing.JButton jButton1; private javax.swing.JButton jButton2; private javax.swing.JButton jButton3; private javax.swing.JButton jButton4; private javax.swing.JButton jButton5; private javax.swing.JButton jButton6; private javax.swing.JButton jButton7; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel5; private javax.swing.JSeparator jSeparator1; private javax.swing.JSeparator jSeparator2; private javax.swing.JSeparator jSeparator3; // End of variables declaration private pPort ltp1;

}

Page 7: INFORME PUERTO PARALELO.docx

Algunas tomas dentro del entorno de Netbeans 7.1

El código principal de nuestro programa. (Source)

Parte del diseño de nuestro programa finalizado. (Design)

Page 8: INFORME PUERTO PARALELO.docx

2.2 Simulación

Para la simulación hemos utilizado el software ISIS de Proteus, y se realiza el siguiente diagrama. La cual el LPTP1M es la representación del Puerto Paralelo, y el 74LS245 es un integrado tipo buffer, en este caso veremos a través de los led´s los bit´s que estamos enviando desde el puerto LPT.

Antes de ejecutar nuestra simulación debemos de instalar el archivo jdk-7u2-windows-i586 que es el instalador de la aplicación Java, con ello podemos visualizar nuestra interfaz creada.

Page 9: INFORME PUERTO PARALELO.docx

Luego debemos de copiar los siguientes archivos: inpout32.dll, jnpout32pkg.dll, jnpout32pkg.jar y Port.dll en las siguientes direcciones: C:\WINDOWS\system32 y C:\Archivos de programa\Java\jdk1.7.0_02\bin.

Pegar en C:\WINDOWS\system32

Page 10: INFORME PUERTO PARALELO.docx

Pegar en C:\Archivos de programa\Java\jdk1.7.0_02\bin

Ahora podemos correctamente iniciar la simulación en Proteus, el cual al comenzar nos saldrá un mensaje de advertencia, la cual seleccionamos Ok.

Hacemos click en Inicio de nuestro software creado en Java.

Page 11: INFORME PUERTO PARALELO.docx

Hacemos click en Velocidad 01.

Hacemos click en Velocidad 02.

Hacemos click en Velocidad 03.

Hacemos click en Parar.

Page 12: INFORME PUERTO PARALELO.docx

Hemos verificado y comprobado que nuestra interfaz funcione correctamente como requerimos.

2.3 Diseño Electrónico

El diseño electrónico y el PCB de la parte de potencia de nuestro proyecto, está realizado mediante el software EAGLE Versión 5.11.0.

A continuación puede observar el diagrama electrónico:

2.4 El Circuito Impreso

Page 13: INFORME PUERTO PARALELO.docx

El primer Grafico llamado impreso con las pistas es el que al ser revelado sobre baquelita deja unos caminos de cobre que permiten la interconexión de los componentes que más adelante soldaremos en la tarjeta.

El segundo gráfico corresponde a la máscara de componentes. Esta sirve para saber en qué posición van los componentes y sus valores, ya que en esta se encuentra la lista de materiales a utilizar en el proyecto.

La construcción del PCB se realizo a través de la técnica de planchado, para ello se imprimió los dos gráficos en papel couché, la cual a través de una plancha se transfirio hacia la baquelita. El resultado es el siguiente:

Page 14: INFORME PUERTO PARALELO.docx

2.5 Ensamble del control del motor AC

A continuación enseñaremos paso a paso como armar el control del motor AC de 3 velocidades.

Ahora observamos todos los materiales que utilizaremos en el proyecto. Las partes que no están especificadas en la tarjeta las iremos nombrando o explicando durante el proceso de construcción.

Lista de Materiales:

1 Puerto Paralelo Hembra 2 Resistores 220 1/4W 3 Resistores 1K 1/4W 3 Resistores 560 1/4W 3 Resistores 220 1/2W 3 Resistores 100 1W 3 Capacitores de Poliéster 100nF 400V 3 Optoacopladores MOC3041 3 Portafusibles y fusibles de 3A 1 Switch 3 Triac BT137 1 Bornera de 4 pines y 2 pines 5 Led´s (1 rojo, 1 verde, 3 amarillos)

PASOS PARA SOLDAR COMPONENTES EN LA PCB

1. Limpiar el PCB con tiner y lanilla de acero.2. Empezar a soldar los jumpers (puentes).3. Soldar las resistencias en sus respectivas

posiciones

Page 15: INFORME PUERTO PARALELO.docx

A continuación veremos imágenes de nuestra tarjeta de interface ya terminada

El circuito snubber, los fusibles para cada velocidad, y los Triacs de conmutación.

PASOS PARA SOLDAR COMPONENTES EN LA PCB

1. Limpiar el PCB con tiner y lanilla de acero.2. Empezar a soldar los jumpers (puentes).3. Soldar las resistencias en sus respectivas

posiciones

INTERFACE FINALIZADA

Page 16: INFORME PUERTO PARALELO.docx

Los optoacopladores MOC3041, y el conector hembra DB25

Vista de la tarjeta de interface con sus pistas

2.6 Funcionamiento

Page 17: INFORME PUERTO PARALELO.docx

En el circuito cada vez que se mande una señal por el puerto paralelo, éste va a excitar a uno de los led´s monitores y el led del optoacoplador asociado a éste.

Esta señal se transfiere ópticamente a la etapa de potencia, activando la compuerta gate de un Triac BT137.

Cuando esto ocurre, se crea un flujo de corriente entre los terminales principales del Triac (MT1 y MT2), haciendo posible la activación del motor a cierta velocidad.

El circuito Snubber conformado por un capacitor de 100nF/400V y un resistor de 100 a 1W en serie. Se utiliza para proteger nuestros triacs de las sobre tensiones producidas por una carga inductiva, en este caso el motor.

2.7 Prueba Final

Page 18: INFORME PUERTO PARALELO.docx

Conectamos nuestro cable Paralelo hacia el Puerto DB25 de nuestro ordenador

Conectamos nuestro cable Paralelo hacia nuestra tarjeta de interface.

Al seleccionar el botón Parar

Al seleccionar el botón Velocidad 01

Page 19: INFORME PUERTO PARALELO.docx

Al seleccionar el botón Velocidad 02

Al seleccionar el botón Velocidad 03

Page 20: INFORME PUERTO PARALELO.docx

Nuestra tarjeta de control e interface conectada hacia nuestro motor AC de 3 velocidades. Para diferenciar las velocidades del motor hemos colocado resistencias en serie junto al bobinado de cada velocidad:

Velocidad 1 Resistor de 100 a 5W Velocidad 2 Resistor de 10 a 5W Velocidad 3 Ningún resistor

III. CONCLUSIONES

1. Para realizar nuestra interfaz en Java debemos de recurrir al uso de 4 librerías: inpout32.dll, jnpout32pkg.dll, jnpout32pkg.jar y Port.dll.

2. Antes de iniciar nuestra programación y simulación debemos de configurar nuestro Puerto Paralelo (LPT1) de nuestro ordenador a la dirección 0x0378.

3. La tarjeta de interface posee un circuito de snubber para proteger nuestros triacs en los sobrevoltajes que pueden aparecer en el motor.

4. Hemos utilizado para el envio de datos, el registro de datos, la cual las datas que usamos fueron D2, D3, D4, D5 y D6.

5. Tanto en la parte física, como en la simulación nuestra interface ha funcionado correctamente como lo hemos requerido.

6. Hay que tener cuidado en la conexión de nuestro puerto paralelo, ya que un error de cruce puede provocar el daño de nuestro ordenador.

7. El PCB de la interface está elaborado en el software Eagle v.5.11, con las normas respectivas, y se usó la técnica del planchado para su realización.