- Justificación
- Antecedentes
- Marco filosófico
- Objetivos generales
- Objetivos específicos
- Introducción
- El hardware del puerto paralelo
- Circuitos
- Pic16f84
- El software
- El hardware
- Material apoyo
- Conclusiones
- Bibliografía
En el área de actividad del ser humano se pueden aplicar todas las señales que son generadas o producidas de forma natural o inducida por medio de su debida manipulación, convirtiéndose así, en impulso del desarrollo de la tecnología, civilización, cultura y economía, lo que nos permite transformar, controlar y adecuar el medio en que habitamos, satisfaciendo sus, necesidades o aspiraciones individuales y colectivas, mediante la construcción de sistemas y procesos técnicos en donde se emplean los recursos inmersos en la sociedad que vivimos.
- PRESENTACIÓN
Se plantea la necesidad de una actividad metodológica que se apoye en tres principios:
1.La adquisición de los conocimientos técnicos y científicos necesarios para la comprensión y el desarrollo de la actividad tecnológica son imprescindibles.
2.Los conocimientos adquieren su lugar, si se aplica al análisis de los objetos tecnológicos existentes y a su posible manipulación y transformación, sin olvidar que este análisis se debe enmarcar trascendiendo al propio objeto e integrándolo en el ámbito tecnológico, social, cultural y económico de la época en que se produce.
3.La emulación del proceso de resolución de problemas, se convertirá en remate de este proceso de aprendizaje y adquiere su dimensión completa, apoyado en las dos actividades precedentes. La utilización del método de resolución de problemas, que es común a cualquier actividad tecnológica, aplica una serie lógica de pasos, que a partir de un requerimiento dado, conduce a la obtención de una solución que lo satisfaga.
Los avances tecnológicos se pueden considerar, como "la aplicación sistemática del conocimiento científico y organizado a las tareas prácticas", a la resolución de problemas específicos. La esencia de la tecnología, radica en la utilización de teorías, métodos científicos y su adaptación para conseguir determinados fines, utilizando las fuentes de la experiencia, inspiración he investigación, para dar así, aportaciones prácticas y específicas a las diversas áreas de conocimiento y desarrollo. Por lo tanto podemos entender, que el quehacer de la vida humana se articula en torno a un binomio conocimiento-acción, donde ambos deben tener un peso específico equivalente.
Una continua manipulación de materiales sin los conocimientos técnicos necesarios, nos puede conducir al mero activismo y, del mismo modo, un proceso de enseñanza-aprendizaje puramente académico carente de experimentación, manipulación y construcción, puede derivar hacia un enciclopedismo tecnológico inútil. Es claro, que en nuestra formación como ingenieros, se pretende la adquisición de destrezas concretas para el desempeño y creación de nuevos puestos de trabajo en búsqueda de soluciones en pro de toda la humanidad, siendo esta una tarea propia de nuestra formación profesional.
- JUSTIFICACIÓN
Si hablamos de antecedentes no podemos dirigirnos a ellos pues es obvio que el grado de dificultad va en relación a la experiencia personal, algo que claramente no hemos experimentado.
De manera personal, sabemos que en estos momentos, es un reto académico y personal el poder empezar a proporcionarnos nuestros propios medios, para cada uno de los procesos en pro de la adquisición, manipulación y aplicación de nuestros conocimientos, además es claro que el hombre por ser hombre, siempre busca la trascendencia de si mismo. Implicando en este proceso la aplicación de sus habilidades, por tal motivo nos encontramos retados a participar de esta buena causa.
- ANTECEDENTES
En nuestra formación como ingenieros se pretende la adquisición de destrezas concretas para el desempeño y creación de nuevos puestos de trabajo, independencia o en bien en búsqueda de soluciones en pro de toda la humanidad, siendo esto tarea que es propia de nuestra Formación Profesional.
Por tal motivo todo lo que podamos hacer, pensar y realizar, sea de conformidad y una motivación para seguir creciendo como estudiantes y principalmente como personas, siendo esta, la forma o la ley de la compensación a nuestros esfuerzos personales.
- MARCO FILOSOFICO
- OBJETIVO GENERAL
El objetivo del Proyecto Integrador es diseñar un sistema de adquisición de datos por medio de la tarjeta DAQ, y el envió de datos a través del puerto paralelo, de tal forma que podamos enviar y recibir información; manipulando así desde el computador ( PC ) a una tarjeta madre compuesta por unos LED indicadores y el pic16f84 el cual genera un tren de pulsos digitales, el cual varia según el valor binario enviado luego se hace la adquisición de la señal dándole el tratamiento adecuado por medio del software para luego ser presentado el resultado en la pantalla del computador en forma grafica y numérica.
Dando como resultado la información de tal forma que cualquier persona pueda interpretar fácilmente.
En este proceso se manejara el implementación de protocolos de comunicación, y la utilización de técnicas de programación e implementación con el programa de LABVIEW.
- Proporcionarnos los conocimientos básicos de procesado y programación.
- Utilizar técnicas de programación e implementación con LABVIEW y MPLAB.
- Implementar el uso adecuado de PIC con su respectiva programación.
- Aprender como manipular, programar y grabar los PICs.
- Conocer los conceptos básicos necesarios para usar el puerto paralelo.
- Conocer la interfaz paralelo del PC con registros E/S.
- Diseñar un protocolo adecuado a los requisitos de cada caso
MATERIALES
- 8 RESISTENCIAS DE 220
- 2 CONDENSADORES DE 27pF
- 8 LEDS VERDES
- 1 CABLE DE PUERTO PARALELO
- 1 CONECTOR MACHO
- 1 PIC16F84
- 1 VAQUELITA UNIVERSAL
- SOLDADURA
- ALAMBRE DE 8 LINEAS
- 1 CRISTAL DE CUARZO DE 4 MHZ
ADQUISICIÓN, ENVIO Y MANIPULACIÓN DE DATOS.
Las tarjetas DAQ son tarjetas insertables que permiten la entrada y salida de datos del computador a otros aparatos, donde se conectan censores y actuadores, para interactuar con el mundo real. Los datos que entran y salen pueden ser señales digitales o análogas, o simplemente conteos de ocurrencias digitales, tanto de entrada, como de salida.
LabVIEW ofrece acceso a los Driver desde las rutinas de configuración. Los Driver disponibles son para las tarjetas de la NI National Instruments, pero en el mercado se consiguen Driver para otras marcas como PC-LAB.
La configuración se hace a través del programa anexo a LabVIEW, NI-DAQ o bien por programaciones especiales para rutinas especificas como MATLAB.
MODO BASICO DE FUNCIONAMIENTO
Figura 1 HARDWARE.
COMUNICACIÓN POR PUERTO PARALELO
En un PC se utiliza como conector hembra de 25 pines.
La interconexión entre dos computadores a través del puerto paralelo posibilita un intercambio de información de una forma mas rápida que a través del puerto serie. Esto es debido a que se produce una transferencia de datos de byte en byte en lugar de ser de bit en bit (1 byte = 8 bits).
Existen dos métodos básicos para transmisión de datos en las computadoras modernas. En un esquema de transmisión de datos en serie un dispositivo envía datos a otro a razón de un bit a la vez a través de un cable. Por otro lado, en un esquema de transmisión de datos en paralelo un dispositivo envía datos a otro a una tasa de n número de bits a través de n número de cables a un tiempo. Sería fácil pensar, que un sistema en paralelo es n veces más rápido que un sistema en serie, sin embargo esto no se cumple, básicamente el impedimento principal es el tipo de cable que se utiliza para interconectar los equipos. Si bién un sistema de comunicación en paralelo puede utilizar cualquier número de cables para transmitir datos, la mayoría de los sistemas paralelos utilizan ocho líneas de datos para transmitir un byte a la vez, como en todo, existen excepciones, por ejemplo el estándar SCSI permite transferencia de datos en esquemas que van desde los ocho bits y hasta los treinta y dos bits en paralelo. En éste proyecto nos concentraremos en transferencias de ocho bits ya que ésta es la configuración del puerto paralelo de una PC.
Un típico sistema de comunicación en paralelo puede ser de una dirección (unidireccional) o de dos direcciones (bidireccional). El más simple mecanismo utilizado en un puerto paralelo de una PC es de tipo unidireccional y es el que analizaremos en primer lugar.
Distinguimos dos elementos: la parte transmisora y la parte receptora. La parte transmisora coloca la información en las líneas de datos e informa a la parte receptora que la información (los datos) están disponibles; entonces la parte receptora lee la información en las líneas de datos e informa a la parte transmisora que ha tomado la información (los datos).
Se puede Observar que ambas partes sincronizan su respectivo acceso a las líneas de datos, la parte receptora no leerá las líneas de datos hasta que la parte transmisora se lo indique, en tanto, que la parte transmisora no colocará nueva información en las líneas de datos hasta que la parte receptora remueva la información y le indique a la parte transmisora que ya ha tomado los datos; a ésta coordinación de operaciones se le llama acuerdo ó entendimiento (handshaking).
En éstos ámbitos tecnológicos es recomendable utilizar ciertas palabras en inglés que nos permiten irónicamente un mejor entendimiento de los conceptos tratados.
Para implementar el handshaking se requieren dos líneas adicionales. La línea de estroboscopio (en inglés strobe) es la que utiliza la parte transmisora para indicarle a la parte receptora la disponibilidad de información. La línea de admisión (acknowledge) es la que utiliza la parte receptora para indicarle a la parte transmisora que ha tomado la información (los datos) y que está lista para recibir más datos. El puerto paralelo provee de una tercera línea de handshaking llamada en inglés busy (ocupado), ésta la puede utilizar la parte receptora para indicarle a la parte transmisora que está ocupada y por lo tanto la parte transmisora no debe intentar colocar nueva información en las líneas de datos. Una típica sesión de transmisión de datos se parece a lo siguiente:
Parte transmisora:
Analiza la línea busy para ver si la parte receptora está ocupada. Si la línea busy está activa, la parte transmisora espera en un bucle hasta que la línea busy esté inactiva.
- La parte transmisora coloca la información en las líneas de datos.
- La parte transmisora activa la línea de strobe.
- La parte transmisora espera en un bucle hasta que la línea acknowledge está activa.
- La parte transmisora inactiva la línea de strobe.
- La parte transmisora espera en un bucle hasta que la línea acknowledge esté inactiva.
- La parte transmisora repite los pasos anteriores por cada byte a ser transmitido.
Parte receptora:
- La parte receptora inactiva la línea busy (asumiendo que está lista para recibir información).
- La parte receptora espera en un bucle hasta que la línea strobe esté activa.
- La parte receptora lee la información de las líneas de datos (y si es necesario, procesa los datos).
- La parte receptora activa la línea acknowledge.
- La parte receptora espera en un bucle hasta que esté inactiva la línea de strobe.
- La parte receptora inactiva la línea acknowledge.
- La parte receptora repite los pasos anteriores por cada byte que debe recibir.
Se debe ser muy cuidadoso al seguir éstos pasos, tanto la parte transmisora como la receptora coordinan sus acciones de tal manera, que la parte transmisora no intentará colocar varios bytes en las líneas de datos, en tanto que la parte receptora no debe leer más datos que los que le envíe la parte transmisora, un byte a la vez.
El puerto paralelo de una típica PC utiliza un conector hembra de tipo D de 25 patitas (DB-25 S), éste es el caso más común, sin embargo es conveniente mencionar los tres tipos de conectores definidos por el estándar IEEE 1284, el primero, llamado 1284 tipo A es un conector hembra de 25 patitas de tipo D, es decir, el que mencionamos al principio. El orden de las patitas del conector es éste:
CONECTOR DEL PUERTO PARALELO
Para ver el gráfico seleccione la opción "Descargar" del menú superior
Patita | E/S | Polaridad activa | Descripción |
1 | Salida | 0 | Strobe |
2 ~ 9 | Salida | – | Líneas de datos (bit 0/patita 2, bit 7/patita 9) |
10 | Entrada | 0 | Línea acknowledge (activa cuando el sistema remoto toma datos) |
11 | Entrada | 0 | Línea busy (si está activa, el sistema remoto no acepta datos) |
12 | Entrada | 1 | Línea Falta de papel (si está activa, falta papel en la impresora) |
13 | Entrada | 1 | Línea Select (si está activa, la impresora se ha seleccionado) |
14 | Salida | 0 | Línea Autofeed (si está activa, la impresora inserta una nueva línea por cada retorno de carro) |
15 | Entrada | 0 | Línea Error (si está activa, hay un error en la impresora) |
16 | Salida | 0 | Línea Init (Si se mantiene activa por al menos 50 micro-segundos, ésta señal autoinicializa la impresora) |
17 | Salida | 0 | Línea Select input (Cuando está inactiva, obliga a la impresora a salir de línea) |
18 ~ 25 | – | – | Tierra eléctrica |
Tabla 1: Configuración del puerto paralelo estándar
El puerto paralelo tiene 12 líneas de salida (8 líneas de datos, strobe, Autofeed, Init, y Select input) y 5 de entrada (acknowledge, busy, falta de papel, Select y error). El estándar IEEE 1284 define cinco modos de operación:
- Modo compatible
- Modo nibble
- Modo byte
- Modo EPP, puerto paralelo ampliado
- Modo ECP, puerto de capacidad extendida
Una PC soporta hasta tres puertos paralelo separados, por tanto puede haber hasta tres juegos de registros en un sistema en un momento dado. Existen tres direcciones base para el puerto paralelo asociadas con tres posibles puertos paralelo: 0x3BCh, 0x378h y 0x278h, nos referimos a éstas como las direcciones base para el puerto LPT1, LPT2 y LPT3, respectivamente. El registro de datos se localiza siempre en la dirección base de un puerto paralelo, el registro de estado aparece en la dirección base + 1, y el registro de control aparece en la dirección base + 2. Por ejemplo, para un puerto LPT2 localizado en 0x378h, ésta es la dirección del registro de datos, al registro de estado le corresponde la dirección 0x379h y su respectivo registro de control está en la dirección 0x37Ah. Cuando la PC se enciende el BIOS ejecuta una rutina para determinar el número de puertos presentes en el sistema asignando la etiqueta LPT1 al primer puerto localizado, si existen más puertos entonces se asignarán consecutivamente las etiquetas LPT2 y LPT3 de acuerdo a la siguiente tabla:
Para ver el gráfico seleccione la opción "Descargar" del menú superior
CONECTOR DEL PUERTO PARALELO
El PIC16F84 es un microcontrolador, una especie de "ordenador en miniatura" (con muchas comillas) que podremos programar. En su interior posee un microprocesador, una memoria RAM (volatil) donde guardaremos las variables, una memoria EEPROM (no volatil) donde guardaremos nuestro programa, un Timer o contador que nos facilitará algunas tareas, y alguna cosilla mas…
Algunas características mas representativas son:
Opera a una frecuencia máxima de 10 MHz
1Kbyte de memoria EEPROM para nuestro programa
68 bytes (de 8 bits) de memoria RAM
64 bytes de memoria EEPROM para datos (no vátiles)
Solo 35 instrucciones
13 pines de entrada/salida (un puerto de 8 bits + otro de 5 bits)
Timer/contador de 8 bits
PIC16F84
Para ver el gráfico seleccione la opción "Descargar" del menú superior
DIAGRAMA DE CONEXIÓN DEL PIC16F84
Para ver el gráfico seleccione la opción "Descargar" del menú superior
Es claro que en el medio que vivimos, la información es uno de los pilares fundamentales en el desempeño de nuestras vidas, y también que, en el Area de ingeniería la información es una de las claves del éxito de nuestras invenciones.
Pero esta información no tendría significado ni aplicación si no pudiéramos controlarla y manipularla. Por tal motivo el software nos brinda una gran herramienta, a la hora de trajinar con dicha información.
Por tal motivo he aquí el enfoque a la creación de nuestros propios programas, basados en LabVIEW y MPLAB.
LabVIEW que emplearemos en el proceso de manipulación de la información y visualización de la misma. Con MPLAB será para dar instrucciones y control a los periféricos conectados a la tarjeta madre.
LABVIEW
LabVIEW es un ambiente de desarrollo de programas, como el moderno C o BASIC y el Labwindows / CVI de la empresa National Instruments. Sin embargo, LabVIEW es diferente de esas aplicaciones en un aspecto importante. Los demás sistemas de programación utilizan lenguajes basados en textos para crear líneas de código, mientras que LabVIEW usa un lenguaje de programación gráfico, denominado G, para crear diagramas en forma de bloques.
LabVIEW ,como los programas C o BASIC, es un sistema de programación de propósito general con librerías extendidas de funciones para cualquier tarea de programación. LabVIEW incluye librerías para adquisición de datos, GPIB (Bus de Interfase para Propósitos Generales) y control de instrumentos seriales, análisis, presentación y almacenamiento de datos. LabVIEW también incluye herramientas convencionales de programación, de tal forma que se puedan colocar puntos de interrupción, animar la ejecución y ver como pasan los datos a través del programa lo que hace de él un programa fácil de depurar y manejar.
MPLAB
El MPLAB es un entorno de desarrollo integrado que le permite escribir y codificar los microcontroladores PIC de Microchip para ejecutarlos. El MPLAB incluye un editor de texto, funciones para el manejo de proyectos, un simulador interno y una variedad de herramientas que lo ayudarán a mantener y ejecutar su aplicación. También provee una interfase de usuario para todos los productos con lenguaje Microchip, programadores de dispositivos, sistemas emuladores y herramientas de tercer orden
PROGRAMAS RELIZADOS
CODIGO DE PROGRAMACIÓN DEL PIC16F84 (ASM)
MPLAB
;*********************************************
;**********PROYECTO INTEGRADOR***********
;***************USTA***2004**************
;*********************************************
LIST P=16F84A
RADIX HEX
W EQU 0
F EQU 1
ESTADO EQU 0X03
PUERTAB EQU 0X06
PUERTAA EQU 0X05
TMR0 EQU 0X01
CONT2 EQU 0X0D
CONT EQU 0X0C
ORG 0
GOTO INICIO
INICIO MOVLW 0X00
MOVWF CONT
MOVWF CONT2
BSF ESTADO,5
MOVLW 0X00
MOVWF PUERTAA
MOVLW 0XFF
MOVWF PUERTAB
BCF ESTADO,5
;***************************
;*LEER LA ENTRADA DEL PUERTO Y CAMBIA EL VALOR DEL CONTADOR
LEER MOVF PUERTAB,W
MOVWF CONT
MOVLW d'0'
MOVWF PUERTAA
;****************************
TEMPOR INCF CONT2,1
MOVF CONT,0
XORWF CONT2,0
BTFSS ESTADO,2
GOTO TEMPOR
MOVLW d'1'
MOVWF PUERTAA
CLRF CONT2
CLRF TMR0
GOTO LEER
END
;******************************
LabVIEW
CODIGO DE PROGRAMACIÓN EN LABVIEW
Para ver el gráfico seleccione la opción "Descargar" del menú superior
PANEL DE CONTROL EN LABVIEW
Para ver el gráfico seleccione la opción "Descargar" del menú superior
Como se puede observar en el dibujo (figura 1) del prediseño se ha creado y implementado una tarjeta externa a la cual le llamamos tarjeta madre; la cual manejara la interfase con el computador, esta contara o estará regida por el PIC16F84 este se encarga de recibir la transmisión de datos de la PC y generando una señal de onda cuadrada y de frecuencia variable este rango esta entre 66.6Hz como frecuencia minina y 47.62 KHz como frecuencia maxima.
Como material de apoyo logramos contar con la información que podemos obtener en la Internet y la ayuda con experiencia por parte de los profesores y por tanto con nuestra propia idiosincrasia para resolver los diversos problemas que se puedan presentar.
Pensamos o creemos darle mas importancia al puerto paralelo, pues según lo que hemos consultado, podemos manejar dispositivos que son diferentes a un computador, como manejo de motores, que a gran escala podría ser una máquina, lo cual es mas aplicable a nuestra carrera y a nuestras expectativas.
Sabemos también, que es mas aplicable y sutil el manejo de PIC o microcontroladores, pues facilita la aplicación y manipulación a diversos proyectos.
el puerto paralelo es una interfase en donde podemos conectar dispositivos que soportan transmisión y son capaces de enviar / recibir múltiples señales al tiempo.
Es claro que en el medio que vivimos, la información es uno de los pilares fundamentales en el desempeño de nuestras vidas, y también que, en el área de ingeniería, la información es una de las claves del éxito de nuestras invenciones.
Pero esta información no tendría significado ni aplicación si no pudiéramos controlarla y manipularla. Por tal motivo el software nos brinda una gran herramienta, a la hora de actuar con dicha información. Por tal motivo he aquí el enfoque a la creación de nuestros propios programas, basados en MPLAB y LabVIEW. que emplearemos en el proceso de manipulación de la información y visualización de la misma.
- Tratamiento digital de la señal (Proakis Manolakis).
- LAB VIEW
- Micro procesadores PIC (José María Angulo).
- Programación en lenguaje ensamblador para PC y compatibles.
- www.microchip.com
- www.tecnoeso.com
- www.geocities.com/charlytospage
- http://www.modelo.edu.mx/univ/virtech/circuito/paralelo.htm#superior#superior
- http://www.dinero.com.ve/plandenegocios2.html
- Biblioteca de Consulta Microsoft Encarta 2003.
RIGOBERTO HERNANDO OLARTE
ING Mecatronico.
BUCARAMANGA – SANTANDER – COLOMBIA
KEILA ALVAREZ BADILLO
REMBERTO PEREZ
COVERTURA DE AREAS:
ELECTRÓNICA DIGITAL II
INSTRUMENTACIÓN
UNIVERSIDAD SANTO TOMAS
FACULTAD DE INGENIERIA MECATRONICA
PROYECTO INTEGRADOR
MAYO 21 DE 2004