Control Automático

Anuncio
Control Automático
Introducción
En este manual se pretende que el profesor del curso de control automático conozca
las posibilidades que le puede entregar tanto a él como al alumno el tener una
herramienta de cálculo tan poderosa como es una calculadora Texas Instrument.
La idea básica de esta propuesta es dar a conocer como los tópicos básicos de control
automático pueden ser abordados desde una perspectiva distinta a la que se ha
llevado a cabo tradicionalmente, al presentar a forma de manual la forma en que tanto
el alumno como el profesor se pueden desatender de lo complicado de los cálculos
matemáticos para poder enfocarse a los resultados y lo más importante al análisis de
estos. Las calculadora Texas Instruments de última generación permiten a los
estudiantes analizar como varían los resultados al variar parámetros en el problema
principal, y así darse cuenta de cómo en realidad funciona el sistema y poder darle una
solución más optima al problema, evitando quedarse con la primera alternativa debido
a lo complejo y engorroso que resulta llegar a una solución.
Este manual asume que se tiene al menos algún conocimiento básico del uso de las
calculadoras TI, aunque trata de ser lo más explicativo posible sin caer en la
redundancia. Cualquier duda sobre el uso de algún comando puede ser consultado en
el manual de las calculadoras. Presenta la materia que se revisa en un curso de control
automático estructurada en 6 capítulos a base de ejemplos. Se trata de aprovechar las
capacidades de cálculo de la calculadora así como de la programación de esta. De esta
forma el manual explica los comandos necesarios para resolver algunos tipos de
problemas y también se basa en el uso de 2 programas. El primero es la colección de
programas y funciones de control automático guardados en la carpeta Control y
desarrollados por el alumno de Ingeniería Civil Electrónica Oscar Gaete Jamett. El
segundo es el programa Automatic Control Systems Toolbox v3.0 (ACST) desarrollado
por el grupo 92brothers. En el transcurso de este manual se explica como utilizar
algunos de los comandos de ambos programas para la resolución de problemas.
Además se incluye en el Apéndice A el manual del programa ACST donde se presentan
más ejemplos. También se recomienda el uso del programa Control System Toolbox
v1.2.3 cuyo manual se incluye en el Apéndice B.
Capítulo I: Efectos de la realimentación.
Básicamente en este capítulo se puede aprovechar la capacidad de la calculadora para
calcular límites y resolver ecuaciones al mismo tiempo con el objeto de ahorrar tiempo
de cálculo.
Ejemplo#1
Un sistema con función de transferencia
se realimenta de
forma unitaria y negativa y se controla con un PI. Determine los coeficientes del PI
para que el error de estado estacionario a una rampa de referencia sea 10 y que la
magnitud de las partes imaginarias de las raices complejas de la ecuación
característica del sistema sea de 15 rad/s. Encuentre las raices de la ecuación
característica.
En la calculadora:
1. Se define G(s)
2. Se define PI
3. Se calcula la ganacia de lazo
4. Se calcula la constante de error de estado estacionario "Kv"
5. Se obtiene el valor de Ki
6. Se redefine la ganancia de lazo con el valor encontrado de Ki
7. Se calcula la ecuación característica del sistema en función de la
constante de proporsionalidad del PI.
8. Se determina cual es la ecuación característica que debe tener el
sistema si sus raices tienen parte imaginaria con magnitud de 15 rad/s
9. Se igualan los coeficientes y se resuelve el sistema de ecuaciones.
Como se puede observar la gran ventaja de ocupar la calculadora es que el cálculo del
sistema de ecuaciones no lineales se simplifica y le permite al alumno variar los
parámetros del problema y ver como cambian los valores de las constantes del
controlador, ocupando las entradas y respuestas anteriores del stack de la calculadora.
Consulte el apéndice para más información del uso de los comandos de la calculadora.
Capítulo II: Análisis en la frecuencia
En este tema es especialmente útil el apoyo de la calculadora pues le otorga al alumno
una serie de poderosas herramientas para el análisis en frecuencia de sistemas de
control. Además de la posibilidad de disminuir el tiempo de cálculo, la calculadora
ofrece programas que facilitan la construcción y el análisis de sistemas de control, por
medio de Diagramas de Bode, Nyquist, Nichols, LGR, y programas para el cálculo de
márgenes y compensadores.
A. Cálculo de márgenes de fase y ganancia y de frecuencias de cruce.
Ejemplo#2.1
Determine los márgenes de fase y ganacia del sistema
En la calculadora:
1. Definir Gl(s ) y calcular Gl(w)
2. Obtener la frecuencia de cruce de ganancia mediante la ecuación
Primero se obtiene la magnitud de Gl(w)
Ahora se plantea y se resuelve la ecuación
3. Obtener la frecuencia de cruce de fase mediante la ecuación
Del mismo modo que en el punto anterior
4. Calcular el margen de fase mediante la ecuación
Observación: Se cambió el modo Angle a Degree para que el resultado se
entrege en grados
5. Calcular el margen de ganancia mediante la
ecuación
Como se puede observar lo mecánico del procedimiento hace que el algoritmo para
calcular los márgenes se pueda programar sin mucha dificultad. A continuación se
presenta una alternativa más rápida para el cálculo de este tipo de ejercicios.
Ejemplo#2.2
Determine los márgenes de fase y ganacia del sistema
En la calculadora:
Para usar el Programa que calcula márgenes de fase y ganancia es necesario
tener la carpeta de Control y el programa mrgn()
Para usar el menú es necesario contar con el archivo menu() en la carpeta de
Control.
Para usar el menú de control y todos los programas de esa carpeta es necesario poner
la calculadora en modo Control.
Una vez hecho esto se escribe en la calculadora menu() y se activa apretando
2nd+3 (custom)
En la Calculadora:
1. Se define Gl(s)
2. Se calculan los márgenes con el programa (en el menú está en F2).
El formato de mrgn() es mrgn(Gl,var) donde Gl es la función de transferencia
de ganancia de lazo y "var" es la variable de la función de transferencia. Si Gl
esta en función de "s" la "var" debe ser "s".
Ejemplo#2.3
El sistema
es realimentado negativa y unitariamente y se controla
con un PD. Obtenga los coeficientes del controlador para que el error de estado
estable ante una parábola de referencia sea de 0.1 y para que el margen de
fase sea de 40º
En la calculadora:
1. Se define G(s) y el PD
2. Se calcula la ganancia de lazo
3. Se calcula K para la condición de error de estado estable.
4. Se redefine la ganancia de lazo con el valor encontrado de K
5. Se obtiene Gl(w)
6. Se obtiene la primera ecuación a partir de MΦ = 40Ί
7. Se obtiene la segunda ecuación a partir de la condición
8. Se resuelve el sistema de ecuaciones.
El uso de la calculadora para resolver este tipo de ejercicios es especialmente
recomendable pues el ahorro de tiempo en el cálculo de sistemas de ecuaciones no
lineales es considerable.
B. Construcción de gráficas y uso del programa Automatic control
system toolkit (acst).
Para ocupar este programa es necesario que la calculadora se encuentre en la carpeta
acst.
Y para iniciar el programa se debe escribir en la línea de comando acst().
La pantalla de presentación es la siguiente.
Y la línea de comando del programa es:
El programa tiene una interfaz y una forma de ejecutar los comandos de una forma
muy similar a MatLab.
Ejemplo#2.4 Diagrama de Bode
El diagrama de Bode es un importante instrumento para el análisis de lazos de control.
Mediante el programa acst es posible construir los diagramas y obtener información de
estos mediante la herramienta get point
Trace el diagrama de bode de
banda, y su margen de fase aproximado.
y obtenga su ancho de
En la calculadora:
1. Definir el sistema.
2. Trazar el diagrama de bode de magnitud con alta resolución.
3. Obtener el ancho de banda y la frecuencia de cruce de ganancia con ayuda del
comando get point.
4. Trazar el diagrama de bode de fase con máxima resolución.
5. Encontrar el punto de frecuencia w ≈32.6rad/s
6. El margen de fase es 180º menos el resultado anterior. O sea ≈18º
Ejemplo#2.5 Lugar geométrico de raíces
Por lo general el dibujar el lugar geométrico de raíces resulta ser una tarea larga y
llena de numerosos cálculos. Sin embargo la utilidad de este diagrama es muy
importante pues la información que se puede obtener de él permite un análisis muy
completo del comportamiento de un sistema al variar un parámetro de ganacia.
En la calculadora se pueden usar básicamente 2 programas. Para obtener datos del
LGR se ocupa el programa lgr() y lgr2() de la carpeta de control. Para trazar el LGR se
ocupa el programa ACST
Determine el Lugar de Raíces del sistema que tiene la siguiente función de
transferencia de lazo abierto.
En la calculadora:
1. Definir las listas con ceros y polos de la función de tranferencia.
2. Ocupar el lgr2() para obtener información del lugar de raíces
3. Dibujar el lugar de raíces en ACST
Primero hay que definir la función a analizar y ocupar el comando rlocus() El formato
de este comando es rlocus(Gl,{ki,kf}) donde Gl es el sistema a analizar, y {ki,kf} es el
rango de ganancia que se analiza. Luego el programa pide el número de puntos que se
dibujarán. Como para este ejemplo se eligieron 10 puntos cada punto es una variación
de K de uno en uno.
Ejemplo#2.6
Construya el diagrama de Nyquist y de Nichols del sistema anterior.
El programa ACST guarda en la memoria de la calculadora los sistemas, por lo que
pueden ser usados una y otra vez.
En la calculadora:
1. Se ocupa el comando nyquist(gl) para contruir el diagrama de nyquist. Una vez
hecho esto se puede rescatar importante información con el comando trace.
2. Se ocupa el comando nichols(gl) para construir el diagrama de nichols. Una vez
hecho esto se puede obtener información de este con el comando getpoint.
3. Diseño de compensadores.
En el diseño de compensadores, tanto de adelanto como de atraso, es necesario
calcular una serie de parámetros como son el margen de fase sin compensar, la
ganancia del compensador la nueva frecuencia de cruce de ganancia y la constante de
tiempo del compensador. Además es necesario recalcular el margen de fase para
comprobar que el compensador es el adecuado. Aún así generalmente a veces se
necesita recalcular los parámetros para obtener respuestas más satisfactorias. Todo lo
anterior ya ha sido programado en la calculadora en la carpeta Control y en los
archivos cmprvrs() y cmpfwrd().
Ejemplo#2.7
Diseñe un compensador para que el margen de fase del sistema
sea de a lo menos 30º con una tolerancia de no más del
10%
En la calculadora:
Primero se probará el diseño por adelanto con una tolerancia del 5%
1. Definir el sistema
Ocupar el programa cmpfwrd() para calcular el compensador. La sintaxis del
programa es la siguiente: cmpfrwrd(g,s,mΦ,tl) donde g es la ganancia d lazo
abierto del sistema realimentado,s es la variable, mΦ es el margende fase
deseado y tl es la tolerancia.
Como podemos observar la ganancia del compensador es muy grande y no se
ha podido conseguir el margen de fase deseado por lo tanto se opta por diseñar
el compensador por atraso con una tolerancia del 5%. La sintaxis de cmprvrs()
es la misma que la de cmpfwrd().
2. Se ocupa el programa cmprvrs con una tolerancia del 5%
De nuevo podemos observar que el compensador no logra alcanzar el margen
de fase deseado por lo que aumentamos la tolerancia al 7% y volvemos a
repetir el proceso.
3. Se ocupa el programa cmprvrs con una tolerancia del 7%
El margen de fase deseado se ha alcanzado. La función de transferencia
del compensador queda guardada para un futuro uso en la variable Gc
Los comandos que quedan en el stack de la calculadora son los
siguientes.
Como es posible apreciar el tiempo ahorrado al hacer los cálculos en un programa de la
calculadora es importante. De esta forma se le permite al alumno variar los
parámetros del problema e investigar cuales son las consecuencias de ello y tomar una
mejor decisión a la hora del diseño.
Capítulo III: Realimentación del Estado
En este capítulo se revisarán las técnicas de realimentación del estado. Poleplacement,
Observadores, Control Robusto y LQR serán tratados con el uso de la calculadora. Las
herramientas de manejo de matrices y de resolución de sistema de ecuaciones lineales
y no lineales son en las que se basa este capítulo. Además el uso de algunos
programas y funciones de la carpeta Control serán utilizados.
Ejemplo#3.1
Sea el sistema completamente controlable y observable:
Realimente el estado negativamente para que los autovalores del sistema queden en 1.
En la calculadora:
1. Primero deben ser definidas las matrices A, B y C y guardadas en variables a, b
y c respectivamente para un uso más eficiente.
2. Ocupamos el programa poleplcm() que se encuentra en la carpeta de Control.
La sintaxis del programa es poleplcm(a,b,i,dn) donde a y b son las matrices que
supuestamente ya deberían estar guardadas, "i" es la dimensión del sistema y
"dn" es el denominador de la ecuación característica que se desea que debe
estar en función del carácter λ. El resultado de esta función se guarda en la
variable poleequ que es el sistema de ecuaciones que se debe resolver para
encontrar la matriz de realimentación.
3. Resolvemos el sistema de ecuaciones ocupando las variable que son creadas en
la lista con nombre kk
Observación: el programa solo funciona para una dimensión máxima de 6.
Ejemplo#3.2
Para el sistema del ejemplo#3.1 diseñe un observador que tenga sus polos en -2
En la calculadora:
1. El sistema ya está definido y guardado en las variable a, b y c, por lo que solo
es necesario ocupar el programa observ() que tiene el mismo formato que
poleplcm()
2. Resolvemos el sistema de ecuaciones ocupando las variable que son creadas en
la lista con nombre gg
Al igual que el programa poleplcm() la dimensión máxima del problema debe
ser 6.
Ejemplo#3.3
Para el sistema:
Determine la realimentación del estado para que la función
sea mínima. Determine los autovalores del sistema
realimentado.
De la función J podemos obtener las matrices Q y R
En la calculadora:
1. Definir las matrices A,B y C en las variables a ,b y c respectivamente
2. Definir la matriz Q y guardarla en la variable q y definir la matriz R y guardarla
en la variable r de la calculadora.
3. Definir la matriz incógnita M y guardarla en la variable m.
4. Ocupar el programa ricatti() para definir el sistema de ecuaciones que genera la
ecuación de ricatti. El formato es ricatti(m,i) donde"m" es la matriz de
incógnitas e "i" es la dimensión del problema.
5. Resolver el sistema de ecuaciones, elegir la solución indicada y reemplazarla en la
matriz de incógnitas "m":
6.
donde
la línea de comando.
. Escribiendo la fórmula para obtener K en
Para obtener los autovalores solamente hay que obtener la matriz Ac = A – B·K y
ocupar el comando eigvls() sobre esta matriz.
Ejemplo#3.4
Para el sistema:
Con w(t) є L 0<t<1 obtenga la realimentación del estado u(t) = -k·x(t) tal que la
transferencia entre w(t) y el vector
tenga norma infinita menor a 0.5
En la calculadora:
1. Aplicar la ecuación para "disturbance rejection". La ecuación es:
pero ya está programada en la calculadora en la carpeta Control en la función
distrej(). El formato es distrej(m,γ,i) donde m es la matriz de incσgnita, γ es la
norma infinita mαxima de la transferencia e"i" es la dimensión del problema.
Antes de aplicar la ecuación es necesario definir G y luego aplicar la ecuación.
Las matrices A,B y C ya están definidas en la calculadora del problema anterior.
2. Resolver el sistema de ecuaciones, elegir la solución indicada y reemplazarla en
la matriz de incógnitas "m"
3.
donde
línea de comando.
. Escribiendo la fórmula para obtener K en la
Capítulo IV: Análisis en el dominio del tiempo
En este capítulo se tratará el análisis de sistemas de control en el dominio del tiempo,
especialmente con cuantificadores de calidad como son el sobretiro, el tiempo de
acomodo, el tiempo de subida, el error de estado estacionario, etc. Para el análisis en
la calculadora se ocuparán 3 herramientas de trabajo. El programa Laplace, el
programa ACST y la capacidad gráfica de la calculadora.
Ejemplo#4.1
Se tiene el sistema:
la salida es realimentada negativamente y el sistema es controlado por un controlador
proporcional de valor 5.
a. Con la ecuación que describe la forma de onda de la salida ante una entrada
escalón de amplitud 1 del sistema controlado, determine sobretiro y tiempo de
subida.
b. Grafique la forma de onda de salida y compruebe los resultados del punto
anterior de forma gráfica. Obtenga el tiempo de acomodo.
Desarrollo de la pregunta a)
1. Definir las matrices que describen el problema y por medio de la fórmula C(sIa)-1B obtengo la función de transferencia.
2. Aplicando álgebra de bloques y considerando el controlador proporcional se
determina la función de transferencia entre la referencia y la salida.
3. Multiplicar por el escalón
4. Poner en la carpeta de Laplace a la calculadora y ejecutar el menú de Laplace
escribiendo menu() en la línea de comando.
5. Para obtener la forma de onda en el tiempo de la salida del sistema
realimentado se debe hacer la transformada inversa de Laplace a la expresión
anterior. Para ocupar este programa es necesario tener el modo de grados en
"radianes"
6. Para calcular el tiempo de subida y el sobretiro primero debemos saber el valor
de estado estacionario. Simplemente aplicamos la función limit() para saber el
valor final de la salida. Se puede comprobar con el teorema del valor final.
7. Para determinar el sobretiro aplicamos la función fmax() de la calculadora y
evaluamos la forma de onda para ver cual es el valor máximo de la salida. De
acuerdo a este valor obtenemos el sobretiro.
8. Resolvemos la ecuación y(t1)=0.1*yss y y(t2)=0.9*yss. Al obtener los valores de
las incognitas en las ecuaciones, el tiempo de subida se calcula como t2-t1.
Desarrollo de la pregunta b)
Para graficar en la calculadora se debe dejar la forma de onda de la salida en función
de la variable "x"
En la calculadora:
1. Dejar la salida en función de "x"
2. Graficar en el menú de la calculadora "Y=". Definir la salida en función de "x"
como y1(x). Graficar utilizando el menú "zoom dec"
3. Hacer zoom box en la parte transitoria de la respuesta
4. Para calcular el sobretiro haciendo uso de la función Maximun del menú Math
encontramos el máximo para calcular el sobretiro.
5. Haciendo trace a la curva podemos encontrar los puntos del 10% (0.083) y del
90% (0.75) del valor de estado estacionario para calcular el tiempo de subida.
6. Haciendo trace a la curva podemos encontrar el punto en que las oscilaciones
de la salida no superan una amplitud del 2% del valor de estado estacionario
(5/6±0.0166). Este es el valor del tiempo de acomodo
Desarrollo de la pregunta c)
En la calculadora y en el programa ACST:
1. Definir el sistema.
2. Ocupar el comando impulse para graficar el sistema hasta el segundo 5.
Capítulo V: Sistemas no lineales
En este capítulo se presentan algunos ejemplos de lo que puede ayudar la calculadora
en este tipo de problemas. Aquí se puede aprovechar la capacidad de resolver sistemas
de ecuaciones no lineales para poder encontrar los puntos críticos del sistema y poder
obtener el jacobiano y poder evaluarlo en los puntos de equilibrio rápidamente.
Ejemplo#5.1
Sea el sistema:
Obtenga todos los puntos de equilibrio y además linealice en torno al origen y analice
controlabilidad y observabilidad modo a modo.
En la calculadora:
1. Definir f1 y f2
2. Para encontrar los puntos de equilibrio resuelva el sistema f1=0, f2=0.
3. Calcule el jacobiano
4. Evaluar el jacobiano en el origen para obtener el sistema linealizado
5. Ingresar las matrices A, B y C del sistema lineal a las variables a, b y c
respectivamente.
6. Obtener la matriz de autovectores y guardarla en la variable tty ocupar las
fórmulas de diagonalización en el menú de la carpeta Control.
7. Analizar controlabilidad y observabilidad.
Como podemos observar no hay ningún elemento cero en las matrices B y C del
sistema diagonalizado por lo que podemos concluir que el sistema en torno al origen es
aparte de estable, completamente controlable y observable.
Capítulo VI Norma de señales y sistemas
En este capítulo se presenta un ejemplo de cómo la calculadora puede simplificar
drásticamente el tiempo de cálculo, específicamente por las herramientas de cálculo
como son las integrales y la función de maximización.
Ejemplo#6.1
Al sistema
ingresa la señal
¿Cuál será la norma 2 y la norma ∞ máximas esperadas de la señal de salida?
En la calculadora:
1. Ocupar la fórmula
para calcular la norma 2 de la señal de
entrada.
2. Ocupar la fórmula
sistema.
para calcular la norma 2 del
3. Ocupar la fórmula
para calcular la norma infinito del
sistema.
4. Calcular las normas esperadas de la señal de salida.
Por lo tanto las normas 2 e infinitos de la señal de salida son
Descargar