universidad tecnológica de querétaro

Anuncio
Universidad Tecnologica
de Queretaro
Digitally signed by Universidad Tecnologica de Queretaro
DN: cn=Universidad Tecnologica de Queretaro, c=MX,
o=Universidad Tecnologica de Queretaro, ou=UTEQ,
[email protected]
Date: 2007.05.28 17:17:10 -06'00'
UNIVERSIDAD TECNOLÓGICA DE QUERÉTARO
Voluntad · Conocimiento · Servicio
CONTROL Y AUTOMATIZACIÓN DE UN
REACTOR PARA LA GENERACIÓN DE
NANOESTRUCTURAS.
CENTRO DE FÍSICA APLICADA Y TECNOLOGÍA
AVANZADA.
Reporte de Estadía para obtener el
Título de Técnico Superior Universitario
en Electrónica y Automatización
JOSÉ SERGIO ORDUÑA DÍAZ.
Santiago de Querétaro.
Octubre de 2006
1
UNIVERSIDAD TECNOLÓGICA DE QUERÉTARO
Voluntad · Conocimiento · Servicio
CONTROL Y AUTOMATIZACIÓN DE UN REACTOR
PARA LA GENERACIÓN DE
NANOESTRUCTURAS.
CENTRO DE FÍSICA APLICADA Y TECNOLOGÍA
AVANZADA.
Reporte de Estadía para obtener el
Título de Técnico Superior Universitario
en Electrónica y Automatización
ASESOR DE LA EMPRESA
DR. RODRIGO RAFAEL VELAZQUEZ CASTILLO.
ASESOR DE LA ESCUELA
ING. MANUEL MELÉNDEZ ROMERO
ALUMNO:
JOSÉ SERGIO ORDUÑA DÍAZ.
2
3
Dedicatoria
A las personas que son más fuertes de ser y corazón de todo el universo.
A quienes son suaves como un cántico angelical y tiernos como la brisa de la mañana.
A quienes con toda pasión, coraje, entrega y valentía cuidaron lo que soy.
A quienes son el motor principal de todo lo que seré.
A quienes supieron ser un pilar para apoyarme en momentos difíciles.
A ustedes: Mamá y Papá
4
Agradecimientos
9 A Dios por haberme dado la oportunidad, calma, paciencia, el temple y la fuerza
para haber terminado este reto.
9 Le agradezco a mis padres y hermanos, que tanto me han apoyado a lo largo de
todo este proyecto.
9 Y mi más profundo, eterno y sincero agradecimiento, por su participación en este
proyecto:
9 A mis enemigos, por ser la fuerza que me impulsa día con día para tratar de
llegar más lejos que ellos.
9 A mis amigos, quienes incondicionalmente me apoyaron durante este trayecto
de mi vida.
9 A mi profesor, amigo y asesor Ing. Manuel Meléndez Romero, quien me brindó
su apoyo sobre cualquier circunstancia, por sus ideas acerca de cómo realizar
este proyecto, por su paciencia y confianza invertida en mí.
5
9 A mis profesores de la universidad, por estar al pendiente de sus alumnos, por su
dedicación y amistad. Y por los conocimientos adquiridos que son las
herramientas primordiales en mi preparación.
9 A mi asesor de empresa Dr. Rodrigo Rafael Velásquez Castillo, por haberme
facilitado muchas herramientas de trabajo, por sus asesorías de química, por
haberme orientado sobre la construcción del reactor y sobre todo, por su amistad.
9 A mi amigo y profesor Ing. Domingo Rangel, quien compartió la visión de este
trabajo; gracias por darme la oportunidad y el apoyo brindado en asesorías y
durante la elaboración de este proyecto.
9 Al Sr. y amigo
Edgar Méndez, por sus orientaciones técnicas,
su apoyo
incondicional y desinteresado en asesorías acerca de la elaboración de circuitos
impresos y construcción del sistema, y sobre todo, por su amistad.
9 Y cómo olvidar el grupo: “Los Dones”, integrado por mis amigos: “Naum”,
“Chica”, “Chiva”, “Escudero”, “Dica”, “Pumba”, “Eli”, “Monse”, etc.
9 A mi amiguita: Diana, por ser mi compañera inseparable durante los 5
cuatrimestres de arduo trabajo, por apoyarme en momentos difíciles en CFATA,
dentro y fuera de la UTEQ.
6
9 Al Charly, y Juan Carlos Mejía, por su ayuda e ideas que favorecieron el
proyecto, por su emotividad, y amistad.
9 Gracias, UTEQ
Y
Qué….. Qué….. Qué….. Qué….. Qué….. Que…..
“QUERÉTARO”
7
ÍNDICE
DEDICATORIA
AGRADECIMIENTOS
ÍNDICE
INTRODUCCIÓN
CAPÍTULO I. ANTECEDENTES GENERALES DE LA EMPRESA
1.1
Antecedentes de la empresa ……………………………………………………..15
1.1.1 Áreas de investigación ………………………………………………….17
1.1.2 Área académica ………………………………………………………....17
1.2
Misión ………………………………………………………………………….18
1.3
Visión …………………………………………………………………………..19
1.4
Política de calidad del CFATA …………………………………………………19
1.5
Organización ……………………………………………………………………20
1.6
Campo de desarrollo ……………………………………………………………21
1.7
Proceso general de operación …………………………………………………..22
CAPÍTULO II. EL PROYECTO
2.1
Antecedentes ……………………………………………………………………25
2.2
Definición del proyecto ………………………………………………………...25
2.3
Objetivo ………………………………………………………………………...26
8
2.4
Alcance ……………………………………………………………………….27
2.5
Plan de trabajo ………………………………………………………………..27
2.5.1 Separación de actividades …………………………………………….27
2.5.2 Secuencia de actividades ……………………………………………..28
2.5.3 Asignación de tiempos ……………………………………………….29
2.5.4 Gráfica de Gantt ………………………………………………………30
CAPÍTULO III. MARCO TEÓRICO
3.1
Representaciones numéricas ……………………………………………………33
3.1.1 Ventajas y desventajas de las técnicas digitales ………………………..35
3.2
¿Qué es un “Microcontrolador” (µC)? …………………………………………36
3.2.1 Aplicaciones …………………………………………………………….38
3.2.2 Diferencias entre Microprocesadores (µP)
y Microcontroladores (µC) ……………………………………………..39
3.2.3 Arquitectura …………………………………………………………….40
3.3
Transductores de temperatura …………………………………………………..41
3.3.1 Tipos de transductores de temperatura …………………………………42
3.3.2 Termistores ……………………………………………………………..42
3.3.3 Sensores de IC …………………………………………………………..43
3.3.4 Termopares ……………………………………………………………..44
3.3.4.1
Efecto Seebeck ……………………………………………..45
3.3.4.2
Tipos de termopar ………………………………………….46
9
3.4
Sistemas de control ……………………………………………………………..47
3.4.1 Analogías de primer orden …………………………………………...…47
3.5
Controladores ………………………………….……………………………..…49
3.5.1 Control proporcional ……………………………………………………49
3.5.2 Control integral …………………………………………………………51
3.5.3 Control derivativo ……………………………………………………....52
3.5.4 Control proporcional integral (PI) ……………………………………...53
3.55
Control P+I+D (PID) ………………………………………………...…54
CAPÍTULO IV. DESARROLLO DEL PROYECTO
4.1
Sistema de lazo cerrado ……………………………………………………….58
4.1.1 Diagrama de flujo de programa del µC ………………………………...59
4.2
El microcontrolador (µC) ………………………………………………………60
4.2.1 Programa de inicialización del µC ……………………………………..62
4.3
El termopar ……………………………………………………………………..63
4.3.1 Acondicionamiento de señal ……………………………………………65
4.3.2 Digitalización de la señal del termopar …………………………………67
4.3.3 Programa de conversión del µC ………………………………………...68
4.4
Interfaz hacia la PC ……………………………………………………………..74
4.4.1 MAX-232 ……………………………………………………………….75
4.5
Transmisión de datos vía RS-232 ……………………………………………....77
4.6
El LCD …………………………………………………………………………81
10
4.7
Adquisición de datos y control PID, desde LabVIEW ………………………....84
4.7.1 Diagrama de flujo para realizar el software en LabVIEW …………..…85
4.7.2 Configuración y lectura de puerto ………………………………………86
4.7.3 Graficar los valores recibidos …………………………………………..88
4.7.4 Control PID …………………………………………………………..…89
4.7.5 Conversión del error del PID, para ser enviado por RS-232 …………...91
4.5
Cruce por cero ………………………………………………………………….92
CAPÍTULO V. EVALUACIÓN ECONÓMICA Y RESULTADOS OBTENIDOS
5.1
Evaluación económica ………………………………………………………….97
5.2
Resultados obtenidos …………………………………………………………...99
CONCLUSIONES .......................................................................................................102
BIBLIOGRAFÍA …………………………………………………………………….105
ANEXO I
ANEXO II
11
INTRODUCCIÓN
12
La nanotenología es un conjunto de técnicas que se utilizan para manipular la materia a
escala de átomos y moléculas, además de ser una área de la ciencia muy prometedora
tecnológicamente, ya que se han realizado estudios en diferentes campos de las ciencias;
cabe destacar los avances en el área medica donde es posible detectar tejidos
cancerígenos de una edad muy temprana y ahora con métodos electroscópicos y con la
ayuda de nanopartículas de oro, poder dar el tratamiento adecuado para erradicar esté
tipo de células.
El campo de la nanotecnología ha tenido un auge muy importante dentro de las
investigaciones en la innovación de materiales, pero ésta tarea es difícil, ya que los
métodos para llegar a realizar éste tipo de tecnología son muy complejos, por lo que se
requiere de personal experto y altamente capacitado para realizar estas tareas.
Actualmente existen sistemas de control y reactores que ya se encuentran
instrumentados, pero su costo es muy elevado, por lo que en éste trabajo se presenta el
desarrollo de un reactor automatizado para la síntesis de nanoestructuras a nivel
laboratorio.
13
CAPÍTULO I
ANTECEDENTES
GENERALES DE LA
EMPRESA
14
1.1
Antecedentes de la empresa
El Centro de Física Aplicada y Tecnología Avanzada (CFATA) fue creado en 1991, en
las instalaciones del Instituto de Física de la Universidad Nacional Autónoma de México
(UNAM). En
1998, después de un exitoso desarrollo y parte del proceso de
descentralización de la UNAM, el departamento se trasladó al campus Juriquilla, donde
el 1 de abril del 2002 se transforma en una entidad independiente al aprobar el Consejo
Universitario su conversión. Se establece así el Centro de Física Aplicada y Tecnología
Avanzada (CFATA, figura 1.1), con la idea de reunir los esfuerzos que diversas
disciplinas realizan en el campo de las aplicaciones de la física, para impulsar el
conocimiento científico y el desarrollo tecnológico, y enfocarlos a la solución de los
problemas de mayor importancia para la sociedad.
Fig. 1.1 Centro de Física Aplicada y Tecnologías Avanzadas Campus Juriquilla
15
CFATA se ubica en un complejo científico arquitectónico de 600 metros cuadrados. Su
personal académico está integrado por 11 investigadores y 10 técnicos académicos de
tiempo completo, su infraestructura principal cuenta con 12 laboratorios de
investigación, un área de cómputo de gran capacidad, una biblioteca especializada, un
taller mecánico, 2 salas para estudiantes, 2 salas audiovisuales y áreas administrativas.
Cuenta con una dependencia de apoyo a las actividades académicas.
Los objetivos específicos del Centro de Física Aplicada y Tecnología Avanzadas son:
1. Realizar investigaciones científicas básicas, aplicadas y aplicables del más alto
nivel, dentro del campo de la ciencia física, manteniendo un alto nivel de
publicación en la revista de mayor prestigio.
2. Contribuir con la formación de recursos humanos de alto nivel de física aplicada
mediante la impartición de cursos y la dirección de tesis en licenciatura y
posgrado, tanto dentro como fuera de los programas de la UNAM, enfatizado la
interacción académica con instituciones regionales.
3. Establecer lazos estrechos de colaboración con la industria nacional, para
favorecer la relación académica-industrial, a través de proyecto conjunto de
desarrollo tecnológico, transferencia de la tecnología desarrollada en el Centro,
generación de microempresas y consultoría.
16
4. Participar en actividades para el desarrollo científico y cultural de la región
mediante actividades de divulgación científica, cursos de actualización y
vocacionales, así como también de exposiciones y visitas guiadas.
1.1.1
Áreas de investigación
1. Ingeniería molecular de materiales, orientadas principalmente al desarrollo de
materiales cerámicos, polimétricos y compositos, para diseñar recubrimientos,
bio-materiales, fibras ópticas, cementos y concretos.
2. Física biomédica, enfocada al estudio teórico y aplicaciones tecnológicas de las
ondas de choque, para la conservación de alimentos, desinfección por ondas de
choque, litro-tripsia extracorporal y ortopedia.
3. Simulación de sistemas mediante el desarrollo de modelos para presidir las
propiedades físicas y químicas de nuevos materiales, en mecanismos
fundamentales de agregación, en la estructura de los materiales complejos, en las
propiedades de transporte de sistema auto similares e interfaces en metales.
1.1.2
Área académica
Prosgrado: la formación del estudiante en las áreas científica y tecnológica es una
actividad fundamental del personal académico de CFATA. Esta actividad se realiza
17
principalmente en los programas de posgrado en ciencias Químicas, en la Ingeniería,
en las Ciencias Físicas y en las Ciencias en Ingeniería de Materiales de la UNAM,
así como en el programa de Doctorado en Ingeniería de la UAQ.
1
1.2
Misión
La misión del centro de Física Aplicada y Tecnología Avanzada es “realizar
investigaciones aplicables dentro de las ciencias físicas con un enfoque netamente
interdisciplinario”. Por investigaciones aplicadas se entiende aquella que está dirigida al
uso de áreas de competencia del centro; mientras que la investigación aplicable es
aquella en que con realizó con el objetivo, a corto, mediano o largo plazo, de crear
nuevas oportunidades de aplicación tecnologías del conocimiento científico, sin que se
medie necesariamente un problema especifico que resolver. El enfoque ínter
disciplinario confiere también al Centro una personalidad única, ya que permite el
concurso de diversas especialidades donde las ciencias físicas tiene una aplicación
directa e indirecta.
Contribuir activamente al enriquecimiento de la ciencia y tecnologías nacionales e
internacionales en el ámbito de la Universidad Nacional Autónoma de México.
Realizar investigaciones básica y aplicada así como la formación de recursos humanos
en los niveles de licenciatura y posgrado.
1 La misión, visión, y política de calidad, se han transcrito tal y como obran en los documentos y sistema de calidad de CFATA.
18
Favorecer la vinculación de nuestras actividades científicas y tecnológicas con la
industria y la sociedad.
1.3
Visión
Desarrollar
investigaciones
que
sean
útiles
y
transcendentes,
merezcan
el
reconocimiento nacional e internacional.
Publicar los logros en revistas de alto impacto y contar con laboratorios y equipos
especializados de alta tecnología.
Ser el polo por excelencia en el posgrado en ciencias de materiales, contando con un
programa de formación y capacitación de recursos humanos de alta calidad.
1.4
Política de calidad del CFATA
Es la misma política de calidad del centro física aplicada y tecnología avanzada de la
UNAM.
Realizar actividades de investigación básica y aplicada, de docencia y difusión de los
conocimientos científicos con la participación activa de su personal y la mejora continua
de sus procesos.
19
1.5
Organización
El Centro de Física Aplicada y Tecnologías Avanzadas se organiza por secciones, en
donde cada área tiene funciones específicas; de esta manera el personal se enfoca
exclusivamente a tareas que pertenecen a sus mismas secciones.
Jefe del departamento.
Sección académica.
Lab. de polímeros.
Sección de vinculación.
Proyectos con la
industria.
Lab. choques débiles.
Caracterización óptica.
Intercambio
académico.
Microscopia electrónica.
Estudiantes
asociados.
Lab. de atm. controlada.
Lab. de fibras ópticas.
Servicios administrativos.
Personal de
compras e
inventario.
Compatibilidad y
presupuesto.
de muestras
Biblioteca.
Taller.
Simulación y sistemas.
Lab. de rayos X
Intendencia y
vigilancia.
Lab. de dispersión de luz
Lab. de inst. y desarrollo.
Lab. de prep. de muestras
Lab. de pruebas mecánicas.
Fig. 1.2 Organigrama del departamento de CFATA – Campus Juriquilla.
20
•
Sección académica: Esta sección se encarga realizar investigaciones básicas y
aplicadas, y como dar apoyo a la formación de recursos humanos en los niveles
de licenciatura y prosgrado.
•
Sección de vinculación: Cumple las actividades de comunicar al centro con la
industria en cuestión de proyecto o investigaciones, realizar acciones de
intercambio de estudiantes.
•
Sección de servicios administrativos: Autoriza los presupuestos de los proyecto
en la adquisición de equipo para las investigaciones.
1.6
Campo de desarrollo
El Centro de Física Aplicada y Tecnologías Avanzadas es un centro de investigación
básica y de desarrollo tecnológico, enfocado a dar soluciones a problemas de científicos,
tecnológicos e impartir cátedras de posgrados. Cuenta con personal altamente capacitado
y tiene una alta productividad, que se refleja en altos índices de publicaciones en revistas
de reconocido prestigio internacional.
El Centro tiene entre sus principales directrices la de impulsar el desarrollo nacional y
regional, y la de contribuir a la generación de conocimiento con reconocimiento
internacional.
21
1.7
Proceso general de operación
Uno de los objetivos del Centro de Investigación es colaborar con la industria de la
región en la solución de problemáticas actuales de innovación tecnológica.
Por ello, a través de su sección de vinculación, pone a disposición de los industriales sus
capacidades institucionales de investigación científica y tecnológica, así como de
servicios de apoyo, en las áreas de investigación del departamento mediante los
siguientes esquemas:
¾ Asesoría, consultoría o cursos de capacitación.
¾ Convenios de colaboración conjunta con empresas de
la región para el
desarrollo de proyectos de investigación tecnológica.
¾ Desarrollo de proyectos de investigación tecnológica para la industria.
Otra de las actividades es la divulgación del departamento, que contribuye al
intercambio académico entre la UNAM y las instituciones de educación superior del
Estado, mediante convenios académicos para:
22
¾ Dirección de tesis de licenciatura, maestría y doctorado.
¾ Impartición de seminarios, cursos y talleres.
¾ Estancias profesionales.
¾ Servicio social.
¾ Visitas guiadas.
La formación de estudiantes de las áreas científica y tecnológica es una actividad
fundamental para los académicos del CFATA, La mayoría son tutores de los siguientes
programas de posgrado:
UNAM
¾ Posgrado en ciencias químicas.
¾ Posgrado en ingeniería.
¾ Posgrado en ciencias físicas.
¾ Posgrado en ciencia e ingeniería de materiales.
UAQ
¾ Doctorado en ingeniería.
23
CAPÍTULO II
EL
PROYECTO
24
2.1
Antecedentes
Uno de los mayores compromisos del CFATA, es ir a la par con otros Centros de
Investigaciones, tales como: CENAM, CIDESI, etc., por ello busca implementar nuevos
instrumentos con tecnologías cada vez más estructuradas y capaces de realizar funciones
muy similares en precisión y calidad, comparados con los instrumentos con tecnologías
extranjeras.
Por tal razón surge la necesidad de implementar un instrumento de control complejo que
sea capaz de realizar el monitoreo y control en todo momento de las sustancias químicas
dentro del reactor, para que las variables: temperatura y presión, estén dentro de los
intervalos establecidos, para que al final de todo el proceso tanto químico como de
control, el resultado sea favorable conforme a lo planeado.
2.2
Definición del proyecto
“CONTROL Y AUTOMATIZACIÓN DE UN REACTOR PARA LA GENERACIÓN
DE NANOESTRUCTURAS”.
El nombre del proyecto trata de describir lo que se pretende realizar, las palabras:
“Control y Automatización”, quizás suelen ser utilizadas cotidianamente, pero esto en
realidad va más allá de ser simples palabras, ya que son en sustento principal de todo el
25
sistema; el “control” es el cómo se mantendrá la temperatura establecida dentro del
intervalo definido;
“automatización” cuidará que el proceso se realice de manera
independiente, que no necesite un operador y además, que sea confiable.
2.3
Objetivo
Dentro de este proyecto se pretende construir un instrumento que sea capaz de realizar
tres principales actividades:
¾ Control, utilizando una técnica de disparos sincronizados y con circuito cruce de
cero.
¾ Adquisición, utilizando un Microcontrolador para obtener las señales de campo y
trasmitirlas hacia el puerto SR-232 (Serial), y por un LCD se despliegue la
temperatura y estado del proceso.
¾ Monitoreo, lo adquirido se monitoreará por LabView donde se graficarán los
datos, y se controlara el tiempo que dure el proceso.
¾ Se pretende innovar en el campo de los materiales, la implementación de
nanoestructuras con fines médicos.
26
2.4
Alcance
Los estudios sobre las nanoestructuras, son la razón por la cual se implementa toda una
instrumentación en reactor, ya que con éstas siendo enfocadas a la medicina podrán
tener datos más exactos de los tejidos cancerígenos dentro de una persona, estas
nanoestructuras, en especial de oro, se adhieren con mucha más facilidad y rapidez a
este tipo de tejidos, que mediante técnicas electroscópicas, resulta mas precisa, rápida y
contundente la detección temprana o a un muy buen tiempo de ésta enfermedad que
siempre ha sido un mal para toda la sociedad.
2.5
Plan de trabajo
A continuación, se catalogarán y detallarán las diversas actividades del proyecto.
2.5.1 Separación de actividades
¾ Acondicionar el reactor para que pueda funcionar correctamente.
¾ Investigar sobre las nanoestructuras.
¾ Investigar sobre los sensores de temperatura y presión así como seleccionar uno.
¾ Investigar precios de estos sensores y proveedores.
27
¾ Investigar cómo hacer control para poder manipular
la temperatura y el
hardware necesario.
¾ Investigar cómo se realiza la transmisión serial.
¾ Investigar cómo funciona la recepción de los datos en LabView.
2.5.2 Secuencia de actividades
1. Investigar un eficiente modelo del sistema
2. Investigar literatura de los sensores a utilizar y de otros componentes
3. Adquirir materiales electrónicos, termopar y componentes del sistema
4. Desarrollar el programa en un µC, para visualizar la temperatura en un LCD
5. Desarrollar el programa de un µC, para realizar la transmisión de datos, vía RS-232
6. Desarrollo de software el LabVIEW (TX, RX y control)
7. Desarrollar cruce por cero del control de temperatura del reactor
8. Diseñar planos, para construir una cámara donde se colocará el reactor
9. Calibración y pruebas del reactor
10. Presentar el instrumento funcionando correctamente
28
2.5.3
Actividad
Asignación de tiempos
Tareas programadas
Duración
1
Investigar un eficiente modelo del sistema
5 días
2
Investigar literatura de los sensores a utilizar y de otros componentes
5 días
3
Adquirir materiales electrónicos, termopar y componentes del sistema
5 días
4
Desarrollar el programa en un uC, para visualizar la temperatura en un LCD
15 días
5
Desarrollar el programa de un uC, para realizar la transmisión de datos, vía RS-232
15 días
6
Desarrollo de software el LabVIEW (TX, RX y control)
15 días
7
Desarrollar cruce por ""0"" del control de temperatura del reactor
5 días
8
Diseñar planos, para construir una cámara donde se colocará el reactor
5 días
9
Calibración y pruebas del reactor
21 días
10
Presentar el instrumento funcionando correctamente
5 días
29
2.5.4
Actividad
1
2
3
4
5
6
7
8
9
10
Actividad
1
2
3
4
5
6
7
8
9
10
Actividad
1
2
3
4
5
6
7
8
9
10
Duración
6
ma mi
ju
vi
07 may '06
sá do lu ma mi
ju
Gráfica de Gantt
vi
14 may '06
sá do lu ma mi
ju
vi
21 may '06
sá do lu ma mi
ju
vi
28 may '06
sá do lu ma mi
ju
vi
5 días
5 días
5 días
15 días
15 días
15 días
5 días
5 días
21 días
5 días
Duración
28 may '06
do lu ma mi
ju
vi
04 jun '06
sá do lu ma mi
ju
vi
11 jun '06
sá do lu ma mi
ju
vi
18 jun '06
sá do lu ma mi
ju
vi
25 jun '06
sá do lu ma mi
25 jun '06
do lu ma mi
ju
vi
02 jul '06
sá do lu ma mi
ju
vi
09 jul '06
sá do lu ma mi
ju
vi
16 jul '06
sá do lu ma mi
ju
vi
23 jul '06
sá do lu ma mi
5 días
5 días
5 días
15 días
15 días
15 días
5 días
5 días
21 días
5 días
Duración
5 días
5 días
5 días
15 días
15 días
15 días
5 días
5 días
21 días
5 días
30
Actividad
1
2
3
4
5
6
7
8
9
10
Actividad
1
2
3
4
5
6
7
8
9
10
Duración
23 jul '06
do lu ma mi
ju
vi
30 jul '06
sá do lu ma mi
ju
vi
06 ago '06
sá do lu ma mi
ju
vi
13 ago '06
sá do lu ma mi
ju
vi
20 ago '06
sá do lu ma mi
20 ago '06
do lu ma mi
ju
vi
27 ago '06
sá do lu ma mi
ju
vi
03 sep '06
sá do lu ma mi
ju
vi
10 sep '06
sá do lu ma mi
ju
vi
17 sep '06
sá do lu ma mi
5 días
5 días
5 días
15 días
15 días
15 días
5 días
5 días
21 días
5 días
Duración
5 días
5 días
5 días
15 días
15 días
15 días
5 días
5 días
21 días
5 días
31
CAPÍTULO III
MARCO TEÓRICO
32
3.1
Representaciones numéricas
Cuando se manejan diversas cantidades, es importante poder representar sus valores con
eficiencia y exactitud.
2
Cuando se escucha la frase: “REPRESENTACIONES NUMÉRICAS”, se imagina una
gran y extensa variedad de formas de cuantificar cantidades, pero básicamente solo
existen dos:
9 Las análogas y
las digitales.
Las análogas ó también conocidas como “analógicas”.
¾ Son única y exclusivamente las magnitudes que proporcionalmente cambian con
respecto al tiempo.
Las digitales ó también conocidas como “discretas”.
¾ Estas son todas aquellas magnitudes que cambian con respecto al tiempo, sólo
en estados “biestables”.
2 Ronald J. Tocci, Sistemas Digitales, Principios y Aplicaciones, Página # 3
33
Ejemplos:
Las variables ó magnitudes análogas cambian con respecto al tiempo, tal es el caso de la
temperatura (por solo mencionar una):
°C
t
Gráfica 3.1 Variable analógica
Como se puede apreciar en la gráfica 3.1, la magnitud “Temperatura”, siempre cambia
con respecto al tiempo; a diferencia de los valores digitales, no se podría decir que hay
toda la temperatura, o nada de la temperatura ya que esta magnitud siempre cambia con
respecto al tiempo.
Las variables digitales ó discretas, por otra parte sirven para determinar un estado lógico,
los cuales son únicamente “1” ó “0”, para tener un ejemplo más claro de esto, se analiza
en la gráfica 3.2:
+v
0
1
Apagado
Encendido
0V
Gráfica 3.2 Variable digital
t
34
Como se puede apreciar en la gráfica 3.2, esta describe el comportamiento digital, en
términos de voltaje, ya que:
9 Cuando hay un “0”, es igual que no hubiera voltaje, lo que es lo mismo que el
foco esté apagado.
9 Y por otra parte, cuando hay un “1”, es igual que hubiera todo el voltaje +V, lo
que es lo mismo que el foco esté encendido.
3.1.1
Ventajas y desventajas de las técnicas digitales.
Ventajas
Desventajas
No son importantes los valores
Cuando
exactos
técnicas digitales existe,
de
corriente,
sino
dos
estados: Alto “1” y Bajo “0”.
en
Los circuitos digitales son menos
desventaja,
se
realidad,
emplean
solo
una
influenciados por el ruido.
“EL MUNDO REAL ES
Requieren menos espacios para su
FUNDAMENTALMENTE
construcción.
ANALÓGICO”.
3
Pueden ser programables
3 Ronald J. Tocci, Sistemas Digitales, Principios y Aplicaciones, Página # 5.
35
Como sabiamente menciona este autor, el mundo real esta basado en variables
analógicas, solo para darnos cuenta, a continuación se muestran algunos
ejemplos:
3.2 ¿Qué es un “Microcontrolador” (µC)?
Es un circuito integrado (CI), programable que con tiene todos los componentes de una
computadora cualquiera, pero con mucha menos capacidad, ya que solo en su memoria
residirá un programa el cual será destinado a controlar una sola tarea o aplicación muy
especifica.
Un microcontrolador es un computador complejo, aunque de limitadas prestaciones, que
4
está contenido en el chip del circuito integrado y se designa a gobernar una sola tarea.
4 José Mª. Angulo Usartegui, Ignacio Angulo Martínez. Microcontroladores Pic, Diseño, Prácticas De Aplicaciones, Primera
Parte, Pagina # 1
36
Además de tener todo integrado en un solo chip, pueden llevar a cabo tareas tales como:
¾ Conversión Analógica a Digital.
¾
Comunicación RS-232, RS-485, USB.
¾ PWM (Modulación por Ancho de Pulso).
¾ Almacenar en memoria EEPROM.
¾ Controlar secuencias por medio de la manipulación diferentes puertos.
Ahora bien el usar µC, tiene sus ventajas y desventajas al ser comparados con un µP
(Tabla 3.3).
Ventajas
Desventajas
¾ Solo atienden una línea de código
9 Bajo costo.
9 No requieren más componentes
adicionales para poder funcionar.
a la vez.
¾ Cuentan con poca capacidad de
memoria de programa.
9 Fácil operación al programar.
¾ Son relativamente lentos.
9 Versátiles.
¾ No son escalares.
Tabla 3.3 Ventajas y Desventajas de un µC contra un µP.
37
3.2.1 Aplicaciones
Las distintas aplicaciones que funcionan a base de un µC aumenta exponencial y
mundialmente (tabla 3.4), debido a que son muy confiables en operaciones unitarias,
es decir en una sola tarea especifica; se utilizan en:
35
30
Porcentaje
30
27
25
Casa
18
20
15
15
Telefonía
Automotriz
Cómputo
Industria
10
10
5
0
Usos
Gráfica 3.4 Distribución mundial de µC en las diversas áreas de aplicación.
9 Casa: línea blanca (lavadoras, hornos de microondas, lavavajillas, etc.) y línea
marrón (tv., video, aparatos musicales, etc.).
9 Telefonía: Comunicación y sistemas de transferencia.
9 Automotriz: Sistemas de seguridad.
38
9 Computo: Computadoras, unidades lectoras (CD-ROM, DVD, FLOPPY) .
9 Industria: Sistemas de control, maquinarias, instrumentos de medición.
3.2.2 Diferencias entre Microprocesadores (µP) y Microcontroladores (µC)
Quizás la diferencia más notable a simple vista es que:
Un µC, obedece a un sistema de lazo cerrado (figura 3.5), es decir, contiene todos
los dispositivos dentro de un solo chip.
Mientras que un µP, obedece a un sistema de lazo abierto (figura 3.6), es decir,
necesita de componentes adicionales para trabajar como: memoria RAM, Disco
Duro, memoria EPROM ó EEPROM, etc.
I
/
O
Figura 3.5 Estructura de
un sistema abierto en un
µP.
µC
I
/
O
Figura 3.6 Estructura de
un sistema cerrado en un
µC.
39
3.2.3 Arquitectura
Para lograr una compactación de código óptima y una velocidad superior se han
implementado en lo µC PIC (Microchip):
¾ Procesador tipo RISC.
Esta metodología significa Reduced Instruction Set Computador (RISC),
que en traducción es set o juego de instrucciones reducidas para el µC,
trata de tomar solamente una lista de 35 instrucciones que son las mas
utilizadas y con estas realizar la programación del µC.
¾ Procesador Segmentado.
Este tipo de procesador puede ejecutar en un mismo ciclo de reloj, dos
instrucciones de código simultáneamente y en los llamados a subrutina se
tomara 1 ó 2 para cada llamado.
¾ Arquitectura HARVARD.
Esta nueva arquitectura permite trabajar de manera mucho mas rápida que
la antigua arquitectura Von Neuman (figura 3.7), ya que esta tiene 2 buses,
40
uno de 8 bits para cargar los datos al CPU del µC, y otra de 14 bits para
cargar las instrucciones al CPU de este mismo (figura 3.8).
Figura 3.7
Arquitectura Von
Neumann
3.3
Figura 3.8
Arquitectura Harvard
Transductores de temperatura
Una de las necesidades del instrumento es la de medir y registrar señales de temperatura.
La temperatura es un factor de medida engañoso debido a su simplicidad. A menudo se
piensa en ella como un simple número, pero en realidad es una estructura estadística
cuya exactitud y repetitibilidad pueden verse afectadas por la masa térmica, el tiempo de
medida y el ruido eléctrico.
Los cuatro tipos de transductores de temperatura más utilizados en los sistemas de
adquisición de datos son:
¾ Detectores de temperatura de resistencia (RTD).
41
¾ Termistores.
¾ Sensores de IC (Circuitos integrado).
¾ Termopares.
3.3.1
Tipos de transductores de temperatura
El detector de temperatura de resistencia (RTD) Se basa en el principio según el
cual la resistencia de todos los metales depende de la temperatura.
La elección del platino en los RTD de la máxima calidad permite realizar
medidas más exactas y estables hasta una temperatura de aproximadamente
500°C. Los RTD más económicos utilizan níquel o aleaciones de níquel, pero no
son tan estables ni lineales como los que emplean platino.
En cuanto a las desventajas, el platino encarece los RTD, y otro inconveniente es
el auto-calentamiento. Para medir la resistencia hay que aplicar una corriente,
que, por supuesto, produce una cantidad de calor que distorsiona los resultados
de medida.
3.3.2
Termistores
Los termistores son semiconductores electrónicos con un coeficiente de
temperatura de resistencia negativo de valor elevado y que presentan una curva
42
característica lineal tensión-corriente siempre que la temperatura se mantenga
constante.
Existen dos tipos de termistores:
¾ De coeficiente negativo: basado en una de las características
fundamentales de los materiales semiconductores que presentan una
resistencia eléctrica cuyo valor decrece al aumentar la temperatura, estos
sensores tienen un intervalo de temperatura que se encuentra entre -50 a
+150° C.
¾ De coeficiente positivo: se realizan mediante la compactación de
materiales que presentan en una zona de su característica resistenciatemperatura una pendiente positiva. Esta zona suele ser bastante estrecha
teniendo un intervalo de 0 a 100° C.
3.3.3
Sensores de IC
Los sensores de circuitos integrados resuelven el problema de la linealidad y
ofrecen altos niveles de rendimiento. Son, además, relativamente económicos y
relativamente precisos a temperatura ambiente, dependiendo de la calidad del
sensor.
43
Los sensores de IC forman parte de la tendencia hacia los "sensores inteligentes",
que son unos transductores cuya inteligencia incorporada facilita las actividades
de reducción de análisis de datos que el usuario debe realizar normalmente en el
sistema de adquisición de datos, además de ser dispositivos activos, por lo que
requieren una fuente de alimentación para que funcionen.
3.3.4
Termopares
Un termopar es un dispositivo para la medición de temperatura (figura 3.9)
basado en efectos termoeléctricos. Es un circuito formado por dos conductores de
metales diferentes ó aleaciones de metales diferentes, unidos en sus extremos y
entre cuyas uniones existe una diferencia de temperatura, que origina una fuerza
electromotriz: efecto Seebeck.
A
B
Fig. 3.9 Termopar, A) Unión de puntas. B) Termopar comercial
Los termopares se utilizan extensamente, ya que ofrecen un intervalo de
medición temperaturas mucho más amplia y una construcción más robusta que
otros tipos. Además no precisan alimentación de ningún tipo y su reducido precio
los convierte en una opción muy atractiva para sistemas de adquisición de datos.
44
La fuerza electromotriz generada por un termopar esta en función de la diferencia
de temperatura entre la unión fría y caliente, pero más específicamente, ésta
generada como resultado del gradiente de temperatura, los cuales existen a lo
largo de la longitud de los conductores.
4
3.3.4.1 Efecto Seebeck
En 1822 el físico alemán Thomas Seebeck descubrió accidentalmente que:
Cuando las uniones de dos conductores se unen por sus extremos para
formar un circuito (figura 3.1.0) y se coloca un gradiente de temperatura, se
manifiesta un flujo de calor y un flujo de electrones conocida como:
corriente Seebeck. La F.E.M, que genera la corriente se conoce como:
5
F.E.M de termopar o tensión Seebeck.
Metal A
Metal B
Fig. 3.1.0 Representación del circuito conformado
por 2 metales diferentes
4,5 Web: www.metas.com.mx, fecha de consulta: 10 Junio de 2006
45
Además si una de las uniones se mantiene a una temperatura superior a la
otra, surge una diferencia de tensión que hace fluir una corriente eléctrica
entre las uniones caliente y fría.
3.3.4.2 Tipos de termopares
Comercial mente existen diferentes tipos de termopares para diferentes
usos, con diferentes alcances y resoluciones dependiendo de las
temperaturas que se desean cuantificar será el costo y el tipo de termopar,
en la tabla 3.1.1, se muestra la composición química y alcance.
Tabla 3.1.1 Características dependiendo el tipo de termopar
También a la aleación: Cobre-Níquel, séle denomina constantán
46
3.4
Sistemas de control
Un sistema de control es aquél que en la salida del sistema se controla para tener un
valor específico, según lo determina la entrada al sistema.
Industrialmente un sistema de control se podría denominar como “una caja negra”
(figura 3.1.2), ya que se considera la relación entrada – salida y no es tan importante lo
que tiene dentro.
Entrada
Salida
Caja
Negra
Fig. 3.1.2 Sistema de control denominado “caja negra”
Un sistema es de control si la salida se controla de modo que pueda adoptar un valor o
cambio en particular de alguna manera definitiva.
6
3.4.1Analogías de primer orden
Este concepto aplicado a sistemas de control, no es otra cosa que sustituir
elementos de un sistema en otro, pero que estos tengan cierta similitud.
6 Ingeniería de Control, W. Bolton, pagina #1
47
Un ejemplo muy claro es:
La respuesta de un sistema eléctrico RC, formado por un capacitor en serie con
una resistencia y la aplicación súbita de voltaje (figura 3.1.3), tiene el mismo tipo
de relación de respuesta de un sistema térmico, el cual puede ser un contenedor
con liquido, a el cual se le aplica súbitamente una entrada de calor (figura 3.1.4).
V en C1
t
Fig. 3.1.3 Sistema RC y gráfica de respuesta en el tiempo
V alterno
₪
Temperatura
t
Fig. 3.1.4 Sistema térmico y gráfica respuesta en el tiempo
48
La ventaja de estudiar los sistemas de esta manera es que aunque existe una
amplia variedad de sistemas posibles, la relación entrada – salida tiende a muy
similar y por lo tanto se hace más fácil analizar sistemas.
3.5 Controladores
Un controlador es un elemento en el sistema de lazo cerrado que tiene como entrada la
señal de error y produce una salida que se convierte en la entrada al elemento final de
control.
3.5.1 Control proporcional
Con el control proporcional la salida del controlador es directamente
proporcional a su entrada; la entrada es la señal del error, e, la cual es una
función del tiempo.
Salida
=
KP e
Donde KP es una constante llamada ganancia proporcional.
La salida del controlador depende sólo de la magnitud del error en el instante que
se considera. Este controlador es sólo un amplificador con ganancia constante
49
esto ayuda a que tienda a existir sólo sobre cierto intervalo de errores que se
conoce como banda proporcional (figura 3.1.5)
Fig. 3.1.5 Control proporcional
Debido a que la salida es proporcional a la entrada, si la entrada al controlador es
un error en la forma de un escalón, por lo tanto la salida también es un escalón,
por lo que es una versión a escala de la entrada (figura 3.1.6).
0
Error
t
Salida del
controlador
t
Fig. 3.1.6 Sistema con control proporcional.
50
3.5.2 Control integral
Con el control integral la salida del controlador es proporcional a la integral de la
señal de la señal de error e con el tiempo donde;
t
Salida
=
Ki
∫
e dt
0
Ki es la constante denominada ganancia integral.
La figura 3.1.7, muestra lo que pasa cuando el error es la forma de un escalón, la
integral entre 0 y t, así después de que el error comienza, el área se incrementa a
razón regular, la salida del controlador se debe incrementar en una razón regular.
Fig. 3.1.7 Control integral
51
3.5.3 Control derivativo
Con la forma derivativa del controlador, la salida del controlador es proporcional
a la razón de cambio con el tiempo del error e, es decir:
Salida = K d
de
dt
Kd es la ganancia derivativa y tiene unidades de s.
La figura 3.1.8 muestra que pasa cuando hay un error de entrada de rampa, con el
control derivativo, tan pronto como la señal de error inicia puede haber una salida
de controlador muy grande, puesto que ésta es proporcional a la razón de cambio
de la señal de error y no a su valor, de este modo puede proporcionar una acción
correctiva grande antes de que se presente un error grande en realidad.
Fig. 3.1.8 Control derivativo
52
3.5.4 Control proporcional integral (PI)
La reducción en la estabilidad relativa como resultado de usar el control se puede
resolver mediante el control PI, para esta combinación la salida del controlador
es:
t
Salida
=
Kp e
+
K i ∫ e dt
0
En la figura 3.1.9, muestra el tipo de salida del controlador que se presenta con
este sistema cuando existe una entrada de tipo escalón.
Fig. 3.1.9 Control proporcional integral
53
La respuesta de este controlador deja un offset al tratar de aproximarse al setpoint
tal como se aprecia en al figura 3.2.0, donde se toma considerando que el proceso
ya está estabilizado.
Fig. 3.2.0 Gráfica de respuesta de un PI, ente un error de tipo escalón.
3.5.5 Control P+I+D (PID)
El control P+I+D, mejor conocido como: PID (Proporcional, Integral y
derivativo). Estos 3 dispositivos forman parte del llamado grupo de la electrónica
de control, la cual tiene como objetivo mantener su salida en un nivel
predeterminado, para esta combinación la salida del controlador es:
t
Salida
=
KP e
+
Ki
∫
0
e dt
+
Kd
de
dt
54
Como casi la totalidad de los reguladores, el PID es también un regulador lineal y
aunque existen numerosos procesos que no son lineales, resulta más sencillo
lineal- izarlos o aproximarlos a procesos lineales en lugar de utilizar reguladores
no lineales, que son mucho más difíciles de ajustar, son muy complejos, o exigen
un modelo matemático del proceso muy fiable.
Las señales que con más frecuencia necesitan ser linealizadas son las que
proceden de elementos sensores, por lo cual siempre es recomendable utilizar
sensores lo mas lineales posibles, ya que los que no son lineales siempre es
necesario tratar de hacer una aproximación para hacerlas lo mas lineales posibles.
Ahora bien a diferencia del PI que produce un offset ante un error de tipo
escalón, este controlador integra la acción D, que es la encargada de eliminar ese
offset (figura 3.2.1), esta grafica se toma del sistema cuando ya se encuentra
estabilizado.
Fig. 3.2.1 Gráfica de respuesta de un PID, ente un error de tipo escalón.
55
Es usado en:
9 Procesos lineales: Se dice que un proceso es lineal cuando está formado por
componentes que dan una salida proporcional a su entrada. Su representación
gráfica es una recta que pasa por el origen de coordenadas (figura 3.2.1).
1.5
V
-50
150 ºC
-5.0
Fig. 3.2.1 Grafica correspondiente a un proceso lineal.
9 Procesos no lineales: Se dice que un proceso no es lineal cuando está formado
por componentes que dan una salida que no proporcional a su entrada (figura
3.2.2).
Fig. 3.2.2 Grafica correspondiente a un proceso no lineal.
56
CAPÍTULO IV
DESARROLLO
DEL
PROYECTO
57
4.1
Sistema de lazo cerrado
Como se muestra en la figura 4.1, todo el sistema corresponde a un ciclo de lazo cerrado,
es decir, la entrada depende de la salida.
LCD
Recepción (µC)
Transmisión LabVIEW
LabVIEW
Prog. de control
PID
ADC del µC
Inst. Del termopar
DAC a Cruce por 0
Resistencia eléctrica
Trasmisión (µC)
Manómetro
Termopar
Reactor
Inicio
Fig. 4.1 Diagrama de proceso correspondiente a un ciclo de lazo cerrado
Una vez puesto en marcha este sistema, la regulación del elemento final de control
(Resistencia eléctrica), se manipulará automáticamente por medio del PID desde
LabVIEW, logrando así calentar más ó menos según el setpoint preseleccionado; una de
las medidas de seguridad que se adoptaron para la medición de la presión, fue colocar
una válvula de seguridad, para evitar el control de esta mediante elementos electrónicos
que la pudieran soportar.
58
4.1.1 Diagrama de flujo para programa del µC
Inicio
Algo importante que hay que mencionar es el
orden de lo que se quiere conseguir con el
código de instrucciones; no es recomendable
que haga tareas muy dispersas, ya que el µC
* Cargar librerías.
* Declarar variables.
* Configurar puertos.
> I/O, A/D.
* Configurar velocidad de
Transmisión y Recepción.
* Preparar
interrupción
para recepción
tiende a entrar en conflictos de ejecución o lo
que es lo mismo: los llamados overload o
desbordamientos.
¿Recepción
completa?
No
Si
Mover resultado
de recepción al
PORTD
El diagrama de la figura 4.2, muestra cómo se
lleva la ejecución del programa del µC; éste
Leer Canal 0 de
PORTA y
realizar ADC
se probó de diferentes órdenes y al parecer
¿Ya se
realizo
ADC?
esta forma es la más indicada, ya que nunca
No
Si
se tuvieron conflictos de ningún tipo, a
comparación de las otras formas que se
intentaron.
Todo el programa se pude consultar en el
anexo I.
Convertir el
resultado a
ASCII
Transmitir
resultado ASCII,
vía RS-232
¿Transmisión
completa?
No
Si
Visualiza
resultado ASCII
en LCD
Fig. 4.2 Diagrama de flujo del programa del µC
Recibir datos
vía RS-232
59
4.2
El microcontrolador (µC).
La selección del µC PIC16F877 se debió a que ya se contaba con experiencia sobre la
familia PIC16F87X, tanto en programación (software), como en circuitos que lo puedan
soportar (hardware), además por las necesidades de diseño del sistema, ya que se
requería un µC que contara con un número considerable de puertos.
Este µC cuenta 40 pines, y 5 puertos (A, B, C, D, E).
Puerto A (PORTA)
¾ Cuenta con 6 terminales (RA0/AN0 a RA5/AN5), de las cuales se pueden utilizar
como entradas
ó salidas digitales, y/o como solamente entradas analógicas
contando con la posibilidad de tener: +VREF y -VREF; éstas combinaciones se
realizarán configurando el registro ADCON1.
Puerto B (PORTB)
¾ Cuenta con 8 terminales (RB0 a RB7); sus terminales pueden ser configuradas
como entradas o salidas digitales; también se integran otras funciones como: una
interrupción externa, una entrada de programación de bajo voltaje, entre otras,
además por ser un puerto en el cual casi no residen funciones adicionales. Es el
más indicado para colocar un periférico de salida o de entrada como un LCD ó
un teclado matricial.
60
Puerto C (PORTC)
¾ Cuenta con 8 terminales (RC0 a RC7); sus terminales pueden ser programadas
para entradas o salidas digitales, también se integran otras funciones especiales
como: módulos comparadores,
módulos de PWM, transmisión y recepción
serial, programación I2C.
Puerto D (PORTD)
¾ Cuenta con 8 terminales (RD0 a RD7); sus terminales pueden ser programadas
para ser entradas ó salidas digitales, ó se puede programar para ser un puerto de
trasmisor
paralelo en forma esclavo, para realizar una interfaz a un
microprocesador.
Puerto E (PORTE)
¾ Cuenta con solamente 3 terminales (RE0 a RE2); al igual que los otros puertos,
se puede programar como entradas ó salidas digitales, además este puerto puede
llevar a cabo la transmisión paralela, ó puede ser la expansión del puerto A, es
decir, también es un puerto que se puede configurar como entradas analógicas
(AN5 a AN7), pero hay que tomar en cuenta que también se configura desde el
registro ADCON1; en este µC se tiene que configurar el PORTA y el PORTE
como si fuera un solo puerto.
61
4.2.1
Programación de inicialización del µC
Necesariamente para iniciar la programación del µC, se necesita incluir el tipo de
procesador del µC (solo bastará con escribir el número del componente), e
incluir toda la librería correspondiente al procesador seleccionado, estos dos
pasos son los principales y se escriben al inicio de todo el programa.
LIST
P=16F877A
; Selección de procesador
#INCLUDE
P16F877A.INC
; Se incluye toda la librería
; Correspondiente al procesador
Después de haber configurado lo anterior se procede a configurar la llamada
“palabra de configuración;” ésta se configura de la siguiente manera:
<Tab> __CONFIG
_CP_OFF&_DEBUG_OFF&_WRT_OFF&_CPD_OFF&_LVP_OFF&_BODEN
_OFF&_PWRTE_ON&_WDT_OFF&_HS_OSC
CP = Protección de código.
DEBUG = Debugger.
WRT = Escritura en la memoria EEPROM.
CPD = Protección de código de la memoria EEPROM.
LVP = Programación de bajo voltaje.
62
BODEN = Brown-on Reset enable bit.
PWRTE = Power-up timer enable bit, y es activo en bajo.
WDT = Watchdog timer
Crystal = HS, XT, RC, LP
Una vez ya configurada esta palabra acorde a las necesidades del programa y del
programador (persona), se puede empezar a escribir todo el código del programa.
4.3 El termopar
Para esta aplicación se seleccionó un termopar tipo “K”, ya que cuenta con un amplio
intervalo de medición que va desde -270 ºC hasta 1372 ºC y teniendo una salida lineal
en el orden de los mV (gráfica 4.3), además de ser uno de los termopares más utilizados,
por lo tanto es más fácil de encontrar y a un precio relativamente bajo.
mV
54.886
-270
1372
ºC
- 6.458
Gráfica 4.3 La salida de este termopar está dada en el orden de los mV/ºC
63
La resolución de este sensor se obtiene mediante la formula que dice:
ℜesolución =
(Límite Superior De Salida)
(Límite Superior De Entrada)
−
−
(Límite Inferior De Salida)
(Límite Inferior De Entrada)
( 54,886 mV )
( 1372 º C )
−
−
( − 6,458mV )
( − 270 º C )
Por lo tanto:
ℜesolución =
Entonces:
ℜesolución =
61,344 mV
1642 º C
Por lo tanto:
ℜ esolución
=
0 , 0373 mV
ºC
Ó bien:
ℜ esolución
=
37 , 3 µ V
ºC
64
4.3.1 Acondicionamiento de señal
En el capítulo anterior se describió el comportamiento de un termopar, este se
basa en el efecto “Seebek”, el cual mencionaba que necesita una parte fría ó
punto de referencia; éste consiste en tener una referencia de un lado del circuito
“termopar”, para tener del otro lado una circulación de corriente que circula por
el circuito en el que existe un gradiente de temperatura.
Para este caso se utilizo el diagrama de cómo referenciar a GND el termopar con
el amplificador de instrumentación AD620 y el LT1025 (figura 4.4).
Fig. 4.4 Diagrama de conexión de acondicionamiento del termopar
65
Ahora bien, al inicio del proyecto se utilizó un sensor que proporcionaba una
resolución de salida de 10 mV/ºC; teniendo en cuenta que el termopar tiene una
resolución de salida de 0.0373 mV/ºC (el LT1025, proporciona en la parte fría
una referencia de 40.6 µV/ºC, por lo que la señal se tiene que estandarizar a ésta)
es necesario que se pueda igualar la resolución de salida que proporciona el
termopar hasta 10 mV/ºC; ésto se logra amplificando la señal del termopar con el
AD620, el cual en sus hojas de especificaciones contiene 2 fórmulas, una de ellas
es para calcular la ganancia teniendo como base la resistencia (figura 4.5), y otra
que calcula la resistencia de amplificación teniendo como base la ganancia
(figura 4.6).
G =
49,4 KΩ
Rg
+ 1
Fig. 4.5 Fórmula de la
Rg =
49,4 KΩ
G −1
Fig. 4.6 Fórmula del
cálculo de resistencia
ganancia
Para saber exactamente cuál es la ganancia, se tiene que sólo bastará con dividir
el valor que se tiene como referencia que son 10 mV/ºC, sobre el que
proporciona el termopar que son 0,0406 mV/ºC, es decir:
K =
10 mV º C
= 246.3050
0,0406 mV º C
66
Se tiene que el resultado de esta operación es de 246.3050, que corresponde a la
ganancia, pero se necesita saber el valor de la resistencia que llevará este
amplificador, ésta se calcula por medio de fórmula de la fig. 4.4
Si G = 246.3050 y entonces:
Rg =
Por lo tanto se tiene que Rg
Ó bien: Rg
=
201 .381
=
49,4 KΩ
246.3050 − 1
0 , 201381
KΩ
Ω
4.3.2 Digitalización de la señal del termopar
El µC PIC16F877, trae integrado un módulo de Conversión Analógica a Digital,
el cual se muestra en la siguiente figura:
Figura 4.7 Módulo de ADC del µC.
67
La entrada proveniente del sensor análogo, carga un condensador de muestro, el
cual produce una salida debido a su carga y descarga; la salida del condensador
de muestro es la entrada al circuito “Sampling Switch”. El convertidor entonces
genera un resultado digital de este nivel análogo vía la aproximación sucesiva.
La conversión ANALÓGICO A DIGITAL de la señal análoga se convierte en
resultados binarios (1’s y 0’s), con una revolución de 10 bits.
Una de las especificaciones que el fabricante menciona es que la fuente análoga
tenga una impedancia de salida de menos de 10 KΩ, para obtener una óptima
conversión.
En este caso la fuente analógica, provendrá de amplificadores los cuales tienen
una impedancia de salida muy baja, y por ello la conversión será óptima.
4.3.3
Programa de conversión a/d del µC
Para que el módulo de A/D funcione es necesario llevar a cabo unos cuantos
pasos para obtener el programar de A/D del µC:
1.- Configurar el registro del ADCON1 (ver figura 4.8)
Fig. 4.8 Configuración de palabra del registro ADCON1
68
El bit 7: este bit indicará si el resultado de la conversión A/D, estará justificada a
derecha (1) ó izquierda (0); es decir, si se justifica a la derecha los dos bits más
significativos se encontrarán en el ADRESH, y los ocho bits menos significativos
en el ADRESL; si es justificado a la izquierda, los ocho bits más significativos
se encontrarán en el ADRESH, y los dos menos significativos se encontrarán en
el ADRESL, como se muestra en la figura 4.9.
Los bits 6, 5, 4, son no implementados, por lo que solo bastará con escribir, un
“0” en cada uno de estos bits.
Fig. 4.9 Diagrama ilustrativo de la colocación del resultado de la conversión
A/D, según a donde sea justificado.
Los bits restantes corresponden a la tabla de la figura 4.1.0:
69
Tabla 4.1.0 Control de configuración de terminales de puertos A y E
En esta tabla se selecciona qué terminales del los puertos A y E son entradas
analógicas y cuáles entradas ó salidas digitales; para este caso se necesitan del
puerto A, dos canales analógicos, +VREF; y del puerto E, las tres terminales
digitales, por lo que se escriben: Bit 3 (PCFG3) a bit 0 (PCFG0) = 0101
2.- Una vez configurado el registro ADCON1, se prosigue a configurar
el
registro ADCON0 (figura 4.11)
Fig. 4.1.1 Configuración de palabra del registro ADCON0.
70
Bit 7 y 6 (ADCS1 y 0): Estos dos bits corresponden a la frecuencia del
oscilador, para este caso como es uno de 20 MHz, se escribe:
“1 en el bit 7 y en el 6 un “0”
Los 3 bits siguientes (CHS2, 1, 0), corresponden al canal o terminal del
puerto análogo del µC, para este caso solo se lee el canal “0” (RA0/AN0),
por lo que sólo se escribe:
CHS2, CHS1, CHS0 = “0”
El bit 2 (GO/DONE), es el bit que se encuentra en “1”, inicializa el
módulo del convertidor, indicando
en qué momento ése realizaré la
conversión A/D, y si está en “0” reestablecerá todo el módulo A/D
dejándolo listo para llevar a cabo la siguiente A/D, por lo que se escribe:
GO/DONE = 0, dejando así el módulo reestablecido, después se tendrá
que encender este bit.
Otra función de este bit, es que actúa como bandera indicando cuando la
conversión A/D, se ha completado, en este caso se verifica por el método
de poleo.
71
El bit 1, no está implementado, por lo que sólo se escribe un “0”
El bit 0 (ADON), indicará si el módulo del convertidor está activado ó
desactivado, para este caso se necesita activado, por lo que se escribe:
ADON = 1.
Código de configuración de los registros ADCON0, ADON1 y del módulo del
convertido A/D.
BSF
BCF
STATUS,5
STATUS,6
MOVLW
MOVWF
B'00000101'
ADCON1
BCF
BCF
STATUS,5
STATUS,6
RUN_ADC
MOVLW
MOVWF
BSF
BCF
B'10000001'
ADCON0
ADCON0,ADON
PIR1,ADIF
;BANCO '1'
;+VRef 2.56.
;BANCO '0'
;CRYSTAL DE 20 MHz.
;ENCIENDE EL CONVERTIDOR.
;LIMPIA FLAG DE CONVER.
NOP
NOP
GO_ADC
BSF
ADCON0,GO_DONE
;INICIO DE CONVER.
WAIT_ADC
BTFSC
GOTO
ADCON0,GO_DONE
WAIT_ADC
;ESPERA QUE FINALICE
;LA CONVERSIÓN ESTA COMPLETA Y SE ENCUENTRA EL ADRESH Y ADRESL.
72
Una vez que se tiene el resultado de la conversión A/D, en el ADRESH este se
tiene que mover a una variable de propósito general como lo es “W”, pero hasta
aquí sólo son “1” y “0”, ahora se necesita de una librería o subrutina que
convierta estos valores lógicos a valores ASCII, para enviarlos vía RS-232 y
después desplegarlos en el LCD, por lo que se tiene el siguiente programa que
convierte de binario a ASCII:
MOVF
MOVWF
CLRF
CLRF
CLRF
ADRESH,W
HEXADECIMAL
ASCII_H
ASCII_M
ASCII_L
CENTENAS
MOVLW
SUBWF
BTFSS
GOTO
MOVWF
INCF
GOTO
D'100'
HEXADECIMAL,W
STATUS,C
DECENAS
HEXADECIMAL
ASCII_H,F
CENTENAS
; D’100’ --> W
; HEXADECIMAL - D'100' --> W
; ¿ HEXADECIMAL ES MENOR QUE D'100' ?
; SI
; SALVA EL RESTO
;INCREMENTA EL CONTADOR DE CENTENAS
; VUELVE POR OTROS D'100'
DECENAS
MOVLW
SUBWF
BTFSS
GOTO
MOVWF
INCF
GOTO
D'10'
HEXADECIMAL,W
STATUS,C
UNIDADES
HEXADECIMAL
ASCII_M,F
DECENAS
;D'10' --> W
;HEXADECIMAL - D'10' --> W
;¿ HEXADECIMAL ES MENOR QUE D'10' ?
;SI
;SALVA EL RESTO
;INCREMENTA EL CONTADOR DE DECENAS
;VUELVE POR OTROS D'10'
UNIDADES
MOVF
MOVWF
CLRF
HEXADECIMAL,W
ASCII_L
HEXADECIMAL
;EL RESTO PERTENECE
;A LAS UNIDADES BCD
;PONE A CERO EL REGISTRO HEXADECIMAL
BCD_A_ASCII
MOVLW
IORWF
IORWF
IORWF
GOTO
H'30'
ASCII_L,F
ASCII_M,F
ASCII_H,F
TRANSMISON
;H'30' --> W
;CONVIERTE DE BCD A ASCII
;CONVIERTE DE BCD A ASCII
;CONVIERTE DE BCD A ASCII
;RETORNA
;W = HEXADECIMAL = ADRESH
;PARA BCD D'0'
;PARA BCD D'0'
;PARA BCD D'0'
73
Después de haber convertido los valores binarios a ASCII, se tiene en 3 variables
que son: ASCII_H (Centenas), ASCII_M (Decenas) y ASCII_L (Unidades), por
lo que ahora si se pueden mandar sin ningún problema de interpretación.
4.4 Interfaz hacia la PC
Antes de realizar alguna operación de transmisión o recepción con el µC, es necesario
contar con un CI (circuito integrado) que realice la estandarización en los niveles de
voltaje del µC con el puerto serial, ya que:
El µC maneja niveles de voltaje de 0 VCC (que corresponde a un “0”) a +5 VCC (que
corresponde a un “1”) (figura 4.1.2).
V
+5 VCC = “1”
1
0
0 VCC ó GND = “0”
t
Fig. 4.1.2 Determinación de los niveles lógicos con respecto al voltaje para el µC
74
Mientras que:
El puerto serial maneja niveles de voltaje de -12 VCC (que corresponde a un “0”) a +12
VCC (que corresponde a un “1”) (figura 4.1.3).
+12 VCC = “1”
GND
-12 VCC = “0”
1
GND
0
Fig. 4.1.3 Determinación de los niveles lógicos con respecto al voltaje para RS-232
4.4.1
MAX-232.
Este integrado, tiene la capacidad de realizar un estándar entre los niveles de
voltaje tanto del µC, ya que son TTL, como del puerto serial, que son RS232
(figura 4.1.4).
75
+12V
+5
RS232
µC
0VCC ó
-12VCC
Fig. 4.1.4 Gráfica comparativa de niveles de voltaje.
Dispone internamente de 4 conversores de niveles TTL al bus Standard rs232 y
viceversa.
Este CI, contiene internamente 2 convertidores de nivel TTL a RS-232, y otros 2
de RS-232 a TTL, por lo que se disponen de 4 canales para manejar estas
señales y solamente se utilizarán: TX y RX.
Para que este CI funcione adecuadamente es necesario conectar 4 capacitores, y
alimentar lo con +5 VCC y 0VCC o bien GND, (figura 4.1.5).
0.1 µF
0.1 µF
0.1 µF
0.1 µF
Vcc
C1 +
Vcc
V +
GND
C1 -
T1out
Rx
C2 +
R1in
Tx
C2 -
R1out
Rx
V-
T1in
Tx
T2 out
R2 in
RS-232
TTL
T2 in
R2 out
Fig. 4.1.5 Diagrama de conexiones de capacitores para RX y TX
76
Ahora solo habrá que conectar las terminales de transmisión (RC6) y recepción
(RC7) del µC a este integrado para realizar operaciones tanto de transmisión
como de recepción.
4.5
Transmisión de datos vía RS-232
Una vez completada la fase de la interfaz hacia la PC, ya se puede realizar la transmisión
de las variables: ASCII_H, ASCII_M y ASCII_L, que contienen el valor de la
temperatura.
Para empezar a transmitir es necesario configurar al registro TXSTA (figura 4.1.6)
Fig. 4.1.6 Palabra de configuración del registro de transmisión.
El bit 7 (CSRC), este bit indica si la fuente de reloj para transmitir será interna utilizando
el BRG ó externo, para este caso será interno, por lo que se escribe:
CSRC = 1
El bit 6 (TX9), indica si la transmisión se realizará a 9 ó 8 bits, en este caso se necesita
solo a 8 bits, por lo que se escribe:
77
TX9 = 0
El bit 5 (TXEN), este bit habilita o deshabilita la transmisión, para este caso se necesita
habilitado, por lo que se escribe:
TXEN = 1
El bit 4 (SYNC), este bit indica el modo de transmisión, sincronía o bien asíncrona, en
este caso se seleccionó la asíncrona, por lo que se escribe:
SYNC = 0
El bit 3 no es implementado por lo que se escribe un “0”
El bit 2 (BRGH); indica si la velocidad de transmisión es alta o baja, para este caso se
requiere una velocidad de transmisión de 9600B, por lo que se considera alta, de tal
forma que se escribe:
BRGH = 1
El bit 1 (TRMT); este bit actúa como bandera indicando si el dato a sido transmitido o
aun no, inicialmente se escribe:
78
TRMT = 0
El bit 0 (TX9D), este bit actúa como bandera de paridad, o comprueba si el dato a
trasmitir a 9 bits ha sido enviado o aun no, puesto que no se utiliza en este caso, se
escribe:
TRMT = 0
Código correspondiente a la configuración del registro TXSTA, y a la transmisión de
ASCII_H, ASCII_M, ASCII_L:
BSF
BCF
STATUS,5
STATUS,6
MOVLW
MOVWF
B'10111111'
TRISC
MOVLW
MOVWF
MOVLW
MOVWF
B'00100100'
TXSTA
.71
SPBRG
BCF
BCF
STATUS,5
STATUS,6
;BANCO '0'
BSF
RCSTA,SPEN
;HABILITAMOS EL PUERTO SERIAL
;BANCO '1'
;PINES RC7/RX, Y RC6/TX
; CRYSTAL DE 20 MHZ A 9600 BAUDS
TRASMISON
;MANDO EL ASCHII_H
BCF
BCF
STATUS,5
STATUS,6
MOVF
MOVWF
ASCII_H,W
TXREG
;BANCO '0'
;ASCII_H = W
;W = TXREG
79
BSF
BCF
STATUS,5
STATUS,6
COMP_ASCII_H
BTFSS
GOTO
TXSTA,1
COMP_ASCII_H
;BANCO '1'
;¿MANDO ASCII_H?
;NO
;SI
;MANDO EL ASCII_M
BCF
MOVF
MOVWF
BSF
BCF
STATUS,5
ASCII_M,W
TXREG
STATUS,5
STATUS,6
COMP_ASCII_M
BTFSS
GOTO
TXSTA,TRMT
COMP_ASCII_M
;BANCO '0'
;ASCII_M = W
;W = TXREG
;BANCO '1'
;¿MANDO ASCII_M?
;NO
;SI
;MANDO EL ASCII_L
BCF
STATUS,5
;BANCO '0'
MOVF
MOVWF
ASCII_L,W
TXREG
;ASCII_L = W
;W = TXREG
BSF
BCF
STATUS,5
STATUS,6
;BANCO '1'
COMP_ASCII_L
BTFSS
GOTO
CALL
BCF
GOTO
TXSTA,TRMT
COMP_ASCII_L
DELAY_5MS
STATUS,5
LCD
;¿MANDO ASCII_L?
;NO
;SI
;BANCO '0'
Una vez ejecutado todo el anterior programa, se puede tener la certeza de que estas tres
variables ya se trasmitieron satisfactoriamente y se puede realizar cualquier operación
con ellas desde la PC.
80
4.6
El LCD
Los LCD’s (Liquid Crystal Display) (figura 4.1.7), son periféricos de salida muy
flexibles, eficaces y económicos, siendo los µC los dispositivos más adecuados y
simples para controlar este tipo de pantallas, (Ver anexo II).
Fig. 4.1.7 LCD de 16 X 2.
Normalmente los LCD’s de 16X2 (16caracteres por 2 filas) tiene 14 terminales de las
cuales:
¾ Del 14 al 7 (D0 a D7), se utilizan para representar el valor en ASCII, para
posteriormente ser desplegados en el LCD.
¾ Del 6 al 4 (E, R/S, RS), se para controlar las funciones principales que son:
ƒ
E = Habilita (1) ó deshabilita (0) el LCD.
ƒ
R/W = Lectura y escritura, si es 0 escribe, si es 1 es leído.
ƒ
RS = Selección de registro, si es 0 controla, si es 1 es un dato.
81
¾ Del 3 al 1 (V0, VDD y GND), estos son la alimentación y el contraste de
visualización.
ƒ
V0 = Contraste de Visualización.
ƒ
VDD = + 5 Vcc de la fuente de alimentación.
ƒ
GND = Tierra de la fuente.
Todos lo periféricos de salida para funcionar correctamente necesitan de una librería
que los controle y los LCD no son la excepción por lo se necesita un programa que los
pueda inicializar, el siguiente programa fue modificado por las necesidades del sistema,
pero funciona bajo el mismo principio que el original que se encontró en el libro:
Microcontroladores PIC principios y aplicaciones, Pág. 331.
Programa modificado, que controla el LCD.
LCD_E
BSF
NOP
NOP
NOP
BCF
RETURN
LCD_BUSY
BSF
BSF
MOVLW
MOVWF
BCF
BSF
NOP
L_BUSY
BTFSC
GOTO
PORTE,2
;ACTIVA SEÑAL E
PORTE,2
;ESPERA 3US
;DESACTIVA SEÑAL E
PORTE,1
STATUS,RP0
0XFF
TRISB
STATUS,RP0
PORTE,2
; LCD EN MODO LECTURA
;SELECCIONA EL BANCO 1
;PORTB ACTÚA DE ENTRADA
;SELECCIONA EL BANCO 0
;ACTIVA EL LCD (SEÑAL E)
PORTB,7
L_BUSY
;CHEQUEA EL BIT BUSY
;ESTA "1" (OCUPADO)
82
BCF
BSF
CLRF
BCF
BCF
RETURN
PORTE,2
STATUS,RP0
TRISB
STATUS,RP0
PORTE,1
;DESACTIVA EL LCD (SEÑAL E)
;SELECCIONA EL BANCO 1
;PORTB COMO SALIDA
;SELECCIONA EL BANCO 0
; LCD EN MODO ESCRITURA
LCD_REG
BCF
MOVWF
CALL
GOTO
PORTE,0
PORTB
LCD_BUSY
LCD_E
;DESACTIVA RS (MODO INSTRUCCIÓN)
;SACA EL CÓDIGO DE INSTRUCCIÓN
;ESPERA A QUE SE LIBERE EL LCD
;GENERA PULSO EN SEÑAL E
LCD_DATOS
BCF
MOVWF
CALL
BSF
GOTO
PORTE,0
PORTB
LCD_BUSY
PORTE,0
LCD_E
;DESACTIVA RS (MODO INSTRUCCIÓN)
;VALOR ASCII A SALE POR PORTB
;ESPERA A QUE SE LIBERE EL LCD
;ACTIVA RS (MODO DATO)
;GENERA PULSO EN SEÑAL E
LCD_INI
MOVLW
CALL
CALL
MOVLW
CALL
CALL
MOVLW
CALL
CALL
RETURN
B'00111000'
LCD_REG
DELAY_5MS
B'00111000'
LCD_REG
DELAY_5MS
B'00111000'
LCD_REG
DELAY_5MS
;CÓDIGO DE INSTRUCCIÓN
;TEMPORIZA 5 MS.
;CÓDIGO DE INSTRUCCIÓN
;TEMPORIZA 5 MS.
;CÓDIGO DE INSTRUCCIÓN
;TEMPORIZA 5 MS.
;DELAY_5MS GENERA UNA TEMPORIZACIÓN DE 5MS NECESARIO PARA LA SECUENCIA
DE INICIO DEL LCD
DELAY_5MS
MOVLW
MOVWF
PLOOP0
MOVLW
MOVWF
PLOOP1
MOVLW
MOVWF
PLOOP2
CLRWDT
DECFSZ
GOTO
DECFSZ
.19
PDEL0
; 375000 CICLOS
; 1 SET NUMERO DE REPETICION (C)
;1
.79
PDEL1
; 1 SET NUMERO DE REPETICION (B)
;1
.228
PDEL2
; 1 SET NUMERO DE REPETICION (A)
;1
PDEL2, 1
PLOOP2
PDEL1, 1
; 1 CLEAR WATCHDOG
; 1 + (1) ES EL TIEMPO 0 ? (A)
; 2 NO, LOOP
; 1 + (1) ES EL TIEMPO 0 ? (B)
83
GOTO
DECFSZ
GOTO
PDELL1
GOTO
PDELL2
CLRWDT
RETURN
PLOOP1
PDEL0, 1
PLOOP0
; 2 NO, LOOP
; 1 + (1) ES EL TIEMPO 0 ? (C)
; 2 NO, LOOP
PDELL2
; 2 CICLOS DELAY
; 1 CICLO DELAY
; 2+2 FIN.
Con este programa se mandarán los datos ó los comandos necesarios, si es un comando,
solo bastará con moverlo al LCD_REG, y si es un dato a LCD_DATO, con esto será
más que suficiente para escribir en el LCD.
4.7
Adquisición de datos y control PID desde LabVIEW
Antes de realizar cualquier actividad en LabVIEW de tipo adquisición o transmisión, es
necesario contar con los drivers de configuración, ya que éstos se encargarán de realizar
cualquier actividad que sea necesaria para adquirir o enviar datos.
Este software proporciona un ambiente de trabajo totalmente gráfico, por lo que es
relativamente fácil llevar a acabo una programación en él; además de contar con los
iconos de configuración (figura 4.1.8), lectura (figura 4.1.9) y escritura (figura 4.2.0)
del puerto serial.
Fig. 4.1.8 Icono de
Fig. 4.1.9 Icono de
Fig. 4.2.0 Icono de
config. de puerto
lectura de puerto
escritura de puerto
84
4.7.1
Diagrama de flujo para realizar software en labVIEW.
Inicio
El diagrama de flujo de la figura
4.2.1, muestra el orden de la
Configuración del
puerto serial
programación necesaria en este
software,
tanto
para
recibir
Lectura del puerto
serial.
información, como para graficarla e
indicarla y lo más importante que
es el control de temperatura por
Graficar e indicar
el valor leído.
medio del icono del PID, y una vez
que se obtiene se digitaliza en una
Control PID
palabra de 8 bits, misma que se
manda por LabVIEW a través el
Digitalizar la salida
del PID, en 8 bits
puerto serial al microcontrolador.
Enviar esta señal
al µC
Fig. 4.2.1 Diagrama de flujo de
programa en LabVIEW.
85
4.7.2 Configuración, escritura y lectura de puerto
Tanto la configuración como el modo de lectura del puerto serial se tiene que
colocar en un sequence structure (figura 4.2.2), ya que es necesario configurar el
puerto y leerlo.
Fig. 4.2.2 Estructura de un sequence structure.
Configuración:
La imagen de la figura 4.1.8, muestra el icono de configuración de puerto,
pero
para que pueda funcionar es necesario agregarle (figura 4.2.3): el número de
puerto a leer, la velocidad de recepción, el número de bits a leer, y si habrá algún
evento de paridad.
Fig. 4.2.3 Configuración de puerto serial en un sequence structure.
86
Ahora bien, una vez configurado el puerto el siguiente paso es mandar un
numero para inicializar todo, los próximos ya serán los correspondientes al PID,
en la figura 4.2.4, se puede observar que solo hay que tener el icono de escritura
que proporciona LabVIEW para esta tarea, indicarle el nombre del puerto y lo
que se enviará.
Fig. 4.2.4 Cableado del icono para escribir por el puerto serial.
El siguiente paso a realizar es el de lectura del puerto serial, la figura 4.2.5, se
puede observar qué se puede observar que solo hay que tener el icono de lectura
que proporciona LabVIEW para esta tarea, indicarle el nombre del puerto y
numero de bits a leer.
Fig. 4.2.5 Cableado del icono para leer el puerto serial.
87
4.7.3
Graficar los valores recibidos
Ahora sólo hay que graficar los valores recibidos; como se puede apreciar en el
cableado, éste es de color rosa, eso indica que el valor recibido está colocado en
una variable de tipo “String” ó alfanumérica, por lo tanto se pude cablear
directamente, ya que sólo grafica variables de tipo numérico, además de que los
datos recibidos vienen en caracteres separados; es decir, no es una sola cifra sino
son cuatro valores unitarios, por lo que es necesario colocarlos en un arreglo para
que dejen de ser 4 números y pasen a ser solo una cifra de 4 dígitos, por lo que se
recurre al icono de la figura 4.2.6, en el que sólo habrá que indicarle la fuente y
de qué longitud será la cantidad, y para trasformarlo de la variable “String” a una
variable de tipo numérica, como se muestra en el icono de la figura 4.2.7, donde
solo habrá que indicarle la fuente y a dónde se cableará el resultado que en este
caso se quiere que se indique en una gráfica (figura 4.2.8); a este resultado se le
llamará variable de proceso ya que proviene del proceso directamente.
Fig.
4.2.8
Fig.
4.2.6
Fig.
4.2.7
88
4.7.4 Control PID
El módulo de control PID (figura 4.2.9) de LabVIEW, representa un esquema
muy complejo dentro de los parámetros de control, pero debido a que este
software maneja solo iconos, es relativamente fácil operar este módulo, ya que
solo bastará con indicarle:
Fig. 4.2.9 Módulo de PID
El setpoint: este estará dado por el usuario, y se podrá controlar por medio de una
perilla (figura 4.3.0) y un indicador (figura 4.3.1).
4.3.0 Control de setpoint
4.3.1 Indicador de setpoint
Variable de proceso: esta variable no es otra cosa que la temperatura actual del
proceso o del reactor, es decir, la variable numérica que se está graficando.
89
Valores de las variables P + I + D) a tomar (figura 4.3.2)
Fig. 4.3.2 Valores de variables P + I + D
El intervalo de salida; ésta salida es en forma porcentual (figura 4.3.3), y se
indicará el intervalo de control; es decir, se indicará la máxima y la mínima del
proceso en tanto porcentual.
Fig. 4.3.3 Intervalo de salida del PID.
Indicador de salida (figura 4.3.4); éste solamente tendrá la función de indicar el
tanto porcentual del control.
Fig. 4.3.4 Indicador de salida del PID
90
4.7.5
Conversión del error del PID, para ser enviado por RS-232
Para realizar esta conversión del error que proporciona el modulo de PID, se tienen
que realizar 2 pasos, para convertir esta señal de error, y así enviarla por RS-232
(figura 2.3.5).
1.- Cablear la salida del PID a un icono de “build array”, esto para tenerlo en un
arreglo con fines estratégicos.
2.- A la salida del “build array”, este se cable al icono “bit array to string”, esto
para cambiarlo a una variable de tipo string y a ASCII, para posteriormente
enviarlo al µC.
Fig. 2.3.5 Conversión del error del PID, y envió del mismo
91
4.8
Cruce por cero
La teoría de funcionamiento de esta técnica está basada en sincronizar una onda de tipo
rampa con una de tipo senoidal; es decir cada, vez que la onda senoidal cruce por cero,
se dispara una onda de tipo rampa (gráfica 4.3.6).
Fig. 4.3.6 Sincronización de onda senoidal con una onda de rampa.
Ahora bien, la onda senoidal no proviene de la línea de 127 VPP de C.A directamente, si
no que se obtiene de un trasformador de 24 VPP. C.A.
Para trazar la onda de rampa es necesario construir un circuito que realice tal actividad,
por lo que se recurre al diagrama de la figura 4.3.7, la descripción de este es:
Al tener una onda senoidal proporcionada por el transformador se compara, al final se
pasa a un circuito integrador, éste trazará la rampa al momento de que la onda senoidal
cruce por “0”, y esta rampa se compara con un +VCOM proporcionado por un DAC, y es
pulso
de
comparación
irá
directamente
a
la
fase
se
potencia.
92
V1
120 V
60 Hz
0Deg
2
T1
4
D1
1
TS_PQ4_24
3
1B4B42
VDD
12V
VDD
1.00kOhm_1%
4
C1
D2
VEE -12V
1
2
LM324AJ
1N4007GP
4
R7
R3
1.0kOhm_5%
100kOhm_1%
C2
D3
R6
VEE
-12V
14
2
LM324AJ
LM324AJ
11
VEE -12V
1
13
Q2
8
100uF-POL
11
3
U1C
10
9
U2A
U1D
12
11
4
4
0.1uF
100uF-POL
11
12V
2N3904 C3
U1A
3
R2
1.0kOhm_5%
Q1
R5
R1
15.0kOhm_1%
LM324AJ
1N4007GP
R9
1.00kOhm_1%
1.00kOhm_1%
2N3904
R4
1.0kOhm_5%
C4
VEE
-12V
0.1uF
R8
100kOhm_1%
4
4
U1B
5
7
6
5
U2B
7
6
11
11
LM324AJ
LM324AJ
Fig. 4.3.7 Diagrama del circuito de cruce por cero.
93
Todo lo anterior lo describe la gráfica de la figura 4.3.8.
Ahora que ya se obtuvo la
rampa; esta siempre se estará
comparando por medio de
12 Vpp
t
Transformador
amplificadores operacionales,
y éste se saturara el tiempo
que dure el pulso; a su vez,
éste pulso será el que controle
+ 11 Vcc
+ Vcom
la corriente que se deje fluir
t
a la fase de potencia (fig.
4.3.9) ya que éste controlará
Pulso dirigido
al Gate de los
SCR’s
Pulso
directamente a la resistencia
Pulso
t
eléctrica, dejando fluir la
corriente solo lo que dure el
pulso; éste tiempo estará dado
127 Vpp
Línea (CFE)
t
por +VCOM que provendrá de
un DAC de 8 bits el MC1408; los 8 bits provendrán
de la digitalización PID de
LabVIEW, de este modo se
Fig. 4.3.8Descripción gráfica del control
obtiene un óptimo control de
de la Resistencia eléctrica.
94
La fase de potencia (figura 4.3.9, muestra el arreglo de los SCR’s, que son los que
directamente controlan el flujo de corriente, y este flujo proviene del pulso producido
por la saturación de los amplificadores operacionales.
La función de los CI MOC3011 (optoacopladores salida transistor), es el pulso de
saturación que ofrecen los amplificadores operacionales; éstos optoacopladores la
convierten por medio del transistor en una salida o un pulso de + 12 VCC, que se
inyectan a las “Gate” ó compuertas de los SCR’s, para realizarse el control sobre la
resistencia eléctrica.
Fig. 4.3.9 Diagrama de fase de potencia.
95
CAPÍTULO V
EVALUACIÓN
ECONÓMICA
Y
RESULTADOS
OBTENIDOS
96
5.1
Evaluación económica
Los materiales son elementos básicos que se transforman en productos terminados a
través del uso de la mano de obra y de los costos indirectos de fabricación en el proceso
de producción.
Los costos de los materiales pueden ser directos e indirectos, los materiales directos son
aquellos que pueden identificarse con la producción de un articulo terminado, que
pueden asociarse fácilmente al producto y que representan un costo importante del
producto terminado.
Los materiales indirectos son los demás materiales o suministros involucrados en al
producción de un articulo que no se clasifican como materiales directos, es decir,
materiales ocupados pero que no desempeñan una función trascendente.
En la tabla 5.1 se describen los materiales directos utilizados en la fabricación del
sistema donde además de incluye la cantidad del material.
97
Cantidad
Descripción
Precio ($)
1
Termopar tipo “K”
330.00
1
Par de clavijas para termopar tipo “K”
110.00
1
Resistencia eléctrica, tipo abrazadera
380.00
1
µC, PIC16F877A
120.00
1
LCD 16X2
125.00
1
MAX-232
6.00
1
LT1025
110.00
1
AD620
120.00
1
MC1408
26.00
2
LM324
10.00
4
Trimpot
40.00
8
Clémas
25.00
2
Mts. De alambre
3.00
2
Mts. De cable
3.00
Misceláneos
Resistencias, capacitores, led’s, tiras de pines
100.00
1
Manómetro de acero inoxidable 5 Kg/cm2
790.00
Total
$ 2’ 298.00
Tabla 5.1 Lista de materiales.
98
5.2
Resultados obtenidos
Este instrumento de control de temperatura ofrece un óptimo desempeño durante
intervalos de más de 30 hrs. constantes de trabajo, todo esto previamente probado, sobre
el control del proceso sin contar el tiempo de ascenso de la temperatura.
Como medida de seguridad se adoptó que sólo con la ayuda de una PC, y el programa
que se elaboró en LabVIEW, éste reactor funcionaría, y de un principio se debe conectar
a la terminal del puerto serie de la PC con el instrumento, solo así éste podrá realizar el
control, el cual cumple satisfactoriamente los parámetros especificados con una
variación de: ± 4 °C , en la etapa de estabilización del proceso, una vez estabilizado se
tiene una variación de : ± 1.5º C .
El intervalo de mínimo y máximo capaz de mostrar en el LCD, es de 0ºC a 255ºc, debido
a que la temperatura promedio de trabajo del reactor fue de 150ºC, se puede considerar
que este instrumento es capaz de ser utilizado en otras aplicaciones a futuro sin que se
modifique gran parte del instrumento.
Otra medida de seguridad que se adoptó en caso de que el instrumento llegarse a fallar,
fue que, cuando la temperatura excediera 10ºC mas allá del setpoint preestablecido, el
programa de control realizado en LabVIEW, mandaría una señal de FFH , provocando
99
con esto que resistencia dejara de calentar y el µC, se quedara en un Loop infinito hasta
ser reestablecido.
Especificaciones del instrumento:
Alimentación: ± 12 Vcc y 5 Vcc.
Comunicación: serial RS-232.
Intervalo de operación: 50 ºC a 255 ºC
Velocidad de transmisión: 9600 Bauds.
Error en la transmisión: 0%.
Enlace: Full-Duplex.
Resistencia calefactora: 35 Ω.
Potencia la resistencia eléctrica: 500 W.
Alimentación eléctrica: 127 Vac.
Transformador: 127 Vac a 24 Vac a 1 A.
100
CONCLUSIONES
101
Siempre al realizar cualquier proyecto sea de tipo: mecánico, eléctrico, electrónico, etc.
Se debe buscar aprovechar todo recurso que proporcione el componente, y no tener
componentes que realicen funciones complejas y estén realizando funciones básicas, ya
que esto implica una perdida de dinero y recursos.
La implementación de µC’s PIC, es una de las opciones más adecuadas, ya que se
cuentan con familias con diferentes características dando así la oportunidad de
seleccionar un µC adecuado para las diferentes aplicaciones.
Dentro de esta aplicación la utilización del PIC16F877A, cumple con los requerimientos
óptimos, ya que es aprovechado un 76 % de sus terminales disponibles y un 85% de
espacio de memoria disponible para programar, con ello se demuestra que este µC
cuenta con una aprovechamiento óptimo para realizar esta actividad.
El control PID es un gran aliado para mantener dentro de los parámetros establecidos
gran cantidad de variables, tales como: presión, temperatura, nivel, velocidad, etc., este
se puede realizar con amplificadores operacionales, y virtuales, tal como se utilizo para
mantener el control en esta aplicación, realizándolo desde LabVIEW, y después
mandando la señal de error, vía RS-232.
102
Al final es un poco complicado realizar este tipo de control de la forma virtual, pero el
resultado que se obtiene en el control es muy satisfactorio.
Ésta experiencia profesional me brindó la oportunidad de reafirmar una vez más que este
camino profesional es el más adecuado para mí, ya que durante mi estancia en éste
prestigiado centro de investigaciones, obtuve conocimientos mas avanzados acerca del
control y todo lo que implica éste, así como perfeccioné mis técnicas sobre construcción
y diseño de circuitos impresos, además aprendí y perfeccioné más mis conocimientos de
programación de microcontroladores.
103
BIBLIOGRAFÍA
104
Bibliografía
Franco, Sergio.
DISEÑO CON AMPLIFICADORES OPERACIONALES Y CIRCUITOS INTEGRADOS
ANALÓGICOS.
3ª. Ed. U.S.A
McGraw-Hill.
2002, 680 págs.
Bolton, William.
INGENIERÍA DE CONTROL
2ª. Ed. U.S.A
Alfaomega.
2004, 397 págs.
Angulo Usartegui, José Mª.
Angulo Martínez, Ignacio.
MICROCONTROLADORES PIC, DISEÑO PRÁCTICAS DE APLICACIONES,
PRIMERA PARTE
3ª. Ed. México D.F.
McGraw-Hill.
2003, 197 págs.
Angulo Usartegui, José Mª.
Romero Yesa, Susana.
Angulo Martínez, Ignacio.
MICROCONTROLADORES PIC, DISEÑO PRÁCTICAS DE APLICACIONES,
SEGUNDA PARTE
1ª. Ed. México D.F
McGraw-Hill.
2002, 185 págs.
Tocci, Ronald J.
SISTEMAS DIGITALES, PRINCIPIOS Y APLICACIONES
105
6ª. Ed. U.S.A
Alfaomega
1996, 833 págs.
Creus Solé, Antonio.
INSTRUMENTACIÓN INDUSTRIAL
5ª. Ed. Barcelona España
Alfaomega
1993, 732 págs.
Páginas Web:
Ing. Silvia Medrano Guerreo, Termopares, consulta al 30 de mayo de 2006,
http://www.metas.com.mx
Ing. Noel Gutiérrez, Tipos de Presión & Vacío, consulta al 30 de mayo de 2006,
http://www.metas.com.mx
Microchip,
33023a_MID_RANGE,
consulta
al
02
de
mayo
de
2006,
http://www.microchip.com
Nacional Semiconductor, Datasheet , consulta del 02 al 10 de mayo de 2006,
http://www.nationalsemiconducor.com
On Semiconductor, DatasheetArchive, consulta del 05 de mayo de 2006,
http://datasheetarchive.com
106
ANEXO I
107
LIST
#INCLUDE
P=16F877A
P16F877A.INC
__CONFIG
_CP_OFF&_DEBUG_OFF&_WRT_OFF&_CPD_OFF&_LVP_OFF&_BODEN_OFF&_PWRTE_ON&_WDT_OFF&_HS_O
SC
CBLOCK
PDEL0
PDEL1
HEXADECIMAL
ASCII_H
ASCII_M
ASCII_L
TEMP
DIGITO
R_ERROR
CHECK
ENDC
0X20
ORG
GOTO
0X00
INICIO
ORG
GOTO
0X04
INT_VECTOR
ORG
0X05
;VARIABLE
;VARIABLE
;VARIABLE
;VARIABLE
;VARIABLE
;VARIABLE
;VARIABLE
#INCLUDE
#INCLUDE
LIBRE_LCD.INC
ADC_ASCII.INC
CLRF
CLRF
CLRF
CLRF
CLRF
CLRF
CLRF
CALL
HEXADECIMAL
TEMP
ASCII_H
ASCII_M
ASCII_L
PORTD
DIGITO
CONFIGURA
DE
DE
DE
DE
DE
DE
DE
RETARDO
RETARDO
CONVERSION
CENTESIMOS
DECIMOS
UNIDADES
TIEMPO DE ADC
;INCLUYE LIB. DE LCD
;INCLUYE LIB. CONVERTIDOR DE BIN A ASCII
INICIO
;LIMPIA
;LIMPIA
;LIMPIA
;LIMPIA
;LIMPIA
;LIMPIA
FLAGS
FLAGS
FLAGS
FLAGS
FLAGS
FLAGS
;LIMPIA FLAGS
LOOP
NOP
NOP
GOTO
INT_VECTOR
;MOVLW
;ANDWF
;BTFSS
;GOTO
BTFSS
RETFIE
MOVF
MOVWF
LOOP
0X00
RCSTA,W
STATUS,Z
RCVERROR
PIR1,5
RCREG,W
R_ERROR
;LOOP INFINITO
;VECTOR DE INTERRUPCION
;MASK OUT UNWANTED BITS
;CHECK FOR ERRORS
;FOUND ERROR, FLAG IT
;UASRT RECEIBE INTERRUTION FLAG
;SOME OTHER INTERRUPT, EXIT
;RECIBE ERROR
108
MOVWF
CHECK
MOVLW
ANDWF
BTFSS
GOTO
GOTO
0X00
CHECK,W
STATUS,Z
SIN_PROBLEMAS
CON_PROBLEMAS
SIN_PROBLEMAS
MOVF
MOVWF
CALL
CALL
CALL
GOTO
;CARGA EN CHECK
R_ERROR,W
PORTD
CONV_AD
BIN_ASCII
TRANSMITE
LCD
LCD
BCF
BCF
STATUS,5
STATUS,6
CALL
LCD_INI
MOVLW B'00000001'
CALL
LCD_REG
MOVLW
B'00000110'
CALL
LCD_REG
MOVLW
B'00001100'
CALL
LCD_REG
MOVLW 0X03
CALL
LCD_REG
MOVLW
0X80
CALL
LCD_REG
MOVLW 'T'
CALL
LCD_DATOS
MOVLW 'E'
CALL
LCD_DATOS
MOVLW 'M'
CALL
LCD_DATOS
MOVLW 'P'
CALL
LCD_DATOS
MOVLW ' '
CALL
LCD_DATOS
MOVLW '='
CALL
LCD_DATOS
MOVLW ' '
CALL
LCD_DATOS
GOTO
MANDA_ALGO
;MANDADA TEMPERATURA AL LCD
MANDA_ALGO
MOVF
ASCII_H,W
CALL
LCD_DATOS
PASA DE 100°C
MOVF
CALL
ASCII_M,W
LCD_DATOS
MOVF
CALL
ASCII_L,W
LCD_DATOS
MOVLW
CALL
0XDF
LCD_DATOS
MOVLW
CALL
'C'
LCD_DATOS
MOVLW
CALL
0XC0
LCD_REG
;BANCO 'O'
;BORRA LCD Y LO PONE EN HOME.
;DESPLAZAMIENTO DEL CURSIR HACIA LA DERECHA.
;LCD ON, CURSOR OFF, PARPADEO OFF.
;MANDO EL CURSOR AL INICIO DEL LCD.
;ESCRIBO EL LA PRIMERA LINEA DEL LCD.
;VISUALIZA UNA 'T'
;VISUALIZA UN
'E'
;VISUALIZA UN
'M'
;VISUALIZA UN 'ESPACIO'
;VISUALIZA UNA '1'
;VISUALIZA UN
'='
;VISUALIZA CARACTER CERO AL IZQUIERDA CUANDO LA TEM NO
;º
;C
;CAMBIO A SEGUNDA LINEA
109
MOVLW
CALL
MOVLW
CALL
MOVLW
CALL
MOVLW
CALL
MOVLW
CALL
MOVLW
CALL
MOVLW
CALL
MOVLW
CALL
MOVLW
CALL
MOVLW
CALL
MOVLW
CALL
MOVLW
CALL
MOVLW
CALL
RETFIE
'S'
LCD_DATOS
'T'
LCD_DATOS
'A'
LCD_DATOS
'T'
LCD_DATOS
'U'
LCD_DATOS
'S'
LCD_DATOS
' '
LCD_DATOS
'I'
LCD_DATOS
'S'
LCD_DATOS
' '
LCD_DATOS
'O'
LCD_DATOS
'.'
LCD_DATOS
'K'
LCD_DATOS
RCVERROR
BCF
BSF
MOVLW 0FFH
MOVWF PORTB
RETFIE
DELAY_5MS
MOVLW .44
MOVWF
PDEL0
RCSTA,4
RCSTA,4
;VISUALIZA UNA 'T'
;VISUALIZA UN
'E'
;VISUALIZA UN
'M'
;VISUALIZA UN 'ESPACIO'
;VISUALIZA UNA '1'
;VISUALIZA UN
'='
;VISUALIZA UNA 'T'
;VISUALIZA UN
'E'
;VISUALIZA UN
'M'
;VISUALIZA UN 'ESPACIO'
;VISUALIZA UNA '1'
;VISUALIZA UN
'='
;CLEAR RECIEVER STATUS
;LIGHT ALL LEDS
;CON CRYSTAL DE 20 MHz, 25000 CICLOS.
; 1 SET NUMERO DE REPETICION (B)
; 1 |
PLOOP1
MOVLW
.141
MOVWF
PDEL1
PLOOP2
CLRWDT
DECFSZ PDEL1,1
GOTO
PLOOP2
DECFSZ PDEL0,1
GOTO
PLOOP1
PDELL1
GOTO
PDELL2
PDELL2
CLRWDT
RETURN
; 1 SET NUMERO DE REPETICION
(A)
; 1 |
; 1 CLEAR WATCHDOG
; 1 + (1) ES EL TIEMPO 0 ? (A)
; 2 NO, LOOP
;1 + (1) ES EL TIEMPO 0 ? (B)
; 2 NO, LOOP
; 2 CICLOS DELAY
; 1 CICLO DELAY
; 2+2 FIN.
CONV_AD
MOVLW
MOVWF
CALL
B'10000001'
ADCON0
RET_CONVER
;CRYSTAL DE 11.0592 MHz.
GO_ADC
BSF
WAIT_ADC
BTFSC
ADCON0,GO_DONE ;INICIO DE LA CONVERSION.
ADCON0,GO_DONE
110
GOTO
WAIT_ADC
;ESPERA QUE FINALICE LA CONVERSION
RETURN
;LA CONVERSION ESTA COMPLETA Y SE ENCUENTRA EL ADRESH Y ADRESL.
RET_CONVER
MOVLW
MOVWF
YA_NO
DECFSZ
GOTO
RETURN
.15
TEMP
TEMP,1
YA_NO
TRANSMITE
;TRANSMITE LAS 3 VARIABLE DE TEMPERATURA POR RS-232
;MANDO EL ASCHII_H
BCF
BCF
STATUS,5
STATUS,6
MOVF
MOVWF
ASCII_H,W
TXREG
BSF
BCF
STATUS,5
STATUS,6
COMP_ASCII_H
BTFSS
GOTO
;BANCO '1'
TXSTA,1
COMP_ASCII_H
;MANDO EL ASCII_M
BCF
STATUS,5
MOVF
MOVWF
ASCII_M,W
TXREG
BSF
BCF
STATUS,5
STATUS,6
COMP_ASCII_M
BTFSS
GOTO
;BANCO '0'
;BANCO '0'
;BANCO '1'
TXSTA,TRMT
COMP_ASCII_M
;MANDO EL ASCII_L
BCF
STATUS,5
MOVF
MOVWF
ASCII_L,W
TXREG
BSF
BCF
STATUS,5
STATUS,6
COMP_ASCII_L
BTFSS
GOTO
;BANCO '0'
;BANCO '1'
TXSTA,TRMT
COMP_ASCII_L
;FIN DE BLOCKE DE TRANSMISIÓN.
BCF
BCF
STATUS,5
STATUS,6
MOVLW
MOVWF
0X20
TXREG
BSF
BCF
STATUS,5
STATUS,6
;BANCO '0'
;FIN DE BLOQUE TRANSMITIDO
;BANCO '1'
111
FIN_BLOCK
BTFSS
GOTO
TXSTA,TRMT
FIN_BLOCK
BCF
STATUS,5
BCF
STATUS,6
RETURN
CON_PROBLEMAS
BCF
BCF
STATUS,5
STATUS,6
MOVLW
MOVWF
0X00
PORTD
CLRF
DIGITO
CALL
LCD_INI
MOVLW B'00000001'
CALL
LCD_REG
MOVLW
B'00000110'
CALL
LCD_REG
MOVLW
B'00001100'
CALL
LCD_REG
MOVLW 0X03
CALL
LCD_REG
MOVLW
0X80
CALL
LCD_REG
;BANCO '0'
;BANCO 'O'
;BORRA LCD Y LO PONE EN HOME.
;DESPLAZAMIENTO DEL CURSIR HACIA LA DERECHA.
;LCD ON, CURSOR OFF, PARPADEO OFF.
;MANDO EL CURSOR AL INICIO DEL LCD.
;ESCRIBO EL LA PRIMERA LINEA DEL LCD.
REPETIR
MOVF
CALL
IORLW
BTFSC
GOTO
CALL
INCF
GOTO
DIGITO,W
FALLO_TABLE
0
STATUS,Z
ACABAR
LCD_DATOS
DIGITO,F
REPETIR
;W=DIGITO
;TRAE CARACTER EQUIVALENTE
;COMPARA SI ES EL ULTIMO
;ES EL ULTIMO?
;SI
;DESPLIEGA CARACTER EN EL LCD
;INCREMENTA A DIGITO EN UNO
;TOMA NUEVO VALOR DIGITO Y REGRESA POR EL SIGUENTE CARACTER
RE_2
MOVLW 0XC0
CALL
LCD_REG
RETURN
;SE ESCRIBE EN LA SEGUNDA LINEA
;SE LE INDICA AL LCD QUE INTERPRETE LA INSTRUCCION
ACABAR
NOP
GOTO
ACABAR
SEESTABLECIDO.
;AQUI SE QUEDA TODO EL TIEMPO, HASTA SER
; TABLA DE DATOS
FALLO_TABLE
ADDWF
PCL,1
RETLW
'S'
RETLW
'T'
RETLW
'A'
RETLW
'T'
RETLW
'U'
RETLW
'S'
RETLW
' '
RETLW
'O'
RETLW
'F'
RETLW
' '
RETLW
'S'
112
RETLW
'I'
RETLW
'S'
RETLW
'T'
RETLW
'E'
RETLW
'M'
CALL
RE_2
RETLW
' '
RETLW
'I'
RETLW
'S'
RETLW
' '
RETLW
'F'
RETLW
'A'
RETLW
'I'
RETLW
'L'
RETLW
'U'
RETLW
'R'
RETLW
'E'
RETLW 0X00
CONFIGURA
BSF
BCF
STATUS,5
STATUS,6
;BANCO '1'
MOVLW
MOVWF
B'00000101'
ADCON1
;+2.56 DE V DE REF.
MOVLW
MOVWF
0XFF
TRISA
;PORTA, COMO ENTRADAS ANALOGICAS
MOVLW
MOVWF
0X00
TRISE
;PORTE, COMO SALIDA
MOVLW
MOVWF
B'10111111'
TRISC
;PINES RC7/RX, COMO ENTRADA, Y RC6/TX COMO SALIDA
MOVLW
MOVWF
0X00
TRISB
;PORTB, COMO SALIDA
MOVLW
MOVWF
0X00
TRISD
;PORTD, COMO SALIDA
MOVLW
MOVWF
B'00100100'
TXSTA
;8 BITS TRANS, TRANSMIT ENABLE, ASYC MODE, HIGH
MOVLW
MOVWF
.71
SPBRG
;CON UN CRYSTAL DE 11.0592 MHZ A 9600 BAUDS
MOVLW
MOVWF
B'00100000'
PIE1
;ENABLE RCIF INTERRUPT
SPEED
BCF
STATUS,5
MOVLW B'10010000'
MOVWF RCSTA
ENABLE BIT ASYC
MOVLW
MOVWF
B'11000000'
INTCON
;BANCO '0'
;SERIAL PORT ENABLE, 8 BITS, CONTINUOUS RECEIVE
;ENABLE GLOBAL INTERRUPTS
RETURN
END
113
ANEXO II
114
115
116
117
118
119
120
Descargar