- 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 | Descripción |
1 | Salida | 0 | Strobe |
2 ~ 9 | Salida | – | Líneas de datos |
10 | Entrada | 0 | Línea acknowledge |
11 | Entrada | 0 | Línea busy |
12 | Entrada | 1 | Línea Falta de papel |
13 | Entrada | 1 | Línea Select |
14 | Salida | 0 | Línea Autofeed |
15 | Entrada | 0 | Línea Error |
16 | Salida | 0 | Línea Init |
17 | Salida | 0 | Línea Select input |
18 ~ 25 | – | – | Tierra |
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