PRACTICA Nº 2 DISEÑO DE CONTROLADORES EN EL ESPACIO DE ESTADO Objetivo Con esta práctica se pretende que el alumno aplique los conceptos teóricos que le permitan abordar el diseño de si
Trang 3PRACTICAS DE LABORATORIO DE SISTEMAS DE CONTROL AVANZADO
1 OBJETIVO
El objetivo fundamental del laboratorio de Control Avanzado es establecer una relación entre los conceptos y métodos teóricos explicados en la asignatura y las aplicaciones prácticas de los mismos Para ello se realizarán por un lado, prácticas
de laboratorio utilizando paquetes de software que permitan la simulación de diferentes algoritmos de control y por el otro, prácticas en sistemas reales que permitan confrontar la teoría con los resultados prácticos
2 CONTENIDOS FUNDAMENTALES
La idea básica del laboratorio es la revisión y aplicación de los conceptos fundamentales de la Teoría de Control Avanzado, intentando en lo posible resolver problemas lo más parecidos a aquéllos que un ingeniero se puede encontrar en su práctica profesional Para ello, se realizaran las siguientes prácticas:
PRACTICA Nº 1: Identificación de sistemas dinámicos
PRACTICA Nº 2: Diseño de controladores en el espacio e estado
PRACTICA Nº 3: Controladores autoajustables por asignación de polos
PRACTICA Nº 4: Controladores de Mínima Varianza
PRACTICA Nº 5: Controlador PI Adaptativo por asignación y cancelación de polos
PRACTICA Nº 6: Control adaptativo por Modelo de Referencia (MRAC)
PRACTICA Nº 7: Control adaptativo con Ganancia Programable
PRACTICA Nº 8: Control Predictivo
3 PROCEDIMIENTO
Utilizando el MATLAB y el SIMULINK y durante todo el curso, el alumno realizará
un proyecto de modelado, simulación y control de un proceso seleccionado previamente (Un proceso de flujo, de nivel, de temperatura o el correspondiente a
un motor de DC) En dicho proyecto deberá aplicar uno a uno los conceptos que
se tratan en la teoría de Control Avanzado
Trang 4PRACTICA Nº 1 IDENTIFICACIÓN DE SISTEMAS DINÁMICOS
Objetivo
El objetivo general de esta práctica es lograr que el alumno desarrolle, en un marco práctico, los conceptos y técnicas estudiadas sobre el modelado matemático de sistemas físicos y que comprenda la importancia de una correcta identificación del sistema para realizar un adecuado control del mismo
Producto final
Generar un programa en MATLAB que lea un archivo en formato xx.dat obtenido
a partir de la aplicación de una señal de entrada al proceso seleccionado (Nivel,
flujo, presión, temperatura o motor DC) y permita estimar el modelo matemático que describa su comportamiento dinámico aproximándolo a sistemas discretos de primero, segundo y tercer orden con su respectiva validación
Se recomienda, para obtener mejores resultados, realizar una identificación previa del sistema utilizando identificación no paramétrica, aproximarlo a un sistema de primer orden con retardo (POR), discretizarlo con el periodo de muestreo adecuado y utilizar estos parámetros como punto de partida para la identificación pedida
MARCO TEÓRICO
Identificación de sistemas
Se entiende por identificación de sistemas a la obtención en forma experimental
de un modelo que reproduzca con suficiente exactitud, para los fines deseados, las características dinámicas del proceso objeto de estudio
Procedimiento para la identificación
Como primer paso se debe seleccionar el proceso o planta con la cual se va a trabajar durante el curso Esta puede ser un sistema de nivel, de flujo, de presión
de temperatura o un motor de DC
Para la identificación se utiliza el método de Mínimos cuadrados recursivos (RLS)
El proceso de identificación a realizar comprende los siguientes pasos:
Trang 51 Obtención de datos de entrada - salida Para ello se debe excitar el sistema
seleccionado mediante la aplicación de una señal de entrada (Escalones en este caso) y registrar la evolución de sus entradas y salidas durante un intervalo de tiempo Es necesario diseñar adecuadamente el experimento y aplicar como mínimo cuatro escalones, obtener el modelo del sistema para cada uno de ellos y luego promediar los resultados, en las prácticas subsiguientes se trabaja con el modelo promediado
2 Tratamiento previo de los datos registrados Los datos registrados pueden
estar acompañados de ruidos indeseados u otro tipo de imperfecciones que es necesario corregir antes de iniciar la identificación del modelo Si es necesario se deben „preparar‟ los datos para facilitar y mejorar el proceso de identificación, para ello se pueden filtrar previamente utilizando el MATLAB
3 Elección de la estructura del modelo Si el modelo que se desea obtener es
un modelo paramétrico, el primer paso es determinar la estructura deseada para dicho modelo En la práctica que se va a realizar se debe generar un programa con el cual se puedan obtener modelos de primer orden, segundo orden y tercer orden
4 Obtención de los parámetros del modelo Una vez seleccionado el modelo y
desarrollado el software de identificación, se procede a la estimación de los parámetros de la estructura que mejor ajustan la respuesta del modelo a los datos
de entrada-salida obtenidos experimentalmente
5 Validación del modelo El último paso consiste en determinar si el modelo
obtenido satisface el grado de exactitud requerido para la aplicación en cuestión
Si se llega a la conclusión de que el modelo no es válido, se deben revisar los siguientes aspectos como posibles causas:
a) El conjunto de datos de entrada-salida no proporciona suficiente información sobre la dinámica del sistema
b) La estructura seleccionada no es capaz de proporcionar una buena descripción del modelo
c) El criterio de ajuste de parámetros seleccionado no es el más adecuado
Trang 6Dependiendo de la causa estimada, deberá repetirse el proceso de identificación desde el punto correspondiente
Algoritmo de identificación Se supone que el sistema puede ser modelado
como un proceso estable, linealizable y con una sola entrada y una salida por lo
que puede ser descrito por una ecuación en diferencias lineal de la forma:
La ecuación 1 se puede escribir en forma vectorial así:
4 Calcular L(k+1) mediante la ecuación:
5 Calcular los nuevos parámetros estimados:
6 Actualizar la matriz de covarianza:
7 Actualizar el vector de medidas:
A continuación se presenta el programa base para la identificación en MATLAB utilizando un modelo de segundo orden El programa se debe reorganizar de
Trang 7modo que tome los datos de un archivo (datos.dat) y permita seleccionar modelos
de primero, segundo y tercer orden y validarlos adecuadamente
clc
u=[0 1 1 1 1 1 1]; % datos de entrada
y=[0 0.73 1.26 1.55 1.73 1.84 1.91]; % datos de salida
n=input('entre el orden del sistema n=');
Trang 8PRACTICA Nº 2 DISEÑO DE CONTROLADORES EN EL ESPACIO DE ESTADO
Objetivo
Con esta práctica se pretende que el alumno aplique los conceptos teóricos que
le permitan abordar el diseño de sistemas de control digital utilizando técnicas de realimentación del estado y asignación de polos con el fin de conseguir que el
Producto final
Generar un programa en MATLAB que permita estimar, para el proceso seleccionado, la matriz de ganancia de realimentación incluyendo integrador, la matriz de ganancia de un observador de orden completo y la ley de control para el mismo El programa permitirá simular el sistema con la ley de control diseñada NOTA: Se debe presentar un informe de la práctica incluyendo las respuestas obtenidas y los comentarios detallados pertinentes al diseño de los controladores
MARCO TEÓRICO
Sistemas tipo servo
La figura 2.1 muestra un sistema de control por realimentación del estado observado en el cual se utiliza un integrador adicional para estabilizar adecuadamente el sistema y mejorar su exactitud La ecuación de estado de la planta y su correspondiente ecuación de salida son, respectivamente:
Figura 1 Sistema tipo Servo con realimentación del estado
Trang 9Para realizar el diseño, utilizando la técnica de asignación de polos, se debe
la matriz de ganancia de realimentación y la matriz L del observador de estados
Se puede demostrar que:
En donde:
y:
sistema en lazo cerrado
La matriz de ganancia del observador se calcula con la fórmula de Ackerman:
En donde:
observador:
La ley de control para el sistema es:
L, correspondiente a la matriz de ganancia del observador, se calcula a partir de la
ecuación 2.6
Trang 10Procedimiento para el diseño del controlador
Obtener el modelo del sistema seleccionado en variables de estado en tiempo discreto con el periodo de muestreo adecuado y simular su respuesta ante una entrada en escalón unitario Para la simulación se puede utilizar el SIMULINK o
el MATLAB
Hallar la matriz de ganancia de realimentación incluyendo integrador de modo que el sistema tenga un sobreimpulso máximo del 10% y un tiempo de establecimiento igual al 75% del correspondiente al sistema en lazo abierto Hallar la matriz de ganancia de un observador de estado de orden completo con máximo sobreimpulso del 10% y tiempo de establecimiento igual al 50% del correspondiente al sistema en lazo abierto
Obtener la ley de control para el sistema con las especificaciones dadas
Construir el modelo en SIMULINK incluyendo la ley de control y comprobar si
se cumplen las condiciones de diseño
A continuación se presenta el programa básico en MATLAB para calcular las
programa para que estimar la ley de control y realizar la simulación del sistema clc
nd1=input('Entre el numerador discreto nd1=');
dd1=input('Entre el denominador discreto dd1=');
K1=KT(1:length(ad))
Ki=KT(length(ad))
po=[0.3 0.4]; % Polos deseados para el observador
L=acker(ad',cd',po)
Trang 11PRÁCTICA NÚMERO 3 CONTROLADORES AUTOAJUSTABLES POR ASIGNACIÓN DE POLOS
Objetivo
Aplicar la teoría presentada para el diseño de reguladores autoajustables en el cálculo de un controlador por asignación de polos para el sistema real seleccionado
Producto final
Generar un programa en MATLAB que permita calcular, para el proceso seleccionado, un controlador por asignación de polos de modo que el sistema cumpla las especificaciones dadas Para el cálculo del regulador y la simulación del sistema con el controlador se puede introducir solamente la siguiente
periodos de muestreo y los polos deseados para el mismo según condiciones de funcionamiento del proceso El programa debe permitir la simulación del sistema con el controlador diseñado para ello se puede utilizar el SIMULINK como herramienta auxiliar
MARCO TEÓRICO
Ecuación general para controladores lineales
Un controlador lineal se puede describir mediante la función de transferencia de
pulso:
adecuadamente para satisfacer los requerimientos del sistema de control
Se asume que el proceso lineal que se va a controlar tiene como función de transferencia de pulso:
En donde
Trang 12Para el diseño del controladores adaptativos se pueden utilizar diferentes métodos: Asignación de polos, optimización de parámetros, ajuste por tablas etc
Método de asignación de polos: El objetivo de este método es diseñar el
controlador de modo que los polos del sistema en lazo cerrado, queden ubicados
en el lugar deseado de acuerdo a sus especificaciones de funcionamiento
La ecuación característica deseada para el sistema en lazo cerrado toma la forma:
El orden de en la ecuación 3.3 está determinado por:
La ecuación 3.3 genera ecuaciones simultáneas cuya solución da como resultado los parámetros del controlador
Para asegurar error de estado estable igual a cero es necesario que el controlador tenga un integrador, con esta condición, el denominador del controlador
cumple con la igualdad:
obtiene haciendo:
En este caso los parámetros del controlador se obtienen con la ecuación:
Trang 13A continuación, a modo de ejemplo, se calcula un controlador por asignación de polos para un sistema discreto con función de transferencia dada por:
% STR
% Se debe escribir el sistema en potencias negativas de z clc
n1=input('Entre el numerador del sistema discreto n1=');
d1=input('Entre el denominador del sistema discreto d1='); m=input('Entre el valor de m=');
d=input('Entre el valor del retardo en periodos de muestreo d=');
polos=2*m+d;
fprintf('Entre %i polos \n',polos)
p0=input('Entre los polos deseados especificados p0=')
ec=poly(p0); % Ecuación característica deseada
S=[1 0 0 0 0 0;d1(2) 1 0 n1(1) 0 0;d1(3) d1(2) 1 n1(2) n1(1) 0;0 d1(3) d1(2) 0 n1(2) n1(1);0 0 d1(3) 0 0 n1(2);1 1 1 0 0 0]
Como trabajo de la práctica, se debe modificar el programa anterior para hacer posible el diseño del controlador y la simulación de cualquier sistema sin necesidad de entrar manualmente la matriz S
Trang 14Figura 3.1 Implementación del controlador en SIMULINK
Scope Pulse
-1
Z Discrete Filter 1
nc
dc
Discrete Filter
n1 d1 Add
Trang 15PRÁCTICA Nº 4 CONTROLADORES DE MINIMA VARIANZA
Objetivo
Con esta práctica se pretende que el alumno aplique los conceptos teóricos que
le permitan abordar el diseño controladores de mínima varianza a partir del conocimiento del modelo del sistema y el modelo de la perturbación
Producto final
Generar un programa en MATLAB que permita calcular, para el proceso seleccionado, controladores de mínima varianza: MVR1 con factor de ponderación r=0.05, MVR2 y MVR3 El programa, en conjunto con el SIMULINK, debe permitir
la simulación del sistema con la ley de control obtenida
Para el regulador MVR3, añadir un término de acción integral que elimine el error
en régimen permanente Probar con distintos valores de α Comentar las respuestas obtenidas
NOTA: Se debe presentar un informe de la práctica realizada que incluya las respuestas obtenidas así como los comentarios detallados pertinentes a cada uno
de los controladores
Realizar el esquema SIMULINK correspondiente al sistema ARMAX en lazo cerrado (ver figura 4.1) Simular tomando como entrada un generador de pulsos con amplitud uno, periodo seleccionado según el proceso analizado y visualizar la entrada, la salida del controlador y la salida del sistema Para representar las funciones de transferencia (del proceso, del regulador y del filtro del ruido) se
utilizan bloques Discrete Filter, que permiten expresar las mismas en potencias
negativas de z El bloque Simulink que proporciona un ruido blanco se encuentra
en la categoría Sources y se denomina Band- Limited white noise Un parámetro determinante de este último bloque es Power Noise, que de alguna forma
determina la amplitud del mismo Para tener una amplitud de ruido “aceptable” se fija el valor del mismo a 0.00005 El esquema, por tanto, queda de la siguiente forma:
Trang 16Figura 4.1 Controlador de mínima varianza
MARCO TEÓRICO
Controlador de mínima varianza: El controlador de mínima varianza tiene como
objetivo minimizar el efecto de las perturbaciones sobre la salida
Este tipo de controlador puede englobarse dentro de los de síntesis óptima, ya que
se utiliza la minimización de un índice de coste como criterio de diseño
forma que se minimice uno de los siguientes criterios:
Si se supone que sobre el sistema actúan perturbaciones estocásticas, el proceso estará descrito por un modelo ARMAX de la forma (ver figura 4.1):
Discrete Filter 2
B(z) A(z)
Discrete Filter 1 G(z) FB(z)
Discrete Filter
C(z) FB(z)
Band -Limited White Noise
Add 1 Add
Trang 17Se obtiene la siguiente ecuación para el cálculo del controlador MVR3:
Eliminación del offset: El controlador de mínima varianza presenta offset (Error
de estado estable) ante cambios en la referencia ó cambios en la perturbación, para eliminar el offset se puede adicionar al controlador un integrador así, la ecuación 3 6 se puede escribir en la forma:
Control de mínima varianza con seguimiento de referencias (MVR2):
Utilizando la ecuación 4.2 y la identidad dada en la ecuación 4.5 Se obtiene la siguiente ecuación para el cálculo del controlador MVR2:
Controlador de mínima varianza ponderado: Utilizando la ecuación 4.3 y la
identidad dada en la ecuación 4.5 Se obtiene la siguiente ecuación para el cálculo del controlador MVR1:
la expresión:
Trang 18A continuación se da la base de un programa en MATLAB que permite calcular y simular la respuesta del sistema con un controlador MV3 Para el informe de la práctica complementar el programa para calcular los controladores MV2 y MV1 a
simulación, monte en SIMULINK el diagrama de la figura 4.1 y guárdelo como
minimavar11 Realice las modificaciones necesarias para simular los
controladores MV1 y MV2
% Controlador de Mínima Varianza
B=input('Entre el numerador del sistema B=');
A=input('Entre el denominador del sistema A=');
C=input('Entre el numerador de la perturbación C=');
Trang 19end;
end;
G=G
F=F
% calculo del vector FB
FB = conv(F,B);%cálculo del vector de parámetros
minimavar11