DESARROLLO DE UNA TARJETA INTEGRAL DE ADQUISICIÓN DE DATOS PARA IMPLEMENTACIÓN DE PRÁCTICAS DE CONTROL CON BASE EN PROGRAMAS DE MODELAMIEMTO PARA LA UNIVERSIDAD DE SAN BUENAVENTURA JUAN CAMILO CASTELBLANCO PERALTA ALVARO JOSÉ MARTÍNEZ JUNCA UNIVERSIDAD DE SAN BUENAVENTURA FACULTAD DE INGENIERÍA PROGRAMA DE INGENIERÍA ELECTRÓNICA BOGOTÁ 2008 DESARROLLO DE UNA TARJETA INTEGRAL DE ADQUISICIÓN DE DATOS PARA IMPLEMENTACIÓN DE PRÁCTICAS DE CONTROL CON BASE EN PROGRAMAS DE MODELAMIENTO PARA LA UNIVERSIDAD DE SAN BUENAVENTURA JUAN CAMILO CASTELBLANCO ALVARO JOSÉ MARTÍNEZ JUNCA Proyecto de grado Tutor: Giovanni Sánchez Prieto UNIVERSIDAD DE SAN BUENAVENTURA FACULTAD DE INGENIERÍA PROGRAMA DE INGENIERÍA ELECTRÓNICA BOGOTÁ 2008 2 Nota de aceptación: …………………………………………… …………………………………………… …………………………………………… …………………………………………… …………………………………………… ------------------------------------------------Firma Jurado 1 ------------------------------------------------Firma jurado 2 Bogotá junio de 2008 3 DEDICATORIA A mis padres que sin ellos no sería ni un poquito de lo que soy, y a mi sobrinito Juan Sebastián. Juan Camilo Castelblanco Peralta Quiero dedicarle este trabajo a mi madre Mercedes Junca, mi padre Álvaro Martínez, mi hermana Alejandra Martínez y a toda mi familia por todo el apoyo que he recibido por parte de ellos durante toda la carrera, sin la ayuda de ellos este hubiera sido un camino muy complicado, a todas las personas que han estado a mi lado durante toda mi carrera como amigos, compañeros y a todas las personas que contribuyeron a mi formación como persona y profesional. Álvaro José Martínez Junca 4 AGRADECIMIENTOS Primero agradezco a Dios, él permitirme llegar hasta acá y el poder continuar adelante, a mi gran familia, a mis amigos y a todas las personas que hicieron posible tan gran logro, a todos aquellos profesores que me apoyaron y guiaron y al padre Fray Fernando Garzón Garzón que más que un rector fue siempre un gran amigo. Juan Camilo Castelblanco Peralta Primero a Dios, a mi familia y a mi universidad que siempre me apoyó en todos los proyectos a nivel educativo y deportivo en los que participé. A mis amigos por su confianza y soporte en momentos difíciles, gracias a todos Álvaro José Martínez Junca 5 CONTENIDO CONTENIDO 6 LISTA DE FIGURAS 8 GLOSARIO 12 INTRODUCCIÓN 14 1. 16 PLANTEAMIENTO DEL PROBLEMA 1.1. ANTECEDENTES 16 1.1.1. Sistemas de adquisición y procesamiento de señales 16 1.1.2. Procesadores de propósito general mejorados 19 1.1.3. Lógica difusa 21 1.1.4. Sistemas de adquisición de datos en la Universidad San Buenaventura 22 1.2. DESCRIPCIÓN Y FORMULACIÓN DEL PROBLEMA 24 1.3. JUSTIFICACIÓN 24 1.4. OBJETIVOS DE LA INVESTIGACIÓN 25 1.4.1. Objetivo general 25 1.4.2. Objetivos específicos: 25 1.5. 2. ALCANCES Y LIMITACIONES DEL PROYECTO MARCO DE REFERENCIA 2.1. 26 27 MARCO TEÓRICO – CONCEPTUAL 27 2.1.1. Consideraciones en el diseño de sistemas de adquisición de datos 27 2.1.2. Tipos de filtros anti-solapamiento 29 2.1.3. Método abanico de papel 31 6 2.1.4. Selección de la tasa de muestreo 32 2.1.5. Conceptos básicos de lógica difusa: 34 2.2. 3. MARCO LEGAL O NORMATIVO 39 METODOLOGÍA 41 3.1. ENFOQUE DE LA INVESTIGACIÓN 41 3.2. LÍNEA DE INVESTIGACIÓN DE USB/ SUB-LÍNEA DE FACULTAD / CAMPO TEMÁTICO DEL PROGRAMA. 41 3.3. HIPÓTESIS 42 3.4. VARIABLES 42 3.4.1. Variable independiente 42 3.4.2. Variables dependientes 42 4. DESARROLLO INGENIERIL 4.1. 43 ETAPA 1. SELECCIÓN DEL DISPOSITIVO A UTILIZAR COMO ELEMENTO CENTRAL DE LA TARJETA 44 4.1.1. Tipos de encapsulado 47 4.1.2. Elementos periféricos o actuadores de la tarjeta 50 4.2. ETAPA 2. PRUEBAS DE RENDIMIENTO Y SELECCIÓN. 52 4.2.1. Entorno de programación de los microcontroladores seleccionados. 52 4.2.2. Pruebas 62 4.3. ETAPA 3. CARACTERIZACIÓN DE FUNCIONES Y PLANTEAMIENTO DE PRÁCTICAS. 75 4.3.1. Caracterización de funciones. 76 4.3.2. Planteamiento de prácticas 80 7 5. PRESENTACIÓN Y ANÁLISIS DE RESULTADOS 92 6. CONCLUSIONES 95 7. RECOMENDACIONES 97 BIBLIOGRAFÍA 99 ANEXOS. 100 LISTA DE FIGURAS 8 Figura 1 Distribución de ventas de los principales vendedores 17 Figura 2 DSP de propósito especifico 19 Figura 3 Sistema NI ELVIS 24 Figura 4 Múltiples ondas tomadas en los mismos puntos de muestreo 28 Figura 5 Generación de espectro sobrepuesto producido por solapamiento 28 Figura 6 Respuesta de un filtro anti - solapamiento 29 Figura 7 Abanico que muestra el espectro de una señal determinada 31 Figura 8 Forma del espectro resultante 32 Figura 9 Espectro mostrado de una señal pasabanda 33 Figura 10 Selección adecuada de frecuencia de muestreo. 33 Figura 11 Diagrama de bloques de la solución planteada. 43 Figura 12 Encapsulado DIP 48 Figura 13 Encapsulado SOIC 48 Figura 14 Batería electrónica con interfase MIDI para Mac OS X 53 Figura 15 Tapete urbano desarrollado con Arduino 54 Figura 16 Interfase de programación Arduino 55 Figura 17 Mensaje de error por exceso de uso de memoria 57 Figura 18 Algoritmo de funciones del programa propuesto en Arduino. 57 Figura 19 Justificación de la trama de transmisión serial 58 Figura 20 Entorno de programación Mikrobasic for dsPIC 59 Figura 21 Utilización de la memoria por procesos 61 Figura 22 Utilización de memoria en microcontrolador. 62 9 Figura 23 Circuito para analizar la tasa de muestreo Figura 24 Modificación de los registros de control de tiempo de conversión del dsPIC. 66 Figura 25 Resultado obtenido con un canal de conversión programado. 67 Figura 26 Resultado obtenido con dos canales de conversión programados. 68 Figura 27 Resultado obtenido con tres canales de conversión programados. 68 Figura 28 Resultado obtenido con cuatro canales de conversión programados. 69 Figura 29 Resultado obtenido con cinco canales de conversión programados. 69 Figura 30 Resultado obtenido con seis canales de conversión programados. 70 Figura 31 Resultado obtenido con siete canales de conversión programados. 70 Figura 32 Información en cada uno de los canales. 82 Figura 33 Selección del canal de conversión a visualizar 83 Figura 34 Espacio para el ingreso de las variables dentro del programa 83 Figura 35 Señal completa sin desfase 90 Figura 36 Comportamiento de la tasa de muestreo con respecto a la cantidad de canales programados 65 92 LISTA DE TABLAS 10 Tabla 1. Cambios en los índices productores de DSP 17 Tabla 2. Características de los microcontroladores seleccionados 49 Tabla 3. Elementos seleccionados como actuadores integrados a la tarjeta 50 Tabla 4. Resultado de las pruebas por canal de conversión 67 Tabla 5. Protocolo de transmisión 81 Tabla 6. Equivalencia de señales 84 Tabla 7. Señales equivalentes: 85 Tabla 8. Equivalencia de señales 86 Tabla 9. Análisis de costos 118 11 GLOSARIO DIFUSO. Impreciso, en electrónica se define la salida del sistema no posee un valor absoluto o único, por el contrario posee muchas opciones. P.e. nivel de apertura de una puerta: abierta, medio abierta, un poco cerrada, un poco abierta… etc. PWM. La modulación por anchura de pulsos es cuando se varia el ciclo útil de trabajo de una señal con un periodo determinado, por lo general se utilizan en motores para controlar su velocidad. LCD. (Pantalla de cristal liquido) dispositivo utilizado para la visualización de caracteres sin necesidad de utilizar un computador inventado por Jack Janning. MICROGRADES. Acrónimo de Microcontroller Graphic Development System (sistema de desarrollo gráfico para microcontroladores), programa colombiano que permite la programación de microcontroladores Motorola a través de un entorno gráfico. LED. Diodo emisor de luz, especie de bombillo pequeño debajo consumo utilizado en la electrónica generalmente como testigo de la presencia de una señal o un proceso. CONVERSIÓN ANALÓGICA-DIGITAL. Un CAD es un circuito que convierte datos análogos con variación continua en una forma digital equivalente, estos convertidores pueden construirse como circuitos integrados monolíticos, circuitos híbridos de alto rendimiento o módulos de componentes discretos 1 COMUNICACIÓN SERIAL. Es la transmisión electrónica de información o de datos codificados de un punto a otro, el tema abarca los procedimientos y el equipo necesario para transmitir y recibir datos entre dos o más puntos. Dicha transmisión se realiza por el 1 GIBILISCO, Stan, Electrónica diccionario enciclopédico, cuarta edición, Ed. McGraw Hill, 2004 12 puerto serial del computador, y la información es enviada bit a bit para ser enviada por arios medios de transmisión. 2 2 Ibíd. 13 INTRODUCCIÓN Desde hace varios años se ve un gran crecimiento en cuanto al auge que tiene el desarrollo de la electrónica, microelectrónica y nanoelectrónica, esto se atribuye a que en la actualidad se pretende facilitar y mejorar el diario vivir de las personas en el mundo entero, generando el diseño de nuevos dispositivos cada vez mejores y por lo general más pequeños para optimizar su consumo de energía. A nivel industrial se observan fenómenos tales como la automatización total o parcial de procesos ya existentes dando lugar a los sistemas de adquisición de datos para el monitoreo de variables que no presenten sus resultados en un formato digital. Los sistemas de adquisición de datos son aquellos en los cuales se mezclan e integran las ventajas de los distintos dispositivos electrónicos tales como los microcontroladores entre sus características más utilizadas están los conversores análogos digitales, entradas y salidas ya sean análogas o digitales, velocidad de procesos, entre otros, el cual interactúa con el sistema a través de los actuadores para su optimo desarrollo y automatización del proceso. La universidad de San Buenaventura cuenta con sistemas complejos de adquisición de datos, pero no cuentan con la movilidad, economía y facilidad de manejo que puede brindar una tarjeta realizada con microcontroladores. Se propone trabajar en el desarrollo de una tarjeta que integre todos los elementos necesarios para el control de un sistema de baja complejidad o los sistemas quemas comúnmente son propuestos en la universidad, esto se hace con el propósito de disminuir los tiempos de implementación de los estudiantes y motivarlos a desarrollar mas practicas relacionadas con microcontroladores en general. Independientemente del proceso de agilización se trabajará sobre una interfaz gráfica elaborada en un programa de modelamiento (Matlab o LabView) el cual esté en la 14 capacidad de recibir señales a través de la tarjeta mencionada anteriormente y desarrollar trabajos relacionados con control difuso. Estos programas cuentan con herramientas de simulación las cuales muestran de manera gráfica el comportamiento del sistema, pero no cuentan con un sistema que esté en la capacidad de suministrar una respuesta externa a un sistema. 15 1. PLANTEAMIENTO DEL PROBLEMA 1.1. ANTECEDENTES 1.1.1. Sistemas de adquisición y procesamiento de señales En 1984 el gobierno del Japón por medio del ministerio encargado de la tecnología, realizó proyectos acerca de un tipo de tarjetas que permitía la adquisición de datos para mantener al día el estado de infraestructura afectadas por sismos, a tal situación, los laboratorios geotécnicos crearon dichos dispositivos, el cual consiste en una computadora portátil y un desarrollo en un programa de adquisición de datos. Esta alternativa en términos económicos representó un ahorro mayor al 50% para determinar el tipo de construcciones de infraestructura. En 1987 se contó con una red acelerográfica con 15 instrumentos ubicados en las ciudades más importantes del país que permitan mantener información acerca del estado de las estructuras. Actualmente el mercado de los sistemas de adquisición de datos y más específicamente el relacionado con los DSP de sus siglas en ingles Digital Signal Processor (Procesador Digital de Señales) puede considerarse uno de los mercados más prospero de los últimos años. La apuesta por este tipo de productos por parte de empresas como Texas Instruments es total. Como por ejemplo, la anteriormente citada, Texas Instruments, líder en el mercado de DSP, vendió su división de juguetes y negocio de computadores portátiles para apostar plenamente por el negocio de los DSP. 16 En la figura 1 se muestran los porcentajes de participación en el mercado de los DSP de los cinco principales fabricantes en 2004 según EE Times y en la tabla 1 se relacionan los cambios en las ventas de los principales vendedores de DSP. Figura 1 Tabla 1. Distribución de ventas de los principales vendedores Cambios en los índices productores de DSP Cuota de Comparación 2003* mercado año anterior Instruments $2.926 47,7% Freescale $631 10,3% Compañía Cuota de Comparación 2004* mercado año anterior 39,7% $3.785 49,7% 32,4% -7,7% $1.004 12,9% 59,1% Texas 17 Aguere systems $806 13,2% 19,4% $68 9,8% 4,7% Devices $464 7,6% 7,2% $600 7,7% 29,3% Philips $105 1,7% $533 6,8% 407,6% Otros $1.198 19,5% 23,8% $1.018 13,1% 12,0% Total $6.130 100,0% 26,3% $7.768 100,0% 27,2% Analog Fuente: Microcontroladores avanzados dsPIC 3 *Todas las cifras están expresadas en millones de dólares. El principal destino de los DSP es el mercado de las comunicaciones inalámbricas, que ha crecido hasta acaparar el 71.5% para el año 2004. En menor medida también creció el porcentaje de DSP orientados al mercado de los computadores y la automatización de procesos. Por regiones, son Asia y el Pacifico (principalmente China, pero también Taiwán, Corea del Sur y Singapur) los principales productores de DSP con un 52% del mercado, seguido por Europa con un 20%, Japón con un 17.3% y finalmente América con un 10.7%. En el futuro existirán dos claras tendencias en las aplicaciones de procesamiento de las señales analógicas: • Procesadores programables: en este apartado se incluyen los procesadores de propósito general mejorados para realizar funciones DSP, como el Pentium MMX (Figura 2) los DSP de propósito general 3 ANGULO USATEGUI, José María, Microcontroladores avanzados dsPIC: Controladores digitales de señales. Arquitectura, programación y aplicaciones , Primera edición, Madrid, Ed. Thomson, 2006 18 Figura 2 DSP de propósito especifico Fuente: http://www.digital.cg.yu/images/intel-pentium-mmx.jpg • Procesadores dedicados: comprende los DSP diseñados para cubrir las aplicaciones específicas y los procesadores ASIC. 1.1.2. Procesadores de propósito general mejorados Los fabricantes de procesadores convencionales como Intel añaden a sus últimos modelos recursos de hardware y de software para soportar funciones propias de los DSP. Así el Pentium MMX, respondiendo a la arquitectura de los Pentium, añade un subconjunto de instrucciones llamadas MMX, especialmente diseñadas para cubrir las aplicaciones multimedia para el procesamiento del sonido y la imagen. Estos procesadores son programables en gran medida con lenguajes de alto nivel, pero deben destinar un área de silicio importante por cada MOP (Millón de operaciones por segundo), concretamente 1mm2. También consumen mucha energía (50mW/MOP). A partir del año 2000 se ha producido un importante crecimiento de este tipo de microprocesadores destinado al procesamiento de señales analógicas, en especial los que requieren rendimientos comprendidos entre 100 MIPS y 500MIPS. 19 Los microprocesadores de propósito general, con alto grado de programabilidad, irán incrementando espectacularmente su presencia en el procesamiento de señales y serán muy utilizados en aplicaciones que requieran menos de 100 MIPS. a. DSP de propósito general Son programables pero para optimizar su rendimiento suele usarse el lenguaje máquina, o sea, Ensamblador. Requieren 0.1 mm2/MOP y consumen 3mW/MOP. Actualmente los DSP convencionales tienen precios muy competitivos y su crecimiento es espectacular, especialmente en aquellos modelos que se integran con los microcontroladores convencionales, al asemejarse en precio y en facilidad de diseño. Ya resulta difícil establecer la frontera entre los DSP y los microcontroladores convencionales. b. DSP para aplicaciones específicas. La programación es muy compleja pues hay que realizarla en microcódigo. Sin embargo, el área de silicio necesaria y la potencia consumida son muy pequeñas: 0.02mm2/MOP y 0.5 mW/MOP, respectivamente. Sólo para aplicaciones de gran consumo y con potencias de cálculo cercanas a los 1000 MIPS tienen un hueco en el mercado. 20 c. ASIC a medida. Son procesadores específicos que realizan siempre la misma tarea no siendo programables. Requieren muy poca superficie de silicio y un bajo consumo de potencia (0.001mm2/MOP y 0.02 mW/MOP, respectivamente). Aplicaciones muy especiales de elevadas prestaciones que superen los 1000 MIPS puede ser recomendable resolverlas con este procedimiento que presenta una clara tendencia a la baja. En resumen los DSP de propósito general cuya tendencia sea la de su equiparación con los microprocesadores y microcontroladores convencionales, así como estos últimos que vayan añadiendo funciones DSP, constituirán los dispositivos que mas alta tasa de crecimiento alcancen al final de la primera parte del siglo XXI. 1.1.3. Lógica difusa 4 El control Lógico Difuso emergió con mayor fuerza en los años 70 seguido del trabajo de E. Mandani y sus colegas en Inglaterra quienes desarrollaron el primer sistema de control con Lógica Difusa. La solución implementada por Mandani introdujo los conceptos necesarios para su aplicación en aéreas industriales. Su aplicación en el área de control nace del fundamento de los operadores humanos son capaces de efectuar en muchos casos un control más efectivo que los controladores automáticos tradicionales, porque están capacitados para tomar decisiones correctas en base a información lingüística imprecisa. Los sistemas de lógica difusa reúnen los conocimientos de humanos expertos en un área específica. De esta forma los datos son recopiladores y representados de una manera más 4 DÍAS PARRA; Alberto citado en Aplicaciones Relacionadas a la Lógica Difusa. Consultado el 26 de Agosto de 2007. Disponible en la red en el vinculo http://www.dei.uc.edu.py/tai2000/logica/4.htm 21 precisa como un conjunto de reglas formuladas según sentencias condicionantes con la utilización de expresiones lingüísticas. Las primeras aplicaciones de la teoría difusa fueron principalmente industriales, tales como el control de procesos en cementeras. Más tarde en 1987, se puso en servicio en Sendai, al Norte del Japón, el primer metro controlado mediante Lógica Difusa. Los controladores basados en esta lógica, hicieron mucho más confortables los viajes en Metro, gracias a las suaves frenadas y aceleraciones. En efecto, todo lo que debe hacer el conductor es apretar el pulsador de marcha. Hoy se puede encontrar aplicada en el control de los sistemas centralizados de los automóviles, siendo la que evita que las cámaras de vídeo filmen las vibraciones del brazo como ocurría con las cámaras antiguas; se encuentra aplicada en los sistemas de dosificación y control de todas las lavadoras automáticas modernas. Las grandes multinacionales de la industria automotriz, de los electrodomésticos y la óptica la están aprovechando en sus desarrollos tras constatar sus espectaculares beneficios. A partir de 1990 se comienza a implementar en los controles de inyección electrónica de carburante y en los sistemas de control de guiado automático de coches, haciendo los controles complejos más eficientes y fáciles de utilizar. 1.1.4. Sistemas de adquisición de datos en la Universidad San Buenaventura En el segundo semestre del año 2006 se realizó un trabajo de grado relacionado con una tarjeta de adquisición de datos con comunicación USB para la transmisión de datos 5 . Entre las características más relevantes que se observan de este trabajo se destacan la alta velocidad de transmisión de datos hacia el computador, la utilización de un microcontrolador con 10bits de resolución de conversión análoga digital y el uso del 5 ACOSTA, Arnold, DELGADO, Jaime, RODRÍGUEZ, Javier. Diseño y construcción de una Tarjeta de Adquisición de Datos (TAD) basado en un microcontrolador PIC bajo el principio de instrumentación virtual con interfaz USB. Bogotá: 2006. 22 programa de Labview para el análisis de las señales que ingresaban al computador a través del puerto USB. Cabe anotar que el enfoque inicial de la tesis anteriormente mencionada se sitúa sobre el manejo de las señales que ingresan al computador y brindar un protocolo de comunicación de utilización masiva como lo es el puerto USB. No se enfocaron hacia un sistema de entrenamiento o material de uso didáctico para la universidad. Los laboratorios de la universidad cuentan con un complejo sistema de adquisición de datos suministrado por National Instruments, su referencia es NIELVIS (figura 3) y sus características más importantes se relacionan a continuación 6 : • Funcionalidad de varios instrumentos integrados • Combinación de instrumentos, adquisición de datos y estación de prototipos • Todos los instrumentos virtuales: o Osciloscopio, Multímetro digital, Generador de Funciones, alimentador variable, analizador de bode, generador de forma de onda arbitraria, analizador de señal digital, analizador corriente/tensión. o Código de fuente LabVIEW, completamente abierto el cual se puede personalizar utilizando el entorno LabVIEW; almacenamiento de datos en formato Excel o HTML Como se observa es un sistema muy completo, con múltiples funciones y de fácil manejo, sus deficiencias se fundamentan en su precio y movilidad, no es un sistema que se preste para realizar practicas de complejidad baja como la construcción de pequeños prototipos. 6 Extraido de http://digital.ni.com/worldwide/spain.nsf el 19 de octubre de 2007 23 Figura 3 Sistema NI ELVIS Fuente: http://www.ni.com/images/products/us/ni_elvis_workstation.jpg 1.2. DESCRIPCIÓN Y FORMULACIÓN DEL PROBLEMA En este momento la universidad de San Buenaventura cuenta con escasos recursos para la elaboración de prácticas relacionadas con control difuso o adquisición de datos. Los sistemas con los que se trabajan actualmente no poseen una buena movilidad debido a su gran tamaño (NIELVIS, Microgrades) y por otra parte, son de un elevado costo limitando su uso por parte de los estudiantes en labores simples como es construcción de pequeños robots para concursos o proyectos en cada una de las materias. Principalmente por este motivo es que se plantea el siguiente cuestionamiento. ¿De que forma se deben integrar diferentes dispositivos electrónicos de uso académico para brindar una herramienta que facilite las aplicaciones utilizadas en automatización? 1.3. JUSTIFICACIÓN Actualmente en la universidad de San Buenaventura una de las herramientas de frecuente uso por parte de los estudiantes de posprogramas de ingeniería electrónica y mecatrónica 24 son las tarjetas de adquisición de datos, la creciente participación en diferentes eventos como competencias de robótica hace que su demanda se incremente. El desarrollo de tarjetas de adquisición de datos es de gran importancia para los estudiantes interesados en el área, ya que fundamenta y aclara de una manera práctica los conceptos analizados en clases. Por otra parte, la Universidad cuenta con equipos que realizan tareas similares de simulación de alto nivel (NIELVIS), sin embargo carecen de movilidad y economía. Uno de los objetivos más importantes es brindar una herramienta de fácil uso a los estudiantes y profesores de la universidad a través de la cual puedan desarrollar prácticas de relativa complejidad y muestre físicamente el comportamiento de diferentes variables. 1.4. OBJETIVOS DE LA INVESTIGACIÓN 1.4.1. Objetivo general Desarrollar una tarjeta de adquisición de datos que esté en la capacidad de integrar actuadores de uso común como lo son los de corriente directa y alterna para su uso en diferentes tipos de prácticas que se encuentren en el marco del desarrollo de la asignatura donde éste aplique. 1.4.2. Objetivos específicos: Definir el componente electrónico más adecuado para la adquisición o conversión de las señales externas. Integrar un sistema de visualización independiente de un computador para monitorear el comportamiento de las señales. Por medio una interfaz gráfica permitir el ingreso de los parámetros de un sistema difuso. 25 Realizar un manual de instrucciones, recomendaciones de uso, prácticas de laboratorio y características que demuestren el potencial de la tarjeta. 1.5. Diseñar e implementar filtros que optimicen el funcionamiento de la tarjeta. ALCANCES Y LIMITACIONES DEL PROYECTO Realizar procesos de adquisición de datos en una forma sencilla y permitir la manipulación de diferentes tipos de actuadores que estarán integrados en la tarjeta. Realizar una aplicación a través de un programa de modelamiento que permita el ingreso de las reglas heurísticas que caractericen a un sistema determinado para efectuar el control correspondiente a través de los actuadores dispuestos en la tarjeta. Visualización del comportamiento de las variables a través de una pantalla que permite tener un nivel de independencia de un computador para analizar la variación de las mismas en campo. El protocolo de comunicación es muy básico, se trabaja sobre el conector básico DB9, el cual esta poco a poco cayendo en desuso, sin embargo múltiples dispositivos de reciente producción aún utilizan este sistema de comunicación para su control como lo son los televisores plasma (LG) o proyectores (Panasonic). Comparado con sistemas de adquisición de mayor envergadura como lo es NIELVIS la tarjeta no cuenta con elementos virtuales de medición como multímetros digitales u osciloscopios integrados, esta clase de funciones están fuera del alcance de este proyecto. El modelamiento difuso planteado se trabaja a través de la lógica heurística, la inserción de las variables y el comportamiento del sistema se describe de forma verbal y a través de conjuntos de reglas lógicas. 26 2. MARCO DE REFERENCIA 2.1. MARCO TEÓRICO – CONCEPTUAL A continuación se presentan algunos temas utilizados en el trabajo que son de gran importancia para el entendimiento del mismo, dentro de los cuales se tienen Sistema de adquisición de datos, señales análogas, señales digitales, lógica difusa, entre otros. 2.1.1. Consideraciones en el diseño de sistemas de adquisición de datos 7 Una de las tareas básicas cuando se está diseñando un sistema de adquisición de datos es seleccionar la frecuencia de muestreo del conversor análogo digital (ADC). La teoría fundamental de muestreo indica que la frecuencia de ésta debe ser por lo menos el doble de la frecuencia de la señal que se quiere trabajar, a esto se le denomina comúnmente como frecuencia Nyquist o de plegado. Considerando esta definición se entiende que la señal de trabajo esta fundamentada en una banda base y no en pasa banda. En caso de que no se conozcan ninguna de las características de las señales que ingresan al sistema de adquisición de datos como lo son ruido, frecuencia, ancho de banda o interferencia con circuitos próximos a este se tiene garantizado que existirá solapamiento. El solapamiento genera señales falsas, que se procesarán en el sistema obteniendo resultados erróneos como se puede ver en la figura 4 un numero indefinido de señales se puede obtener en el mismo conjunto de puntos de datos muestreados. En el dominio de la frecuencia mostrado en la figura 5 el solapamiento genera plegado o sobreposición del espectro, la única forma de eliminarlo del proceso es usando un filtro pasabajos con atenuación a las frecuencias mas bajas que se impliquen en el rango de requerimientos. 7 H. HOSKING, Rodger, Vicepresidente Pentek inc. USA, citado en System considerations in DAQ design, consultado el día 1 de Noviembre de 2007. 27 Figura 4 Múltiples ondas tomadas en los mismos puntos de muestreo Figura 5 Generación de espectro sobrepuesto producido por solapamiento Un filtro anti-solapamiento siempre se requiere para asegurar que señal de banda base que ingrese y el ruido son de hecho limitados por la banda, de este modo cualquier solapamiento que se genere en el muestreo se debe especificar en el rango dinámico de características del sistema. El ejemplo mostrado en la figura 6 describe un filtro anti- solapamiento apropiado para señales de procesamiento hasta 4MHz de ancho de banda, el filtro es elíptico de alto orden con un rechazo de banda mínimo de 80dB. El rechazo se obtiene a los 6Mhz y posteriormente los rebotes elípticos modifican su respuesta manteniéndola bajo los 80dB. 28 Figura 6 Respuesta de un filtro anti - solapamiento Para la infamación que tiene un ancho de banda de 4MHz se recomienda que la frecuencia de muestreo se ajuste por lo menos a 10MHz, preferiblemente que 8MHz que es la que recomienda el criterio de Nyquist. Utilizar una frecuencia más alta que la que teóricamente se recomienda simplemente indica que no existe un filtro que tenga una respuesta ideal y un “rebote” (caso filtros elípticos) infinito. En este caso la frecuencia de plegado critica es de 10-4 = 6MHz en vez de 4MHz. Esta es la frecuencia mas baja en la que el filtro obtiene la especificación de atenuación de 80dB, asegurando de este modo un análisis libre de solapamiento para una banda desde DC hasta 4MHz. 2.1.2. Tipos de filtros anti-solapamiento El filtro cuya respuesta se muestra en la figura 6 puede ser implementado de dos formas, un filtro pasivo LC (Bobina - Condensador) o un filtro activo RC (Resistencia – Condensador). Estos desarrollos implican un filtro análogo antes del conversor análogo digital. También se 29 puede implementar un filtro digital después del conversor análogo digital como parte de la tarjeta o sistema de adquisición de datos pero sigue siendo necesario un filtro antisolapamiento antes del conversor análogo digital ya que si ocurre solapamiento durante la adquisición de datos procesos subsecuentes de filtrado no podrán eliminarlos. La respuesta del filtro anti-solapamiento y frecuencia de muestreo está especificada en 10MHz y no en 8MHz. Utilizando la regla que especifica que el rechazo del filtro se debe establecer de a 6dB por cada bit de resolución se tiene que para un conversor de 10 bits se tiene un rechazo de 60dB y para uno de 12 bits se establece un rechazo de 72dB como rango dinámico libre de solapamiento. Después de completar las especificaciones para el filtro de anti – solapamiento, frecuencia de muestreo y conversor análogo digital, se puede establecer la función de retención y muestra. El método consisten mantener los datos de entrada del conversor análogo digital en un valor constante hasta el final de la conversión. En la mayoría de los casos forma parte del conversor, pero en el caso que se utilice uno que no esté integrado, sus especificaciones están determinadas por la frecuencia máxima de muestreo, numero de bits de precisión y especificaciones de tiempo de conversión del conversor análogo digital. En aplicaciones de baja frecuencia (debajo de 100KHz), los problemas de solapamientos pueden ser solucionados con conversión sigma – delta. Incorporando un rápido sobremuestreo y un filtro digital de alto orden, con esto se puede reducir la complejidad de la utilización de un filtro análogo. Un filtro sencillo RC provee suficiente rechazo para una señal de ingreso de 10KHz si la señal está sobre – muestreada a 10MHz. El filtro digital interno elimina todas las señales sobre 10KHz y provee una salida diezmada a una taza de muestreo a un poco más de 20KHz. 30 2.1.3. Método abanico de papel Para realizar un muestreo exitoso, se debe elaborar un cuidadoso un plan de frecuencias. Una de las técnicas más utilizadas es la del método del abanico de papel. Se inicia con un paquete de papel semitransparente similar a los que se usan en las impresoras continuas o un equivalente imaginario. Se sostiene el papel con el pliegue en dirección vertical, se define el eje de frecuencia de izquierda a derecha y a medida que se “ingresa” hacia el papel se incrementa la frecuencia de muestreo del conversor análogo digital (Fs). El diagrama simbólico se muestra en la figura 7. Figura 7 Abanico que muestra el espectro de una señal determinada El eje vertical es utilizado para representar la amplitud de la señal, como también el ancho de banda de la señal RF mostrada. Para observar que pasa después del muestreo, simplemente se debe reagrupar todas las hojas del abanico, colocarlo frente a una luz y mirar a través de él. Se observará los espectros de todas las hojas superpuestos unos sobre otros, que representa la frecuencia contenida en las muestras a la salida del conversor 31 análogo digital. Tal como se muestra en la figura 8 las señales de todas las hojas que están después de Fs/2 se encuentran reflejadas en la hoja que contiene el espectro que esta entre 0 y Fs/2. Figura 8 2.1.4. Forma del espectro resultante Selección de la tasa de muestreo Se puede tomar ventaja de este modelo para el bajo muestreo de señales seleccionando cuidadosamente la tasa de muestreo fundamentándose en las frecuencias existentes en la banda. Supóngase que todas las frecuencias caen dentro de una de las hojas del abanico (Figura 9). Después de muestrear toda la energía de la señal de la pagina 5 caerá en la hoja 1 y se representará en la trama de salida como si fuera la banda base entre 0 y Fs/2. Como se muestra en la figura 10, el proceso de bajo muestreo resulta en una frecuencia decreciente como de traslación por dos Fs sin espectro de inversión. Si el espectro de la banda base se resta con el resultado en la hoja 4, puede resultar una inversión del eje de la frecuencia y trasladarse bajo tres Fs/2. 32 Figura 9 Espectro mostrado de una señal pasabanda Figura 10 Selección adecuada de frecuencia de muestreo. Generalmente existen muchos relojes de frecuencia de muestreo que funcionarían para el bajo muestreo. Mientras que este es un modelo que puede mostrar todas las frecuencias, la mejor opción estará determinada por muchas otras consideraciones de tipo práctico: • Algunos conversores análogos digitales están específicamente caracterizados para aplicaciones de bajo muestreo; mientras que otros están diseñados únicamente para muestreos de banda base. • El camino de la señal análoga hacia el conversor análogo digital debe ser capaz de manipular las frecuencias de la señal de paso de banda con la mínima distorsión y 33 ruido. Para este caso una etapa inicial con un transformador acoplado es la mejor solución. • La calidad del amplificador de muestreo / retención a la entrada del conversor se vuelve mas critica en las frecuencias altas del filtro pasa bandas. Ocasionalmente un filtro externo de alto desempeño se hace necesario. • Cualquier señal que se encuentre fuera de la banda de funcionamiento o ruido se debe mantener al mínimo ya que podría afectar el espectro tal como se mostró en la figura 7, un filtro pasa banda adicional puede ayudar a minimizar estos inconvenientes. • Inestabilidad y ruido de fase del reloj de muestreo pueden degradar seriamente la tarea de bajo muestreo, es por esta razón que es de gran importancia seleccionar un cristal de muy buena calidad o un oscilador de conexiones directas. 2.1.5. • Conceptos básicos de lógica difusa 8 : ¿Qué es la lógica difusa? Un tipo de lógica que reconoce más que simples valores verdaderos y falsos. Con lógica difusa, las proposiciones pueden ser representadas con grados de veracidad o falsedad. Por ejemplo, la sentencia "hoy es un día soleado", puede ser 100% verdad si no hay nubes, 80% verdad si hay pocas nubes, 50% verdad si existe neblina y 0% si llueve todo el día. La Lógica Difusa (llamada también Lógica Borrosa por otros autores) o Fuzzy Logic es básicamente una lógica con múltiples valores, que permite definir valores en las áreas oscuras entre las evaluaciones convencionales de la lógica precisa: Si / No, Cierto / Falso, Blanco / Negro, etc. Se considera un súper conjunto de la Lógica Booleana. Con la Lógica Difusa, las proposiciones pueden ser representadas con grados de certeza o falsedad. La lógica tradicional de las computadoras opera con ecuaciones muy precisas y dos respuestas: 8 CORZO Yuliana, citado en LA LÓGICA DIFUSA, Porlamar (Venezuela), escrito el día 19 de junio de 2006 y consultado el día 18 de Noviembre de 2007 34 Si o no, uno o cero. Ahora, para aplicaciones de computadores muy mal definidas o sistemas vagos se emplea la Lógica Difusa. Por medio de la Lógica Difusa pueden formularse matemáticamente nociones como: un poco caliente o muy frío para que sean procesadas por computadoras y cuantificar expresiones humanas vagas tales como "Muy alto" o "luz brillante". De esa forma, es un intento de aplicar la forma de pensar humana a la programación de los computadores. En general, se ha aplicado a: Sistemas expertos. Verificadores de ortografía, los cuales sugieren una lista de palabras probables para reemplazar una palabra mal escrita. Control de sistemas de trenes subterráneos. La operación más importante para el desarrollo y creación de Reglas Lógicas es la implicación, simbolizada por " ® " que representa el "Entonces" de las reglas heurísticas: Si (...) Entonces ( ® ) (...). Así, en la Lógica Difusa hay muchas maneras de definir la implicación. Se puede elegir una "función (matemática) de implicación" distinta en cada caso para representar a la implicación. La última característica de los sistemas lógicos es el procedimiento de razonamiento, que permite inferir resultados lógicos a partir de una serie de antecedentes. Generalmente, el razonamiento lógico se basa en silogismos, en los que los antecedentes son por un lado las proposiciones condicionales (reglas), y las observaciones presentes por otro (serán las premisas de cada regla). Los esquemas de razonamiento utilizados son "esquemas de razonamiento aproximado", que intentan reproducir los esquemas mentales del cerebro humano en el proceso de 35 razonamiento. Estos esquemas consistirán en una generalización de los esquemas básicos de inferencia en Lógica Binaria (silogismo clásico). Tan importante será la selección de un esquema de razonamiento como su representación material, ya que el objetivo final es poder desarrollar un procedimiento analítico concreto para el diseño de controladores difusos y la toma de decisiones en general. Una vez que se disponga de representaciones analíticas de cada uno de los elementos lógicos que se acaban de enumerar, se estará en disposición de desarrollar formalmente un controlador "heurístico" que nos permita inferir el control adecuado de un determinado proceso en función de un conjunto de reglas "lingüísticas", definidas de antemano tras la observación de la salida y normas de funcionamiento de éste. • Conjuntos difusos. La mayoría de los fenómenos que se observan a diario son imprecisos, es decir, tienen implícito un cierto grado de difusidad en la descripción de su naturaleza. Esta imprecisión puede estar asociada con su forma, posición, momento, color, textura, o incluso en la semántica que describe lo que son. En muchos casos el mismo concepto puede tener diferentes grados de imprecisión en diferentes contextos o tiempo. Un día cálido en invierno no es exactamente lo mismo que un día cálido en primavera. La definición exacta de cuando la temperatura va de templada a caliente es imprecisa -no se puede identificar un punto simple de templado, así que se emigra a un simple grado, la temperatura es ahora considerada caliente. Este tipo de imprecisión o difusidad asociado continuamente a los fenómenos es común en todos los campos de estudio: sociología, física, biología, finanzas, ingeniería, oceanografía, psicología, etc. • Conceptos imprecisos. Se acepta la imprecisión como una consecuencia natural de ''la forma de las cosas en el mundo''. La dicotomía entre el rigor y la precisión del modelado matemático en todos los 36 campos y la intrínseca incertidumbre de ''el mundo real'' no es generalmente aceptada por los científicos, filósofos y analistas de negocios. Para este caso se aproximan estos eventos a funciones numéricas y se escoge un resultado en lugar de hacer un análisis del conocimiento empírico. Sin embargo se procesa y entiende de manera implícita la imprecisión de la información fácilmente. Considere las siguientes sentencias: La temperatura está caliente La inflación actual aumenta rápidamente Los grandes proyectos generalmente tardan mucho Nuestros precios están por abajo de los precios de la competencia IBM es una compañía grande y agresiva Alejandro es alto pero Ana no es bajita La altura de un conjunto difuso es como máximo un grado de pertenencia y es una cota cercana al concepto de normalización. La superficie de la región de un conjunto difuso es el universo de valores. Todos estos conceptos se tratarán más adelante. Es decir un conjunto difuso A se considera como un conjunto de pares ordenados, en los que el primer componente es un número en el rango [0,1] que denota el grado de pertenencia de un elemento u de U en A, y el segundo componente especifica precisamente quién es ése elemento de u. En general los grados de pertenencia son subjetivos en el sentido de que su especificación es una cuestión objetiva. Se debe aclarar que aunque puede interpretarse como el grado de verdad de que la expresión ''u A'' sea cierta, es más natural considerarlo simplemente como un grado de pertenencia. Puede notarse además que: a) Mientras más próximo está (u) a el valor 1, se dice que u pertenece más a A (de modo que 0 y 1 denotan la no pertenencia y la pertenencia completa, respectivamente). 37 b) Un conjunto en el sentido usual es también difuso pues su función característica u es también una función u [0,1]; o sea que los conjuntos difusos son una generalización de los conjuntos usuales. Ejemplo: Sea U =1, 2, 3, 4, 5, 6, 7, 8, 9, entonces los conjuntos definidos a continuación son difusos: POCOS = (.4/1, .8/2, 1/3, .4/4) VARIOS = (.5/3, .8/4, 1/5, 1/6, .8/7, .5,8) MUCHOS =(.4/6, .6/7, .8/8, .9/9,1/10) Note que el elemento 4 pertenece en grado .4 al conjunto POCOS, en grado .8 al conjunto VARIOS y en grado .0 a MUCHOS. Zadeh ha hecho algunas extensiones a los conceptos de conjuntos difusos ordinarios que se han explicado. • Las etiquetas lingüísticas y operadores. El centro de las técnicas de modelado difuso es la idea de variable lingüística. Desde su raíz, una variable lingüística es el nombre de un conjunto difuso. Si se tiene un conjunto difuso llamado ''largo'' éste es una simple variable lingüística y puede ser empleada como una regla-base en un sistema basado en la longitud de un proyecto en particular Si duración-proyecto es largo entonces la-terminación-de-tareas es DECRECIENTE; Una variable lingüística encapsula las propiedades de aproximación o conceptos de imprecisión en un sistema y da una forma de computar adecuada. Esto reduce la aparente complejidad de describir un sistema que debe concordar con su semántica. Una variable lingüística siempre representa un espacio difuso. Lo importante del concepto de variable lingüística es su estimación de variable de alto orden más que una variable difusa. En el sentido de que una variable lingüística toma variables difusas como sus valores. En el campo de la semántica difusa cuantitativa al significado de un término "x" se le representa como un conjunto difuso M(x) del universo 38 de discusión. Desde este punto de vista, uno de los problemas básicos en semántica es que se desea calcular el significado de un término compuesto Zadeh considera que las etiquetas lingüísticas pueden clasificarse en dos categorías que informalmente se definen como sigue: Tipo I: las que pueden representarse como operadores que actúan en un conjunto difuso: ''muy'', ''más o menos'', ''mucho'', ''ligeramente'', ''altamente'', ''bastante'', etc. y, Tipo II: las que requieren una descripción de cómo actúan en los componentes del conjunto difuso (operando): ''esencialmente'', ''técnicamente'', ''estrictamente'', ''prácticamente'', ''virtualmente'', etc... En otras palabras, las etiquetas lingüísticas pueden ser caracterizadas cómo operadores más que construcciones complicadas sobre las operaciones primitivas de conjuntos difusos. 2.2. MARCO LEGAL O NORMATIVO Estándares ISO (International Standard Organization) La International Standard Organization (ISO) ubicada en Ginebra es quien dirige los estándares mundiales. Como miembros de ISO son organizaciones de estandarización nacionales como por ejemplo ANSI (American National Standards Institute), BSI (British Standards Institution) y DIN (Deutsches Institut for Normung). La international Electrotechnical Commission (IEC) está también interesada en estándares en este campo de la electrónica. ISO / IEC tiene un comité técnico repartido (JTC1 – Joint Technical Committee) que maneja la relación con estándares de computadores. JTC1 cuenta con un subcomité (SC17) 39 encargado de las tarjetas de identificación, el cual tiene 6 grupos de trabajo (WG). Dentro de estos, el WG4 desarrolla los estándares para las tarjetas de circuito integrado (IC) con contactos y el WG8 los estándares para las tarjetas IC sin contactos. La norma ISO – 9000 forma parte de una serie de tres normas sobre sistemas de calidad para tarjetas de adquisición de datos, que pueden ser usadas con propósitos de aseguramiento externo de la calidad. Los modelos alternativos de aseguramiento de calidad descritos en las tres normas que se citan a continuación, representan tres formas distintas de capacidad organizativa o funcional adecuadas para propósitos contractuales bipartitos. • UNIT-ISO 9001: Sistemas de calidad - Modelo de aseguramiento de la calidad en el diseño/desarrollo, producción, instalación y servicio. Se aplica cuando la conformidad con los requisitos especificados debe ser asegurada por el proveedor durante varias etapas que pueden incluir diseño/desarrollo, fabricación, instalación y servicio. • UNIT-ISO 9002: Sistemas de calidad - Modelo de aseguramiento de la calidad en la producción e instalación. Se aplica cuando la conformidad con los requisitos especificados debe ser asegurada por el proveedor durante la fabricación e instalación. • UNIT-ISO 9003: Sistemas de calidad - Modelo de aseguramiento de la calidad en la inspección y ensayos finales. Se aplica cuando la conformidad con los requisitos especificados debe ser asegurada por el proveedor solamente en la inspección y ensayos finales. 40 3. METODOLOGÍA 3.1. ENFOQUE DE LA INVESTIGACIÓN Debido a que el proyecto propuesto se fundamenta en el análisis matemático de sistemas específicos el enfoque de la investigación es empírico-analítico, ya que se trata de interpretar y conceptualizar el mundo exterior a través de herramientas relacionadas con el proceso 3.2. LÍNEA DE INVESTIGACIÓN DE USB/ SUB-LÍNEA DE FACULTAD / CAMPO TEMÁTICO DEL PROGRAMA. LÍNEA DE INVESTIGACIÓN: Tecnologías actuales y sociedad Línea de investigación asignada a la Facultad de Ingeniería de la universidad, encargada de realizar proyectos de investigación que mejoren las falencias o cubran las necesidades actuales de la sociedad SUB-LÍNEA DE FACULTAD: Procesamiento de señales digitales y/o analógicas. El campo de interés de esta sub-línea de investigación es la teoría y aplicación de filtrado, codificación, transmisión, estimación, detección, análisis, reconocimiento, síntesis, registro y/o reproducción de señales en el dominio del tiempo, de la frecuencia y tiempo-frecuencia, mediante el uso de dispositivos o técnicas digitales o análogas. El término señal incluye audio, video, voz, imagen, datos de tipo comunicación, sonar, radar, musical, medical, entre otras. 41 CAMPO TEMÁTICO DEL PROGRAMA: MICROELECTRÓNICA Este campo contempla todas las aplicaciones que requiere el análisis matemático de los sistemas, los métodos para controlar diferentes elementos e involucra el área de programación en microcontroladores. 3.3. HIPÓTESIS El diseño e implementación de una tarjeta de adquisición de datos, la cual cuente con ocho canales de conversión análoga digita con una resolución de 12bits permite el monitoreo constante y fiable de varias señales de distintos tipos para realizar diferentes tipos de análisis sobre las mismas y junto con distintos tipos de actuadores brinda una herramienta versátil para las practicas de laboratorio relacionadas con programación en microcontroladores. 3.4. VARIABLES 3.4.1. Variable independiente Módulo o tarjeta de desarrollo integral para prácticas de laboratorio relacionadas con electrónica o materias afines. 3.4.2. Variables dependientes Rango de funcionamiento de los sensores utilizados: no debe ser mayor de 5V ya que este es un parámetro básico de funcionamiento de los microcontroladores Tipo de salida a utilizar: puede ser digital, o de tipo análogo simulado a través de los puertos de PWM que posee el microcontrolador. Se pueden usar testigos de visualización de estado a través de leds. 42 4. DESARROLLO INGENIERIL Los sistemas de adquisición de datos, como se mostró previamente en el documento son un conjunto de dispositivos que trabajan colectivamente para realizar un muestreo o medición de variables externas a ella. Para elaborar un correcto diseño de una tarjeta que cumpla con estas características se debe hacer una adecuada selección de los elementos que la componen con el fin de obtener un rendimiento adecuado. El diagrama de bloques de la solución planteada en este documento se muestra en la figura 11. Figura 11 Diagrama de bloques de la solución planteada. Sección de los sensores Salida del sistema Manipulación o tratamiento de las señales adquiridas Visualización de la información adquirida. Suministro de información al programa de modelamiento Decodificación de la información suministrada por el computador El desarrollo de este proyecto se puede definir en tres etapas, las cuales conduzcan a un mejor entendimiento del proceso, selección de los dispositivos utilizados, su caracterización de funciones y rendimiento. Las tres etapas son: Etapa 1. Selección del dispositivo a utilizar como elemento central de la tarjeta. 43 Etapa 2. Pruebas de rendimiento Etapa 3. Caracterización de funciones y planteamiento de prácticas 4.1. ETAPA 1. SELECCIÓN DEL DISPOSITIVO A UTILIZAR COMO ELEMENTO CENTRAL DE LA TARJETA El elemento central de la tarjeta es aquel que procesa todas las señales que ingresan, puede ser un microcontrolador, DSP o un dispositivo lógico programable como lo es una FPGA (field programmable gate array). La adecuada selección del dispositivo es vital para la facilidad de manejo de la tarjeta ya que este es el que determina la complejidad de los sistemas o funciones que puede desarrollar la misma. Algunos de los parámetros que se deben analizar en la selección son: • Complejidad de programación: se define a través de la cantidad de instrucciones que posee el dispositivo y con base en esto se establece su funcionalidad y versatilidad. • Tipo de encapsulado: actualmente el mercado de la electrónica exige una drástica reducción de los tamaños de los integrados que se utilizan, económicamente y tecnológicamente es una excelente opción, pero desde el punto de vista académico dificulta de manera considerable su manipulación para fines académicos, las clases de encapsulados se analizaran posteriormente para analizar el mas viable. • Facilidades de programación: los dispositivos lógicos programables cuentan con un amplio portafolio de opciones para su programación, sin embargo es importante considerar aquellos que sean de fácil acceso para los estudiantes (licencias de adquisición) y que a su vez sea de fácil entendimiento para el desarrollo de las prácticas. • Funciones disponibles: determinadas mayormente por el número de puertos que posee en los cuales se especifican las funciones que cumplen (canales de PWM, puertos de comunicación serial, conversores análogos digitales, puertos de comparación, entre otros). 44 • Disponibilidad en el mercado: la gran mayoría de los elementos electrónicos de reciente producción no se encuentran en el mercado colombiano debido a que la demanda de creación de dispositivos electrónicos en el país no es considerable. En conclusión se tienen tres opciones, microcontrolador, dsPics o procesadores digitales de señales. Si se hace un breve análisis de cada una de las opciones se obtienen las siguientes relaciones: Microntroladores: dispositivos electrónicos de fácil acceso los cuales poseen una amplia gama de marcas existentes en el mercado colombiano, como lo son Atmel , Microchip y Motorola y a su vez cuentan con varios programas de programación para la utilización de sus funciones, entre los mas representativos se encuentran. • Motorola. o Microgrades: programa de entorno gráfico que facilita de manera significativa la programación y la utilización de los recursos del microcontrolador, una de sus desventajas es que no maneja librerías desarrolladas por el programador para aplicaciones de tipo matemático y no programa microcontroladores de gama alta, además hace un uso excesivo de la memoria interna del microcontrolador al usar un entorno grafico para su programación. o WinIDE: trabaja en el código ensamblador o básico del microcontrolador, una de sus ventajas es que se tiene pleno conocimiento de todas las funciones que desarrolla el microcontrolador y además permite conocer los tiempos de ejecución de cada una de las tareas que realiza el mismo, tiene un tiempo alto de respuesta del sistema ya que no esta limitado por el cristal que utiliza. Por otra parte la cantidad de instrucciones es excesiva, hasta el punto de requerir un manual completo de instrucciones a modo de soporte ya que se vuelve tediosa la programación, la cantidad de instrucciones es de 250 para un microcontrolador gama media como el MC68HC908GP32. 45 • Microchip. o MPLAB: producido por la compañía de Microchip, cuenta con todas las herramientas necesarias para la programación y simulación de las funciones de los microcontroladores de la familia microchip. Entre sus ventajas reencuentra la simulación de sus funciones en tiempo real y análisis real de los tiempos de ejecución de las instrucciones. Su desventaja más relevante su complejidad de programación. o Mikrobasic: lenguaje de programación para microcontroladores en entorno Basic el cual permite el manejo de librerías, y tiene un amplio numero de ejemplos que facilita la comprensión de las estructuras que maneja, no presenta mayores dificultades en su programación ya que se realiza de manera sistemática y de manera similar a una estructura de programación en c. su mayor ventaja se encuentra en las diversas librerías con las que cuenta , entre las mas destacadas están : redes CAN, manejo de protocolo TCP/IP, visualización en pantalla gráfica y comunicación USB (Para los dispositivos que lo soporten) • Atmel. o Arduino + processing: programación en alto nivel, enfocado a aplicaciones en el ámbito artístico o industrial , cuenta con una enorme base de datos de soporte que ha sido elaborado por sus usuarios en todo el mundo a través de la cual se solucionan los problemas mas frecuentemente relacionado con estos productos. dsPIC: dispositivo intermedio entre los DSP especializados y lo microcontroladores, combinan la potencia y la versatilidad de las funciones básicas de un DSP con la facilidad y empaquetado de un microcontrolador. Entre los programas especializados para su programación reencuentran PICC y mickroBasic dsPIC y para su utilización es necesario realizar la adquisición de la licencia. El programa mickroBasic dsPIC cuenta con una 46 versión gratuita, con la cual se pueden desarrollar muchas de las funciones básicas de programación Actualmente en el mercado colombiano se encuentran disponibles las referencias dsPIC30F4013 y dsPIC30F2010. DSP: como se analizó en los antecedentes y en parte del marco teórico –conceptual los DSP son los dispositivos vanguardia, sus múltiples aplicaciones y desarrollos han contribuido a la evolución de la tecnología de forma significativa. En Colombia existen algunas limitantes importantes para su utilización, su tipo de encapsulado hace que el manejo sea complicado, existe muy pocas partes dentro de la ciudad de Bogotá que se especialice en el manejo de soldadura superficial, por otra parte, su comercialización se hace por volumen y con previo encargo a Estados Unidos lo cual dificulta de manera significativa su utilización en este proyecto. 4.1.1. Tipos de encapsulado 9 Encapsulado DIP o DIL (Figura 12): Este es el encapsulado más empleado en montaje por taladro pasante en placa. Este puede ser cerámico (marrón) o de plástico (negro). Un dato importante en todos los componentes es la distancia entre patillas que poseen, en los circuitos integrados es de vital importancia este dato, así en este tipo el estándar se establece en 0,1 pulgadas (2,54mm). Se suelen fabricar a partir de 4, 6, 8, 14, 16, 22, 24, 28, 32, 40, 48, 64 pines, estos son los que más se utilizan. Otra norma que también suele cumplirse se refiere a la identificación de la numeración de los pines: el pin número uno se encuentra en un extremo señalada por un punto o una muesca en el encapsulado y se continua la numeración en sentido antihorario (sentido contrario a las agujas del reloj), mirando al integrado desde arriba. Por regla general, en 9 BERENGUER, Gabriel Pérez, Circuitos Integrados, consultado el 6 de septiembre de 2007, disponible en la red en el vinculo http://electronred.iespana.es/circuitosintegra.htm 47 todos los encapsulados aparece la denominación del integrado, así como, los códigos particulares de cada fabricante. Figura 12 Encapsulado DIP Fuente: http://electronred.iespana.es/circuitosintegra.htm Encapsulado SOIC. (Figura 13): Circuito integrado de pequeño contorno. Son los más populares en los circuitos de lógica combinacional, tanto en TTL como en CMOS. También la terminación de los pines es en forma de ala de gaviota. Se sueldan directamente sobre las pistas de la placa de circuito impreso, en un área denominada footprint. La distancia entre patillas es de 1,27mm (0,05"). La numeración de los pines es exactamente igual a los casos anteriores. Figura 13 Encapsulado SOIC Fuente: http://electronred.iespana.es/circuitosintegra.htm El encapsulado más apropiado para esta aplicación es el tipo DIL / DIP ya que es de fácil manipulación y su manejo para el diseño de la baquela es mas simple. Acorde con la información mostrada, considerando la disponibilidad en el mercado y teniendo en cuenta que el objetivo principal de este proyecto es brindar una herramienta integral para la universidad, las dos opciones más viables son: 48 Desarrollar la tarjeta con el integrado ATmega8 de Atmel, estos integrados no son utilizados en la universidad y al elaborar una tarjeta la cual muestre el potencial de estos microcontroladores se brindarán más herramientas a los estudiantes para la solución de múltiples problemas o utilizar el integrado dsPIC30F4013, especializado para la adquisición de datos y con una amplia gama de funciones para múltiples opciones de aplicaciones industriales. Las características de cada uno de estos elementos se muestran en la tabla 2. Tabla 2. Características de los microcontroladores seleccionados dsPIC30F4013 ATmega8 Encapsulado DIP / DIL DIP / DIL Resolución ADC 12 Bits 10 Bits Canales PWM 4 3 Numero de pines 40 28 Programación mikroBasic dsPIC Arduino Licencia Shareware Freeware Programador Pickit 2 Arduino Para obtener información mas detallada sobre las características de cada uno de estos elementos consultar los anexos A y B para el dsPIC y el ATmega respectivamente. La principal ventaja del microcontrolador ATmega 8 es su medio de programación que es de licencia libre, con esta clase de programas se amplían las herramientas disponibles para los estudiantes en la solución de problemas relacionados con programación y automatización, sin embargo su capacidad de memoria es limitada y no es muy útil en la realización de programas robustos, posteriormente se realizará un breve análisis de sus características y método de programación a modo informativo. 49 4.1.2. Elementos periféricos o actuadores de la tarjeta Una de las tareas más importantes u objetivos que se tienen planteados es brindar una herramienta integral para el desarrollo de las prácticas de laboratorio o proyectos comunes de electrónica relacionados con la programación de microcontroladores. Algunos de los elementos más utilizados se enfocan hacia el control de cargas de corriente continua (No superior a 10 Amperios), control de cargas en voltaje alterno, control de giro de motores y pantalla para visualización de comportamiento de variables. Los elementos a utilizar en la tarjeta se muestran en la tabla 3. Tabla 3. Elementos seleccionados como actuadores integrados a la tarjeta Dispositivo L293D Descripción básica Puente H utilizado para el control de giro de motores DC, soporta entre 4,5 hasta 36V de alimentación Anexo C IRF 840 Transistor Mosfet canal N, carga máxima de amperaje de 8,5 Amperios y hasta un máximo de 500 voltios en empaque TO 220 D MOC 3011 Optoacoplador para etapas manejo de cargas de corriente alterna que posee un aislamiento de voltaje de 7500VAC máximo E BT 137 Triac para manejo de cargas de corriente alterna que maneja un máximo de 8 amperios y 600 voltios AC en empaque TO-220 F GLCD Pantalla de visualización gráfica de 128 x 64 caracteres para tener un mejor espacio de visualización de las 8 variables de entrada o estados que se manejen 50 • L293D Puente H integrado que cuenta con una capacidad de carga máxima de un amperio, como su nombre lo indica su utilización mas común es el control de giro de los motores de corriente continua, entre las características mas representantitas esta que tiene integrados los diodos de protección para el manejo de las corrientes parasitas reduciendo la cantidad de materiales necesarios para su utilización, además de esto puede manejar hasta cuatro motores de forma simultanea pero manejando solo un sentido de giro. Las especificaciones de sus características eléctricas se muestran en el anexo C tal como se muestra en la tabla 3. • IRF840 Transistor MOSFET de canal N ideal para trabajar señales de alta conmutación, su optima utilización de energía hace que sea un elemento ideal para el manejo de las cargas de baja corriente de DC pero sus características eléctricas especifican que tiene un buen comportamiento hasta un pico de 8,5 amperios y 500 voltios como carga máxima. Una de sus características más representativas es que no disipa la energía que no utiliza en calor como lo hacen los transistores de unión bipolar. • MOC3011 Elemento optoacoplador ideal para trabajar cargas de corriente alterna que garantiza que los elemento que se trabajen con corrientes bajas no sufran daños causados por corrientes remanentes de los circuitos implementados en alto voltaje, su bajo consumo de corriente y manejo de corrientes alternas permiten su utilización como disparador de diferentes actuadores secundarios como los TRIAC, SCR, entre otros. • BT137 Actuador de potencia TRIAC utilizado para controlar los dos semiciclos de las señales alternas, su consumo de corriente máximo es de 8 amperios y 600 voltios tal como se muestra en la tabla 4. Utilizado para el control de cargas y generalmente como actuador de 51 potencia, su implementación en la tarjeta amplia las aplicaciones y versatilidad de la misma. • Pantalla GLCD (Gráfica de cristal líquido) Elemento utilizado para la visualización de diferentes tipos de variables o estados, su principal ventaja contra las pantallas LCD convencionales es que su funcionamiento no se basa solamente en caracteres alfanuméricos si no que permite trabajar con múltiples gráficas adaptables a las condiciones que se necesiten, comúnmente se utilizan en celulares o interfaces que requieran mostrar grandes cantidades de información en interfaces amigables y de fácil utilización. Su implementación en la tarjeta permite ampliar las aplicaciones y prácticas propuestas en microcontroladores ya que para su utilización se hace necesario un mayor conocimiento en programación. 4.2. ETAPA 2. PRUEBAS DE RENDIMIENTO Y SELECCIÓN. 4.2.1. Entorno de programación de los microcontroladores seleccionados. De acuerdo con el análisis realizado en la sección anterior los microcontroladores aptos para el control de los actuadores y encargados de realizar las acciones de adquisición son el ATmega8 de la familia Atmel y el dsPIC30F4013 de la familia Microchip, a continuación se describen las características básicas de cada uno de los entornos de programación de los microcontroladores seleccionados. • ATmega8 Existen varios entornos de programación aptos para realizar aplicaciones con este microcontrolador, sin embargo una de los más interesantes es Arduino, el cual tiene licencia libre y es distribuido de forma gratuita por la pagina Web www.arduino.cc. 52 Arduino es un entorno desarrollado principalmente por personas interesadas en el diseño gráfico o con tendencias artísticas, lo que hace que su facilidad de manejo sea un factor importante dado que los diseñadores no tienen conocimientos profundos en programación ni electrónica. Este programa ha sido utilizado con éxito en distintos proyectos de programación enfocada hacia el diseño tal como se muestra en las siguientes imágenes. Figura 14 Batería electrónica con interfase MIDI para Mac OS X Fuente: http://www.arduino.cc/playground/Projects/ArduinoUsers En la figura 14 se muestra una batería electrónica que se comunica con computadores que funcionen a través del sistema operativo de Mac por protocolo USB, su funcionamiento se fundamenta en que cada vez que se toque uno de los paneles que se muestran al frente del computador emite una señal en formato MIDI. En la figura 15 se muestra un “tapete urbano” el cual funciona a través del sistema Arduino, este tapete hace un juego de luces aleatorio alrededor de la persona(s) que se paren sobre él. 53 Figura 15 Tapete urbano desarrollado con Arduino Fuente: http://www.arduino.cc/playground/Projects/ArduinoUsers La interfase de programación Arduino se muestra con detalle en la figura 16. 54 Figura 16 Interfase de programación Arduino Donde se observan que los componentes básicos de la interfaz que son: 1. Barra de herramientas: acceso a los archivos, herramientas, ayuda básica del sistema la cual se hace con un acceso directo al sitio oficial en Internet y también muestra de algunos ejemplos. 2. Botones de acceso rápido: en orden de izquierda a derecha sus funciones son: a. Ejecutar: verifica que el código este sin errores y listo para ser enviado al microcontrolador. b. Detener: para los procesos que se estén efectuando en el momento, como por ejemplo, recepción de datos por el puerto serial o depuración del código. c. Nuevo: inicia un nuevo programa 55 d. Abrir: abre un programa existente e. Guardar f. Cargar a la tarjeta: envía el código que se realiza al microcontrolador g. Monitor serial: herramienta que permite verificar que datos se están ingresando al computador por el puerto serial. 3. Pestañas: muestran cuales son posprogramas sobre los cuales se esta trabajando actualmente 4. Zona de código: en este segmento de la pantalla es donde se debe insertar el código. 5. Información: indica cual es o fue el estado del proceso que se estaba realizando, muestra detalles como: finalización de la descarga, problemas en el código entre otros. 6. Pantalla de información detallada: en el caso que se presente una falla en el código a través de esta pantalla se puede visualizar información detallada de los errores que aparecieron. Para que el microcontrolador funcione con las instrucciones y los procesos que se trabajan en Arduino se hace necesaria la instalación de un Firmware el cual ocupa aproximadamente un 40 % de la capacidad de la memoria del microcontrolador, lo cual limita de manera significativa su uso. Al diseñar el programa que cumple con los objetivos establecidos que han sido mencionados anteriormente se observa que el microcontrolador no tiene la suficiente capacidad de memoria para cumplir con todas las funciones de manera simultánea. La solución que se encuentra es eliminar la visualización del comportamiento de las variables por pantalla LCD lo cual elimina unos de los objetivos de mayor importancia. El error que indica el programa se muestra en la figura 17. 56 Figura 17 Mensaje de error por exceso de uso de memoria El código utilizado para demostrar esta limitación se muestra en el anexo H. En esta línea de código se convoca a la librería para la visualización pero no se utilizan funciones de la misma, ya que como se demostró anteriormente el microcontrolador no está en capacidad de cumplir estas funciones. El esquema del algoritmo implementado para cumplir los objetivos establecidos en el proyecto se muestra en la figura 18. Es importante comprender que las tareas que se ejecutan en el programa son secuenciales y cíclicas, en otras palabras, es un proceso repetitivo. Figura 18 Esquema del algoritmo de funciones del programa propuesto en Arduino. Inicio Declaración de variables Lectura CH1 Visualización de los canales de conversión en pantalla LCD 57 Lectura CH2 ..3.. …8 Transmisión vía RS232 de todos los resultados encanales de conversión Recepción de información a ingresar en los canales de PWM Entre las funciones de programación en el entorno Arduino no se dispone de una función que justifique la información enviada por el puerto serial, es decir, el ancho de la trama transmitida no es constante, cuando el resultado de la conversión es el máximo se transmite ‘1028’, pero cuando es el mínimo se transmite ‘0’ en vez de ‘0000’ lo que hace que el manejo de la información recibida en el programa de modelamiento se vuelva compleja ya que el registro cambia constantemente de tamaño y hace que su lectura y manejo sea muy compleja. Para solucionar este problema se hace una justificación “manual” que consiste en verificar constantemente el valor que se obtiene de la conversión para de esta forma agregar la cantidad de ceros necesaria para mantener el ancho de la trama siempre del mismo tamaño. El algoritmo realizado para la justificación de la trama se muestra en la figura 19. Figura 19 Justificación de la trama de transmisión serial Transmisión serial No No 999> Valor >100? Valor>1000? Si Si Tx = Valor Tx = ‘0’ Tx = valor No No 99>Valor>10? Valor<10? Si Si Tx=’000’ Tx = ‘00’ Tx=Valor Tx = Valor 58 Involucrar este código implica que el tamaño del programa se incremente de manera significativa haciendo que se utilicen más recursos de memoria y como se mencionó anteriormente la introducción del firmware en el microcontrolador consume un 40% de la memoria disponible haciendo que sus funciones se limiten de manera significativa. • Mikrobasic For DSPIC Herramienta de compilación desarrollada por la empresa estadounidense Mikroelectronica que permite realizar labores de programación en microcontroladores y dsPIC de la marca Microchip. Es un entorno de programación Basic (figura 20) y tiene licencia restringida, actualmente existe una versión de prueba que se puede descargar gratis a través de la dirección http://www.mikroe.com/en/compilers/mikrobasic/dspic/ la cual permite realizar programas que no superen los 8Kb de peso. Figura 20 Entorno de programación Mikrobasic for dsPIC Fuente: http://www.mikroe.com/en/compilers/mikrobasic/dspic/ 59 Como se observa en la figura 20 es un entorno común de Windows el cual permite de forma intuitiva el uso de sus funciones básicas como abrir archivo, ejecutar, copiar pegar, etc. La explicación de estas funciones se encuentra con más detalle en la sección de ayuda del programa. Se decide trabajar sobre este programa ya que facilita de forma significativa la programación del microcontrolador en tiempos de ejecución, información de memoria utilizada, recursos disponibles además de contar con una base de información muy amplia disponible en la red. Las pruebas de rendimiento se enfocan a las funciones programas sobre el microcontrolador y los actuadores utilizados que se mencionaron anteriormente. Las funciones programadas son: • Conversión análoga digital • Comunicación serial • Manejo PWM • Manejo puertos digitales • Visualización en pantalla GLCD. Fundamentalmente se busca que el microcontrolador esté en la capacidad de visualizar el comportamiento de 8 variables de forma simultanea, analizar la fidelidad, el muestro de las señales programando cada uno de los canales por separado y verificar el comportamiento de los puertos de PWM y actuadores que se utilicen en el dispositivo. El algoritmo manejado para la programación de todas las funciones es el mismo que se muestra en la figura 18 a diferencia que este programa cuenta con la opción de justificación de trama de transmisión serial lo cual disminuye la cantidad de memora utilizada en el programa y optimiza los tiempos de ejecución. 60 La línea de código que se utilizó para cumplir con los objetivos establecidos se muestra en el anexo I. La utilización de los recursos de memoria ROM del microcontrolador se muestra en la figura 21. Figura 21 Utilización de la memoria por procesos En la figura 21 se especifican todos los procesos involucrados en el programa, el más sobresaliente por su consumo de memoria es main (principal) que es donde se encuentran todas las funciones trabajadas en e programa, es la estructura básica del mismo. Seguido se observa que las funciones que más recursos consumen son las relacionadas con los comandos de LCD, como lo son LCD_init donde se especifica la configuración de la pantalla, los pines que se utilizan para su programación y LCD_CMD que son los comandos de LCD, por ejemplo, pasar a segunda línea, apagar cursor, encender LCD, escribir sobre LCD o leer información. Para realizar todas estas funciones se trabaja una 61 librería muy extensa la cual viene integrada con el programa. El consumo general de la memoria del microcontrolador se muestra en la figura 22. Figura 22 Utilización de memoria en microcontrolador. Como se observa se tiene disponible el 89% de la memoria del microcontrolador para realizar mas procesos diferentes a los trabajados en este proyecto, lo que brinda la posibilidad de aumentar o incrementar la cantidad de funciones disponibles del sistema. 4.2.2. • Pruebas Comunicación serial. Realizando un programa básico de comunicación serial en Labview se analizó el tiempo de respuesta de la comunicación serial. Las funciones programadas en el microcontrolador para realizar esta prueba fueron visualización en pantalla LCD, conversión análoga digital y comunicación serial. Una vez 62 que todas las herramientas estén trabajando se procede a ingresar una señal de frecuencia variable y se analiza su comportamiento a través de Labview y por pantalla LCD. Se observó que la velocidad de comunicación a través del puerto RS232 es bastante lenta ya que no permite monitorear señales que estén por encima de los 300 Hz, la señal en Labview empieza a presentar deformaciones considerables que no permiten una lectura clara. Parte de este problema se soluciona eliminando la visualización por pantalla LCD, esto se atribuye a que para que el ojo humano este en la capacidad de procesar la información que se me muestra en la pantalla LCD esta debe funcionar a una velocidad que esta por debajo de la señal que se está monitoreando, adicional a este hecho, la librería que permite el uso de la pantalla es de un tamaño considerable que provoca un retardo importante en la ejecución del programa. • Canales PWM La frecuencia a trabajar en los cuatro canales de PWM es de 1000 Hz, la cual es óptima para la regulación o variación de velocidad en motores DC, uso que se postula como primordial para estos puertos. La señal obtenida cuando el microcontrolador no tiene carga en sus puertos es limpia y de frecuencia fija, al colocarle carga (motor) la señal se modifica levemente mostrando una inclinación en su nivel alto debido a la inductancia generada por el embobinado del motor. Adicionalmente el programa de lógica difusa permite trabajar el porcentaje de la señal de PWM desde 0% hasta un 100% realizando una subdivisión del ciclo útil de la señal. Este control se puede realizar sobre los cuatro canales del microcontrolador de forma fiable y simultanea. 63 • Conversión análoga digital. En el desarrollo de la practica de lógica difusa se observó que la cantidad de variables ideales para el sistema es de cuatro ya que la cantidad de información a manejar con cada una de ellas es muy elevado y al trabajar mas de cuatro variables el programa se comporta de forma deficiente y adquiere un nivel de complejidad indeseado. Como se mencionó anteriormente, la velocidad de comunicación a través del puerto serial es lenta lo que hace que las pruebas de fidelidad de los canales de conversión no se puedan realizar a través de este protocolo, razón por la cual se optó por trabajar un conversor digital – análogo que trabaje a través de una comunicación SPI la cual brinda una taza de transferencia mucho mayor que el protocolo RS232. El integrado seleccionado para esta labor es el MCP4921-E/MS, cumple con las características solicitadas y permite un análisis mas profundo de la fidelidad de los canales al tener una velocidad de comunicación por encima de 1MBps. El resultado obtenido de las pruebas muestra que entre mayor cantidad de canales de conversión se utilicen se reduce la taza de muestreo, esto se debe a que en realidad en microcontrolador cuenta con un solo reloj de muestro y conversión el cual se maneja a través del registro ADCHS, en el momento de solicitar la activación de mas canales de conversión lo que se hace es una multiplexación de la información almacenada en éste para adquirir la información entrante por los canales configurados. El circuito utilizado para la comprobación de la tasa de muestreo se observa en la figura 23. 64 Figura 23 Circuito para analizar la tasa de muestreo Las pruebas realizadas para determinar la taza de muestreo con relación a los canales programados es la siguiente: • Conversión de canal simple. • Formato de datos sin asignación • Auto conversión • Voltaje de referencia positivo: AVdd, voltaje de referencia negativo: AVss • Instrucción por ciclo de reloj • Reloj de conversión: 32*Tcy • Tiempo de muestreo automático: 31TAD 65 En el momento que se necesite modificar los valores que vienen por defecto en el programa, se deben hacer directamente sobre los registros ADCS, SSRC y SAMC, los cuales controlan los tiempos de conversión del microcontrolador. Es de fundamental importancia considerar las recomendaciones mostradas por el fabricante las cuales se muestran en la figura 19. Figura 24 Modificación de los registros de control de tiempo de conversión del dsPIC. Fuente: www.microchip.com 66 Los resultados de las pruebas se muestran en la tabla 4. Tabla 4. Resultado de las pruebas por canal de conversión Muestreo Canales (muestras programados por segundo) 1 12500 2 6410 3 4545 4 3125 5 2500 6 1923 7 1562 Las imágenes obtenidas en las pruebas están registradas en las siguientes gráficas: Figura 25 Resultado obtenido con un canal de conversión programado. 67 Figura 26 Resultado obtenido con dos canales de conversión programados. Figura 27 Resultado obtenido con tres canales de conversión programados. 68 Figura 28 Resultado obtenido con cuatro canales de conversión programados. Figura 29 Resultado obtenido con cinco canales de conversión programados. 69 Figura 30 Resultado obtenido con seis canales de conversión programados. Figura 31 Resultado obtenido con siete canales de conversión programados. 70 Los resultados que se muestran entre las gráficas 25 a 31 son el resultado de la conversión del canal cero del microcontrolador, pero al programa se le anexaban líneas de código para que guardara en un registro el resultado de la conversión de los demás canales y de esta forma observar la variación en la cantidad de muestras por segundo que toma el microcontrolador. • Filtros. Los filtros diseñados se utilizan para reducir la cantidad de señales indeseadas en el momento de una adquisición de datos. Los filtros están habilitados para los canales del cero al tres en la tarjeta de adquisición, el tipo de filtro diseñado es pasa altos, la respuesta del filtro se analiza con detalle en el marco teórico. El diagrama eléctrico del filtro se muestra en la figura 32 Figura 32 Diagrama eléctrico de los filtros utilizados La configuración mostrada en la figura 32 es denominada Sallen – Key en conmemoración a sus diseñadores R. P. Sallen y E. L. Key de la universidad de California, esta configuración es una de las mas utilizadas ya que permite una mayor independencia de las características de los amplificadores operacionales, es decir, al estar configurado el como amplificador permite que la dependencia de la frecuencia de corte alta sea menor. 71 Una de las características que deben tener los filtros es que impidan el paso de las frecuencias bajas y por las cualidades propias del amplificador cortará las frecuencias altas (menores de 1MHz), lo que indica que a pesar que el diseño que se plantee en este documento sea el de un pasa altas, cuando la frecuenta reincremente de manera significativa se atenuaran por el ancho de banda de funcionamiento del elemento activo del filtro. La ecuación para determinar la frecuencia de corte de filtro esta dada por: Fc = 1 2p RC De acuerdo con la figura 32 los valores de R1 y R2 son iguales y los condensadores C1 y C2 son del mismo valor, a través de la fórmula se determinan los valores de las resistencias asumiendo el valor de los condensadores, si se despeja el valor de R se tiene como resultado: R = 1 2p CFc En donde se asume que el valor de C = 1uF y conociendo la frecuencia de corte Fc= 20Hz se obtiene que el valor de R es: R = 7957.79 KU Comercialmente el valor mas cercano es el de 10K, las pruebas realizadas para determinar la frecuencia de corte se basan en determinar en que momento el nivel de la señal se reduce en un 30% para determinar la frecuencia de corte del filtro. El amplificador utilizado para la implementación es el LM358N, el cual cuenta con dos amplificadores internos, tiene alimentación simple y un alto rechazo en modo común de hasta 80dB (CMRR). 72 Los resultados obtenidos muestran el comportamiento del integrado con dos señales en cada uno de sus amplificadores internos, con el fin de analizar si existe alguna interferencia entre los componentes internos. Inicialmente se establece una señal de entrada que tenga un voltaje pico a pico de 1V (Figura 33). Figura 33 Imagen de la señal de entrada para los filtros. Como se observa la frecuencia inicial que se elige (20KHz) está por encima de la frecuencia de corte, con el fin de observar que la señal no tenga atenuación en las dos salidas del integrado, la respuesta que se obtuvo se muestra en la figura 34. 73 Figura 34 Salida en los dos amplificadores operacionales Como se observa, no existe atenuación en la señal y se ajusta el cursor en el 70% de la amplitud total de la señal para observar la frecuencia de corte, la frecuencia de corte inferior se muestra en la figura 35. Figura 35 Frecuencia de corte inferior 74 Como se mencionó anteriormente, las características de amplificador operacional atenúan la señal cuando la frecuencia de la señal de entrada es muy alta, dejando el cursor en la misma posición se incrementa la frecuencia para medir el valor. Su resultado se muestra en la figura 36. Figura 36 Frecuencia de corte superior En resumen se tiene que la frecuencia de corte inferior se encuentra en 20.03 Hz y la frecuencia de corte superior tiene un valor de 543.442 KHz lo cual le da un rango de funcionamiento bastante aceptable al microcontrolador previniendo la infiltración de señales de ruido a través de los canales de conversión. 4.3. ETAPA 3. CARACTERIZACIÓN DE FUNCIONES Y PLANTEAMIENTO DE PRÁCTICAS. 75 4.3.1. Caracterización de funciones. Se fundamentan en la adquisición de señales a través de cuatro canales habilitados para trabajar con el programa de modelamiento de control difuso heurístico. Cuenta con un sistema de visualización a través de una pantalla GLCD (LCD gráfica) de resolución de 128 X 64 pixeles. Cuatro actuadores tipo MOSFET que garantizan un optimo rendimiento de la energía que se les suministre a través de los cuatro canales de PWM con los que cuenta el microcontrolador. De igual forma cuenta con dos actuadores de corriente alterna tipo MOC para control de cargas que funcionen con voltaje alterno optoacopladas. Tiene habilitado uno de sus dos puertos de comunicación serial a través del protocolo RS232 el cual esta en capacidad de transmitir hasta una velocidad máxima de 115200 Bps. Puente H integrado para el control de giro de dos motores DC de forma simultanea con una carga máxima de 1 Amperio. Como se mencionó a través de todo el documento, las características de la tarjeta se enfocan hacia la integración de los elementos de mayor uso para aprovechar el tiempo de una forma más efectiva. El diagrama eléctrico de todos los componentes utilizados en la tarjeta se muestra en la figura 37. 76 Figura 37 Diagrama eléctrico de la tarjeta de adquisición de datos. Con el propósito de facilitar la reposición de elementos que puedan presentar daños en el momento de implementar cualquier proyecto, se propone trabajar los actuadores de la tarjeta en otra baquela. En la tarjeta principal se ubicaran el puerto de comunicación serial, la pantalla GLCD y los conectores necesarios para la comunicación con los actuadores, el diagrama eléctrico de la tarjeta principal se muestra en la figura 38, de la misma forma se muestra la disposición de los elementos sobre l tarjeta en la figura 39. 77 Figura 38 Tarjeta principal Figura 39 Disposición de los elementos en la tarjeta 1 78 En la figura 38 se observa que se tiene a disposición todos los puertos a través de borneras para su libre uso , de igual forma se disponen 5 pines para la utilización del programador Pikit 2 de microchip, programador utilizado y recomendado para la elaboración de de proyectos con dsPIC. En la figura 40 se detallan los componentes utilizados en la tarjeta de actuadores. Figura 40 Tarjeta de actuadores 79 Figura 41 Disposición de los elementos tarjeta 2 4.3.2. Planteamiento de prácticas Se plantean tres prácticas que demuestren el potencial y la versatilidad de la tarjeta con los componentes que la integran. • Programa de modelamiento difuso heurístico a través de Labview. A través de esta práctica se puede modelar de forma verbal un sistema que funcione con cuatro entradas y cuatro salidas, las cuatro salidas disponibles están controladas a través de los canales de modulación de ancho de pulso con los que cuenta el microcontrolador y las cuatro entradas están habilitadas del canal cero al tres. 80 El protocolo de comunicación entre el programa de modelamiento y el microcontrolador se fundamenta en la transmisión y recepción de registros con unas banderas determinadas las cuales indican la función que tiene que cumplir cada uno de los integrantes del sistema, funciona de la siguiente manera: El registro a enviar por parte del computador es de dos posiciones rx[0] y rx[1]; el primero determina si se envía la información de los canales de conversión o manejo de los actuadores de PWM y el segundo determina cual es el valor que se desea suministrar a los canales de PWM. Cuando se desee monitorear el resultado que se tiene en el canal cero (0) de conversión, el programa envía una ‘A’ hacia el microcontrolador y éste a su ves transmite la información pertinente, si es el canal uno (1) se debe enviar una ‘B’ y así sucesivamente hasta la letra D para recibir la información del canal 3. Para el trabajo sobre los cuatro actuadores el protocolo que se trabaja es similar, solo que en esta ocasión se debe tener en cuenta cual es el valor a cargar sobre el PWM el cual varía de 0% a 100% y este se envía junto con la primera letra tal cual como se muestra en la tabla 5. Tabla 5. Protocolo de transmisión Rx[0] A B C D W X Y Z Rx[1] XX XX XX XX 0 - 100 1 - 100 2 - 100 3 - 100 Función Se envía la información del canal 1 Se envía la información del canal 2 Se envía la información del canal 3 Se envía la información del canal 4 Valor a trabajar en el PWM 1 Valor a trabajar en el PWM 2 Valor a trabajar en el PWM 3 Valor a trabajar en el PWM 4 81 A través de la práctica se corroboró que de esta forma se garantiza que los registros de PWM pueden variar sin modificar el valor de los otros registros y gracias a la velocidad de transmisión se puede monitorear el valor de 4 canales de forma continua y fiable. Es importante considerar que la transmisión de todos los registros se debe hacer en formato ASCII y de no ser posible por disposiciones del profesor o condiciones de la práctica, se debe cambiar el protocolo de comunicación en el microcontrolador. La sección del programa que controla la información en cada uno de los canales se muestra en la figura 42 en esta figura se muestra un segmento del proceso completo, lo que se observa es el protocolo de configuración para la comunicación por vía serial hacia el microcontrolador. Inicialmente es envía la letra correspondiente a cada uno de los canales y posteriormente se lee y se guarda el valor registrado. Figura 42 Información en cada uno de los canales. Posteriormente se determina cual de los canales se quiere visualizar en el instrumento virtual a través de los interruptores que se tienen dispuestos para este fin. Figura 43 82 Figura 43 Selección del canal de conversión a visualizar Cuando se tienen seleccionadas las variables se procede con la valoración de las reglas que se ingresan al sistema a través del segmento de pantalla dispuesto para tal fin (figura 44) es importante recordar que se establece un intervalo de funcionamiento para cada una de las variables como mínimo y máximo para después determinar el porcentaje de funcionamiento del PWM. Figura 44 Espacio para el ingreso de las variables dentro del programa 83 Con el botón de inicio se procede con la valoración de todas las reglas que se encuentren dentro del sistema de tabulación que se muestra en la figura anterior. • Modulador QPSK El modulador QPSK esta conformado por un microcontrolador (dsPIC30f4013), una pantalla GLCD gráfica y un MAX232, la función del micro es almacenar los números seleccionados visualizarlos el la GLCD, además de tomar el numero decimal y convertirlo en binario para identificar que señal es la que se transmitirá. Otra función del micro es formar las cuatro señales posibles, es decir S1, S2, S3 y S4, como se muestra en la tabla 6. Tabla 6. Equivalencia de señales Señal Equivalente S1 00 S2 10 S3 11 S4 01 Cuando se ingrese la información de las tramas a modular por el puerto serial al microcontrolador se asocian los valores tal como se muestra en la tabla 6. Las tramas deben estar configuradas con el estándar del protocolo RS232 con un tamaño de registro de 8 bits, sin paridad ni control de flujo. 84 En la tabla de la digitalización se especifica en donde empieza cada señal (S1, S2, S3 y S4), es decir S1 empieza en 45º, S2 en 135º, S3 en 225º y S4 en 315º, lo que significa que se desplaza la fase 90º (Tabla 7). Tabla 7. Señales equivalentes: Señal Desplazamiento S1 45º S2 135º S3 225º S4 315º Gráfica resultante La reconstrucción de las señales sinusoidales se hace través de 49 valores por medio del puerto serial, éstas son graficadas bien sea a través de la pantalla GLCD o a través de una interfase que este en la capacidad de interpretarlas. Los valores utilizados para la reconstrucción de la señal con un desfase de 45º son: 85 S1 = (218,228,234,245,250,254,255,254,250,245,234,228,218,205,191,176,160,144,127,111,94, 79,64,50,37,26,17,10,4,1,0,1,4,10,17,26,37,50,64,79,94,111,127,127,144,160,176,191,205) Si se analizan los valores que se utilizan se observa que el mas alto, el pico de la señal tiene un valor de 255, el punto mas bajo es 0 y el punto intermedio es 128, lo que indica que la reconstrucción de la señal se hace a través de un protocolo de comunicación a 8 bits y como se mencionó anteriormente por medio de comunicación serial. La tarea fundamental que debe realizar el microcontrolador es agrupar las tramas que se ingresen en parejas de bits y asociarlas a los valores que se muestran en la tabla 7 para de esta forma modular la información y mostrarlo en la pantalla GLCD Un ejemplo de la modulación que se obtiene cuando se ingresan valores entre 0 y 7 se muestra en la tabla 8. La señal completa y sin desfase se muestra en la figura 46, en la cual se muestra como se toman los 49 valores para su reconstrucción. Y su equivalente en porcentaje de amplitud de señal (0 y 100%). Tabla 8. Equivalencia de señales Numero Equivalente 0 S1 S1 1 S1 S4 Gráfica resultante 86 2 S1 S2 3 S1 S3 4 S4 S1 5 S4 S4 6 S4 S2 7 S4 S3 En el programa hay cuatro subprogramas correspondientes a S1, S2, S3 y S4, que están conformados por 48 muestras cada uno, en la tabla de digitalización se observa el comienzo de cada una, entre cada muestra hay un intervalo de tiempo especificado según se requiera, es decir el periodo de cada señal vine dado por: T = 48muestras * retardo 87 Donde el retardo equivale al tiempo programado entre cada muestra, la frecuencia viene dada por: F= 1 T El esquema del algoritmo de la solución propuesta se muestra en la figura 45 Figura 45 Esquema del algoritmo modulador QPSK Inicio Declaración de variables Recepción de la trama serial Asociación por pares de bits con las señales Reconstrucción de las señales resultantes con base a los 50 valores Visualización de las señales en pantalla GLCD La línea de código recomendada es la siguiente: ,111,94,79,64,50,37,26,17,10,4,1,0,1,4,10 ,17,26,37,50,64,79,94,111,127,127,144,1 60,176,191,205) const QPSK_135 as byte[49] = (218,205,191,176,160,144,127,111,94,79, 64,50,37,26,17,10,4,1,0,1,4,10,17,26,37,5 0,64,79,94,111,127,127,144,160,176,191, 205,218,228,234,245,250,254,255,254,25 0,245,234,228) const QPSK_225 as byte[49] = (37,26,17,10,4,1,0,1,4,10,17,26,37,50,64, program QPSK dim RX as byte dim temp as byte dim i as integer dim RXC as word const QPSK_45 as byte[49] = (218,228,234,245,250,254,255,254,250,2 45,234,228,218,205,191,176,160,144,127 88 PORTB.0=0 case "2" PORTB.1=1 for i=0 to 48 step 1 temp = QPSK_135[i] Uart1_Write_Char(temp) next i PORTB.1=0 case "3" PORTB.0=1 for i=0 to 48 step 1 temp = QPSK_315[i] Uart1_Write_Char(temp) next i PORTB.0=0 case "4" PORTB.1=1 for i=0 to 48 step 1 temp = QPSK_225[i] Uart1_Write_Char(temp) next i PORTB.1=0 case else PORTB.1=1 Uart1_Write_Text("Error") PORTB.1=0 LATF.3 = 0x00 LATF.2 = 0x00 end select 79,94,111,127,127,144,160,176,191,205, 218,228,234,245,250,254,255,254,250,24 5,234,228,218,205,191,176,160,144,127, 111,94,79,64,50) const QPSK_315 as byte[49] = (37,50,64,79,94,111,127,127,144,160,176 ,191,205,218,228,234,245,250,254,255,2 54,250,245,234,228,218,205,191,176,160 ,144,127,111,94,79,64,50,37,26,17,10,4,1 ,0,1,4,10,17,26) main: Uart1_Init(9600) ADPCFG = $FFFF TRISB.0 = 0 TRISB.1 = 0 PORTB.0=0 PORTB.1=0 atras: ' while true ' while Uart1_Data_Ready() = 1 ' if (Uart1_Data_Ready() = 1) then RX = Uart1_Read_Char() LATF = 0x00 select case RX case "1" PORTB.0=1 for i=0 to 48 step 1 temp = QPSK_45[i] Uart1_Write_Char(temp) next i LATF = 0x00 goto atras end 89 Figura 46 Señal completa sin desfase Digitalización de la señal 1,1 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 Valor 0,2 0,1 0 -0,1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 3 3 34 35 36 37 3 8 39 4 0 41 42 43 44 4 5 46 4 7 48 4 9 50 -0,2 -0,3 -0,4 -0,5 -0,6 -0,7 -0,8 -0,9 -1 -1,1 Muestra • Juego del Tanque El Juego del Tanque esta conformado por un microcontrolador (dsPIC30f4013), una pantalla GLCD gráfica y 5 pulsadores, la función del micro es almacenar y procesar toda la información del juego para luego enviarlos y visualizarlos el la GLCD. Primero se debe comenzar por establecer la forma del tanque y cuales figuras se van a utilizar, para esto se tienen 2 cuadrados para formar el tanque, un rectángulo como cañón, 2 líneas para las ruedas además de puntos para cada sección de rueda y vario puntos unidos para formar una línea simulando una bala; Además de estos hay que configurar las posiciones para que todo quede en un mismo sitio y así poderlas mover teniendo como limite los extremos de la GLCD. En cuanto al movimiento de el tanque se hace variando su posición a través de 4 pulsadores uno para cada lado y pudiéndose combinar para moverse en diagonal. Se debe borrar la posición anterior del tanque para que no salga repetido, esto se hace cambiando el contraste rápidamente y así tener solo un objeto a la vista. El otro objeto es la mira móvil la cual se desplaza por los bordes de la pantalla y la idea es atinar con la bala al centro de la mira y esto es simplemente disparando con el quinto pulsador mientras se mueve la mira, esto se hace por comparación de la posiciones tanto de la baja como la de la mira y en el momento que coincidan tanto en la posición X como en la Y automáticamente es marcado un punto en un contador de impactos hasta llegar al limite y acabarse el juego. 5. PRESENTACIÓN Y ANÁLISIS DE RESULTADOS El resultado obtenido a través de las pruebas realizadas a los canales de conversión análoga digital demuestran que la capacidad de monitoreo del microcontrolador se ve reducido de manera significativa cuando se programa mas de un canal al mismo tiempo, de acuerdo con la tabla 4 se demuestra que la tasa de muestreo de reduce de forma exponencial dependiendo de la cantidad de canales que se programen, el comportamiento descrito anteriormente se muestra en la figura 47. Figura 47 Comportamiento de la tasa de muestreo con respecto a la cantidad de canales programados Muestreo 14000 Muestras por segundo 12000 10000 8000 Muestreo 6000 4000 2000 0 1 2 3 4 5 6 7 Canales Conversion Los datos utilizados para la realización de la grafica son los que se consignan en la tabla 4 en el desarrollo ingenieril. Lo que se demuestra con este análisis es que el microcontrolador no cuenta con 12 canales de conversión simultanea si no que por el contrario solamente 92 tiene uno y este se multiplexa para almacenar la información que se adquiere por cada uno de ellos. Considerando lo anteriormente mencionado se decide que la cantidad de canales ideales para la realización de practicas sean 4, sin embargo se dejan disponibles 8 para la realización de practicas de baja complejidad o en donde los sensores o variables utilizados no tengan una frecuencia de funcionamiento muy alta. La selección de las prácticas de laboratorio se fundamenta en la versatilidad de cada una de ellas, de la complejidad y utilización de los materiales disponibles en la tarjeta y necesarios para desarrollar las mismas. La practica de control difuso heurístico conjuga varios temas relacionados con la matera de control permitiendo al estudiante comprender el comportamiento y la filosofía de funcionamiento de la lógica difusa de una forma práctica y sencilla, adicional a esto involucra una parte importante de programación donde se deben utilizar conceptos de programación como la transmisión de datos por comunicación serial bajo el protocolo RS232, manejo de los módulos de PWM disponibles en el microcontrolador y conversión análoga digital. En lo relacionado con la modulación QPSK se eligió por ser una de las modulaciones digitales mas versátiles permitiendo al estudiante explorar con la modulación básica mas aplicaciones como lo son transmisión de información vía inalámbrica, comunicación de varios dispositivos de forma serial, modificación de las frecuencias de transmisión de la información codificada, entre otras. Las ventajas más representantitas de la modulación digital se basan en la reducción de ruido, fidelidad de la señal recibida, modulación y demodulación disponible a través de DSP y una de las mas importantes la codificación y encriptación de la información. Entre las practicas propuestas inicialmente se planteó el desarrollo de un osciloscopio a través de una pantalla GLCD, los inconvenientes con los que se afrontó fue la poca estabilidad de la señal que se mostraba en la pantalla, esto se presentó debido a que los bits 93 de menor peso en el resultado de la conversión no permitían un manejo confiable de la señal y por otra parte para visualizar las señales de alta frecuencia (menor de 10MHz) se hacía necesaria la implementación de una memoria adicional para almacenar los datos durante un tiempo determinado y comunicarlos posteriormente para su visualización. La integración de este elemento reducía las salidas disponibles de la tarjeta limitando su funcionabilidad. La implementación de los actuadores de forma modular permite tener una mayor cantidad de puertos libres en el momento en que se necesiten, cumpliendo con el objetivo de brindar una mayor movilidad e integración a proyectos básicos. Todas las funciones establecidas en este proyecto son completamente modificables , esa es una de las características mas importantes que cabe resaltar, su maniobrabilidad esta limitada únicamente por la disposición de los materiales dentro de la tarjeta pero todas sus características son programables y ajustables lo que abre una amplia gama de posibilidades para desarrollar las capacidades y opciones para las practicas de laboratorio dentro de las materias relacionadas con microcontroladores y control. La relación de costos del proyecto se detalla en el anexo J donde se muestra un análisis detallado de los gastos realizados para el desarrollo del proyecto, las utilidades estimadas y el tiempo de recuperación de la inversión realizada. 94 6. CONCLUSIONES Dados los requerimientos básicos para la selección de un buen microcontrolador para realizar este proyecto se tuvieron en cuenta especificaciones como: capacidad de memoria interna, la resolución del conversor análogo digital, el numero de pines, tipo de encapsulado, numero de entradas y salidas y su forma (análogo o digital), por estos y otros requisitos básicos se elige el DsPIC 30f4013 ya que cumple a cabalidad con muchos de los requerimientos antes enunciados. Con la variedad de visualizadores o pantallas utilizados en la electrónica se elige una GLCD pantalla grafica por su opción de visualizar caracteres con los que una LCD normal no se podría, como los utilizados en las prácticas propuestas. Fundamentándose en la hipótesis planteada y en el trabajo realizado y contextualizado a través del desarrollo ingenieril se observó que los microcontroladores de gama alta como lo son los dsPIC tiene una buena cantidad de canales de conversión especializados para la adquisición de señales análogas, entre las anotaciones mas relevantes a su funcionamiento se destaca que la tasa de muestreo se reduce de manera significativa haciendo que la utilización de canales en forma simultanea no sea recomendable para variables de alta frecuencia o variación. La integración de distintos elementos actuadores en un espacio reducido facilita la movilidad y reparación de las piezas defectuosas o dañadas de la tarjeta. Adicionalmente la realización de la misma a través de un microcontrolador permite al usuario efectuar modificaciones de los mismos a la forma que se demande en el sistema que se trabaje. La utilización de la pantalla GLCD en la tarjeta reduce de manera significativa la cantidad de puertos libres en el mismo pero brinda una herramienta de programación muy 95 interesante a través de la cual se puede manejar una interfaz de alta maniobrabilidad y versatilidad. 96 7. RECOMENDACIONES El prototipo desarrollado cuenta con la gran mayoría de sus piezas modulares, en caso de presentarse algún daño en las mismas se recomienda hacer uso de los planos incluidos en este documento para realizar su reposición con el fin de evitar daños mayores o malfuncionamiento de la tarjeta. Para la programación del microcontrolador se siguiere la utilización del programador Pickit 2 de la marca Microchip, en la tarjeta se incluyen los pines necesarios para uso, es de fácil uso y su precio es bastante accesible. En caso de programar con el dispositivo recomendado es necesario retirar la pantalla GLCD ya que ésta tiene unos pines conectados en paralelo con el programador, se debe retirar únicamente mientras se programa el dispositivo. No trabajar directamente son sensores que tengan un rango de funcionamiento mayor a 5V DC ya que esto daña el modulo de conversión análoga digital, es necesario realizar un acoplamiento de la señal para que se adapte a el intervalo necesario. No ingresar señales de DC a través de los filtros ya que están diseñados para trabajar con señales de frecuencia variable, se debe tener en cuenta que debido a la impedancia reactiva éstos se comportan como circuito abierto ante esta clase de señales. No trabajar señales superiores a 150KHz a través de los filtros debido a que por su comportamiento los amplificadores operacionales con los que se trabajan los filtros no tienen buena respuesta ante este tipo de frecuencias. El análisis de la respuesta se muestra en el desarrollo ingenieril del proyecto. 97 En caso de dañarse el adaptador de corriente se debe reemplazar por uno que no sobrepase los 15 voltios en DC, ya que si tiene un valor mayor puede representarse en un calentamiento de regulador produciendo fallas o quemaduras en los elementos cercanos a éste. 98 BIBLIOGRAFÍA IBRAHIM, Ahmad M. Introduction applied fuzzi electronics.New Jersey: Prentice Hall. 1997. BOYLESTAD, Robert. Electrónica: teoría de circuitos. México: Prentice Hall Hispanoamericana. 1994 MALONEY, Timothy J. Electrónica industrial moderna. México, Prentice Hall Hispanoamericana. 1997 OGUIC, Patrice. Control electrónico con el PC. Madrid, Paraninfo. 1997 INSTITUTO COLOMBIANO DE NORMAS TÉCNICAS. Normas colombianas para la presentación de trabajos de investigación. Quinta actualización. Bogotá DC. ANGULO USATEGUI, José María. Microcontroladores avanzados dsPIC: Controladores digitales de señales. Arquitectura, programación y aplicaciones. Madrid, Thomson, 2006 GIBILISCO, Stan, Electrónica diccionario enciclopédico, cuarta edición, Ed. McGraw Hill, 2004 99 ANEXOS. Anexo A. Especificaciones dsPIC30F4013 100 Anexo B. Especificaciones ATmega 8 101 Anexo C. Especificaciones L293D 102 Anexo D. Especificaciones IRF 840 103 Anexo E. Especificaciones MOC3011 104 Anexo F. Especificaciones BT137 105 Anexo H. Línea de código en Arduino #include <LCD4Bit.h> int led = 13; LCD4Bit lcd = LCD4Bit(2); int pwm1 = 9; int pwm2 = 10; int RX[2]; int pwm3 = 11; int contador; char buf[10]; int s1=0; int s2=1; void setup() int s3=2; { int s4=3; Serial.begin(9600); int s5=4; digitalWrite (led,HIGH); int s6=5; } int conv1; int conv2; void loop() int conv3; { int conv4; conv1=analogRead(s1); int conv5; conv2=analogRead(s2); int conv6; conv3=analogRead(s3); conv4=analogRead(s4); { conv5=analogRead(s5); Serial.print("S1: "); conv6=analogRead(s6); Serial.print ("000"); //------------------Tx Serial Serial.print(conv1, DEC); if (Serial.available() > 0) Serial.print(";"); { } for (contador = 0; contador < 2; if (conv1>=10 && conv1<=99) contador ++) { { Serial.print("S1: "); RX[contador] = Serial.read(); Serial.print ("00"); } Serial.print(conv1, DEC); if (contador == 1) Serial.print(";"); { } contador = 0; if (conv1>=100 && conv1<=999) } { if (RX[0] == 'A') Serial.print("S1: "); { Serial.print ("0"); if (conv1>=0 && conv1<=9) Serial.print(conv1, DEC); 107 Serial.print(";"); if (conv2>=10 && conv2<=99) } { if (conv1>999) Serial.print("S2: "); { Serial.print ("00"); Serial.print("S1: "); Serial.print(conv2, DEC); Serial.print(conv1, DEC); Serial.print(";"); Serial.print(";"); } } if (conv2>=100 && conv2<=999) } { if (RX[0] == 'B') Serial.print("S2: "); { Serial.print ("0"); if (conv2>=0 && conv2<=9) Serial.print(conv2, DEC); { Serial.print(";"); Serial.print("S2: "); } Serial.print ("000"); if (conv2>999) Serial.print(conv2, DEC); { Serial.print(";"); Serial.print("S2: "); } Serial.print(conv2, DEC); 108 Serial.print(";"); } } if (conv3>=100 && conv3<=999) } { if (RX[0] == 'C') Serial.print("S3: "); { Serial.print ("0"); if (conv3>=0 && conv3<=9) Serial.print(conv3, DEC); { Serial.print(";"); Serial.print("S3: "); } Serial.print ("000"); if (conv3>999) Serial.print(conv3, DEC); { Serial.print(";"); Serial.print("S3: "); } Serial.print(conv3, DEC); if (conv3>=10 && conv3<=99) Serial.print(";"); { } Serial.print("S3: "); } Serial.print ("00"); if (RX[0] == 'D') Serial.print(conv3, DEC); { Serial.print(";"); if (conv4>=0 && conv4<=9) 109 { Serial.print(";"); Serial.print("S4: "); } Serial.print ("000"); if (conv4>999) Serial.print(conv4, DEC); { Serial.print(";"); Serial.print("S4: "); } Serial.print(conv4, DEC); if (conv4>=10 && conv4<=99) Serial.print(";"); { } Serial.print("S4: "); } Serial.print ("00"); if (RX[0] == 'E') Serial.print(conv4, DEC); { Serial.print(";"); if (conv5>=0 && conv5<=9) } { if (conv4>=100 && conv4<=999) Serial.print("S5: "); { Serial.print ("000"); Serial.print("S4: "); Serial.print(conv5, DEC); Serial.print ("0"); Serial.print(";"); Serial.print(conv4, DEC); } 110 if (conv5>=10 && conv5<=99) Serial.print(";"); { } Serial.print("S5: "); } Serial.print ("00"); if (RX[0] == 'F') Serial.print(conv5, DEC); { Serial.print(";"); if (conv6>=0 && conv6<=9) } { if (conv5>=100 && conv5<=999) Serial.print("S6: "); { Serial.print ("000"); Serial.print("S5: "); Serial.print(conv6, DEC); Serial.print ("0"); Serial.print(";"); Serial.print(conv5, DEC); } Serial.print(";"); if (conv6>=10 && conv6<=99) } { if (conv5>999) Serial.print("S6: "); { Serial.print ("00"); Serial.print("S5: "); Serial.print(conv6, DEC); Serial.print(conv5, DEC); Serial.print(";"); 111 } if (RX[0] == 'X') if (conv6>=100 && conv6<=999) { { analogWrite(pwm1,RX[1]); Serial.print("S6: "); } Serial.print ("0"); if (RX[0] == 'Y') Serial.print(conv6, DEC); { Serial.print(";"); analogWrite(pwm2,RX[1]); } } if (conv6>999) if (RX[0] == 'Z') { { Serial.print("S6: "); analogWrite(pwm3,RX[1]); Serial.print(conv6, DEC); } Serial.print(";"); } } } } 112 Anexo I. Línea de código utilizada en Mikrobasic for dsPIC tx1 as string[6] tx2 as string[6] dim CH0 as word tx3 as string[6] CH1 as word tx4 as string[6] CH2 as word tx5 as string[6] CH3 as word tx6 as string[6] CH4 as word tx7 as string[6] program TAD pwm_period1, pwm_period2,pwm_period3,pwm_period 4 as word CH5 as word CH6 as word CH7 as word rx as string [2] txt0 as string[6] i as integer txt1 as string[6] txt2 as string[6] ADPCFG = $FFFF txt3 as string[6] Uart1_Init(115200) txt4 as string[6] txt5 as string[6] txt6 as string[6] txt7 as string[6] pwm tx0 main: pwm_PERIOD1 = Pwm_Init(1000, 1, 1, 3) pwm_PERIOD2 = Pwm_Init(1000, 2, 1, 3) pwm_PERIOD3 = Pwm_Init(1000, 3, 1, 3) as string[6] pwm_PERIOD4 = Pwm_Init(1000, 4, 1, 3) as string[6] 113 Pwm_Start(1) WordToStr(pwm_period1,pwm) Pwm_Start(2) Pwm_Start(3) WordToStrWithZeros(pwm_period1, txt0) Pwm_Start(4) while true 'WordToStrWithZeros(CH1, txt1) CH0 = Adc_Read(0) 'WordToStrWithZeros(CH2, txt2) CH1 = Adc_Read(1) 'WordToStrWithZeros(CH3, txt3) CH2 = Adc_Read(2) 'WordToStrWithZeros(CH4, txt4) CH3 = Adc_Read(3) 'WordToStrWithZeros(CH5, txt5) CH4 = Adc_Read(4) 'WordToStrWithZeros(CH6, txt6) CH5 = Adc_Read(5) 'WordToStrWithZeros(CH7, txt7) CH6 = Adc_Read(6) CH7 = Adc_Read(7) if Uart1_Data_ready() = 1 then for i = 0 to 2 WordToHEX(CH0, tx0) rx[i] = Uart1_read_char() WordToHEX(CH1, tx1) next i WordToHEX(CH2, tx2) end if WordToHEX(CH3, tx3) WordToHEX(CH4, tx4) if rx[0] = "A" then WordToHEX(CH5, tx5) WordToHEX(CH6, tx6) Uart1_Write_TEXT (Tx0) WordToHEX(CH7, tx7) rx[0] = 0 114 Uart1_Write_TEXT (Tx4) end if rx[0] = 0 if rx[0] = "B" then end if if rx[0] = "F" then Uart1_Write_TEXT (Tx1) rx[0] = 0 Uart1_Write_TEXT (Tx5) rx[0] = 0 end if if rx[0] = "C" then end if if rx[0] = "G" then Uart1_Write_TEXT (Tx2) rx[0] = 0 Uart1_Write_TEXT (Tx6) rx[0] = 0 end if if rx[0] = "D" then end if Uart1_Write_TEXT (Tx3) if rx[0] = "H" then rx[0] = 0 end if Uart1_Write_TEXT (Tx7) if rx[0] = "E" then rx[0] = 0 115 if rx[0] = "Z" then end if pwm_set_duty(rx[1]*200,4) if rx[0] = "W" then rx[0] = 0 pwm_set_duty(rx[1]*200,1) end if rx[0] = 0 Lcd_Init(PORTB, 9,10,11,12, PORTF, 4,1,0) end if if rx[0] = "X" then Lcd_Cmd(LCD_CURSOR_OFF) Lcd_Cmd(LCD_FIRST_ROW) pwm_set_duty(rx[1]*200,2) rx[0] = 0 Lcd_Out_Cp ("CH0:") Lcd_out_Cp (txt0) end if Lcd_Out_Cp (" ") if rx[0] = "Y" then 'Lcd_Out_Cp ("CH1:") 'Lcd_chr_Cp (Rx[1]) pwm_set_duty(rx[1]*200,3) rx[0] = 0 'Lcd_Cmd(LCD_second_ROW) end if ' 116 'Lcd_Out_Cp (txt7) 'Lcd_Out_Cp ("CH2:") 'Lcd_Out_Cp (txt2) Delay_ms(30) 'Lcd_Out_Cp (" ") wend ' 'Lcd_Out_Cp ("CH3:") end. 'Lcd_Out_Cp (txt3) ' 'Lcd_Cmd(LCD_third_ROW) ' 'Lcd_Out_Cp ("CH4:") 'Lcd_Out_Cp (txt4) 'Lcd_Out_Cp (" ") ' 'Lcd_Out_Cp ("CH5:") 'Lcd_Out_Cp (txt5) ' 'Lcd_Cmd(LCD_fourth_ROW) ' 'Lcd_Out_Cp ("CH6:") 'Lcd_Out_Cp (txt6) ' Lcd_Out_Cp (" ") ' ' Lcd_Out_Cp ("CH7:") 117 Anexo J. Análisis financiero del proyecto. Los costos necesarios para la implementación del proyecto se muestran a continuación, se relacionan con el fin de establecer un precio de venta público. Tabla 9. Análisis de costos Elemento Cantidad Precio por unidad Sub total Borneras de atornillar dobles 13 $ 500 $ 6.500 Borneas de atornillar triples 4 $ 700 $ 2.800 MOSFET IRF840 4 $ 2.500 $ 10.000 BT137 Conector DB9 Hembra Optoacoplador MOC3011 2 $ 1.200 $ 2.400 1 $ 1.000 $ 1.000 2 $ 1.200 $ 2.400 1 $ 5.000 $ 5.000 Resistencias Pulsadores Adaptador de corriente 40 1 $ 25 $ 300 $ 1.000 $ 300 1 $ 12.000 $ 12.000 Regulador 7805 1 $ 1.200 $ 1.200 Plug para DC Conector de 16 hilos Cinta plana de 16 hilos 1 $ 400 $ 400 2 $ 2.000 $ 4.000 1 $ 1.600 $ 1.600 2 $ 2.000 $ 4.000 Base para microcontroladores Conectores macho de 16 hilos 118 Microcontrolador dsPIC30F4013 1 $ 30.000 $ 30.000 Pantalla Grafica resolución 124x68 1 $ 80.000 $ 80.000 2 $ 500 $ 1.000 3 $ 1.000 $ 3.000 7 $ 400 $ 2.800 5 $ 200 $ 1.000 Regleta para LCD 1 $ 2.500 $ 2.500 Impresión baquelas doble cara con antisolder 1 $ 95.000 $ 95.000 Puentes rectificadores Amplificadores operacionales Condensadores electrolíticos Condensadores cerámicos TOTAL COSTOS FIJOS $ 269.900 GASTOS ADMINISTRATIVOS $ 250.000 PRECIO DE VENTA PUBLICO $ 520.000 Como se observa en la tabla 9 se detalla la cantidad y los materiales necesarios para el desarrollo de la tarjeta de adquisición mostrada en el documento, en lo relacionado con los gastos administrativos, se incluye los rubros necesarios para la movilidad, alimentación y gastos adicionales necesarios para el desarrollo del proyecto. Las utilidades se establecen sobre el 45% de la sumatoria de los gastos administrativos y costo de materiales. Se estima que los gastos incurridos para el desarrollo, diseño e implementación se recuperen en un plazo de un año. 119 El precio de venta público mostrado en este aparte es el que se propone para los equipos que se trabajen en la universidad, en caso de existir ventas o interesados ajenos a la misma los precios varían. 120