Source: http://docplayer.es/10460686-Instituto-politecnico-nacional.html
Timestamp: 2019-01-19 01:04:42+00:00

Document:
María Pilar Coronel Rojo
1 INSTITUTO POLITECNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD ZACATENCO DEPARTAMENTO ACADÉMICO DE INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN PROPUESTA PARA LA IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL DIGITAL EN UN SISTEMA BARRA - ESFERA TESIS QUE PARA OBTENER EL TÍTULO DE INGENIERO EN CONTROL Y AUTOMATIZACIÓN PRESENTAN: MÉNDEZ ROMÁN DAVID RUIZ ESPARZA OCHOA SERGIO IVAN ASESORES: TÉCNICO: ING. MURILLO YAÑEZ LUIS ENRIQUE ESTRUCTURA: M. EN C. PACHECO VAN DYCK GUSTAVO MEXICO DF, 2008
2 Agradecimientos A Dios, por darme la vitalidad y la fortaleza para alcanzar este sueño. Al Instituto, por brindarme la oportunidad de ser parte de él y encontrar en sus instalaciones una fuente de conocimiento y satisfacciones. A mis asesores, por facilitar la realización de este trabajo al compartirme sus conocimientos y experiencias. A David, por su valiosa e indispensable participación para lograr este trabajo tan importante. A todos mis profesores, por las facilidades y dificultades colocadas durante mi camino entre las aulas. Sergio Ivan
3 Dedicatorias A mis Padres, como una muestra de agradecimiento a sus esfuerzos y sacrificios realizados, por ser mis guías y un ejemplo a seguir en mi vida, por ayudarme a ser mejor persona cada día, por darme la oportunidad de crecer con ustedes y aprender juntos de nuestros aciertos y de nuestro errores, por compartir su vida conmigo, ya que es por ustedes que todo esto ha sido posible y que a partir de ahora y desde siempre todos mis logros se los debo y están inspirados en ustedes Joel y Elizabeth, a ustedes les debo la vida y aunque tal vez no encuentre la forma de pagarles, siempre estaré agradecido por todo lo que he recibido de ustedes, ustedes son mi fuente de inspiración para seguir adelante, Gracias A mis Hermanos, por compartir conmigo esta vida de sueños y aspiraciones. A mi familia, por el apoyo incondicional me han brindado durante mi vida. Sergio Ivan
4 Índice General Índice General...i Índice de figuras... iii Índice de tablas...iv Introducción...v Objetivo General...vii Objetivos específicos...vii Justificación... viii Capítulo 1. Marco teórico Control de Procesos Introducción al control de procesos Control Retroalimentado Elementos de un sistema de control retroalimentado Control digital Tipos de señales Estructura de un sistema de control digital Definición de los componentes del sistema de control digital Tipos de operaciones de muestreo Cuantificación y errores de cuantificación Sistemas de adquisición, conversión y distribución de datos Efectos de muestrear una señal continua Control digital de procesos Transformada z Introducción a la transformada z La transformada z Teoremas importantes de la transformada z Transformada z inversa Método de la transformada z para la solución de ecuaciones en diferencias Estabilidad absoluta de sistemas en lazo cerrado en el plano z...27 Capítulo 2. Sistemas de control Sistemas de Control Convencionales Sistemas de Control Moderno Sistemas de Control Digital Sistemas de Control Lógico Difuso Sistema Barra - Esfera...31 Capitulo 3. Diseño y construcción de los componentes del sistema de control barra-esfera Sistema barra-esfera Generalidades Diseño Construcción Barra-Sensor Servomotor Tarjeta de adquisición de datos Generalidades...42 i
5 Descripción de los recursos necesarios Convertidor analógico / digital (C A/D) Temporizador (TMR 2) Modulador de anchura de pulsos (PWM) Especificaciones de diseño Diseño de la tarjeta de desarrollo Principio de funcionamiento Fuente de alimentación Recursos de la tarjeta PCB Controlador digital Sintonización del PID Comparación de las estructuras de PID digital Algoritmo del microcontrolador para el sistema de control digital Capitulo 4. Costo del Proyecto...72 Conclusiones...75 Glosario...77 Bibliografía...79 Anexo A. Descripción General del PIC16F87X...81 Anexo B. Imágenes de las implementaciones desarrolladas...99 Anexo C. Código de programación desarrollado para el algoritmo de control ii
6 Índice de figuras Figura 1.1. Estructura general de un sistema de control...2 Figura 1.2. Señal en tiempo continuo...4 Figura 1.3. Señal analógica...5 Figura 1.4. Señal en tiempo discreto...5 Figura 1.5. Señal digital...5 Figura 1.6. Estructura básica de un sistema de control digital...6 Figura 1.7. Tipos de señales en un sistema de control digital...7 Figura 1.8. Características de entrada salida del error de cuantificación...10 Figura 1.9. Error de cuantificación e( t) = x( t) y( t)...11 Figura Distribución de probabilidad del error de cuantificación...11 Figura Diagrama esquemático de un convertidor A/D del tipo de aproximaciones sucesivas Figura Circulo unitario para el análisis de estabilidad absoluta en el plano z...28 Figura 3.1. Esquema del sistema barra-esfera...33 Figura 3.2. Dinámica de la esfera...36 Figura 3.3. Diagrama de un divisor de voltaje Figura 3.4. Aspecto físico de un servomotor...39 Figura 3.5. Posiciones del servomotor...40 Figura 3.6. Terminales del servomotor...41 Figura 3.8. Diagrama del C A/D del PIC16F87XA Figura 3.9. Diagrama de bloques del TMR Figura Impulso en nivel alto con una anchura controlada dentro de un periodo Figura Operación del PWM sobre un servo motor...48 Figura Diagrama a bloques del sistema a desarrollar. Con un tiempo de muestreo de 10ms Figura Diagrama de bloques del sistema...51 Figura Fuente de alimentación de 5 v...51 Figura Diagrama esquemático de la configuración de la tarjeta...52 Figura Diseño de la tarjeta de adquisición de datos Figura Sistema en lazo cerrado con un controlador proporcional...54 Figura Respuesta del sistema con oscilaciones sostenidas. k cr = 0. 6 y P cr = Figura Esquema de control PID en forma posicional...59 Figura Esquema de control PID en forma de velocidad...60 Figura Esquema de control PID digital en forma posicional sintonizado...61 Figura Grafica de la respuesta del sistema de control en la forma posicional Figura Esquema de control PID en forma de velocidad sintonizado Figura Gráfica de la respuesta del sistema de control en forma de velocidad Figura Esquema de control PD sintonizado...64 Figura Gráfica de la respuesta del sistema de control PD...65 iii
7 Índice de tablas x...27 Tabla 2. Registro T2CON...46 Tabla 3. Rangos del postdivisor del TMR Tabla 4. Rango del predivisor del TMR Tabla 1. Transformada z de x ( k+ m) y ( k m) Tabla 5. Resumen de los registros asociados al TMR Tabla 6. Reglas de sintonía de Ziegler-Nichols basada en la ganancia crítica k cr y periodo crítico cr P...55 Tabla 7. Costo de materiales...72 Tabla 8. Descripción de los costos de elaboración de la tarjeta de adquisición de datos...73 Tabla 9. Costo de consumibles...73 Tabla 10. Descripción de los costos de programación del algoritmo de control...74 Tabla 11. Costo total del proyecto...74 iv
8 Introducción Este trabajo presenta el desarrollo de un sistema de adquisición de datos basada en un microcontrolador para la implementación de un algoritmo de control digital. Este tipo de dispositivos es muy utilizado para el desarrollo de sistemas de control basados en tecnología digital. De igual manera se presenta el diseño y construcción de un sistema barra-esfera para el que se propondrá un sistema de control digital implementado en la tarjeta de adquisición de datos y utilizando los recursos del microcontrolador en el cual esta basado el desarrollo de la tarjeta. El enfoque dado a la tarjeta es principalmente de tipo didáctico ya que en un laboratorio de control a nivel licenciatura es indispensable el empleo de sistemas de control para la comprender su funcionamiento. En este desarrollo se pretende realizar una propuesta con la cual sea posible que los alumnos de la carrera de Ingeniería en Control y Automatización realicen pruebas de sintonización del algoritmo de control y al contar con una herramienta accesible en costo y funcionamiento para la realización de prácticas e implementaciones de control en diversos sistemas y prototipos. La estructura de la tesis es la siguiente: En el capitulo 1 se da una introducción al control de procesos, se describe la estructura general de un sistema de control retroalimentado. Se ofrecen las bases para el estudio de un sistema de control digital y se estudian herramientas necesarias para el diseño y análisis de un algoritmo de control. En el capítulo 2 se da una explicación básica de algunos tipos de control empleados en la actualidad, mencionando las principales características de cada uno de ellos. También se da una explicación general las características principales del sistema Barra-Esfera. En el capitulo 3 se trata el desarrollo de cada uno de los componentes que integran el sistema de control Barra-Esfera. Considerando las características y especificaciones de construcción. En primer lugar se obtiene el modelo matemático y los componentes empleados en la realización del sistema Barra-Esfera. Enseguida se da la explicación acerca del desarrollo de la tarjeta de adquisición de datos así como una revisión de los recursos del microcontrolador v
9 usado. Como parte final del capitulo se tiene la obtención del algoritmo de control PID digital a partir de la versión analógica, así como una comparación entre el desempeño de las estructuras posicional y de velocidad. Se da un resumen de la programación a realizar para el desarrollo del algoritmo de control PID digital en el microcontrolador. En el capitulo 4 se da una explicación de las etapas en que se dividió el trabajo para la obtención del costo total del proyecto. Por último se dan las conclusiones y los resultados a lo que se llegaron al desarrollar este trabajo. vi
10 Objetivo General Diseñar e implementar un sistema de control digital mediante una tarjeta de adquisición de datos basada en un microcontrolador, utilizando un sistema Barra-Esfera para mostrar el control.. Objetivos específicos Diseñar y construir el sistema mecánico Barra-Esfera. Diseñar una tarjeta de adquisición de datos basada en un microcontrolador con los componentes básicos de un sistema de control digital. Investigar diferentes propuestas de control PID digital. Probar el desempeño de las estructuras de control PID digital posicional y de velocidad en simulación, empleando el modelo matemático del sistema barra esfera. vii
11 Justificación Existe una gran variedad de dispositivos de control que utilizan algoritmos clásicos y avanzados para la regulación de variables en sistemas eléctricos, mecánicos, procesos químicos, etc. Estos dispositivos además de que tienen un costo elevado también son desarrollados para propósito general; además de que solo es necesario configurarlo y/o programarlo y no requiere de gran investigación. Hay muchas empresas pequeñas y medianas que requieren a veces utilizar y desarrollar diseños de sistemas de control para propósito específico que estén enfocados a resolver problemas específicos y que no sea necesario hacer un gasto excesivo, por lo que el diseño de tarjetas de control es necesario para sus aplicaciones. Además, mediante el desarrollo de estos proyectos se conoce el funcionamiento de los equipos comerciales de forma mas detallada y así se empieza a desarrollar prototipos propios que tengan funcionalidad y resuelvan problemas. El trabajo podría utilizar un equipo comercial lo que facilitaría el desarrollo pero así mismo tendría un costo mayor porque además del equipo se tiene que adquirir el software para programarlo elevando aun más el costo. viii
12 Capítulo 1. Marco teórico 1.1. Control de Procesos Introducción al control de procesos Al tratar con procesos físicos o químicos se tienen materiales y energía que se transportan de un lugar a otro, con los cuales se pretende obtener un producto, ya sea un material, movimiento, una fuerza para mover una carga, transferir calor. Para obtener óptimos resultados en un proceso de este tipo es necesario conocer sus variables, es decir, los valores que cambian cuando el proceso esta en marcha, como ejemplos de algunas variables se tienen temperatura, presión, flujo, nivel, etc., así como también la dinámica de dichas variables que es la forma en la que cambian en relación de la salida con respecto a la entrada. El estudio de la dinámica de un proceso se puede lograr de diferentes formas, una es matemáticamente por medio de una ecuación que describa el comportamiento de dicho proceso, conocida como modelo matemático, generalmente se emplean ecuaciones integro diferenciales ya que el comportamiento de las variables en un proceso presenta cambios con respecto al tiempo o con respecto a otra variable. Otra forma de estudiar la dinámica de un proceso es empíricamente, esto es, realizar pruebas al proceso físicamente, analizando las salidas obtenidas para diferentes entadas aplicadas. En la realidad, esta operación resulta impráctica y costosa, por lo que generalmente se emplea una computadora con un software de simulación en el que imita el proceso por medio de su modelo matemático y se le realizan estas pruebas, el inconveniente esta en que no es posible representar el comportamiento exacto de un proceso por medio de un modelo matemático ya que este es ideal y en el caso real existen factores que afectan su comportamiento, entonces la exactitud con la que requiera expresar un proceso por medio de su modelo matemático esta en directa relación con la complejidad de este. [4] Control Retroalimentado El objetivo de un sistema de control es mantener un proceso en condiciones específicas de operación, estas condiciones son valores en los que deben permanecer las variables de dicho proceso. 1
13 Existen diversas formas de implementar un sistema de control en un proceso, estas formas se conocen como estrategias de control. El control retroalimentado consiste en medir una variable de salida llamada variable controlada o variable de proceso para compararla con un punto de operación, que es el valor en el que se desea mantener la variable de proceso, de esta operación se genera una señal de error que es la desviación de la variable controlada con respecto a su punto de operación, el controlador se encarga de recibir la señal de error y enviar una acción de control a un actuador de tal forma que la señal de error sea compensada y tienda a cero, físicamente una acción de control representa abrir o cerrar una válvula, determinar el sentido de giro de un motor, aplicar una mayor o menor cantidad de calor a un sistema, etc. [5] Elementos de un sistema de control retroalimentado Un sistema de control es el conjunto de elementos que mantienen las variables de un proceso en puntos de operación o valores deseados de funcionamiento. Los cuatro componentes básicos de un sistema de control son: Sensor, que es conocido también como elemento primario. Transmisor, que se conoce también como elemento secundario. Controlador, que es el cerebro del sistema de control. Elemento final de control o actuador, que pueden ser válvulas, bombas, motores eléctricos, pistones hidráulicos o neumáticos, etc. [5] La estructura general de un sistema de control se muestra en la figura 1.1 Figura 1.1. Estructura general de un sistema de control. La planta mostrada en la figura 1.1 es el sistema o proceso a controlar. 2
14 Como se mencionó anteriormente, de la comparación de la variable de proceso obtenida del sensor, con el punto de operación, se obtiene una señal de error que se transmite al controlador, este genera una acción de control necesaria para compensar dicho error y la envía al actuador que es el elemento que esta en contacto directo con la planta, un actuador puede ser una válvula, una bomba un pistón hidráulico o neumático, un motor, etc. Cabe mencionar que las señales empleadas en cada uno de los elementos de los sistemas de control industrial están normalizadas, los valores normalizados de las señales de control son de 4 a 20 ma para señales eléctricas y de 3 a 15 psi para señales neumáticas. [6] En la actualidad el controlador empleado generalmente en un sistema control industrial es el PID (Controlador Proporcional Integral Derivativo) que es el encargado de compensar la señal de error obtenida de la comparación entre la variable controlada y el punto de control y enviar una acción de control al actuador, de tal forma que el sistema trabaje dentro de ciertas condiciones de operación. Para sintonizar un controlador PID a un sistema de control es necesario conocer el modelo matemático del proceso ya que los valores que se deben ajustar en el PID, dependen de las características del proceso y de las condiciones de operación necesarias. La ecuación de un controlador PID esta dada por: u 1 = t p dt+ Td T 0 i ( t) k e( t) + e( t) ( t) de dt Y su función de transferencia es: U E ( s) 1 ( ) = k p Td s s Ti s El propósito de este trabajo es la construcción de un sistema de desarrollo para demostración de las acciones de control que tiene un controlador PID digital el cual deberá incluir sensor, trasmisor, controlador, actuador, y planta. 3
15 1.2. Control digital En lo años recientes se ha incrementado el uso de controladores digitales en sistemas de control. Los controladores digitales se usan para alcanzar el desempeño óptimo. Recientemente la aplicación del control por computadora ha hecho posible el movimiento inteligente en robots industriales, la optimización de economía en combustible en automóviles y el refinamiento en la operación de enseres y maquinas de uso domestico, tales como hornos de microondas maquinas de coser, lavadoras, entre otros. La capacidad en la toma de decisiones y la flexibilidad en los programas de control son las mayores ventajas de los sistemas de control digital. La tendencia actual de controlar los sistemas de control de forma analógica, se debe principalmente a la disponibilidad de computadoras digitales de bajo costo y a las ventajas de trabajar con señales digitales en lugar de señales en tiempo continuo. [4] Tipos de señales Una señal en tiempo continuo es aquella que se define sobre un intervalo continuo de tiempo. La amplitud puede tener un intervalo continuo de valores o solamente un numero finito de valores distintos. Figura 1.2. Señal en tiempo continuo Una señal analógica es una señal definida en un intervalo continuo de tiempo cuya amplitud puede adoptar un intervalo continuo de valores. La variable cuantificada solo cambia en un intervalo finito de valores. El proceso de representar una variable por medio de un conjunto de valores distintos se denomina cuantificación y los valores distintos obtenidos se denominan valores cuantificados 4
16 Figura 1.3. Señal analógica Una señal en tiempo discreto es una señal definida solo en valores discretos de tiempo. En una señal de tiempo discreto, si la amplitud puede adoptar valores en un intervalo continuo, entonces la señal se denomina señal de datos muestreados. Una señal de datos muestreados se puede generar muestreando una señal analógica en valores discretos de tiempo. Figura 1.4. Señal en tiempo discreto Una señal digital es una señal en tiempo discreto con amplitud cuantificada. Dicha señal se puede representar mediante una secuencia de números, por ejemplo, en la forma de números binarios. Figura 1.5. Señal digital En ingeniería de control, el objetivo controlado es una planta o proceso. Este podría ser una planta o proceso físico o un proceso no físico como un proceso económico. La mayoría de las plantas o procesos físicos involucran señales en tiempo continuo; por lo tanto, si los sistemas de control incluyen controladores digitales, se hace necesaria la conversión de señales tanto de digital a analógica como de analógica a digital. Los sistemas de control en tiempo discreto difieren de los sistemas de control en tiempo continuo en que las señales para los primeros están en la forma de datos muestreados o en la 5
17 forma digital. Si en el sistema de control esta involucrada una computadora digital como un controlador, los datos muestreados se deben convertir a datos digitales. Los sistemas en tiempo continuo se pueden describir mediante ecuaciones diferenciales. Los sistemas en tiempo discreto están descritos por medio de ecuaciones de diferencias.[2] Estructura de un sistema de control digital En la figura se muestra un diagrama a bloques de la estructura básica general de un sistema de control digital. En el sistema se incluye el control retroalimentado y el control prealimentado. En el diseño de dicho sistema de control, se deberá observar que la bondad del sistema de control depende de circunstancias individuales. Se requiere elegir un índice de desempeño apropiado para un caso dado y diseñar un controlador de modo que optimice el índice de desempeño elegido. Figura 1.6. Estructura básica de un sistema de control digital La salida de la planta es una señal en tiempo continuo. La señal de error se convierte a forma digital mediante el circuito de muestreo y retención y el convertidor analógico-digital. La operación del controlador de maneja por un reloj. La conversión se hace en el tiempo de 6
18 muestreo. La computadora digital procesa las secuencias de números por medio de un algoritmo y produce nuevas secuencias de números. En cada instante de muestreo se debe convertir un número codificado en una señal física de control, la cual es normalmente una señal en tiempo continuo o analógica. El convertidor digital analógico y el circuito de retención convierte la secuencia de números en código numérico a una señal continua por secciones. El reloj en tiempo real de la computadora sincroniza los eventos. La salida del circuito de retención se alimenta a la planta, ya sea de manera directa o a través de un actuador, para controlar su dinámica.[2] Figura 1.7. Tipos de señales en un sistema de control digital Definición de los componentes del sistema de control digital. Muestreador y retenedor (S/H, por sus siglas en ingles). Es el circuito que recibe como entrada una señal analógica y mantiene dicha señal en un valor constante durante un tiempo específico. Normalmente la señal es eléctrica, pero son posibles otras formas de esta, tales como óptica o mecánica. Convertidor analógico digital (A/D). También conocido como codificador, es un dispositivo que convierte la señal analógica en una señal digital, usualmente una señal codificada numéricamente. La conversión de una señal analógica en la señal digital correspondiente es una aproximación, ya que la señal analógica puede adoptar un número infinito de valores, mientras que la variedad de números diferentes que se pueden formar mediante un conjunto finito de dígitos esta limitada. Este proceso de cuantificación se denomina cuantificación. 7
19 Convertidor digital analógico (D/A). También denominado decodificador es un dispositivo que convierte una señal digital en una señal analógica. Dicho convertidor es necesario como una interfaz entre un componente digital y uno analógico. Planta o proceso. Una planta es cualquier objeto físico a ser controlado. Como ejemplos se tienen un horno, un reactor químico o un conjunto de partes de maquinaria que funcionan de manera conjunta para llevar a cabo una operación particular, tal como un sistema de seguimiento o una nave espacial. Transductor. Un transductor es un dispositivo que convierte una señal de entrada en una señal de salida de naturaleza diferente a la de entrada, tal como los dispositivos que convierten una señal de presión en una salida de voltaje.[2] Tipos de operaciones de muestreo Una operación de muestreo es básicamente la transformación de una señal en tiempo continuo en una en tiempo discreto. Existen diferentes tipos de operaciones de muestreo de importancia práctica. Muestreo periódico. En este caso, los instantes están espaciados de manera uniforme, o t k = kt( k = 0,1,2,K) muestreo.. El muestreo periódico es el tipo más convencional de las operaciones de Muestreo de orden múltiple. El patrón de los t k se repite periódicamente; esto es, constante para todo k. t + t es Muestreo de tasa múltiple. En un sistema de control que tiene lazos múltiples, la mayor constante de tiempo involucrada en un lazo puede diferir en gran medida de las de los otros lazos. Por lo tanto, puede ser aconsejable muestrear lentamente en un lazo que involucre una constante de tiempo grande, mientras que en un lazo que involucre constantes de tiempo pequeñas la tasa de muestreo debe ser más rápida. De esta manera un sistema de control digital puede tener diferentes periodos de muestreo en diferentes trayectorias de realimentación o bien tasas de muestreo múltiples. k r k 8
20 Muestreo aleatorio. En este caso, los instantes de muestreo son aleatorios, o t k es una variable aleatoria.[2] Cuantificación y errores de cuantificación Las principales funciones involucradas en la conversión analógica digital son el muestreo, la cuantificación de la amplitud y la codificación. Cuando el valor de cualquier muestra cae entre dos estados de salida adyacentes permitidos, se debe leer como el estado de salida permitido mas cercano al valor real de la señal. El proceso de representación de una señal continua o analógica mediante un número finito de estados discretos se denomina cuantificación de la amplitud. Esto es, cuantificación significa la transformación de una señal continua o analógica en un conjunto de estados discretos. El estado de salida de cualquier muestra cuantificada se describe entonces mediante un código numérico. El proceso de representar el valor de una muestra mediante un código numérico (tal como el código binario) se denomina cuantificación. Cuantificación. El sistema numérico estándar utilizado para el procesamiento de señales digitales es el sistema binario. En este sistema numérico el grupo de códigos consisten en n pulsos cada uno de los cuales indica ya sea encendido (1) o apagado (0). En el caso de la cuantificación, los n pulsos encendido apagado pueden representar o estados de salida. n 2 niveles de amplitud El nivel de cuantificación Q se define como el intervalo entre dos puntos adyacentes de decisión y esta dado mediante: Q= FSR 2 n Donde FSR es el intervalo a escala completa. El bit que esta mas a la izquierda del código binario natural tiene el mayor peso (un medio de la escala completa) y se le conoce como el bit mas significativo (MSB por sus siglas en ingles). El bit que esta mas a la derecha tiene el n menor peso ( 1 / 2 veces la escala completa) y se le conoce como el bit menos significativo (LSB por sus siglas en ingles). De esta manera, 9
21 LSB= FSR 2 n Entonces el bit menos significativo es el nivel de cuantificación Q. Error de cuantificación. Puesto que el número de bits en la palabra digital es finito, la conversión A/D da como resultado una resolución finita. Esto es, la salida digital puede solamente adoptar un número finito de valores, y por tanto un número analógico se debe redondear al nivel digital más cercano. Por esto, toda conversión A/D involucra un error de cuantificación. Dicho error de cuantificación varia entre 0 y 1 ± Q. Este error depende de la 2 fineza del nivel de cuantificación y se puede hacer tan pequeño como se desee haciendo más pequeño el nivel de cuantificación (aumentando el número de bits del convertidor). En la práctica, existe un máximo para el número n de bits, y de este modo siempre existe algún error debido a la cuantificación. Figura 1.8. Características de entrada salida del error de cuantificación El error de cuantificación e ( t) es la diferencia entre la señal de entrada y la salida cuantificada, o e ( t) = x( t) y( t) 10
22 La magnitud del error cuantificado es Figura 1.9. Error de cuantificación e( t) = x( t) y( t) 1 0 e 2 ( t) Q Para un nivel de cuantificación pequeño Q, la naturaleza del error de cuantificación es similar a la del ruido aleatorio. Y, en efecto, el proceso de cuantificación actúa como una fuente de ruido aleatorio. Figura Distribución de probabilidad del error de cuantificación La varianza del ruido de cuantificación esta dada por [ ( t) e( t) ] q Q σ = E e = q d = Q ξ ξ 2 12 De esta manera, si el nivel de cuantificación Q es pequeño comparado con la amplitud promedio de la señal de entrada, entonces la varianza del ruido de cuantificación es un doceavo del cuadrado del nivel de cuantificación.[2] 11
23 Sistemas de adquisición, conversión y distribución de datos. Con el crecimiento en el uso de computadoras digitales para ejecutar las acciones de un control digital, tanto los sistemas de adquisición de datos como los de distribución se han convertido en una parte importante de un sistema de control. La conversión de señales que tiene lugar en sistemas de control digital involucra las siguientes operaciones: Multiplexación y demultiplexación Muestreo y retención Conversión analógico-digital (cuantificación y codificación) Conversión digital-analógico (decodificación) En el sistema de adquisición de datos, la entrada al sistema es una variable física tal como posición, velocidad, aceleración, temperatura o presión. Dichas variables físicas primero se convierten en una señal eléctrica (una señal de voltaje o corriente) mediante un transductor apropiado. Una vez que la variable física se convierte en una señal de voltaje o corriente, el resto del proceso de adquisición de datos se hace por medios electrónicos. El amplificador que sigue al transductor ejecuta una o más de las siguientes funciones: amplificar el voltaje de salida del transductor, convertir la señal de corriente en una de voltaje; o aislar la señal. El filtro pasa-bajas que sigue al amplificador atenúa las componentes de alta frecuencia de la señal, tales como las señales de ruido. La salida del filtro pasa-bajas es una señal analógica. Esta señal se alimenta a un multiplexor analógico. La salida del multiplexor se alimenta al circuito de muestreo y retención, cuya salida, a su vez, se alimenta al convertidor analógico-digital. La salida del convertidor es la señal en forma digital; esta se alimenta al controlador digital. El proceso inverso al de adquisición de datos es el de distribución de datos. Un sistema de distribución de datos consiste en registros, un demultiplexor, convertidor digital-analógico y circuitos de retención. Este sistema convierte la señal en forma digital en otra forma analógica. La salida del convertidor D/A se alimenta al circuito de retención. La salida del circuito de retención se alimenta al actuador analógico, el cual a su vez, controla directamente la planta que se esta considerando. 12
24 A continuación se estudiará cada componente involucrado en el sistema de procesamiento de la señal. Multiplexor analógico. Es un dispositivo que lleva a cabo la función de compartir en tiempo un convertidor A/D entre muchos canales analógicos. El procesamiento de varios canales con un con un controlador digital es posible debido a que el ancho de cada uno de los pulsos que presenta la señal de entrada es muy angosto, de manera que el espacio vacío durante cada periodo de muestreo se puede utilizar para otras señales. Si se van a procesar muchas señales por un solo controlador digital, entonces estas señales de entrada se deben alimentar al controlador a través de un multiplexor. El multiplexor analógico es un interruptor múltiple que conmuta secuencialmente entre muchos canales de entrada analógicos en alguna forma preestablecida. En un instante dado, solo un interruptor esta en la posición de encendido. Cuando el interruptor esta encendido en un canal de entrada dado, la señal de entrada se conecta a la salida del multiplexor durante un tiempo específico. Durante el tiempo de conexión, el circuito de muestreo y retención muestrea a la señal de voltaje y retiene su valor, mientras que el convertidor analógico-digital convierte el valor analógico en datos digitales (números binarios). Cada uno de los canales se leen en orden secuencial y los valores correspondientes se convierten en datos digitales en la misma secuencia. Demultiplexor. Está sincronizado con la señal de muestreo de entrada, separa los datos digitales de la salida compuesta del controlador digital en los canales originales. Cada uno de los canales esta conectado a un convertidor D/A para producir la señal de salida analógica para este canal. Circuitos de muestreo y retención. Un muestreador en un sistema digital convierte una señal analógica en un tren de pulsos de amplitud modulada. El circuito de retención mantiene el valor del pulso de la señal muestreada durante un tiempo específico. El muestreador y el retenedor son necesarios en el convertidor A/D para producir un número que represente de manera precisa la señal de entrada en el instante de muestreo. Matemáticamente las operaciones de muestreo y retención se modelan por separado. 13
25 En la práctica, la duración del muestreo es muy corta comparada con el periodo de muestreo T. cuando la duración del muestreo es despreciable, el muestreador se puede considerar como un muestreador ideal. Existen dos modos de operación para el circuito de muestreo y retención: el modo de seguimiento y el de retención. Cuando el interruptor esta cerrado (esto es, cuando la señal de entrada esta conectada), el modo de operación es el de seguimiento. Cuando el interruptor está abierto (la señal de entrada esta desconectada), el modo de operación es el de retención. De manera práctica, la conmutación del modo de seguimiento al de retención no es instantánea. Si se da el comando de retención mientras el circuito esta en el modo de seguimiento, entonces el circuito permanecerá en el modo de seguimiento por un momento antes de reaccionar ante el comando de retención. El intervalo de tiempo durante el cual la conmutación tiene lugar (esto es, el intervalo de tiempo cuando la amplitud medida es incierta) se denomina tiempo de apertura. El voltaje de salida durante el modo de retención puede decrecer ligeramente. La caída del modo de retención se puede reducir mediante el uso de un amplificador de aislamiento de salida con una impedancia de entrada alta. Dicho amplificador de aislamiento de salida debe tener una corriente de polarización muy baja. La operación de muestreo y retención esta controlada por un reloj. Tipos de convertidor analógico-digital (A/D). El proceso mediante el cual una señal analógica muestreada se cuantifica y se convierte en un número binario es conocido como conversión analógico-digital. De esta manera, un convertidor A/D transforma una señal analógica (por lo general en forma de voltaje o corriente) en una señal digital o una palabra codificada numéricamente. En la práctica, la lógica esta basada en dígitos binarios compuestos por ceros y unos (0 y 1), y la representación tiene un número finito de dígitos. El convertidor A/D ejecuta las operaciones de muestreo y retención, cuantificación y codificación. Observe que en el sistema digital un reloj genera un pulso cada periodo de muestreo T. el convertidor A/D envía una señal digital (numero binario) al controlador digital cada vez que el pulso llega. Entre los circuitos A/D disponibles, los siguientes tipos son los más frecuentemente utilizados: Del tipo de aproximaciones sucesivas 14
26 Del tipo de integración Del tipo contador Del tipo paralelo Cada uno de estos tipos tiene sus propias ventajas y desventajas. En cualquier aplicación particular, la velocidad de conversión, precisión, longitud de palabra y el costo son los principales factores a considerar en la elección del tipo de convertidor A/D. El convertidor analógico-digital utiliza como parte de sus lazos de realimentación convertidores digital-analógico. El tipo más sencillo de convertidor A/D es el del tipo contador. Su principio básico es que se aplican los pulsos de reloj al contador digital de manera que el voltaje de salida del convertidor D/A aumente un bit menos significativo (LSB) cada vez, y el voltaje de salida se compara con el voltaje analógico de entrada una vez por cada pulso. Cuando el voltaje de salida ha alcanzado la magnitud del voltaje de entrada, los pulsos de reloj se detienen. El voltaje de salida del contador es entonces la salida digital. El convertidor A/D del tipo de aproximaciones sucesivas es mucho más rápido que el tipo contador y es el utilizado con mayor frecuencia. El convertidor A/D con el que cuenta el microcontrolador a emplear en el sistema es del tipo de aproximaciones sucesivas, este se explica a continuación. La figura 1.11 muestra el diagrama esquemático de un convertidor A/D del tipo de aproximaciones sucesivas. El principio de operación de este tipo de convertidor A/D es el que sigue. El registro de aproximaciones sucesivas (SAR) primero enciende el bit más significativo (la mitad del máximo) y lo compara con la entrada analógica. El comparador decide ya sea dejar encendido este bit o apagarlo. Si el voltaje de entrada analógico es mayor, el bit más significativo permanece encendido. El siguiente paso es encender el bit 2 y entonces compararlo con los tres cuartos del máximo del voltaje analógico de entrada. Después de que se completan las n comparaciones, la salida digital del registro de aproximaciones sucesivas indica todos aquellos bits que se mantienen encendidos y produce el código digital deseado. Así, este tipo de convertidor A/D fija un bit por cada ciclo de reloj, y de este modo solo requiere n ciclos de reloj para generar n bits, donde n es la resolución del convertidor en bits. 15
27 (El número n de bits empleados determina la exactitud de conversión.) El tiempo requerido para la conversión es aproximadamente de 2useg o menos para una conversión de 12 bits. Figura Diagrama esquemático de un convertidor A/D del tipo de aproximaciones sucesivas. Errores en convertidores A/D. los convertidores analógico-digitales reales difieren de los convertidores ideales en que los primeros siempre tienen algunos errores, tales como errores de nivel, de linealidad, y de ganancia. También, es importante notar que las características entrada salida cambian con el tiempo y con la temperatura. Por último, se debe observar que los convertidores comerciales se especifican para tres rangos de temperatura: comercial (0 C a 70 C), industrial (-25 C a 85 C) y militar (-55 C a 125 C). Convertidor digital-analógico (D/A). A la salida del controlador digital la señal digital se debe convertir en una señal analógica mediante el proceso conocido como conversión digitalanalógica. Un convertidor D/A es un dispositivo que transforma una entrada digital (números binarios) en una salida analógica. La salida, en la mayoría de los casos, es una señal de voltaje. Para el rango completo de la entrada digital, existen n 2 valores analógicos correspondientes diferentes, incluyendo el 0. Para la conversión digital-analógica existe una correspondencia uno a uno entre la entrada digital y la salida analógica. En general se emplean dos métodos para la conversión digital-analógica: el método que utiliza resistores ponderados y el otro que utiliza la red en escalera R-2R. El primero es sencillo en la 16
28 configuración del circuito, pero la exactitud puede no ser muy buena. El segundo es un poco más complicado en configuración, pero es más exacto. Reconstrucción de la señal de entrada mediante circuitos de retención. La operación de muestreo produce una señal de pulsos modulados en amplitud. La función de la operación de retención es reconstruir la señal analógica que ha sido transmitida como un tren de pulsos muestreados. Esto es, el propósito de la operación de retención es rellenar los espacios entre los periodos de muestreo y así reconstruir en forma aproximada la señal analógica de entrada original. El circuito de retención se diseña para extrapolar la señal de salida entre puntos sucesivos de acuerdo con alguna manera preestablecida. La forma de onda de escalera que se muestra en la figura es la forma más sencilla para reconstruir la señal de entrada original. El circuito de retención que produce dicha forma de onda de escalera se conoce como retenedor de orden cero. Debido a su simplicidad, el retenedor de orden cero se emplea por lo regular en sistemas de control digital. Se dispone de circuitos de retención mas sofisticados que el de orden cero. Estos se conocen como circuitos de retención de orden superior e incluyen los retenedores de primero y segundo orden. En general los circuitos de retención de orden superior reconstruirán una señal de manera más exacta que los retenedores de orden cero, pero con algunas desventajas. El retenedor de primer orden mantiene el valor de la muestra anterior, así como el de la presente, y mediante extrapolación predice el valor de la muestra siguiente. Esto se logra mediante la generación de la pendiente de salida igual a la pendiente de un segmento de línea que conecta la muestra actual con la anterior y proyectando esta desde el valor de la muestra actual. Si la pendiente de la señal original no cambia mucho, la predicción es buena. Sin embargo, si la señal original invierte si pendiente, entonces la predicción es mala y la salida sigue la dirección equivocada, causando así un gran error para el periodo de muestreo considerado. Un retenedor primer orden con interpolación, también conocido como retenedor poligonal, reconstruye la señal de una manera mucho mas exacta. Este circuito de retención también genera una línea recta a la salida cuya pendiente es igual a aquella que une el valor de la muestra anterior con el valor de la muestra actual, pero esta vez la proyección se hace desde el 17
29 punto de la muestra actual con la amplitud de la muestra anterior. Por lo tanto, la exactitud al reconstruir la señal original es mejor que para otros circuitos de retención, pero existe un periodo de muestreo de retardo. Desde el punto de vista de la estabilidad de los sistemas en lazo cerrado, dicho retardo no es deseable, y de este modo el retenedor de primer orden con interpolación (retención poligonal) no se emplea en aplicaciones de sistemas de control. La señal de salida del sistema a desarrollar se obtendrá a partir de un modulador de pulsos (PWM), el cual será explicado en un tema posterior Efectos de muestrear una señal continua La computadora digital opera con valores numéricos discretos obtenidos de la medición y conversión de la variable controlada, que es obtenida a partir del muestreo y la conversión de la señal continua por medio de un convertidor A/D. como es de esperarse, parte de la información es perdida cuando una señal continua es representada por muestras periódicas. Una indicación de la información perdida en el proceso de muestreo puede ser determinada a partir del teorema de muestreo de Shannon, el cual dice: Una función continua con todos sus componentes de frecuencia mayor o menos a ω pueden ser representados únicamente por valores muestreados a una frecuencia igual o mayor a 2ω. La importancia de este enunciado es que nos da una relación cuantitativa de cómo el periodo de muestreo afecta la reconstrucción de la señal. Sin embargo esta relación no es aplicada exactamente al control de procesos, debido a que la reconstrucción de la señal para cualquier tiempo t, requiere valores después de t, lo cual producirá un retardo indeseable en la señal reconstruida. De cualquier forma, el valor mencionado en el teorema proporciona una útil banda que nos permite estimar el rango de frecuencia de la señal medida que es perdida cuando es muestreada en una frecuencia específica. Afortunadamente, nuestro propósito no es reconstruir la señal perfectamente, sino proporcionar suficiente información al controlador para lograr un buen rendimiento dinámico.[4] 18
30 Control digital de procesos. En general, en sistemas de control de procesos industriales, no es práctico operar por periodos de tiempo muy prolongados en estado estacionario, debido a que se pueden presentar ciertos cambios en los requerimientos de producción, materias primas, factores económicos, equipos y técnicas de procesamiento. Así como el comportamiento transitorio de los procesos industriales debe siempre tomarse en consideración, debido a que existen interacciones entre las variables de proceso, al utilizar una sola variable de proceso para cada uno de los agentes de control no es apropiado para un control completo real. Mediante el uso de un controlador digital, es posible tomar en cuenta todas las variables del proceso, conjuntamente con los factores económicos, los requerimientos de producción, el desempeño del equipo y todas las demás necesidades, y de este modo alcanzar un rendimiento aceptable en los sistemas de control de los procesos industriales. Un sistema capaz de controlar un proceso tan completamente como pueda, deberá resolver ecuaciones complicadas. En el control más completo, lo más importante es que se conozcan y empleen las relaciones correctas entre las variables de operación. El sistema debe ser capaz de aceptar instrucciones desde muy variadas fuentes como computadoras y operadores humanos y debe también ser capaz de cambiar por completo su sistema de control en un tiempo corto. Los controladores digitales son los más apropiados en dichas situaciones. Una de sus ventajas es su flexibilidad, esto es, la facilidad de cambiar los esquemas de control mediante su reprogramación. En el control digital de un proceso complicado, el diseñador debe tener un buen conocimiento del proceso a ser controlado y debe ser capaz de obtener su modelo matemático, ya sea en términos de ecuaciones diferenciales o ecuaciones de diferencias. El diseñador debe estar familiarizado con la tecnología de medición asociada con la salida y otras variables relacionadas con el proceso. Se debe tener un buen conocimiento del trabajo con computadoras digitales, así como de la teoría del control moderno. Si el proceso es complicado, el diseñador debe investigar varios enfoques diferentes para el diseño del sistema de control así como técnicas de simulación de sistemas de control. [2] 19
31 1.3. Transformada z Introducción a la transformada z Una herramienta muy utilizada en el análisis y diseño de sistemas de control en tiempo discreto es la transformada z. el papel de la transformada z en sistemas de en tiempo discreto es similar al de la transformada de Laplace en sistemas de en tiempo continuo. En un sistema de control en tiempo discreto, una ecuación en diferencias lineal caracteriza la dinámica del sistema. Para determinar la respuesta del sistema a una entrada dada, se debe resolver dicha ecuación en diferencias. Con el método de la transformada z, las soluciones a las ecuaciones en diferencias se convierten en un problema de naturaleza algebraica. Señales en tiempo discreto. Las señales en tiempo discreto surgen si el sistema involucra la operación de muestreo de señales en tiempo continuo. La señal muestreada es ( 0), x( T), x( 2T), K, x donde T es el periodo de muestreo. Dicha secuencia de valores que surge de la operación de muestreo normalmente se escribe como x ( kt). Si el sistema incluye un proceso iterativo realizado por una computadora digital, la señal involucrada es una secuencia de números x ( 0), x( 1 ), x( 2)K, La secuencia de números normalmente se escribe como ( k) x, donde el argumento k indica el orden en el que se presentan los números en la secuencia, por ejemplo, x ( 0), x( 1 ), x( 2)K, Aunque ( k) x es una secuencia de números, esta se puede considerar como una señal muestreada de x ( t) cuando el periodo de muestreo es de 1 segundo La transformada z El método de la transformada z es un método operacional muy poderoso cuando se trabaja con sistemas en tiempo discreto. A continuación se definirá la transformada z de una función del tiempo o de una secuencia de números. Al considerar la transformada z de una función del tiempo x ( t), solo se toman en cuanta los valores muestreados de x ( t), esto es, x( 0), x( T), x( 2T), K, donde T es el periodo de muestreo. 20
32 La transformada z de una función del tiempo x ( t), donde t es positivo, o de la secuencia de valores x ( kt), donde k adopta valores de cero o de enteros positivos y T es el periodo de muestreo, se define mediante la siguiente ecuación: X ( z) = Z[ x( t) ] = Z[ x( kt) ] = x( kt) Para una secuencia de números x ( k), la transformada z se define como k= 0 z k X ( z) = Z[ x( k) ] = x( k) k= 0 z k La transformada z definida mediante estas ecuaciones se conoce como transformada z unilateral. El símbolo Z denota la transformada z de. En la transformada z unilateral se supone que ( t) = 0 x para < 0 compleja. t o ( k) = 0 x para k < 0. Es importante observar que z es una variable Cuando se trata con una secuencia de tiempo x ( kt) que se obtuvo mediante el muestreo de una señal x ( t), la transformada z ( z) La transformada z de ( t) ( k = 0, ± 1, ± 2,K) X no incluye a T explícitamente. x, donde < <, se define mediante t, o de x ( k), donde k adopta valoras enteros X ( z) = Z[ x( t) ] = Z[ x( kt) ] = x( kt) k= z k O X ( z) = Z[ x( k) ] = x( k) k= z k La transformada z definida mediante estas ecuaciones se denomina transformada z bilateral. En la transformada z bilateral, se supone que la función ( t) x es distinta de cero para t < 0 y se 21
33 considera que la secuencia ( k) x tiene valores distintos de cero para k < 0. Ambas transformadas z, la unilateral y la bilateral, son series de potencias de Para la mayoría de las aplicaciones de ingeniería, la transformada z unilateral tendrá una solución apropiada en forma cerrada en su origen de convergencia. Al utilizar el método de la transformada z para resolver problemas en tiempo discreto no es necesario especificar los valores de z para los cuales X( z) converge. Observe que la expansión del segundo miembro de la ecuación de la transformada z unilateral de cómo resultado 1 z. X 1 2 k ( z) = x( 0 ) + x( T) z + x( 2T) z + K + x( kt) z + K Esta ecuación implica que la transformada z de cualquier función en tiempo continuo x ( t) se puede escribir, mediante inspección, en la forma de una serie. La k z en esta serie indica la posición en el tiempo en la que se presenta la amplitud x ( kt). De manera contraria, si X ( z) esta definida en la forma de una serie como la que se indico, la transformada z inversa se puede obtener por inspección como una secuencia de la función x ( kt) que corresponde a los valores de x ( t) en los valores de tiempo respectivos. Si la transformada z esta dada como el cociente de dos polinomios en z, entonces la transformada z inversa se puede obtener mediante varios métodos diferentes, tales como el método de la división directa, el método computacional, el método de expansión en fracciones parciales y el método de la integral de inversión Teoremas importantes de la transformada z Teorema de corrimiento. Se conoce también como teorema de traslación real. Si ( t) = 0 t < 0 y ( t) x tiene la transformada z X ( z) Z, entonces n [ x( t nt) ] = z X( z) x para Y 22
34 Z + k= n 1 n k [ x( t nt) ] = z X( z) x( kt) z 0 Donde n es cero o entero positivo. Teorema de translación compleja. Si x ( t) tiene la transformada z X ( z) transformada z de e at x( t) Z at esta dada por X ( ze ), entonces la. Para probara este teorema, observe que at akt k at k at [ e x( t) ] = x( kt) e z = x( kt)( ze ) = X( ze ) k= 0 k= 0 De esta manera, se ve que al reemplazar z en X ( z) por at ze da la transformada z de e at x( t). Teorema del valor inicial. Si x ( t) tiene la transformada z X ( z) y si el X( z) entonces el valor inicial x ( 0) de x( t) o ( k) x esta dado por x ( 0 ) = lim X( z) z Teorema del valor final. Suponga que x ( k), donde ( k) = 0 z X ( z) y que todos los polos de ( z) excepción de un polo en = 1 lim existe, z x para k < 0, tiene la transformada X están dentro del circulo unitario, con la posible z. [Esta es la condición para la estabilidad de X ( z) condición para que x ( k) ( k = 0,1,2,K) permanezca finita.] Entonces el valor final de x ( k) es el valor de x ( k) a medida que k tiende a infinito, puede darse mediante lim x z ( k) lim [( 1 1 = z ) X( z) ] 1 z, o la, esto Transformada z inversa La transformada z en sistemas de control en tiempo discreto juega el mismo papel que la transformada z en sistemas de control en tiempo continuo. Para que la transformada z sea útil, debemos estar familiarizados con los métodos para encontrar la transformada z inversa. 23
35 La notación para la transformada z inversa es 1 Z. La transformada z inversa de ( z) como resultado la correspondiente secuencia de tiempo x ( k), pero no da una única x ( t) X da. Esto significa que la transformada z inversa da como resultado una secuencia de tiempo que especifica los valores de ( t) x solamente en los valores discretos de tiempo t = 0, T,2T, K, y no dice nada acerca de los valores x ( t) en todos los otros tiempos. Esto es, muchas funciones del tiempo x ( t) diferentes pueden tener la misma ( kt) Cuando X ( z), la transformada z de x ( kt) o x ( k) x ( kt) o ( k) x., esta dada, la operación que determina la x correspondiente se denomina transformada z inversa. Un método obvio para encontrar la transformada z inversa es referirse a una tabla de transformadas z. sin embargo, a menos que uno se refiera a una tabla de transformadas z muy extensa, no seria posible encontrar la transformada z inversa de una función z muy complicada. Existen otros cuatro métodos para obtener la transformada z inversa que no implica el uso de tablas: Método de la división directa Método computacional Método de expansión en fracciones parciales Método de la integral de inversión Para obtener la transformada z inversa, se supone, por lo regular, que la secuencia de tiempo x ( kt) o ( k) x es cero para k < o. Antes de presentar los cuatro métodos, son convenientes algunos comentarios acerca de los polos y ceros de la función de transferencia pulso. Polos y ceros en el plano z. en aplicaciones de ingeniería del método de la transformada z, X ( z) puede tener la forma X ( z) b z + b z + L+ b m m 1 m = 0 1 ( m n ) n n 1 z + a1z + L+ an O 24
36 X ( z) b = 0( z z1)( z z2) L( z zm) ( z p )( z p ) L( z p ) Donde los p i ( i= 1,2, K, n) son los polos de X ( z) y los z j ( i 1,2, K, n) X ( z). 1 2 n = son los ceros de La ubicación de los polos y ceros de X ( z) determina las características de x ( k), la secuencia de valores o números. Como es el caso del análisis de sistemas de control lineales en tiempo continuo en el plano s, también se utiliza una representación grafica de las localizaciones de los polos y ceros de X ( z) en el plano z. En la ingeniería del control y en procesamiento de señales, X ( z) a menudo se expresa como un cociente de polinomios en 1 z, como sigue: X ( z) b0 z = 1+ a z 1 ( n m+ 1) 1 + a 2 + L+ b z 2 m z n + L+ a n z n Donde 1 z se interpreta como el operador retraso unitario. Al encontrar los polos y ceros de X ( z), es conveniente expresar ( z) polinomios en z. X como un cociente de Método de la división directa. En este método, la transformada z inversa se obtiene mediante la expansión de X ( z) en una serie infinita de potencias de 1 z. Este método es útil cuando es difícil obtener una expresión en forma cerrada para la transformada z inversa o se desea encontrar solo algunos de los primeros términos de x ( k). El método de la división directa proviene del hecho de que si X ( z) esta expandida en una serie de potencias de 1 z, esto es, si X k 1 2 k ( z) = x( kt) z = x( 0 ) + x( T) z + x( 2T) z + L + x( kt) z + L k= 0 O 25
37 X Entonces x ( kt) o ( k) ( k) k 1 2 k ( z) = x( k) z = x( 0 ) + x( 1) z + x( 2) z + L + x( k) z + L k= 0 x es el coeficiente del término x para k = 0,1,2, K se pueden determinar por inspección. k z. Por lo tanto, los valores de ( kt) x o Método de la transformada z para la solución de ecuaciones en diferencias Las ecuaciones en diferencias se pueden solucionar fácilmente mediante el uso de una computadora digital, siempre que se proporcionen los valores numéricos de todos los coeficientes y los parámetros. Sin embargo, las expresiones en forma cerrada para x ( k) no se pueden obtener a partir de la solución por computadora, excepto para casos muy especiales. La utilidad del método de la transformada z es que permite obtener la expresión en forma cerrada para x ( k). Considere un sistema en tiempo discreto, lineal e invariante en el tiempo caracterizado por la siguiente ecuación en diferencias: x Donde u ( k) y ( k) ( k) + a x( k ) + L+ a x( k n) = b u( k) + b u( k 1) + L+ b u( k n) 1 1 n 0 1 x son la entrada y la salida del sistema, respectivamente, en la k-ésima iteración. Al describir dicha ecuación en diferentas en el plano z, se toma la transformada z de cada uno de los términos de la ecuación. Defínase [ x( k) ] X( z) Z = Entonces x ( k+ 1 ), x( k+ 2), x( k+ 3 )K, y ( k 1), x( k 2), x( k 3 )K, x se pueden expresar en términos de X ( z) y de las condiciones iniciales. La transformada z de las funciones anteriores se muestra en la tabla 1. n 26
38 Tabla 1. Transformada z de x ( k+ m) y x( k m) Función Discreta Transformada z x ( k+ 4) z X( z) z x( 0) z x( 1) z x( 2) zx( 3) x ( k+ 3) z X( z) z x( 0) z x( 1) zx( 2) 2 2 x ( k+ 2) z X( z) z x( 0) zx( 1) x ( k+1) zx( z) zx( 0) x ( k) X ( z) x ( k 1) z 1 X( z) x ( k 2) z 2 X( z) x ( k 3) z 3 X( z) x ( k 4) z 4 X( z) 1.4. Estabilidad absoluta de sistemas en lazo cerrado en el plano z. A continuación se dan las condiciones principales para que los sistemas de control en tiempo discreto lineales e invariantes con el tiempo de una entrada/una salida sean estables. Considere el siguiente sistema con función de transferencia pulso en lazo cerrado: C R ( z) ( z) G = 1+ GH ( z) ( z) La estabilidad del sistema que define la ecuación anterior, así como los otros tipos de sistemas de control en tiempo discreto, puede determinarse por las localizaciones de los polos en lazo cerrado en el plano z, o por las raíces de la ecuación característica P ( z) = 1 + GH( z) = 0 Para que el sistema sea estable, los polos en lazo cerrado o las raíces de la ecuación característica deben presentarse en el plano z dentro del círculo unitario mostrado en la figura Cualquier polo en lazo cerrado exterior al círculo unitario hace inestable al sistema. 27
39 Si un polo se presenta en z = 1, entonces el sistema se convierte en críticamente estable. También el sistema se convierte en críticamente estable si un solo par de polos complejos conjugados se presentan sobre el círculo unitario en el plano z. cualquier polo múltiple en lazo cerrado sobre el circulo unitario hace al sistema inestable. Los ceros en lazo cerrado no afectan la estabilidad absoluta y por lo tanto pueden quedar localizados en cualquier parte del plano z. Figura Circulo unitario para el análisis de estabilidad absoluta en el plano z Entonces, un sistema de control en lazo cerrado en tiempo discreto lineal e invariante con el tiempo de una entrada/una salida se vuelve inestable si cualquiera de los polos en laza cerrado se presenta fuera del círculo unitario y/o cualquier polo múltiple en lazo cerrado se presenta sobre el circulo unitario en el plano z. 28
40 Capítulo 2. Sistemas de control Ya se han visto los temas relacionados a la adquisición de datos y a las herramientas utilizadas para el análisis de la planta y el control en tiempo discreto. Ahora se explicaran algunos sistemas de control que existen y cual de estos se utilizará en este trabajo Sistemas de Control Convencionales Dentro de los problemas de los que se encarga la ingeniería del control de procesos, es común encontrar un proceso o sistema inestable a lazo abierto, el cual puede ser estabilizado y controlado por medio de una retroalimentación o formando un lazo cerrado. Esta retroalimentación puede ser implementada por medio de sistemas de control clásicos, modernos o avanzados. Dentro del control clásico es posible emplear distintos métodos como son el uso de compensadores como es el PID. En la teoría del control clásico, los sistemas de control se construyen por medio de compensadores, en los cuales solo se toma una variables de entrada y una de salida del controlador, esto es, solo es posible medir y tomar en cuenta una sola variable de proceso y esta debe ser controlada con solo un variable manipulada. En sistemas mas complejos esta situación es una limitante ya que conforme aumenta la complejidad del proceso o sistema a controlar es necesario tomar en cuanta mas de una variable de proceso y mas de una variable de control, entonces para este tipo de sistemas la teoría de control clásico no cubre con la exigencias de control y es necesario utilizar otras técnicas. Para implementar este tipo de control es necesario conocer el modelo matemático de la planta y a partir de este obtener su función de transferencia, la cual es valida solo para sistemas lineales, invariantes en el tiempo, en el dominio de Laplace y con condiciones iniciales igual a cero. Entonces si alguna de estas especificaciones no se cumple, no es posible obtener su función de transferencia y por lo tanto no se puede realizar el control de la planta por este método Sistemas de Control Moderno Otra forma de lograr el control de un sistema es por medio de variables de estado, las cuales se estudian dentro de la teoría del control moderna, en esta teoría se tiene el control por 29
41 retroalimentación de estados, en el cual si es posible considerar todas las variables del sistema, así como también mas de una entrada y mas de una salida del sistema. En este tipo de sistemas la planta se representa por medio de matrices que se forman a partir de ecuaciones diferenciales de primer orden, variantes en el tiempo y sin importar el valor de las condiciones iniciales, a las cuales se les llama ecuaciones de estado. Al estudiar un sistema en ecuaciones de estado es posible tomar en cuenta todas sus variables y realizar un control de una forma mas precisa ya que se tiene el conocimiento de los valores de cada una de las variables del sistema y de esta manera es posible determinar la forma en que se afectan dichas variables al modificar las otras Sistemas de Control Digital Para el caso de este trabajo el sistema de control a emplear es un sistema de control digital, en este tipo de sistemas, además de las ventajas del algoritmo de control a emplear ya sea de la teoría del control moderna o la teoría del control clásica, se cuenta con las ventajas de trabajar con sistemas digitales, proporcionadas por la computadora digital en la que se programará el algoritmo de control. Dentro de estas ventajas tenemos: La flexibilidad que proporcionan los dispositivos electrónicos digitales, ya sea una computadora o un microcontrolador. Cualquiera de estos dispositivos que sea empleado cuenta con un sistema de memoria en la cual se almacena el algoritmo de control que se implementa al sistema, el cual puede ser modificado con tan solo reprogramar la memoria del dispositivo. Otra ventaja es que el costo de los dispositivos que se emplean en un sistema de control digital es menor que los dispositivos analógicos, además de que todas las configuraciones para estructurar el algoritmo de control se realizan mediante programas. La capacidad de cálculo en sistemas digitales es mayor que en los analógicos, ya que al digitalizar las señales las operaciones a realizar son solo sumas y restas (ecuaciones de diferencias), evitando así las derivadas y las integrales (ecuaciones diferenciales) de los sistemas analógicos. 30
42 2.4. Sistemas de Control Lógico Difuso En cuanto a los sistemas de control avanzado, uno de los más importantes es el Control Lógico Difuso, ya que ha tenido un amplio desarrollo debido a la flexibilidad que presenta al ser implementado en este tipo de sistemas. Una razón por la que la lógica difusa se ha desarrollado dentro del control de procesos es el uso de las variables lingüísticas en la implementación de sistemas de control, ya que facilita la selección de las variables a manipular, además de que es posible estructurar una serie de reglas que rigen el comportamiento del sistema por medio de información obtenida directamente del operador del equipo, de un experto en el área o bien de pruebas realizadas ala planta. La construcción y características del sistema barra esfera se tratara mas adelante. Para la implementación de un sistema de control lógico difuso no es necesario conocer el modelo matemático de la planta ya que, como se mencionó anteriormente, se pueden obtener los parámetros del proceso directamente de las personas que están especializadas en su funcionamiento, este hecho facilita la implementación del control y lleva menos tiempo del que se necesita para obtener el modelo matemático de la planta y validarlo. El uso de variables lingüísticas en un sistema de control permite que las personas que no están muy relacionadas con esta área, se familiaricen rápidamente con el sistema, ya que se usan términos comunes como presión baja, temperatura alta, válvula abierta, error negativo, etc., los cuales son usados diariamente por los encargados del funcionamiento y operación de la planta a controlar 2.5. Sistema Barra - Esfera El sistema barra-esfera consiste en una resistencia variable montada en una barra metálica, sobre la cual se posiciona una esfera de material conductor, la barra se acopla a un servomotor, el cual se encarga de balancearla con la finalidad de colocar la esfera metálica en una posición determinada sobre la barra. La resistencia variable es empleada como un divisor de voltaje, con el cual es posible determinar la posición actual de la esfera, de tal modo que la barra es el sensor del sistema de control. El sistema barra esfera es un ejemplo claro de un sistema inestable a lazo abierto por lo que para realizar su control es necesario realizar una retroalimentación, es decir, crear un sistema en lazo cerrado. Esto es medir la posición de la esfera sobre la barra por medio de un sensor, 31
43 en este caso una resistencia variable con la cual se crea un divisor de voltaje, compensar esta señal por medio de una computadora digital (microcontrolador), y enviar esta señal compensada a un actuador, en este caso es un servomotor, que es el encargado de producir el movimiento necesario para ajustar la esfera en la posición deseada. Para recibir y enviar datos de y hacia la computadora digital es necesaria la utilización de una etapa de adquisición de datos la cual se encarga de traducir las señales para que puedan ser procesadas tanto por el microcontrolador como por el servomotor. A esta etapa del prototipo se le llamará sistema de adquisición y distribución de datos DAS. El DAS empleado para realizar la comunicación entre el sistema físico y la computadora esta basado en un microcontrolador, el cual compensa y direcciona las señales con las que se logrará al control del sistema mecánico, el uso de un microcontrolador nos facilita la conversión analógica digital / digital analógica necesaria para la comunicación con la computadora digital y el actuador. La versatilidad del microcontrolador nos permite realizar las pruebas necesarias tanto para la manipulación del sistema como para la comunicación del mismo tan solo modificando el programa almacenado en la memoria de este dispositivo. De las características y los recursos así como del modelo de microcontrolador empleado se hablara en un próximo capitulo 32
44 Capitulo 3. Diseño y construcción de los componentes del sistema de control barra-esfera 3.1. Sistema barra-esfera Utilizando los conceptos antes mencionados, este capitulo se enfocara al desarrollo de la planta, así como, al del sistema de control Generalidades El sistema barra-esfera es uno de lo modelos típicos para la enseñanza de control en las instituciones educativas de ingeniería. El frecuente uso de este sistema se debe a que es simple entenderlo como un sistema, además de que las técnicas de control aplicables a el cubren una gran parte del estudio de algoritmos de control tanto de la teoría clásica como la moderna así como también técnicas de control avanzado. El sistema barra-esfera tiene una propiedad muy importante, es inestable a lazo abierto. La estructura básica del sistema barra-esfera se muestra en la figura 3.1. Su composición es simple, consiste en una esfera metálica que gira sobre una barra larga. La barra se encuentra montada en la flecha de un servomotor, con lo cual el ángulo de inclinación de la barra puede ser modificado al aplicar una señal de control en el servomotor. La posición de la esfera sobre la barra puede ser medida por medio de un sensor especial, en este caso una resistencia variable. Figura 3.1. Esquema del sistema barra-esfera. 33
45 El objetivo de control es regular automáticamente la posición de la esfera sobre la barra, cambiando el ángulo de inclinación de la barra. Lograr esta tarea tiene un cierto grado de dificultad debido a que la esfera no permanece en una posición sino que se mueve con una aceleración que es proporcional al ángulo de inclinación de la barra. En términos de control es sistema es inestable a lazo abierto porque la salida del sistema (posición de la esfera) aumenta sin limite para una entrada fija del sistema (ángulo de la barra). Un algoritmo de control retroalimentado debe ser usado con el propósito de mantener la esfera en una posición deseada. La mayoría de los sistemas de control presentes en el mundo práctico son relativamente simples de controlar, debido a que para una entrada fija, la salida permanece más o menos constante. Una cantidad importante de sistemas, debido a su diseño o a su naturaleza, son inestables a lazo abierto, entonces, el control retroalimentado es esencial para que estos trabajen de forma segura. Algunos ejemplos de sistema inestables son: En la industria Química, el control de reaccione químicas exotérmicas. Si una reacción química genera calor, y a medida que la temperatura aumenta, la velocidad de reacción se incrementa, entonces el control debe ser usado para estabilizar la temperatura de la reacción química y evitar que esta se salga de los límites de operación del proceso. Las reacciones exotérmicas son usadas para producir diversos tipos de productos químicos, sin el uso del control retroalimentado, no sería posible la realización de estos productos. En la generación de energía, el control de la posición del plasma en el JET (Joint European Torus). El objetivo aquí es controlar la posición vertical de un anillo de plasma dentro de un contenedor en forma de dona metálica hueca. El control se realiza por medio de campos magnéticos aplicados a través del contenedor metálico con lo cual el plasma se mueve verticalmente de manera inestable en respuesta a los campos magnéticos de control. Para entender el problema, puede ser relacionado con la actividad de presionar un jabón húmedo con las palmas de las manos, al aumentar la presión sobre el jabón con las manos este resbalará mas rápidamente. En aeronáutica, el control de una aeronave durante el despegue. El ángulo de los propulsores debe ser continuamente controlado para evitar las vibraciones en el cohete espacial o la 34
46 inclinación de la aeronave. Sin un control retroalimentado que estabilice el movimiento, no habría naves espaciales y el famoso Hawker Harrier permanecería aun como un sueño en la mente de Sir Sydney Camm y su grupo de ingenieros en la Hawker Aircraft Company. El control de sistemas inestables es críticamente importante para muchos de los problemas de control con mayor dificultad y muchos de ellos deben ser estudiados en el laboratorio. El problema es que los sistemas inestables reales son peligrosos y no pueden ser llevados a un laboratorio escolar. El sistema barra esfera fue creado para resolver esta paradoja. Es un mecanismo simple y seguro además de que contiene las características de un sistema inestable Diseño La descripción completa de la dinámica del comportamiento de la esfera sobre la barra es algo complicado así que para el diseño del sistema de control se usa una forma simplificada del modelo, la cual da la información suficiente del sistema. El esquema de la dinámica de la esfera se muestra en la figura 3.2. La fuerza que acelera el giro de la esfera sobre la barra es la componente de la fuerza gravitacional que actúa en paralelo sobre la barra. En la figura la línea punteada muestra la trayectoria de dicha fuerza, la cual esta dada por mg sin θ = mx & Donde: m es la masa de la esfera g es la constante gravitacional θ es el ángulo de la barra x es la posición de la esfera sobre la barra 35
47 Para ángulos pequeños, Figura 3.2. Dinámica de la esfera sin θ es aproximadamente igual a θ así que el modelo se simplifica a & x= gθ. Este es el modelo básico del sistema barra-esfera. En la ecuación se muestra que la aceleración de la esfera es proporcional a la fuerza de gravedad y al ángulo de la barra. El ángulo de la barra θ es proporcional al voltaje de control del ángulo del motor u y la posición de la esfera x es leída por medio del sensor de posición y. Sustituyendo θ por el voltaje de control u, la posición de la esfera por la señal de salida del sensor y combinando las constantes del actuador y del sensor con la constante gravitacional se obtiene la constante b. Esto representa la ganancia de la respuesta a partir de la entrada de voltaje de control a la aceleración de salida medida & y= bu. Este modelo simple del sistema barra-esfera es una buena aproximación de la dinámica verdadera del sistema, y es el modelo normalmente usado en los libros de texto, artículos y estudios de diseño del sistema de control. Para el diseño de control la ecuación es suficiente. Ahora se revisará la función de transferencia y las ecuaciones de estado del modelo. La función de transferencia del sistema barra-esfera es obtenida a partir de la ecuación esta representada por & x= gθ y 36
48 b s ( s) = u( s) x 2 Si se definen los estados del sistema x 1 y x 2 como la posición y la velocidad de la esfera respectivamente, entonces las ecuaciones de estado del sistema son x& x = x& x x1 y= [ 1 0] x u b Los modelos lineales dados anteriormente son las bases para el diseño del sistema de control del sistema barra-esfera. La dinámica del sistema barra-esfera real tiene componentes adicionales debido al motor, mas componentes de ruido no lineales que influyen en el comportamiento del sistema. Las principales no linealidades son las fuerzas de fricción de Coulomb producidas en las partes móviles y la zona muerta y la saturación en la entrada del motor, esto puede ser solucionado aplicando un lazo cerrado en el control de la posición angular del eje del motor. Esta retroalimentación tendrá un efecto de linealización lo cual reducirá los efectos de la dinámica del motor en el sistema. El ruido puede ser un problema grave debido a que la medición de la posición de la barra es difícil y todos los métodos para lograrlo producen ruido. El modelo del sistema barra-esfera es bastante simple ya que solo es necesario conocer un parámetro que es la constante b. Este puede ser obtenido a partir de la medición del tiempo que toma la esfera para llegar de un extremo de la barra al otro, para un ángulo fijo de la barra Construcción Los componentes principales del sistema barra-esfera son una esfera metálica, una barra de aluminio, una resistencia lineal a lo largo de la barra, un servomotor, y una tarjeta de adquisición de datos en la cual se encuentra el microcontrolador. El propósito del uso del servomotor es que este ya cuenta con un lazo de control de posición entonces, como se explicó en el modelado del sistema, produce un efecto de linealización en el sistema, con lo cual solo se tiene que producir una señal que indique la posición en la que se debe colocar el servomotor y su lazo de control interno lo coloca en dicha posición. 37
49 La esfera es un balín metálico con una masa de 28.1 g Barra-Sensor La barra es una base de aluminio de 40 cm de largo, dentro de la cual se coloca una resistencia lineal que consiste en un alambre de Nicromel (aleación de Níquel-Cromo), material usado en la construcción de reóstatos de control de velocidad de motores eléctricos, enrollado en una base de madera, este material presenta una resistencia variable lineal a lo largo de todo el alambre, lo cual e de suma importancia para realizar la medición de la posición de la esfera. La barra y el sensor se montan de manera que la esfera tenga contacto tanto sobre la resistencia como con un borde de la base metálica, esto con el fin de generar un divisor de voltaje, el cual produzca una señal de medición proporcional a la posición de la barra. El funcionamiento de un divisor de voltaje se da a continuación: En muchas aplicaciones electrónicas es necesario disponer de una tensión de referencia lo más estable posible. Como ejemplo de esto podemos destacar el caso de las fuentes de alimentación reguladas, polarización de transistores, circuitos de medida de alguna magnitud física, circuitos de disparo (a partir de cierto valor umbral), etc. El método más sencillo consiste en usar un divisor de tensión resistivo tal como muestra la figura 3.3. Figura 3.3. Diagrama de un divisor de voltaje. Por supuesto, si queremos que Vref sea estable tendrá que serlo también la Vcc, ya que de lo contrario al variar Vcc también lo hará Vref. Para el cálculo de este divisor se pueden considerar dos señales de salida diferentes: El circuito extrae del divisor una corriente constante. 38
50 El circuito extrae del divisor una tensión variable. En este caso se usará la variación del voltaje con respecto a la posición de la esfera. El circuito es alimentado con una tensión de 5 v a los extremos de la barra, de esta manera si la esfera se encuentra a la mitad de la longitud del sensor, se tendrán dos resistencias del mismo valor con lo que la tensión en el punto de referencia dado por la esfera será de 2.5 v, esta señal de voltaje generada se usa para realizar la medición de la posición de la esfera, debido a que presenta una variación lineal para cada punto de referencia dado por la esfera Servomotor Otro elemento importante del sistema barra-esfera, es el servomotor, este dispositivo es el encargado de producir las variaciones en el ángulo de inclinación de la barra, lo cual provoca el movimiento de la esfera a lo largo de la base. Un servomotor esta constituido por un motor de corriente continua, unas ruedas dentadas que trabajan como reductoras, lo que le da una potencia considerable, y una tarjeta de circuito impreso necesaria para su control. La figura 3.4 muestra al aspecto físico de un servomotor. Figura 3.4. Aspecto físico de un servomotor La tensión de alimentación de los servomotores suele estar comprendida entre los 4 y 8 voltios. El control de un servo se limita a indicar en que posición se debe situar, mediante una señal cuadrada TTL modulada en anchura de impulsos PWM (Pulse Width Modulation). La duración del nivel alto de la señal indica la posición donde queremos poner el eje del motor. El 39
51 potenciómetro que el motor tiene unido al eje indica al circuito de control interno mediante una retroalimentación, si este ha llegado a la posición deseada. La duración de los impulsos indica el ángulo de giro del motor. Cada servomotor tiene sus márgenes de operación, que se corresponden al ancho de pulso máximo y mínimo que el servo entiende y que, en principio, mecánicamente no se puede sobrepasar. Estos valores varían dependiendo del modelo de servomotor utilizado. Para el modelo empleado en el sistema los valores de tiempo alto necesarios para lograr el control de servomotor se muestran en la figura 3.5. Figura 3.5. Posiciones del servomotor Los servomotores disponen de tres terminales: Positivo de alimentación unido al cable rojo Negativo, que casi siempre es un cable de color negro Terminal por donde se aplica la entrada de impulsos y cuyo cable suele ser de color amarillo, blanco o naranja. En la figura 3.6 pueden identificarse los conectores del servomotor. 40
52 Figura 3.6. Terminales del servomotor La señal de control del servomotor será generada por el PWM del microcontrolador como resultado de las operaciones realizadas por el algoritmo de control. Tanto de la tarjeta de adquisición de datos como del microcontrolador se hablara en los siguientes temas. El sistema barra-esfera así como la tarjeta de adquisición de datos ya ensamblados son mostrados apéndice B. 41
53 3.2. Tarjeta de adquisición de datos En este apartado se hablara del desarrollo de la tarjeta de adquisición de datos (TAD), en el prototipo esta permitirá la interacción de nuestro sistema mecánico con el sistema de control. El hardware del controlador digital es un parte fundamental en el desarrollo del trabajo ya que sin ella no se podría llevar a la realidad. El hardware deberá tener ciertas características como velocidad de cálculo, muestreo, etc. Además de contener salidas estándar para la interconexión con otros equipos de potencia ó en su defecto contener como parte integral del sistema los recursos necesarios para la aplicación. Existen en el mercado tarjetas de desarrollo para este tipo de aplicaciones pero en este caso se decidió que se partiría de nada y se desarrollara una versión propia, enfocada solo en las características y cualidades requeridas. En el proceso de diseño y fabricación, se realizaran pruebas de funcionamiento y puesta en marcha partiendo en un principio de operaciones aisladas para después integrar los recursos y llegar a la realización de la TAD Generalidades La TAD llevará como componente principal un microcontrolador (µ C). La gran ventaja de usar un µ C es que al funcionar por programa, nos evitara el uso de muchos componentes, además de que se reduce el cableado al mínimo. A la hora de escoger el microcontrolador a emplear en un diseño concreto hay que tener en cuenta multitud de factores, como la documentación y herramientas de desarrollo disponibles, precio, la cantidad de fabricantes que lo producen y por supuesto las características del µc (tipo de memoria de programa, número de temporizadores, interrupciones, etc.) entre otras cosas. Se debe tener en cuenta los recursos disponibles en el µc para aprovecharlos al máximo. Y realizar una distribución adecuada de estos para después emigrar al desarrollo de los diagramas esquemáticos y construcción de una tarjeta adecuada para finalmente programar el dispositivo y lograr un funcionamiento acuerdo a nuestras necesidades. 42
54 Siendo el µ C la pieza fundamental de la TAD es crucial la selección de este componente existen varios criterios para poder seleccionar el más adecuado. En este caso se ha seleccionado la familia PIC16F87XA de la gama media de microcontroladores de Microchip, principalmente por su bajo coste, herramientas de desarrollo de libre distribución en Internet y la gran documentación de aplicaciones disponibles, por otro lado su encapsulado contiene los recursos necesarios para la aplicación (a pesar de que el PIC contiene muchos recursos no se ocuparan todos por esta razón solo se describirán los necesarios). Con esto no queremos decir que es el controlador más eficiente del mercado sino solamente que se piensa es un controlador que soportara la aplicación Descripción de los recursos necesarios Convertidor analógico / digital (C A/D). En este proyecto como en cualquier control de proceso que se este implementando tanto un controlador digital se hace indispensable la comunicación del mundo digital con el analógico ya que las mediciones que se obtienen de los sensores y trasmisores son analógicas y por lo tanto in entendibles para el controlador. Un convertidor A/D transforma una señal analógica en un valor codificado en sistema binario con una resolución de 10 bits, en el cual cada incremento de un bit representa una porción de la señal analógica total. Para una resolución de 10 bits es posible representar un valor analógico en un código binario que comprende los valores desde 0 hasta 1023, entonces la señal analógica total es dividida entre los 1023 valores del código binario. En la figura 3.8 se muestra el diagrama del convertidor A/D del microcontrolador. El PIC16F87XA contiene un convertidor A/D de 10 bits y 5 canales de entrada en los modelos de 28 pines y de 8 canales de entrada en los modelos de 40 pines. La resolución de cada uno de los bits procedente de la conversión tiene un valor que esta en función de una tensión de referencia (Vref.) de acuerdo a la siguiente ecuación. Verf ( + ) Verf ( ) Verf Re solución = =
55 Las tenciones de referencia Vref+ y Verf- determinan los límites mínimo y máximo de la tensión analógica que puede convertir. El valor diferencial mínimo entre estas dos tenciones debe ser de 2 V. A través del canal de entrada seleccionado, se aplica la señal analógica a un condensador de captura y retensión y luego se introduce al conversor, el cual proporciona un resultado de 10 bits de longitud usando al técnica de aproximaciones sucesivas vista en el capitulo 1. El conversor A/D es el único dispositivo que puede funcionar en modo reposo (sleep), para ello el reloj de conversor deberá conectarse al oscilador RC interno. La tensión de referencia puede implementarse con la tensión interna de alimentación VDD, o bien, con una externa que se introduce por el pin RA3/AN3/Vref+, en cuyo caso la polaridad negativa se aplica por el pin RA2/AN2/Vref+. Figura 3.8. Diagrama del C A/D del PIC16F87XA. 44
56 Temporizador (TMR 2). El PIC16F87XA tiene tres temporizadores denominados TMR0, TMR1, TMR2 para aplicaciones que involucren tiempo y conteos de forma automática y precisa sin tener que ocupar a la CPU en estas taras, para el proyecto se describirá el funcionamiento especificó del TMR2 ya que se ocupara de forma conjunta con el modulo PWM que se describirá más adelante. El TMR2 mostrado en la figura 3.9 se trata de un temporizador de 8 bits ascendente, que se puede leer y escribir. Este también puede ser usado como tiempo base para el PWM del modulo de comparación y captura. La señal de reloj que necesita el TMR2 para funcionar es interna y esta dada por la frecuencia del oscilador entre cuatro, y antes de incrementar en uno los registros del temporizador pasa por un predivisor de de frecuencia con los rangos 1:1, 1:4 y 1:16. Y a subes la salida del TMR2 pasa por un postdivisor con rangos desde 1:1 hasta 1:16 pasando por los 16 valores posibles. Figura 3.9. Diagrama de bloques del TMR2. Características relevantes a cerca del TMR2 Este temporizador es dependiente de la del oscilador interno por lo tanto no puede funcionar en modo de reposo o SLEEP porque el oscilador interno deja de funcionar. 45
57 El TMR2 tiene asignada una señal de desbordamiento en el bit TMR2IF del registro PIR1 (dirección 0Ch). Capacidad de petición de interrupción si se pone a 1 el bit TMR2IE del registro PIE1 (dirección 8Ch). El predivisor y el postdivisor se hacen cero al escribir sobre los registros TMR2, T2CON y en la generación de un reset. El TMR2 tiene asociado el registro de periodo PR2 (dirección 92h). Cuando el valor del TMR2 coincide con el de PR2 se genera una salida EQ y se resetea el TMR2. Para controlar el funcionamiento del TMR2 se ocupa el registro T2CON (dirección 12h). Este registro es una localidad de memoria en la cual se tiene la información tanto de funcionamiento como de configuración del temporizador. La función de cada uno de los bits de este registro se menciona a continuación: Tabla 2. Registro T2CON U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 - T0UTPS3 T0UTPS2 T0UTPS1 T0UTPS0 TMR2ON T2KPS1 T2CKPS0 Bit 7 Sin uso: Se lee como 0 Bit 6-3 TOUTPS3-0; Configuración del postdivisor del TMR 2 de acuerdo a la tabla 3. Tabla 3. Rangos del postdivisor del TMR2 TOUPS3-TOUTPS0 POSTDIVISOR : : : :16 Bit 2 TMR2ON: Bit de habilitación del TMR 2. Bit 1-0 T2CKPS1-0: Configuración del predivisor del TMR 2 de acuerdo a la tabla 46
58 4. Tabla 4. Rango del predivisor del TMR2 T2CKPS1 T2CKPS1 PREDIVISOR 0 0 1: :4 1 X 1:16 Los registros asociados al TMR2 se resumen en la tabla 5. Tabla 5. Resumen de los registros asociados al TMR2 Address Name Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Value on: POR 0Bh, Bh, 10Bh, 18Bh 0Ch 8Ch 11h 12h INTCON GIE PEIE TMR0IE INTE RBIE TMR0IF INTF RBIE PIR1 PSPIF ADIF RCIF TXIF SSPIF CCP1IF TMR2IF TMR1IF PIE1 PSPIE ADIE RCIE TXIE SSPIE CCP1IE TMR2IE TMER1IE TMR2 Timer2 Module s Register T2CON TOUTPS3 TOUTPS2 TOUTPS1 TOUTPS0 TMR2ON T2CKPS1 T2CKPS0 92h PR2 Timer2 Period Register BOR x Value on other Resets u Modulador de anchura de pulsos (PWM) La modulación por anchura de pulsos (PWM, pulse-width modulation en inglés) es una técnica que nos permite conseguir pulsos lógicos cuya duración en nivel alto son de duración variable, es decir tienen un ciclo de trabajo (duty cycle) variable en un periodo y una frecuencia constante. Estos dispositivos son de gran aplicación en el control de velocidad de motores tanto de CD como de CA (Para el prototipo el PWM será ocupado en conjunto con un servo motor). En la figura 3.10 se muestra un ejemplo de señal obtenida a través de un PWM Figura Impulso en nivel alto con una anchura controlada dentro de un periodo. 47
59 En un servomotor la duración en nivel alto del PWM indica la posición en la que se debe situar el eje del motor, cada servo motor tiene sus márgenes de operación los cuales corresponden a un ancho de pulso máximo y uno mínimo, a si por ejemplo para el servo motor Futaba S3003 los valores en alto pueden variar entre 0.3 y 2.1ms y cabe mencionar que este tipo de motor solo tiene un movimiento de 180 agrados, esto quiere decir que si se tiene un ancho de pulso de 0.3ms el servo motor se encontrara en 0 grados y con valor de 2.1ms se encontrara en 180 grados y con valores intermedios de tiempo en nivel alto se obtendrán valores intermedios en grados como se muestra en la figura Figura Operación del PWM sobre un servo motor. Los µc PIC16F87XA contienen en su encapsulado dos módulos de captura comparación y modulación de ancho de pulsos denominados CCP1 y CCP2 que son muy parecidos entre si, dada esta similitud, en este apartado se enfocará a describir solo el CCP1. Estos módulos pueden funcionar de 3 maneras. 1. Modo captura: Cuando ocurre un evento especial en pin RC2/CCP1 una pareja de registros del modulo CCP1 captura el valor que tiene el TMR1. 48
60 2. Modo comparación: Recompara el valor de los registros del TMR1 con un valor previamente cargado en los registros del CCP1 y cuando coinciden ocurre un evento en el pin RC2/CCP1. 3. Modo modulación y anchura de pulsos: La anchura de un impulso en nivel alto es controlada dentro de un periodo. Es evidente que el modo que interesa para el proyecto es la modulación y anchura de pulsos (PWM) Especificaciones de diseño En base en el diagrama general de un controlador digital mostrado en la figura 3.12 se describirán las especificaciones de hardware de todo el sistema. Figura Diagrama a bloques del sistema a desarrollar. Con un tiempo de muestreo de 10ms. En primer lugar se tiene una entrada marcada en la figura como punto de ajuste (set point por sus siglas en inglés) este podrá ser un registro en la memoria del controlador con un valor fijo y si se quisiese obtener un SP remoto se tienen dos alternativas que se deberán considerar en el diseño. 1. El SP podrá ser modificado de forma remota con un canal analógico de entrada del PIC conectado a un divisor de voltaje con el mismo rango de voltaje que el suministrado al sensor del sistema barra esfera mencionado más adelante. 2. El SP puede ser monitoreado por una PC por lo cual la tarjeta a desarrollar deberá contener la electrónica necesaria para soportar comunicación, de forma directa el PIC cuenta con un modulo de comunicación serial. 49
61 La segunda parte que se muestra en el diagrama a bloques es un C A/D este será el interno configurando un canal analógico del PIC configurado con una resolución de 10 bits y una señal de reloj interna tipo RC. El C A/D deberá estar muestreando cada 10ms. Tiempo configurado y manejado por interrupciones causadas por el temporizador 0 interno del PIC. A continuación del C A/D se puede observar la computadora digital para esta parte se utilizara la unidad aritmético lógica (ALU) del µc y una señal de reloj externa de 20MHz generada por un oscilador de cristal de cuarzo. A continuación se tendría un convertidor digital analógico y en este caso será cambiado por una salida PWM generada por el mismo µ C que tendrá un periodo 20ms, un valor mínimo en estado alto de 0.3 ms y uno máximo de 1.2ms (sujeto a experimentación) con una resolución de 10 bits. Por tratarse del actuador de un servo motor. Los retenedores de señal serán emulados por variables localizadas en memoria RAM. La planta es el sistema barra esfera que fue descrito al inicio del capitulo el cual tiene un divisor de voltaje con una resistencia variable de nicromo generada por el contacto de este material con la barra a causa de la esfera que por supuesto es de metal.. Por ultimo el filtro en caso de requerirse puede ser desarrollado por programa si es que la velocidad del µ C lo permite Diseño de la tarjeta de desarrollo La familia de PICs 16F87X ya contiene internamente los distintos recursos y solamente se agregaran circuitos auxiliares los cuales se describirán en esta sección, se desarrollara a partir del diagrama de bloques los diagramas esquemáticos para después emigrar al diseño y fabricación una PCB que es la tarjeta de circuito impreso. En la figura 3.13 se muestra el diagrama a bloques de los distintos recursos necesarios en la tarjeta de desarrollo. 50
62 Figura Diagrama de bloques del sistema Principio de funcionamiento Para el diseño se consideraron los recursos de acuerdo a la siguiente clasificación. Entradas. 1. Recepción serial (RX). 2. Reset general (RS). 3. Entrada analógica (RETRO) 4. Entrada analógica (SP) Salidas. 1. Transmisión serial (TX). 2. Visualizadores de 8 bits (leds) 3. PWM (CCP1) Fuente de alimentación La figura 3.14 muestra el circuito encargado de suministrar el voltaje de 5 v a la tarjeta. Figura Fuente de alimentación de 5 v 51
63 Recursos de la tarjeta En la figura 3.15 se muestra el circuito esquemático de la configuración del PIC para el desarrollo de la tarjeta. Se observa los pines empleados así como los conectores disponibles para el desarrollo del control. Figura Diagrama esquemático de la configuración de la tarjeta 52
64 PCB En la figura 3.16 se muestra el diseño de la tarjeta así como los componentes que la integran, este será el aspecto final de la tarjeta. También es posible observar en la figura 3.17 la distribución de las pistas que conectaran a cada elemento de la tarjeta. Figura Diseño de la tarjeta de adquisición de datos. Figura Distribución de las pistas conductoras 53
65 Al utilizar un controlador digital, primero tendremos que determinar la estructura que tendrá, así como, algunos parámetros que se necesita obtener para el buen rendimiento del control Controlador digital Sintonización del PID La sintonización de un controlador PID consiste en seleccionar los valores de los parámetros de su función, estos son ganancia proporcional k p, tiempo de integración T i y tiempo derivativo T d, de tal forma que cumplan con las especificaciones dadas del sistema como son tiempo de respuesta, tiempo de asentamiento, máximo sobre impulso, tiempo de asentamiento. Para la sintonización del controlador, se empleó un método propuesto por Ziegler-Nichols descrito a continuación, este es un método para sintonizar controladores en tiempo continuo, para posteriormente realizar las conversiones necesarias para obtener los parámetros del controlador en tiempo discreto, debido a que el controlador empleado es del tipo digital. Ziegler y Nichols propusieron reglas para determinar los valores de la ganancia proporcional k p, del tiempo integral T i y el tiempo derivativo T d, basándose en las características de respuesta transitoria de una planta dada. Tal determinación de los parámetros del controlador puede ser realizada mediante experimentos sobre la planta. Aunque al obtener dichos valores a través de este método, es necesario realizar algunos ajustes a estos valores para obtener los requerimientos adecuados de respuesta. Figura Sistema en lazo cerrado con un controlador proporcional Método de sintonía en lazo cerrado. Este método consiste en fijar primero T = y T = 0. Usando solo la acción de control proporcional en lazo cerrado, tal como se muestra en la figura 3.18, se incrementa k p desde 0 hasta un valor crítico k cr, en donde la salida del sistema i d presente oscilaciones sostenidas. Así la ganancia crítica correspondiente se determinan experimentalmente. k cr y el periodo crítico P cr 54
66 El valor de k cr para el cual el sistema presenta oscilaciones sostenidas es 0.6. La gráfica de la respuesta del sistema con oscilaciones sostenidas se muestra en la figura Figura Respuesta del sistema con oscilaciones sostenidas. = 0. 6 k y P = 17 Una vez obtenidos estos valores, los parámetros del controlador pueden ser calculados de acuerdo a la tabla 6. Tabla 6. Reglas de sintonía de Ziegler-Nichols basada en la ganancia crítica k cr y periodo crítico P cr. Tipo de controlador P PI PID k p Ti 0.5kcr kcr Pcr kcr.5Pcr cr cr Td Pcr Las reglas de sintonía de Ziegler-Nichols se han usado ampliamente para sintonizar controladores PID en sistemas de control de procesos en los que no se conoce con precisión la dinámica de la planta. Durante muchos años tales reglas de sintonía han resultado ser muy 0 55
67 útiles. Por supuesto, las reglas de sintonía Ziegler-Nichols se pueden aplicar a plantas cuya dinámica se conoce. De acuerdo con los pasos a seguir según el método estudiado los valores críticos obtenidos son k = 0.6 y P = 17. Usando las ecuaciones de la tabla se obtiene que, k T T cr i p d = 0.36 = = cr En la práctica los valores obtenidos son ajustados con el propósito de mejorar la respuesta obtenida. Los valores de las ganancias después de ser ajustados son: k T T i p d = 53 = 0.98 = 0.38 Al sustituir dichos valores en la función de transferencia del controlador PID U E ( s) 1 ( ) = k p Td s s Ti s Se obtiene U E ( s) ( s) 1 = s 0.98s Que es la función de transferencia del controlador PID analógico obtenido. Para obtener la función de transferencia pulso del controlador PID digital, se debe discretizar la ecuación. u 1 = t p dt+ Td T 0 i ( t) k e( t) + e( t) ( t) de dt Al aproximar el término integral mediante la sumatoria trapezoidal y el término derivativo mediante la diferencia de dos puntos, se obtiene 56
68 m ( kt) = K e( kt) + T T i ( 0) + e( T) e( T) + e( 2T) e( ( k 1) T) e( kt) e( kt) e( ( k 1) T) e o bien, + Td T k T e = + Ti h= 1 ( ) K e( kt) m kt (( h 1) T) + e( ht) 2 Td + T e ( kt) e( ( k 1) T) Se define e (( h 1) T) + e( ht) 2 = f( ht), f ( 0 ) = 0 Entonces k e (( h 1) T) + e( ht) h= 1 2 = k h= 1 f ( ht) Al tomar la transformada z de esta ultima ecuación, se obtiene (( h 1) T) e( ht) k e + Z h 2 = Z k f 1 1 z 1 z ( ht) = [ F( z) F( 0) ] = F[ z] 1 = 1 h= Nótese que F 1+ z 2 1 ( z) = Z[ f( ht) ] = E( z) Por lo tanto, (( h 1) T) e( ht) k e + Z h 2 1+ z = 2 = ( z ) E ( z) Entonces la transformada de la ecuación del PID digital da como resultado M T 1+ z 2T 1 z d 1 ( z) = K ( 1 z ) E( z) i 1 1 T T 57
69 58 Esta última ecuación puede ser rescrita como sigue ( ) ( ) ( ) ( ) ( ) z E z K z K K z E z T T z T T T T K z M D I P d i i + + = = Donde Ganancia Derivativa T KT K Integral Ganancia T KT K Ganancia Proporcional K K T KT K K d D i I I i P = = = = = = = 2 2 Nótese que la ganancia proporcional p k para el controlador PID digital es mas pequeña que la ganancia K para el controlador PID analógico por un factor de 2 K I. La función de transferencia pulso para el controlador PID digital se convierte en ( ) ( ) ( ) ( ) = = z K z K K z E z M z G D I P D A esta función de transferencia pulso se le conoce como forma posicional del esquema de control PID, mostrada en la figura 3.20.
70 Figura Esquema de control PID en forma posicional. La otra forma por lo regular utilizada del esquema de control PID digital es el esquema conocido como forma de velocidad. Para obtener la ecuación del control PID en la forma de velocidad, se considera la diferencia hacia atrás en m ( kt), esto es, la diferencia entre ( kt) (( k ) T) m 1 de tal forma que la función obtenida es m y M ( z) = K C( z) p + K I ( z) C( z) R 1 z K 1 D 1 1 ( z ) C( z) Esta ecuación representa el esquema de control PID en la forma de velocidad. En la figura 3.21 se muestra un diagrama a bloques de la realización de un esquema de control PID digital. Es importante notar que en la ecuación solo el término del control integral incluye la entrada R ( z). Por lo tanto, el termino integral no se puede excluir del controlador digital se este se utiliza en forma de velocidad. 59
71 Figura Esquema de control PID en forma de velocidad. Una ventaja del esquema de control PID en la forma de velocidad es que no es necesaria la inicialización cuando se conmuta de operación manual a automática. De este modo, si existen cambios súbitos grandes en el punto de ajuste o en el inicio de la puesta en operación del proceso, el esquema de control PID en la forma de velocidad presenta mejores características de respuesta que aquel en la forma posicional. Otra ventaja del esquema de control PID en la forma de velocidad es que es útil en la supresión de correcciones excesivas en sistemas de control de procesos. Entonces los valores de los parámetros obtenidos para control PID digital del sistema barra esfera se determinan a partir de las ecuaciones T = 0.01s K K K P I D KT = K 2T = = KT T i KT T d = K I = K 2 ( 53)( 0.38) = i 0.01 ( 53)( 0.38) = 53 = = = 2014 El tiempo de muestreo usado para el sistema es de T = 0. 01s. Es importante verificar que si existe más de un muestreador en el sistema estos estén sincronizados, es decir, que solo exista un tiempo de muestreo en todo el sistema, de lo contrario, tener más de una tasa de muestreo en la planta o sistema de control provoca inestabilidad en el sistema. 60
72 La función de transferencia pulso para el controlador con algunos ajustes finos en las ganancias calculadas es G D ( z) ( z) ( z) 1 ( ) M 0.6 = = z 1 E 1 z Comparación de las estructuras de PID digital A continuación se realizará una comparación entre el desempeño del esquema de control PID posicional y de velocidad para determinar cual es el adecuado para ser empleado en el sistema. Para esto se analizará la repuesta de cada una de las estructuras realizando la simulación de los sistemas en la herramienta Simulink de MatLab. Con lo cual se determinara la estructura de control a emplear en el sistema. La discretización del modelo del sistema barra-esfera se obtiene por medio del método computacional con el software MatLab por medio del comando c2d (num,den,t). Forma posicional El esquema del controlador PID en la forma posicional sintonizado se muestra en la figura Figura Esquema de control PID digital en forma posicional sintonizado. Las figuras muestran la grafica de la respuesta del sistema de control a un escalón unitario. La línea verde representa la señal de referencia y la línea azul representa el valor de la variable de proceso. 61
73 Empleando esta forma del controlador es posible observar en la figura 3.23 que el sobreimpulso es aproximadamente de un 30%, lo cual es excesivo en cualquier sistema de control, por lo tanto no es aceptable. Una forma de compensar este sobreimpulso es modificando los valores de las constantes del controlador que se calcularon anteriormente. Figura Grafica de la respuesta del sistema de control en la forma posicional. Forma de velocidad La forma de velocidad del controlador PID digital sintonizado se muestra en el diagrama de la figura Figura Esquema de control PID en forma de velocidad sintonizado. 62
74 Como se puede observar en la grafica de la respuesta del sistema mostrada en la figura 3.25, con el uso del esquema del controlador PID en la forma de velocidad, el sobreimpulso disminuye significativamente, lo cual significa que el desempeño del sistema en esta estructura es mayor que en la forma posicional. El tiempo de establecimiento de la respuesta es de 4 segundos en ambas formas. Figura Gráfica de la respuesta del sistema de control en forma de velocidad. A partir de esta información es evidente que la estructura adecuada del controlador a emplear en el sistema barra-esfera es la forma de velocidad debido a las características de respuesta obtenidas en la simulación. Es importante observar que el valor de los parámetros del controlador PID no varían de una estructura a otra, lo único que se modifica son las operaciones realizadas con las señales de retroalimentación y el error del sistema de control, es decir, la forma en la que estas señales son procesadas por el algoritmo de control. 63
75 Control PD Como se puede observar en la función de trasferencia del sistema barra esfera por naturaleza presenta dos polos en el origen del plano s lo cual equivale a tener dos polos en el perímetro del círculo unitario del plano z, lo cual lleva al sistema a la inestabilidad y al usar la acción de control integral del PID se agrega un tercer polo lo cual da robustez al sistema pero al mismo tiempo provoca más inestabilidad. Debido a las razones mencionadas anteriormente es conveniente realizar pruebas con un control PD, en el cual la acción integral es eliminada, con el propósito de comprobar el desempeño de este tipo de control y compararlo con las respuestas obtenidas en las pruebas realizadas con las diferentes estructuras de control PID. Para obtener las ganancias del control PD se emplearon como punto de partida la ganancia proporcional y la ganancia derivativa obtenidas en la sintonización del PID, realizando algunos ajustes a estas ganancias para mejorar la dinámica del sistema. El diagrama de la figura 3.26 muestra el sistema de control PD sintonizado. Figura Esquema de control PD sintonizado En la figura 3.27 se observa la grafica de la respuesta del sistema empleando el control PD para una entrada escalón unitario. 64
76 Figura Gráfica de la respuesta del sistema de control PD Es notable que la respuesta de salida mantiene un sobreimpulso de 30% aproximadamente, lo que resulta similar al obtenido en la forma posicional del PID, sin embargo el tiempo de establecimiento se reduce a aproximadamente 3 segundos, es decir alrededor de 1 segundo menos que en ambas estructuras del PID. Debido a las características y dimensiones del sistema barra esfera, no es posible tolerar un sobreimpulso como el obtenido el control PID posicional y en el control PD, lo que deja como mejor opción la utilización del esquema de control PID de velocidad Algoritmo del microcontrolador para el sistema de control digital. Siguiendo la secuencia de la estructura del sistema de control digital mostrada en la figura 3.12 los componentes del sistema de control son: Convertidor A/D (Entrada) Algoritmo de control PID (Compensación) Modulador de anchura de pulsos PWM (Salida) Convertidor A/D A continuación, se indica los pasos que hay que efectuar para realizar una conversión A/D: 65
77 Configurar el modulo C A/D Configurar los pines que actuaran como entrada analógica, las que trabajan como E/S digitales y las usadas para la tensión de referencia (ADCON1) Seleccionar el reloj de la conversión (ADCON0) Seleccionar el canal de entrada A/D (ADCON0) Activar el modulo A/D (ADCON0) 2. Activar, si se desea, la interrupción escribiendo sobre PIE1 PIR1 Borrar el señalizador ADIF Poner a 1 el bit ADIE Poner a 1 los bits habilitadores GIE y PEIE 3. Tiempo de espera para que transcurra el tiempo de adquisición 4. Inicio de la conversión Poner a 1 el bit GO/DONE# (ADCON0) 5. Tiempo de espera para completar la conversión A/D que puede detectarse: Por la exploración del bit GO/DONE#, que al completarse la conversión pasa a valer 0 Esperando que se produzca la interrupción si se ha programado, al finalizar la conversión Aunque no se permita interrupción, al señalizador ADIF se pondrá a 1 al finalizar la conversión 6. Leer el resultado en los 10 bits validos de ADRESH:L y borrar el flag ADIF 7. Para una nueva conversión regresar al paso 1 o al 2. El tiempo de conversión por bit esta definido por TAD. Se exige esperar un tiempo de 2*TAD para reiniciar una nueva conversión. Se elige como reloj para la conversión al oscilador RC interno del conversor A/D, este puede seguir funcionando se introduce al microcontrolador en modo de reposo o sleep. En los restantes modos, se aborta la conversión y se desactiva el conversor A/D. 66
78 En la siguiente sección de programa (en lenguaje c) se describe la configuración del convertidor A/D el puerto de entrada es AN0. Se configura como reloj del convertidor al reloj interno del microcontrolador setup_adc_ports(an0); setup_adc(adc_clock_internal); El valor leído por el convertidor debe ser almacenado en la variable retro, la cual será usada para obtener el error del sistema posteriormente en el algoritmo de control. Para esto se tiene la siguiente instrucción value=read_adc(); //toma el valor de la conversión A/D El valor obtenido por la conversión D/A debe ser almacenado en la localidad de memoria que se usará para determinar la señal de error en el algoritmo de control PID, en este caso la variable usada se denomina retro. Algoritmo de control PID digital Para realizar la programación de un algoritmo de control PID, este se debe dividir en sus tres componentes; parte proporcional, parte integral y parte derivativa. Tomando en cuenta las variables a utilizar para la realización de las operaciones en cada componente del algoritmo. Como se mencionó anteriormente, la ecuación esta en términos de z (retardos), entonces una z representa una localidad de memoria del microcontrolador en la cual se almacenará el valor del muestreo anterior inmediato al actual, con lo que las operaciones necesarias se reducen a sumas, restas y multiplicaciones entre registros y constantes. El manejo de los signos de las operaciones realizadas por el algoritmo, una es el manejo de rutinas matemáticas para la gestión de los signos de todas las operaciones del PID; el segundo método es emplear rutinas con valores absolutos y mantener el signo dentro de un registro de banderas del PID en el cual se activará un bit correspondiente a cada una de las operaciones del PID en las que el uso de signo es necesario. La estructura general del algoritmo de control PID digital se describe a continuación: Determinación del error El error se calcula restando la señal de retroalimentación del punto de control (SP). 67
79 err_act= sp - retro Parte proporcional El término proporcional es el mas sencillo de los tres y es también la una técnica comúnmente empleada en sistemas de control retroalimentado. La parte proporcional es igual a la multiplicación del error actual por la ganancia proporcional. La salida de control aplicada al sistema es directamente proporcional al error producido. Mientras mayor sea la ganancia proporcional, la acción de corrección aplicada a la planta será más agresiva. Este tipo de control es común para llevar el error a un valor pequeño pero no a cero, manteniendo un error en estado estacionario. Esta es la razón por la cual el control proporcional no es suficiente para algunos sistemas, para los cuales se tiene que emplear las acciones integral y derivativa, ya sea ambas o alguna de las dos en combinación del proporcional. Proporcion al= err_act* kp Parte integral La parte integral se obtiene a partir de la sumatoria de los errores anteriores multiplicados por la ganancia integral (ki). Es de suma importancia considerar el efecto que produce la acción integral, ya que al ser una sumatoria entre registros, es posible que la localidad de memoria asignada a esta operación llegue a su valor máximo activando la bandera de acarreo y desbordarse en la siguiente suma. Entonces se debe establecer el valor máximo que puede alcanzar dicho registro, y al sobrepasar este valor y activarse la bandera de acarreo, el registro mantendrá su valor máximo hasta que disminuya nuevamente debido a la disminución del error, es decir, conforme el algoritmo corrija el error, las operaciones arrojaran valores cada vez mas pequeños. A esta limitación de los valores obtenidos en la acción integral se le llama saturación. integral = (err_act+ err_ant)* ki Parte derivativa La acción derivativa trabaja con el error anterior y el error actual con el propósito de predecir una respuesta futura del sistema. El término derivativo realiza un ajuste basándose en la velocidad con la cual la salida de la planta esta cambiando con respecto al punto de referencia. 68
80 Una característica notable de este tipo de control es que cuando el error es constante, o se encuentra en su valor máximo, el efecto es mínimo. Hay sistemas en los que las acciones proporcional e integral no son suficientes para realizar el control. En dichos sistemas, agregar la acción derivativa completa los requerimientos de control. Error anterior derivativa= (err_act - err_ant)* kd El error anterior se obtiene guardando el valor del error en el muestreo actual después de realizar las operaciones, en una localidad de memoria destinada a este valor, entonces se tiene que Señal de salida err_ant = err_act La salida del algoritmo de control PID se obtiene a partir de la suma de cada uno de los términos obtenidos en las operaciones anteriores. Modulación del ancho de pulso sal_pid = proporcional+ integral+ derivativo La salida del sistema de control digital es una onda cuadrada de ancho de pulso regulable. Como se mencionó anteriormente, el control de posición de un servomotor se logra mediante la modulación del ancho de pulso de la señal de entrada, entonces el resultado del algoritmo PID determinará el ancho de pulso necesario para llevar al servomotor a la posición requerida para modificar la variable de salida del sistema. La configuración de un PWM en el microcontrolador requiere de dos parámetros, el periodo de trabajo de la señal y la duración del tiempo alto necesario. Para lograr un basculado del pin de salida RC2/CCP1 se usa un comparador que pone a 1 un flip-flop cuando el valor del registro PR2 coincide con la parte alta del TMR2, momento en el que el TMR2 toma el valor de 00h. Luego el flip-flop se reestablece cuando otro comparador detecta la coincidencia del valor existente en CCPR1H con el de la parte alta del TMR2. De esta manera, variando los valores que se cargan en PR2 y en CCPR1L se varía el intervalo en que el pin de salida está a 1 y 0. 69
81 Cuando se trabaja con una precisión de 10 bits, los 2 bits CCP1CON<5:4> se concatenan con los 8 bits de CCPR1L y, de la misma forma, los 8 bits de más peso del TMR2 se concatenan con los 2 bits de menos peso del reloj interno, haciendo que el TMR2 cuente cada Tosc en vez de cada 4*Tosc. El tiempo que dura el periodo de la onda depende del valor cargado en PR2, según la ecuación siguiente: [( PR2 ) + 1] Tosc Valor Predvisor TMR2 Periodo= 4 Cuando el valor del TMR2 coincide con el del PR2 suceden tres acontecimientos: 1. Se borra el TMR2. 2. El pin RC2/CCP1 se pone a El valor de CCPR1L, que es el que determina la anchura del impulso, se carga en CCP1H. El tiempo que el pin de salida está a nivel alto, que es la anchura del impulso, depende del contenido cargado en CCPR1L y de los bits 5 y 4 del CCP1CON, cuando se trabaja con una precisión de 10 bits. El cálculo del tiempo alto mínimo y máximo necesarios de la señal de salida para el servomotor pueden ser calculados con la siguiente ecuación: ( CCPR1L : CCP1CON < 5 4> ) Tosc Valor Predivisor TMR2 Anchura de Impulso= : El valor CCPR1L:CCP1CON<5:4> puede cargarse en cualquier momento, puesto que el mismo no se traspasa a CCPR1H y se compara hasta que coincidan PR2 con TMR2. En el modo PWM el registro CCPR1L solo puede ser leído. Los pasos a seguir para realizar la configuración del modo PWM son los siguientes: 1. Asignar el periodo cargando el oportuno valor en PR2. 2. Asignar la anchura de pulso inicial cargando el registro CCPR1L y los bits 5 y 4 de CCP1CON. 3. Configurar la línea RCP /CCP! como salida. 4. Asignar el valor del predivisor y activar el TMR2 escribiendo en T2CON. 5. Configurar el módulo CCP1 en modo PWM 70
82 El resultado del algoritmo PID puede ser positivo o negativo, así que es necesario mantener un bit de bandera que represente el signo de dicho resultado, de tal manera que este resultado se sume o reste al valor inicial del ancho de pulso configurado en el programa. En resumen, hasta este punto se han integrado ya los componentes físicos necesarios para realizar el control tanto del sistema Barra-Esfera como de algún otro sistema que pueda ser propuesto para fines didácticos. El dispositivo principal para lograr el control es la tarjeta de adquisición de datos desarrollada, ya que con esta se tienen los componentes que conforman un sistema de control digital, como son el convertidor A/D, la computadora digital para la realización de los cálculos necesarios y el puerto por el que se obtiene la señal de salida, conocida como señal de control. 71
83 Capitulo 4. Costo del Proyecto. En este capítulo se revisarán los costos que fueron necesarios para la realización de proyecto, para ello se hizo una división de en las cuatro partes que conforman el costo total de este trabajo. Entonces el costo total está conformada por: 1. Costo de materiales 2. Costo de consumibles empleados 3. Costos de elaboración de la tarjeta de adquisición de datos 4. Costos de programación del algoritmo de control En la tabla 7 se incluye cada uno de los materiales empleados en la construcción de la tarjeta de adquisición de datos, estos elementos fueron necesarios para la integración del sistema físico de la tarjeta desarrollada. Tabla 7. Costo de materiales Nº Material Cantidad Costo unitario Costo total 1 PIC16F873A MAX L293D LM DB Cristal de cuarzo Cable serial Programador JMD Barra de led s Bases integrado 16 pines Bases integrado 28 pines Bases integrado 40 pines BC548B Tira de pines Headers Resistores 330 ohm Resistores 1k ohm Botón pulsador Capacitor 22µ F 50 V Capacitor cerámico Capacitor cerámico Capacitor poliester2a104j Conector de tornillo de Tablilla virgen
84 25 Bastidor Total En relación a la elaboración de la tarjeta de adquisición de datos se requiere del diseño del circuito esquemático, posteriormente se requiere de la impresión y revelado del circuito impreso en el que se realizará el ensamble de los componentes. A cada una de estas actividades se asigna un costo por hora considerando los conocimientos que requieren se establecieron los costos de cada una de ellas, estos son costo por hora diseño y costo por hora de construcción, descritos en la tabla 8. Tabla 8. Descripción de los costos de elaboración de la tarjeta de adquisición de datos Nº Concepto Horas empleadas Costo por hora Costo total 1 Diseño de diagrama esquemático Diseño de circuito impreso Impresión y revelado Ensamble de componentes Total , Durante la construcción de la tarjeta fue necesario emplear materiales que no son parte directa del trabajo, es decir solo fueron utilizados durante la construcción y desechados después de su uso. A estos materiales se les denomina consumibles. Los costos de los consumibles empleados en la construcción de la tarjeta se describen en la tabla 9. Tabla 9. Costo de consumibles Nº Material Costo 1 Solvente Tinta Emulsión Estopa Barniz Soldadura Otros costos Total
85 Una vez que se tiene integrado el sistema físico de la tarjeta de adquisición de datos se debe realizar la programación de la función para la cual se destinó la tarjeta. A esta programación se le denomina algoritmo de control. Para la realización tal algoritmo es necesario dividirlo en tres etapas. La primera es un acondicionamiento de la señal medida que se introduce al microcontrolador, lo cual se logra con el convertidor A/D; La segunda etapa es la configuración de la salida del microcontrolador, es decir el modulador de ancho de pulso; y la tercera es la programación del algoritmo PID en el microcontrolador. A cada una de estas etapas se asigna un precio por hora, el cual se muestra en la tabla 10. Tabla 10. Descripción de los costos de programación del algoritmo de control Nº Concepto Horas empleadas Costo por hora Costo total 1 Programación del convertidor A/D Programación del PWM Programación del algoritmo de control , Total 15 4, El costo total del proyecto se obtuvo a partir de la suma de cada uno de los costos descritos anteriormente, esto se muestra en la tabla 11. Tabla 11. Costo total del proyecto Nº Concepto Costo 1 Materiales Consumibles Elaboración de la tarjeta de adquisición de datos 2, Programación del algoritmo de control 4, Total 7, Por lo tanto, de acuerdo a los datos anteriores, el proyecto tiene un costo total de 7, por 25 horas empleadas para el desarrollo de la tarjeta de adquisición de datos. 74
86 Conclusiones La construcción del sistema Barra-Esfera obtuvo buenos resultados en el sensor hecho de Nicromel ya que muestra linealidad a lo largo de la barra lo cual facilita mucho la lectura de la posición del balín. Se seleccionó como actuador un servomotor debido al efecto de linealización que aporta en el modelo matemáticoal, aunque este cumple con su propósito, no fue la mejor opción ya su movimiento no es suave como el que se podría obtener manipulando directamente la posición de un moto reductor. Las dimensiones de la barra de aluminio y el balín de metal tienen buena promoción para la observación del proceso. El modelo simplificado del sistema barra esfera basado en investigaciones previas da la información necesaria y suficiente del sistema para realizar el diseño del sistema de control. El diseño la tarjeta de adquisición de datos basada en la serie de microcontroladores PIC16F873/74/76/77 se debido a la configuración y los recursos disponibles en estos dispositivos, tomando en cuenta la accesibilidad de programación. Otro aspecto importante es la facilidad con la que pueden ser adquiridos este tipo de microcontroladores. En el estudio las estructuras de control PID digital posicional y de velocidad, la comparación de los resultados de desempeño en simulación mostró el mejor funcionamiento del PID de velocidad para el modelo matemático del sistema Barra-Esfera. Las pruebas realizadas por separado de los componentes del sistema de control digital demostraron que el convertidor analógico digital transforma la señal proveniente del divisor de voltaje montado en la barra con una velocidad mínima de 1.6µ s en un formato 10 bits. La posición del servomotor empleado como actuador del sistema, puede ser dada directamente del modulo de comparación y captura de pulsos en su configuración de modulador de ancho de pulso interno del microcontrolador. Y por ultimo la comunicación serie asíncrona para monitoreo de las distintas señales es posible con un formato RS232. Perspectivas de trabajo a futuro Reemplazar el servomotor por un moto reductor de corriente continua, implementando un control PID digital para manipular la posición angular de dicho motor, adaptar el modelo matemático propuesto a este cambio ó en su caso modelar el sistema, integrar el sistema de monitoreo con interfase hombre maquina (HMI) que simule virtualmente lo que sucede en la 75
87 palta en tiempo real. Utilizando la tarjeta de adquisición de datos desarrollada y la planta construida con su respectiva modificación., lo cual permitirá tener una mejor regulación de la posición de dicho motor y por lo tanto reduzca las oscilaciones. 76
88 Glosario Planta o proceso. Una planta es cualquier objeto físico a ser controlado. Como ejemplos se tienen un horno, un reactor químico o un conjunto de partes de maquinaria que funcionan de manera conjunta para llevar a cabo una operación particular, tal como un sistema de seguimiento o una nave espacial. Sensor. Es el elemento que transforma la variable medida a un voltaje o presión con la cual se puede obtener el valor actual de dicha variable. Transductor. Un transductor es un dispositivo que convierte una señal de entrada en una señal de salida de naturaleza diferente a la de entrada, tal como los dispositivos que convierten una señal de presión en una salida de voltaje. Lazo Abierto. Es un sistema en el que se desconoce el valor actual de la variable de proceso. Lazo cerrado. Consiste en medir la variable de salida del sistema para compararla con el punto de control para obtener un error y producir una acción de control a partir de dicho error Muestreador y retenedor (S/H, por sus siglas en ingles). Es el circuito que recibe como entrada una señal analógica y mantiene dicha señal en un valor constante durante un tiempo específico. Normalmente la señal es eléctrica, pero son posibles otras formas de esta, tales como óptica o mecánica. Convertidor analógico digital (A/D). También conocido como codificador, es un dispositivo que convierte la señal analógica en una señal digital, usualmente una señal codificada numéricamente. La conversión de una señal analógica en la señal digital correspondiente es una aproximación, ya que la señal analógica puede adoptar un número infinito de valores, mientras que la variedad de números diferentes que se pueden formar mediante un conjunto finito de dígitos esta limitada. Este proceso de cuantificación se denomina cuantificación. Convertidor digital analógico (D/A). También denominado decodificador es un dispositivo que convierte una señal digital en una señal analógica. Dicho convertidor es necesario como una interfaz entre un componente digital y uno analógico. Señal en tiempo continuo es aquella que se define sobre un intervalo continuo de tiempo. La amplitud puede tener un intervalo continuo de valores o solamente un numero finito de valores distintos. 77
89 Señal analógica es una señal definida en un intervalo continuo de tiempo cuya amplitud puede adoptar un intervalo continuo de valores. La variable cuantificada solo cambia en un intervalo finito de valores. El proceso de representar una variable por medio de un conjunto de valores distintos se denomina cuantificación y los valores distintos obtenidos se denominan valores cuantificados Señal en tiempo discreto es una señal definida solo en valores discretos de tiempo. En una señal de tiempo discreto, si la amplitud puede adoptar valores en un intervalo continuo, entonces la señal se denomina señal de datos muestreados. Una señal de datos muestreados se puede generar muestreando una señal analógica en valores discretos de tiempo. Señal digital es una señal en tiempo discreto con amplitud cuantificada. Dicha señal se puede representar mediante una secuencia de números, por ejemplo, en la forma de números binarios. 78
90 Bibliografía [1] Katsuhiko Ogata. Ingenieria del Control Moderna, 4ª edición, Editorial Prentice Hall, Madrid, España, 2003, pp [2] Katsuhiko Ogata. Sistemas de Control en Tiempo Discreto, 2ª edición, Editorial Prentice Hall, Estado de México, México, 1996, pp [3] Ching-Teng Lin, C.S. George Lee, Neural Fuzzy Systems, A Neuro Fuzzy Synergism to Intelligent Systems, PH, United States of America, 1996, pp [4] Thomas E Marlin, Process Control, Designing Processes And Control Systems For Dynamic Performance, 2 nd Edition, Mc Graw Hill, United States of America, 2000, pp, [5] Armando B. Corripio, Carlos A. Smith, Principles and Practice of Automatic Process Control, 2 nd Edition, United States of America, pp.768. [6] Antonio Creus Sole, Instrumentación Industrial, 7ª edición, Alfaomega Marcombo, México, 2005, pp [7] Kevin M. Passino/ Stephen Yurkovich, Fuzzy control, Edit. Addison Wesley, [8] Palacios Municio, Enrique; Remiro Domínguez, Fernando; López Pérez, Lucas J. Microcontrolador PIC16F84 Desarrollo de proyectos. 2 a edición, Ed. Alfaomega Grupo editor, México D. F., 2006, pp [9] Angulo Usategui, José Ma; Romero Yesa, Susana; Angulo Martínez, Ignacio. MICROCONTROLADORES <PIC>.Diseño practico de aplicaciones.segunda PARTE: PIC16F87XA. 2 a edición, Ed. Mcgraw-hill/Interamericana de España, S. A. U., España, 2000, pp [10] Angulo Usategui, J. Ma; Cuenca E. Martín; Martínez J. Angulo. Microcontroladores PIC, la solución en un chip. Ed. Paraninfo, Fuentes de información electrónicas Microchip Technology Inc. Fabricante de los microcontroladores PIC. 79
91 PIC16F87XAA, Data Sheet, 28/40/44-Pin Enhanced Flash microcontroller. 2003, Microchip Technology Incorporated, Printed in the U.S.A., All Rights Reserved. 80
92 Anexo A. Descripción General del PIC16F87X A.1.- La Familia del PIC16F87X El microcontrolador PIC16F87X de Microchip pertenece a una gran familia de microcontroladores de 8 bits (bus de datos) que tienen las siguientes características generales que los distinguen de otras familias: - Arquitectura Harvard - Tecnología RISC - Tecnología CMOS Estas características se conjugan para lograr un dispositivo altamente eficiente en el uso de la memoria de datos y programa y por lo tanto en la velocidad de ejecución. Microchip ha dividido sus microcontroladores en tres grandes subfamilias de acuerdo al número de bits de su bus de instrucciones: Existen algunas excepciones, como el PIC16C5X que maneja 33 instrucciones de 12 bits (posee empaquetados de 18 y 28 pines y se energiza con 2.5 volts) Algunos autores manejan una gama enana consistente en los PIC12C508 y PIC12C509 en empaque de 8 patitas y con un bus de instrucciones de 12 o de 14 bits. Variantes principales Los microcontroladores que produce Microchip cubren un amplio rango de dispositivos cuyas características pueden variar como sigue: - Empaquetado (desde 8 patitas hasta 68 patitas) - Tecnología de la memoria incluida (EPROM, ROM, Flash) - Voltajes de operación (desde 2.5 v. Hasta 6v) - Frecuencia de operación (Hasta 20 Mhz) Empaquetados Aunque cada empaquetado tiene variantes, especialmente en lo relativo a las dimensiones del espesor del paquete, en general se pueden encontrar paquetes tipo PDIP (Plastic Dual In Line Package), PLCC (Plastic Leaded Chip Carrier), QFP (Quad Flat Package) y SOIC (Small Outline I.C.) los cuales se muestran en las figuras siguientes : 81
94 Nomenclatura Además de lo mostrado en la tabla anterior, en el nombre específico del microcontrolador pueden aparecer algunas siglas que dependen del rango de voltaje manejado y del tipo de memoria ROM incluida, como se muestra en la siguiente tabla: Oscilador Los PIC de rango medio permiten hasta 8 diferentes modos para el oscilador. El usuario puede seleccionar alguno de estos 8 modos programando 2 bits de configuración del dispositivo denominados: FOSC1 y FOSC0, ubicados en un registro especial de configuración en la localidad 2007H de la memoria de programa: 83
95 Registro de configuración (2007H): En algunos de estos modos el usuario puede indicar que se genere o no una salida del oscilador (CLKOUT) a través de una patita de Entrada/Salida. Los modos de operación se muestran en la siguiente lista: Observaciones: Algunos PIC s poseen un modo de oscilación que les permite usar una resistencia y un capacitor interno calibrados para 4 Mhz. Los tres modos LP, XT y HS usan un cristal o resonador externo, la diferencia sin embargo es la ganancia de los drivers internos, lo cual se ve reflejado en el rango de frecuencia admitido y la potencia consumida. En la siguiente tabla se muestran los rangos de frecuencia así como los capacitores recomendados para un oscilador en base a cristal. Cristal externo: En los tres modos mostrados en la tabla anterior se puede usar un cristal o resonador cerámico externo. En la siguiente figura se muestra la conexión de un cristal a las patitas OSC1 y OS2 del PIC. 84
96 Circuito RC externo: En los modos RC y EXTRC el PIC puede generar su señal oscilatoria basada en un arreglo RC externo conectado a la patita OSC1 como se muestra en la siguiente figura: Este modo sólo se recomienda cuando la aplicación no requiera una gran precisión en la medición de tiempos. Rangos.- La frecuencia de oscilación depende no sólo de los valores de Rext y Cext, sino también del voltaje de la fuente Vdd. Los rangos admisibles para resistencia y capacitor son: - Rext: de 3 a 100 Kohms - Cext: mayor de 20 pf - Oscilador externo.- También es posible conectar una señal de reloj generada mediante un oscilador externo a la patita OSC1 del PIC. Para ello el PIC deberá estar en uno de los tres modos que admiten cristal (LP, XT ó HS). La conexión se muestra en la siguiente figura: Oscilador interno de 4Mhz.- En los PIC s que poseen este modo de oscilación, (modo INTRC) el PIC usa un arreglo RC interno que genera una frecuencia de 4 Mhz con un rango de error calibrable de ± 1.5%. Para calibrar el error de oscilación se usan los bits CAL3, CAL2, CAL1 Y CAL0 del registro OSCCAL. Calibración del oscilador interno.- El fabricante ha colocado un valor de calibración para estos bits en la última dirección de la memoria de programa. Este dato ha sido guardado en la forma de una instrucción RETLW XX. Si no se quiere perder este valor al borrar el PIC (en 85
97 versiones EPROM con ventana) primero se deberá leer y copiar. Es una buena idea escribirlo en el empaquetado antes de borrar la memoria). A.2.- Características generales del PIC16F87X La siguiente es una lista de las características que comparte el PIC16F87X con los dispositivos más cercanos de su familia: CPU: - Tecnología RISC - Sólo 35 instrucciones que aprender - Todas las instrucciones se ejecutan en un ciclo de reloj, excepto los saltos que requieren dos - Frecuencia de operación de 0 a 20 MHz (200 nseg de ciclo de instrucción) - Opciones de selección del oscilador Memoria: - Hasta 8k x 14 bits de memoria Flash de programa - Hasta 368 bytes de memoria de datos (RAM) - Hasta 256 bytes de memoria de datos EEPROM - Lectura/escritura de la CPU a la memoria flash de programa - Protección programable de código - Stack de hardware de 8 niveles Reset e interrupciones: - Hasta 14 fuentes de interrupción - Reset de encendido (POR) - Timer de encendido (PWRT) - Timer de arranque del oscilador (OST) - Sistema de vigilancia Watchdog timer. Otros: - Modo SLEEP de bajo consumo de energía - Programación y depuración serie In-Circuit (ICSP) a través de dos patitas - Rango de voltaje de operación de 2.0 a 5.5 volts - Alta disipación de corriente de la fuente: 25mA 86
98 - Rangos de temperatura: Comercial, Industrial y Extendido - Bajo consumo de potencia: (modo SLEEP). Periféricos: A.3.- Diagrama de Bloques del PIC16F87X En la siguiente figura se muestra a manera de bloques la organización interna del PIC16F87X, Se muestra también junto a este diagrama su diagrama de patitas, para tener una visión conjunta del interior y exterior del Chip. 87
99 A.4.- Descripción de la CPU La CPU es la responsable de la interpretación y ejecución de la información (instrucciones) guardada en la memoria de programa. Muchas de estas instrucciones operan sobre la memoria de datos. Para operar sobre la memoria de datos además, si se van a realizar operaciones lógicas o aritméticas, requieren usar la Unidad de Lógica y Aritmética (ALU). La ALU controla los bits de estado (Registro STATUS), los bits de este registro se alteran dependiendo del resultado de algunas instrucciones. Ciclo de instrucción El registro Program Counter (PC) es gobernado por el ciclo de instrucción como se muestra en la siguiente figura. Cada ciclo de instrucción la CPU lee (ciclo Fetch) la instrucción guardada 88
100 en la memoria de programa apuntada por PC y al mismo tiempo ejecuta la instrucción anterior, esto debido a una cola de instrucciones que le permite ejecutar una instrucción mientras lee la próxima: Como puede verse, cada ciclo de instrucción (Tcy = 4Tosc) se compone a su vez de cuatro ciclos del oscilador (Tosc= 1/Fosc)). Cada ciclo Q provee la sincronización para los siguientes eventos: - Q1: Decodificación de la instrucción - Q2: Lectura del dato (si lo hay) - Q3: Procesa el dato - Q4: Escribe el dato Debido a esto cada ciclo de instrucción consume 4 ciclos de reloj, de manera que si la frecuencia de oscilación es Fosc, Tcy será 4/Fosc. Registros de la CPU. - Registro PC.- Registro de 13 bits que siempre apunta a la siguiente instrucción a ejecutarse. En la siguiente sección se dan mayores detalles en el manejo de este registro. - Registro de Instrucción.- Registro de 14 bits. Todas las instrucciones se colocan en él para ser decodificadas por la CPU antes de ejecutarlas. - Registro W.- Registro de 8 bits que guarda resultados temporales de las operaciones realizadas por la ALU - Registro STATUS.- Registro de 8 bits, cada uno de sus bits (denominados - Banderas) es un indicador de estado de la CPU o del resultado de la última operación como se indica en la siguiente figura: 89
101 Z.- Este bit se pone (=1) para indicar que el resultado de la última operación fue cero, de lo contrario se limpia (=0) C.- Bit de acarreo/préstamo de la última operación aritmética (en el caso de préstamo (resta), el bit se invierte antes de guardarse) DC.- Acarreo/préstamo proveniente del cuarto bit menos significativo. Funciona igual que el bit C, pero para operaciones de 4 bits. Las restas se realizan sumando el complemento a dos del segundo operando, por ejemplo, para los datos 4FH y 25H: A.5.- Conjunto de Instrucciones de Rango Medio En la siguiente tabla se resumen las 35 instrucciones que reconoce la CPU de los PIC de medio rango, incluyendo su mnemónico, tiempo de ejecución, código de máquina y afectación de banderas: 90
102 Formato General de las Instrucciones. Cada instrucción en lenguaje de máquina (binario) del PIC contiene un código de operación (opcode) el cual puede ser de 3 a 4 o 6 bits, dependiendo del tipo de instrucción. 91
103 A continuación se describe el formato para cada tipo de instrucción de los PIC de rango medio: Operaciones con el archivo de registros orientadas a bytes El bit d especifica el destino del resultado de la operación: - d = 0: destino W - d = 1: destino f - f = dirección de 7 bits del archivo de registros. Operaciones con el archivo de registros orientadas a bits - b : Especificación en tres bits del bit sobre el que se va a operar - f = dirección de 7 bits del archivo de registros. Operaciones con literales y de control Formato general: - k : Literal = Valor de un operando de 8 bits Formato para CALL y GOTO: - k : Literal = Valor de un operando de 8 bits A.6.- Organización de la memoria del PIC Los PIC tienen dos tipos de memoria: Memoria de Datos y Memoria de programa, cada bloque con su propio bus: Bus de datos y Bus de programa; por lo cual cada bloque puede ser accesado durante un mismo ciclo de oscilación. La Memoria de datos a su vez se divide en - Memoria RAM de propósito general - Archivo de Registros (Special Function Registers (SFR)) A La Memoria de Programa 92
104 Los PIC de rango medio poseen un registro Contador del Programa (PC) de 13 bits, capaz de direccionar un espacio de 8K x 14, como todas la instrucciones son de 14 bits, esto significa un bloque de 8k instrucciones. El bloque total de 8K x 14 de memoria de programa está subdividido en 4 páginas de 2K x 14. En la siguiente figura se muestra esta organización. Observación1: No todos los PIC tienen implementado todo el espacio de 8K de memoria de programa (Consultar las hojas de datos del PIC específico). Observación2: El fabricante puede grabar datos de calibración en localidades de memoria de programa por lo que se deberán anotar en papel antes de borrar los dispositivos con ventana transparente. Vector de Reset.- Cuando ocurre un reset el contenido del PC es forzado a cero, ésta es la dirección donde la ejecución del programa continuará después del reset, por ello se le llama dirección del vector de reset. Vector de interrupción.- Cuando la CPU acepta una solicitud de interrupción ejecuta un salto a la dirección 0004h, por lo cual a ésta se le conoce como dirección del vector de interrupción. El programador deberá colocar en esta dirección la Rutina de Atención a la Interrupción (Interrupt Service Routine (ISR))., o bien un salto al inicio de ella. El registro PCLATH no es modificado en esta circunstancia, por lo cual habrá que tener cuidado al manipular el registro PC (saltos y llamadas a subrutina) dentro de la Rutina de Atención a la Interrupción Manejo del Contador del Programa (PC) El registro contador del programa (PC) especifica la dirección de la instrucción que la CPU buscará (fetch) para ejecutarla. 93
105 El PC consta de 13 bits, separados en dos partes: como se muestra en la figura siguiente El byte de orden bajo es llamado el registro PCL, mientras que el byte de orden alto es llamado registro PCH. Este último contiene los bits PC<12:8> y no se puede leer o escribir directamente Todas las actualizaciones al registro PCH deben ser hechas a través del registro PCLATH. En la siguiente figura se ilustran las cuatro situaciones y las maneras correspondientes en que el PC puede ser actualizado. Paginación Para saltar entre una página y otra, los bits más significativos del PC deberán ser modificados. Debido a que las instrucciones GOTO y CALL sólo pueden direccionar un bloque de 2K (pues usan una dirección de 11 bits) deben existir otros dos bits que completen los 13 bits del PC para moverse sobre los 8K de memoria de programa. 94
106 Estos dos bits extra se encuentran en un SFR denominado PCLATH (Program Counter Latch High) en sus bits PCLATH<4:3>. Por esto antes de un GOTO o un CALL el usuario deberá asegurarse que estos bits apunten a la página deseada. Si las instrucciones se ejecutan secuencialmente el PC cruza libremente los límites de página sin necesidad de que el usuario escriba en el PCLATH. Memoria de Stack La memoria de stack es una area de memoria completamente separada de la memoria de datos y la memoria de programa. El stack consta de 8 niveles de 13 bits cada uno. Esta memoria es usada por la CPU para almacenar las direcciones de retorno de subrutinas. El apuntador de stack no es ni leíble ni escribible. Cuando se ejecuta una instrucción CALL o es reconocida una interrupción el PC es guardado en el stack y el apuntador de stack es incrementado en 1 para apuntar a la siguiente posición vacía. A la inversa, cuando se ejecuta una instrucción RETURN, RETLW o RETFIE el contenido de la posición actual del stack es colocado en el PC y el apuntador de stack es decrementado en 1. - Nota 1: PCLATH no se modifica en ninguna de estas operaciones - Nota 2: Cuando el apuntador de stack ya está en la posición 8 y se ejecuta otro CALL se reinicia a la posición 1 sobrescribiendo en dicha posición. No existe ningún indicador que avise de esta situación. Así que el usuario deberá llevar el control para que esto no ocurra. A La Memoria de Datos La memoria de datos consta de dos áreas mezcladas y destinadas a funciones distintas: - Registros de Propósito Especial (SFR) - Registro de Propósito General (GPR) Los SFR son localidades asociadas específicamente a los diferentes periféricos y funciones de configuración del PIC y tienen un nombre específico asociado con su función. Mientras que los GPR son memoria RAM de uso general. Bancos de memoria Toda la memoria de datos está organizada en 4 bancos numerados 0, 1, 2 y 3. Para seleccionar un banco se debe hacer uso de los bits del registro STATUS<7:5> denominados IRP, RP1 y RP0. 95
107 Hay dos maneras de acceder a la memoria de datos: Direccionamiento directo e indirecto. La selección de bancos se basa en la siguiente tabla Cada banco consta de 128 bytes (de 00h a 7Fh). En las posiciones más bajas de cada banco se encuentran los SFR, y arriba de éstos se encuentran los GPR. Toda la memoria de datos está implementada en Ram estática. Direccionamiento Directo Para acceder una posición de memoria mediante direccionamiento directo, la CPU simplemente usa la dirección indicada en los 7 bits menos significativos del código de operación y la selección de banco de los bits RP1:RP0 como se ilustra en la siguiente figura. Direccionamiento indirecto Este modo de direccionamiento permite acceder una localidad de memoria de datos usando una dirección de memoria variable a diferencia del direccionamiento directo, en que la dirección es fija. Esto puede ser útil para el manejo de tablas de datos. El registro INDF.- En la figura anterior se muestra la manera en que esto se realiza. Para hacer posible el direccionamiento indirecto se debe usar el registro INDF. Cualquier instrucción que haga un acceso al registro INDF en realidad accesa a la dirección apuntada por el registro FSR (File Select Register). 96
108 La selección de banco en el caso de direccionamiento indirecto se realiza mediante los bits IRP (STATUS<7>) y el bit 7 del registro FSR, como se muestra en la figura. El registro INDF mismo al leerse de manera indirecta (con FSR=0) producirá un cero. Y al escribirse de manera indirecta no es afectado. A continuación se muestra un ejemplo del uso de este direccionamiento para limpiar las localidades RAM 20h a 2Fh. En el siguiente ejemplo se muestra la manera como se switchea mediante instrucciones dentro del programa de un banco a otro El Archivo de Registros Aunque el archivo de registros en RAM puede variar de un PIC a otro, la familia del PIC16F87X coincide casi en su totalidad. En la siguiente figura se muestra a detalle el mapa de este archivo de registros y su organización en los cuatro bancos que ya se describieron. 97
109 Cada uno de los registros de propósito especial, está asociado a un dispositivo interno del µcc. En el siguiente capítulo se tratará con detalle el uso de cada uno de estos dispositivos y de los registros asociados a él. 98

References: resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución